Customer Deposit & Advance Invoice Manager
Customer advance/deposit receipts, partial offset to invoices, open-advance aging, refunds
Customer Deposit & Advance Invoice Manager
Customer advance/deposit receipts, partial offset to invoices, open-advance aging, refunds
Customer Deposit & Advance Invoice Manager records customer deposits and advance payments, applies them in full or in part to one or several final invoices, tracks open-advance aging and issues refunds, with every step reconciled straight into the general ledger. Nothing is guessed: receipts, applications and refunds each post a real journal entry, and a dedicated allocation engine spreads advances across invoices oldest-first.
Key Features
Advance and deposit receipts
customer.advance records a customer advance against a bank or cash journal and a deposit-liability account; confirming it posts a real journal entry (debit bank/cash, credit the liability account) so the balance sheet always reflects money held on account.
Partial offset to invoices
The Apply Advance wizard posts part or all of an open advance against any posted customer invoice, creating its own journal entry (debit the liability account, credit the invoice's receivable account) and reconciling it against the invoice.
Multi-advance auto-allocation
action_auto_apply_customer_advances spreads a single invoice's residual across several open advances oldest-first via a FIFO allocation engine, so nothing has to be applied one at a time.
Open-advance aging
Every advance is bucketed live into Current (0-30), 31-60, 61-90 and 90+ days, with search filters and group-by on the list and pivot views, plus a dedicated Open Advance Aging Report wizard totaling every open balance per bucket for a customer or the whole company.
Refunds with automatic closure
The Refund Advance wizard pays back part or all of an advance's remaining balance, posting its own reversing journal entry (debit the liability account, credit bank/cash) and automatically closing the advance once nothing is left open.
Invoice-side smart button integration
A smart button on the customer invoice shows every advance applied to it and the count of the customer's other open advances, with a one-click Apply Advance action directly from account.move.
Full audit trail via chatter
Every receipt, application, refund and cancellation is tracked through mail.thread chatter with the resulting journal entry linked for one-click drill-down.
Reversible applications
Cancelling an advance application un-reconciles and posts a reversing entry rather than deleting the original, and automatically reopens a closed advance if the cancellation frees up an open balance again.
Use Cases
Screenshots
01 Advances List
02 Advance Form
03 Applications List
04 Open Advance Aging List
Why Choose This Module
Deposits handled outside the ledger, or tracked only as a memo field, quietly lose the balance-sheet liability they represent and make refunds and partial applications error-prone. This module keeps every advance, application and refund as a real, reconciled journal entry with its own audit trail, and the underlying balance, validation and FIFO allocation maths in a framework-free engine so the numbers on the aging report can always be trusted.
Specifications
- Compatible: Odoo 18.0 / 19.0 / 20.0
- License: OPL-1
- Languages: 35+
- Author: Pokutsoft
- Dependencies: account
- Support: support@pokutsoft.com
- Update date: 2026-10-01
Related modules
Bank Statement Import Pro (CAMT.053 / MT940 / OFX / QIF + AI)
Import bank statements from CAMT.053, MT940, OFX/QFX and QIF files with auto-format detection, reconciliation suggestions and optional bring-your-own-key AI categorization.
Bad Debt Provision & Write-Off Manager
Aging-based doubtful-debt provision matrix, write-off workflow and auto-reversal on recovery
US BAI2 Bank Parser
Import BAI2 (US/Canada) corporate cash-management bank statement files into Odoo bank statements