Possible Major Bug - Mismatch between Revenue and Cost of Sales

I’m not sure there’s a bug. It’s a business process issue.

Sequence of events is important. Typically, the sequence is:

Sales Order > Delivery > Sales Invoice

In this case, if your delivery occurs in the current period and then your invoice is expected in the next month, you’d accrue for the revenue that should be linked with the delivery in the current period and reverse it in the next period waiting for the Sales Invoice to be submitted. You’d continue this accrual each following month until the Sales Invoice is actually submitted. ERPNext doesn’t currently have tools to automate this so your accountant would need to book these accruals manually.

Another case could be:

Sales Order > Sales Invoice > Delivery

In this case, you’re technically asking for a payment before the delivery is done. Meaning that you haven’t really earned the income. This could be taken as a request for an advance. If you have a reasonable expectation that the delivery will not take place in the same month as the booking of the invoice then the accurate way to book this would be

Sales Invoice - Month 1
Dr Customer
Cr Income recognised in advance

Delivery - Month 2
Dr Cost of sales
Cr Stock

Revenue Recognition by Accountant/System - Month 2
Dr Income recognised in advance
Cr Income

This way, income and expenses related to that income are recognised in the same period.

ERPNext could probably benefit from an Accrual Engine to automate these postings for both Sales and Purchase Goods-in-transit scenarios.

1 Like