ERPNext Foundation ERPNext Cloud Chat Blog Discuss Frappé* Donate

Advance Payment to credit Liabilities instead of Receivables


#1

Hi everyone,

My company’s domain is online retail, where most of the customers will make an advance payment before we actually fulfill the order and create an invoice.

So we need to record all payments made as an advance payment or a customer deposit if you will

From what I learned in ERPNext, it seems like if I want to record an advance payment via Journal Voucher, I debit my bank account, and credit my Receivables, mark the receivables line as advance and associate it to the party.

The problem is, as far as we understand it in our accounting standards, advance payment should be recorded as a liability instead of receivables.

But if I do so, the Sales Invoice won’t actually pull the Journal Voucher, since it doesn’t hit the Receivables Account, so the invoice cannot be paid by the advance payment.

Another thing is the Sales Invoice won’t debit a liability account.

While this sounds rather convoluted, we are (that’s to say our accounting team) is sure that this should be the case, as explained in this wikihow article:

In summary this is how we imagined advance payment flow should work:

  1. Sales Order is created (this is actually optional)
  2. Advanced Payment is created with Journal Voucher. Ledger entry : debit on bank (asset) credit on Deposit / Unearned Revenue (liability)
  3. When sales invoice is created the Journal Voucher is pulled in the advance payment if the debit account is Deposit / Unearned Revenue

Another way (perhaps a more flexible one) is to keep the sales invoice debit the Receivables, but instead create another Ledger Entry when we attach the advance payment, therefore we could do mixed payment if a previous balance want to be mixed with a wire transfer to pay an invoice.

In that case:

  1. Sales Order is created (this is actually optional)
  2. Advanced Payment is created with Journal Voucher. Ledger entry : debit on bank (asset) credit on Deposit / Unearned Revenue (liability)
  3. When Sales Invoice is created the Journal Voucher is pulled in the advance payment if the debit account is Receivables
  4. Attaching the Journal Voucher to Sales Invoice will result in another Journal(?) that debits Unearned Revenue / Deposit and credit Receivables.

Has anyone work with this kind of advance payment before? If so how did you do it?


#2

I found the problem.

Turns out it has everything to do with the way ERPNext Filters the Accounts that can be used in the transactions, simply by leaving the “Account Type” field blank for these special accounts enables us to use a root-type Liability account as a debit account in Invoice.

As a result, I could create a Customer Deposit in Journal Voucher that credits a Liability account, and use that same account to be debited in the Sales Invoice