Using Common Party Accounting in ERPNext

Imagine you run a popular catering business known for its excellent food and hospitality. And you always buy high-quality ingredients from a trusted supplier. This supplier now needs catering for a family event and naturally comes to you.

Since you regularly purchase ingredients from this supplier, you have a supplier record, and you create purchase invoices. But now this supplier is buying products from you, so you need to create a customer record.

Further, you may want to adjust your purchase transaction with the sales transaction and pay for only the remaining amount.

Instead of creating separate supplier and customer records, ERPNext offers a feature to link the supplier and customer records. This is called common party accounting.

Follow these steps to set up common party accounting in ERPNext

  1. Navigate to “Accounts Settings” and enable “Common Party Accounting” in the ‘Invoicing Features’ section.
  2. Link the customer and supplier.
  • If the party is already created as a supplier, then create a customer. Go to the “Supplier”, click on “Link with Customer” from the “Actions” option to link.
  • If the party is already created as a customer, then create a supplier. Go to the “Customer”, and click on “Link with Supplier” from the “Actions” option to link.
  1. Now, create a sales invoice against the customer who was assigned as the secondary party in the previous step.
  2. Upon submission of the sales invoice, an automatic journal entry will be made against the linked supplier, creating an advance balance. Also the invoice is marked as paid.
  3. You can now reconcile this journal entry advance against a Purchase Invoice.

This process allows you to adjust your purchases with the sales transactions.

1 Like

Hi @Basawaraj_Savalagi can you help me with my issue? Why is it even when I enabled the common party accounting and link the customer to supplier, when I create a sales invoice it does not automatically create a journal entry? Is this server issue or set-up issue?

Hi @jhana_1999 ,

https://docs.frappe.io/erpnext/user/manual/en/common_party_accounting

I’m not sure if I should start a new thread, but I’m curious if there is a setting to stop automatic journal entries when using common party accounting. It’s a pretty invasive assumption when the system automatically credits a customer account when submitting a purchase invoice for the supplier linked with customer.

We should be able to use common party accounting, while also preventing these automatic journal entries.

Think of situations where my customer buys bread from my bakery for their employees, but then he paves my parking lot. He would need to buy a lot of bread to offset the cost of the parking lot paving.

Something that’s supposed to offer convenience, now causes me to have to cancel and delete an automatic journal entry that I didn’t want in the first place.

Hi @volkswagner

Your bakery vs. parking lot paving scenario is the absolute perfect example of why automated accounting assumptions can sometimes create more manual cleanup than they save!

To answer your question directly: No, there is currently no native sub-setting to keep Common Party Accounting enabled while turning off the automatic Journal Entries.

In ERPNext, the Common Party Accounting feature toggle is functionally designed specifically to automate that net-off transaction lifecycle upon invoice submission. It treats the relationship as a continuous, immediate offset, which breaks down in real-world scenarios like yours where the values and business contexts are completely asymmetrical.

If you want the convenience of tracking the customer-supplier relationship without the system making automated ledger assumptions, here is the best native workaround to handle it:

The Solution: Informational Linking + Manual Control

  1. Disable the Feature: Go to Accounts Settings and uncheck Enable Common Party Accounting. This stops the invasive automatic journal entries immediately.

  2. Maintain the Link for Visibility: To keep track of who is who, use Customize Form to add a simple Link Field on the Customer Doctype pointing to the Supplier master (and vice versa). This gives you the 360-degree visibility you want for tracking without any backend accounting automated triggers.

  3. Intentional Reconciliations: When the time comes to actually offset a portion of the bread invoices against the parking lot invoice, you can do this completely under your own control using a standard Journal Entry.

This keeps your ledger entirely clean, avoids the constant cancel-and-delete loop, and ensures your accounting reflects reality rather than an automated assumption :victory_hand:

Thank you @Jatin_Banshpal

I will disable common party accounting and simply link the contacts and addresses to both the Supplier and Customer records.