Purchase Expense Contra Account - V16 Accounting

Hello Friends,

We are trying to setup self-hosted ERPNext-V16. After successful installation of instance and setting all the chart of accounts, we started setting up the company master and default accounts..
the in company master under Buying and Selling we discovered Purchase Expense Section where Three Default Accounts are asked to be setup..

We have already setup the Purchase Expense Account and Service Expense Account..
But we have a doubt on Purchase Expense Contra Account (Expense Side). While we are using the Indian Standard Chart of Accounts, it comes with Stock Received But Not Billed (Liability Side) Account out of the box.
Although the purpose of these two accounts are slightly different, but as per our knowledge and suggestions of Chat GPT, we shouldn’t use both the accounts at the same time.. Hence we left the Purchase Exppense Contra Account as Blank so that we can use the Stock Received but Not Billed for our accounting purpose.
But when we tried to create a Purchase Receipt against a Purchase Order, we are continuously getting a message saying:

So the help we request is the answers of the following questions:

  1. Is it a bug?
  2. Is having a Purchase Expense Contra Account (Expense Side Account) Mandatory?
  3. Shall we drop the use of Stock Received but Not Billed Account?

your support and enlightenment on this request will be highly appreciated…

Any Custom apps?

No, Not any custom apps..

What usually trips people up here is that the Purchase Expense Contra Account is not another vendor/payable account. It is the offset ERPNext uses so purchase expense can show in reports without leaving a net extra expense.

In practice, the safe setup is:

  • Purchase Expense Account = your normal purchase/COGS/expense head
  • Purchase Expense Contra Account = a separate contra expense account under the same expense root

So the entry can show the purchase amount in P&L / Trial Balance, while the contra reverses the duplicate impact.

If this is a stock-item flow and you don’t have a reporting need for that purchase-expense presentation, I’d test it in a staging company first before filling those defaults globally. The quickest fallback is to post one sample Purchase Receipt + Purchase Invoice, then inspect the GL Entry report and confirm which accounts were hit before rolling it into production.

Please refer to the new features introduced in v16