Unified Party Hub (UPH): Solving the “One Party, One Currency” struggle in ERPNext

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

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