Unified Party Hub (UPH)#

Enterprise-Grade Master Data Management (MDM) for ERPNext

Unified Party Hub (UPH) is a comprehensive Master Data Management (MDM) extension for ERPNext that centralizes siloed business roles (Customers, Suppliers, Employees) into a unified, tree-based hierarchy. It provides consolidated financial visibility and rigorous data governance across complex business ecosystems.


Why UPH?#

The Problem#

Standard ERPNext implementations often face challenges when managing complex business entities:

ProblemDescriptionImpact
Fragmented IdentityA single legal entity acting as both a Customer and a Supplier exists as two disconnected documentsDifficulty tracking total relationship
Multi-Currency LogicTransacting with the same party in multiple currencies often requires creating duplicate party recordsCluttered Customer/Supplier masters
Siloed ReportingFinancial reports are segmented by the specific Party recordNo 360-degree view of legal entity
Data RedundancyAddress and Contact data must be duplicated across multiple party rolesData inconsistency risks

The Solution#

UPH introduces the Party Master, a central governance layer that sits above standard ERPNext Party types:

  • True Multi-Currency Support: Transact in any currency with a single Party entity
  • Unified Analytic Accounting: Oracle TCA-like site accounting for branch-level reporting
  • 360-Degree Visibility: Consolidated dashboard across entire hierarchy
  • Data Governance: Real-time quality scoring and duplicate detection

Core Concepts#

1. Party Master#

The Party Master is the single source of truth for a legal entity. It supports a tree-based structure to model complex hierarchies.

Key Capabilities:

  • Tree-based Hierarchy: Parent-child relationships (Holding → Regional → Branch)
  • Hierarchical Numbering: Automatic numbering based on parent (e.g., PM-001, PM-001-001)
  • Multi-Role Support: Link Customers, Suppliers, Employees under one entity
  • Single Version of Truth: Centralized Address, Contacts, and Legal Identity

2. Linking & Roles#

UPH does not replace ERPNext Party documents; it connects them.

ConceptDescription
Link InjectionDynamically injects party_master field into standard DocTypes
Uniqueness RulesEnforce rules like “one Customer per currency per Party Master”
Role ManagementDeclare primary/secondary roles (e.g., Customer = Primary, Supplier = Secondary)

3. Party Analytic Accounting#

A separate, immutable accounting dimension (Party Analytic Accounting) is automatically tagged on every financial transaction.

Benefits:

  • Generate P&L for specific branch/site without cluttering Chart of Accounts
  • Similar to Oracle TCA Sites
  • Company-specific rules and effective dating

Architecture#

UPH is built as a non-intrusive extension to ERPNext:

graph TD
    PM[Party Master] -->|Link| PMP[Party Master Parties]
    PMP -->|Maps to| C[Customer]
    PMP -->|Maps to| S[Supplier]
    PMP -->|Maps to| E[Employee]
    
    PM -->|Parent| PM_Group[Party Group]
    
    PM -->|Configured by| PMS[Party Master Settings]
    
    subgraph "Financials"
    C -.->|GL Entry| GL[General Ledger]
    S -.->|GL Entry| GL
    GL -->|Consolidated| Report[Party Master Ledger]
    end
    
    subgraph "Party Analytic Accounting"
    PAA[Party Analytic Accounting] -->|Tags| TRANS[Transactions]
    PAA -->|Segments| Report
    end
    
    subgraph "Data Quality"
    DQ[Data Quality Dashboard] -->|Monitors| PM
    DQ -->|Detects| Duplicates[Potential Duplicates]
    end

Key Architectural Features:#

FeatureImplementationBenefit
Hooks & EventsIntercepts validate, on_update, on_trashData integrity without core modification
Dynamic FieldsParty Master Settings injectionClean uninstallation
Scalabilityfrappe.qb Query BuilderEfficient database operations
SmartCacheLocal + Redis cachingMillisecond retrieval

Quick Start#

Step 1: Installation#

bench get-app https://github.com/Sendipad/uph.git
bench install-app uph
bench migrate
bench clear-cache

Detailed Installation →

Step 2: Configure Party Master Settings#

  1. Navigate to Party > Party Master Settings
  2. Enable party types (Customer, Supplier, Employee)
  3. Configure uniqueness rules
  4. Set up document type mappings

Step 3: Create Party Master Hierarchy#

  1. Create root Party Master nodes
  2. Set up parent-child relationships
  3. Configure hierarchical numbering
  1. Use Smart Linking dialog
  2. Associate existing Customers/Suppliers
  3. Verify linkage statistics

Step 5: Verify Reports#

  1. Run Party Master Ledger
  2. Check consolidated balances
  3. Monitor Data Quality Dashboard

What’s Next?#

TopicDescriptionLink
InstallationStep-by-step installation guideInstallation →
Quick StartFast-track implementationQuick Start →
Core DocTypesDetailed DocType referenceCore DocTypes →
ReportsComprehensive reporting guideReports →
ConfigurationAdvanced settingsConfiguration →
API ReferenceBackend API documentationAPI Reference →

Documentation Structure#

📚 UPH Documentation
├── 📖 Introduction
│   ├── Overview
│   ├── Installation
│   └── Quick Start
├── 🚀 Key Features
│   ├── Data Quality Dashboard
│   ├── Configuration
│   ├── Hierarchical Numbering
│   ├── Relationship Management
│   ├── Core DocTypes
│   └── Reports
├── 🛠️ Advanced
│   ├── Architecture Deep-Dive
│   ├── Background Sync
│   ├── Why We Built UPH
│   └── API Reference
└── 📋 Use Cases
    ├── Integrate on Production Site
    └── Supplier Multi-Currency Invoices

Support#