Apply advance payment to an existing sales invoice

Hello community,

We are currently migrating from Oracle Netsuite, so bare with me.

I would like to allocate an advance payment (recorded via Payment entry against a Sales order) with a submitted invoice. Payment Reconciliation tool is to be used for this purpose.

Now here is the problem - the advanced payment should be booked against a different balance sheet account than the sales invoice. Sales invoice is booked as debit - Account receivable. However, the advance payment from is treated as a liability of the business, see this very good explanation:

Payment Reconciliation tool requires one receivable/payable account:

But sales invoice is booked to a different account:

Therefore, is there a way to match the records?
Thank you.


Hi Marek,

Technically you are right an advance paid by a customer is a liability. We treat that on ERPNext as a negative asset.

You can try setting an account as Receivable in the Account DocType, but in the chart of accounts, you can place it under Liabilities. That should address your issue, right?

But here’s my question: An advance till it stays as an advance is a Liability, right! But the moment you knock it off against a Sales Invoice it no longer is a Liability. It moves to the Income account, right? So, are you stressing out over something that you don’t need to stress out about?

Or maybe I’m missing something.

Hope this helps.



1 Like

Hi Jay,

That is the problem: liability IS NOT negative asset and would be considered as error during financial audit. Should that amount be substantial (e.g. for a company that has a lot of customer prepayments), it would be reported rather harshly. I used to work as a controller for almost 10 years and worked with major companies in the field, pwc, KPMG, Deloitte…

The account setting can be made “Receivable” and at the same time have Root Type set to “Liability”.

However, the problem is that the advance payment and invoice - receivable must be on the same account to be matched. That is where things go wrong.

I really like ERPNext, coming from Oracle Netsuite and SAP before Netsuite. However, accounting aspect needs some polishing, happy to help.


Hello friend

Im facing this same issue

Did you find some workaround to apply advances?

Checkout Payment Reconciliation in awesomebar.

1 Like

We are facing the same issue in our company. Any solution for this?

My suggestion to my client - if I have not forgotten - is to “close” the negative asset (or the negative liability for the payable case) a end of period (weekly, monthly, etc.) with a JE netting off the negative account with a properly rooted account:

  • Negative asset to a liability account, or
  • Negative liability to a asseta account.
1 Like

I have suggested same solution, but they don’t want this manual work around.

Yes, I got that reluctance as well.
Luckily they still - even after a long time using ERPNext - make the report in excel :slight_smile:

Or, may be someone can make a button to do this automatically?

1 Like

Using Excel for reporting kills the whole idea of ERP unless you have a very specific use case for creating a report on excel.

I don’t… but the client do… exactly because they say “I can’t understand the financial report (why this account have this amount, why the account is there, etc)” so they translate it to Excel.

They can’t be sure the report is correct. Still have many questions.

1 Like