erpnext
erpnext copied to clipboard
feat: Ledger for advance payment
Issue
Consider a partial advance paid against a sales / purchase order. This will update the 'Advance Paid' field in SO / PO. But, once the advance has been reconciled against an Invoice, the 'Advance Paid' is reset to '0'. Now, advance payments created against those SO / PO will have the whole amount, even though a partial advance had been received.
Current Limitation
Use of Payment Ledger (subset of General Ledger) to calculate advance amount. Payments made against SO / PO save their reference in Payment Ledger. So, upon reconciliation the references have to be updated to it's respective Invoices - this can't be changed as outstanding amount
is calculated based on this. Which means, after reconciliation, there are no more references to SO / PO on the ledger leading to 'Advance Paid' calculated to be '0'.
Goal
- Advance against SO / PO from payment entry or journal should be captured
- To avoid reconciliation affecting the advance amount calculation, only submit and cancel events will be captured.
Solution
A separate ledger to track Advance Payments against SO / PO.
no-docs