[Design Proposal] Common Party Management in ERPNext

Usecase: There is a single party which is a Customer and Supplier/Member/Employee/Student for your company. The current challenges user face is reconciliation between sales and purchase (and other transactions).

Proposed Solutions

Please note that suggestions are pure made based on crud ideas and not validated for accuracy based on accounting standards. So, if something sounds way-off, that’s why we are posting it here, for your kind review. Please guide.

Solution 1

Step 1: Create a Doctype for Common Party


Step 2: Create a new Account Type “Common Party”, which will be somewhat like a receivable and payable account. This account could be created on any side, like Asset or Liability.

Will need to validate if it’s correct as per accounting standards or IFRS standards.

Step 3: Reconciliation

  1. In the Payment Entry, when you select a Party as a Customer / Supplier, we can also ask via checkbox, “Consider Common Party”.
  2. If this checkbox is 1, then we can fetch all the unreconciled entries for that party in the payment entry.
  3. Receivables will have a positive value. Payable ones will be negative. Debit Note and Credit Notes will be adjusted as well.


  1. Based on pluses and minuses, the payable or receivable account will be determined, which will be nothing but the GL Balance for the “Common Account”.
  2. Rest of the entries remains same.
  3. Perhaps a separate Account Receivable Report for Common Party, which will list all open sales invoices and purchase invoices at once.

Solution 2

Step 1: Common partydoctype.

Step 2: Each party will have its own receivable or payable account linked to it, just like the standard system.

Step 3: The Common Receivable / Payable report for Common Party (just like one suggested above). In the second, we can provide an option to create a common Payment Entry.

Step 4: After the selection of all the invoices (of multiple types) to be reconciled, we will need to determine the Debit / Credit Balance. If Debit balance, then in the Journal Entry (not payment entry), we update “Debit Account” of that party. If Credit balance, then we update “Creditor Account” and party.

Step 5: In the Journal Entries child table, it will list all the invoices / JVs etc., as per the matching of Common Party master. Also, it will fetch all the Debitor and Creditor accounts of the same party.

Step 6: The Different Amount will be Payment Amount, against which Bank Account will be set. Save and submit invoice. All different kind of invoices is marked as paid.

Solution 3

Step 1: Most of the steps 2.

Step 2: Reconciliation and matching happen via Payment Reconciliation, instead of Receivable/Payable report for Common Party. We will have to anyways update Payment Reconciliation for the common party feature?

Looking forward to know your thoughts.


Its a good proposal. I shall add my inputs.

This is not a good idea.

I will suggest an alternative solution.

Step 1. Common party doctype as you have said. Additionally we freeze one receivable/payable account to it. (Say Debtors). So, all future sales/purchases shall be booked against account selected in common doctype.

Step 2. We can remove party type everywhere (including reports like General Ledger, and doctypes like Journal Entry and Payment Entry). Instead we see union of all lists (with party-type as sub-text below).
Common parties can show-up in list only once with party-type sub-text as common party.

Step 3. Reports. Say if Debtors is choosen for common party, All purchases and Sales should come up in Accounts Receivable report.

With this, Payment entry and reconciliation would work automatically, as we already are using one account for common party type.

This will also do away with need to choose party type at all places.

Further Suggestions welcome.

1 Like

Try the following. I hope this helps

1 Like