The “Duplicate Party” Nightmare is Over
Hi Frappe Community,
If you’ve ever implemented ERPNext in a volatile economy or a multi-currency environment (like Yemen, Lebanon, or Argentina), you’ve likely hit the “Identity vs. Currency” wall.
The Problem: Identity Fragmentation
ERPNext is a powerhouse for accounting, but its “One Party, One Currency” model often forces us into messy workarounds:
- The Duplicate Trap: Creating Customer A - USD and Customer A - YER just to track balances.
- The Reporting Gap: Trying to get a single “Statement of Accounts” for one legal entity that transacts in three different currencies.
- Data Decay: Updating an address or contact info 3+ times because the “Customer” is split across records.
While the GL stays correct, the User Experience and Data Governance suffer.
The Solution: Unified Party Hub (UPH)
We developed Unified Party Hub (UPH) as an open-source Master Data Management (MDM) layer for Frappe/ERPNext. It doesn’t replace the core accounting; it creates a “Master Identity” that governs your parties.
Key Features
- | Feature | How it works |
|—|—|
| Unified Identity | A tree-based Party Master that links Customers, Suppliers, and Employees into one legal entity. |
| Currency Awareness | Aggregates transactional exposures across all linked roles/currencies into a single dashboard. |
| Fuzzy Matching | Built-in duplicate detection to stop the “Duplicate Name” madness before it starts. |
| Smart Linking | Workflows to merge or link existing fragmented data into the new unified model. |
Multi-Currency Reporting (That actually works)
UPH adds specialized reports that roll up data from the fragmented GL entries into a unified view: - Party Master Ledger: Every transaction, every role, one screen.
- Consolidated Aging: See your total exposure to a client across all their currency accounts.
- Conflict Resolution: Tools to identify and fix data quality issues in your party master.
Getting Started
UPH is compatible with ERPNext v15+. You can grab it on GitHub:
bench get-app GitHub - Sendipad/uph: Unified Party Hub (UPH) for ERPNext is a Frappe app that introduces a tree-based Party Master Doctype, allowing organizations to categorize and manage different party types (Customers, Suppliers, Employees, etc.) under a structured hierarchy.
bench --site {your-site} install-app uph
bench --site {your-site} migrate
Why we built this
In markets like Yemen, where exchange rates are volatile and businesses transact in multiple currencies daily, this wasn’t just a “nice to have”—it was a survival requirement for ERP adoption. We wanted to bridge the gap between Strict GL Correctness and Practical Business Operations.
I’d love to hear from the community:
How are you currently handling multi-currency customers? Are you using the “Duplicate Party” method, or have you found another workaround?
Check it out here: GitHub - Sendipad/uph: Unified Party Hub (UPH) for ERPNext is a Frappe app that introduces a tree-based Party Master Doctype, allowing organizations to categorize and manage different party types (Customers, Suppliers, Employees, etc.) under a structured hierarchy. on GitHub







