Prepayments and Advance Invoices in Odoo#
Advance payments occur when customers pay before delivery (deposits, retainers) or when you pay vendors before receiving goods (purchase advances). Odoo handles both scenarios with proper accounting linkage.
Customer Advance Payment (Deposit)#
Scenario: Customer orders a custom product costing $10,000. They pay a 30% deposit upfront.
Step 1 - Create a Down Payment Invoice#
Sales → [Sale Order] → Create Invoice:
- Invoice Type: Down Payment (percentage)
- Down Payment Amount: 30%
- Odoo creates an invoice for $3,000
Post and send → customer pays $3,000.
Step 2 - Final Invoice#
When the product is delivered:
Sales → [Sale Order] → Create Invoice:
- Invoice Type: Regular Invoice
- Odoo creates the final invoice for $10,000 minus the $3,000 deposit
- The final invoice shows: Total $10,000 → Deposit Deducted ($3,000) → Balance Due $7,000
Customer pays $7,000 → sale order fully billed.
Vendor Advance Payment#
Scenario: Vendor requires 25% payment before starting production.
Step 1 - Register Advance Payment#
Before the vendor bill arrives:
Accounting → Vendors → Payments → New:
- Amount: advance payment amount
- Partner: the vendor
- Journal: Bank
- Payment Account: Vendor Prepayment / Advance to Suppliers (asset account)
Post → a debit appears in the Vendor Prepayment account.
Step 2 - Match Against Final Bill#
When the vendor bill arrives:
Accounting → [Vendor Bill] → Outstanding Credits:
- The prepayment appears as a credit
- Click to match → the advance is deducted from the bill
- Pay the remaining balance
Accounting for Advances#
Customer advance:
- Receipt of deposit: Debit Bank, Credit Customer Advance (liability)
- Final invoice: Credit Revenue, Debit Accounts Receivable, then clear the advance liability
Vendor advance:
- Payment to vendor: Debit Vendor Prepayment (asset), Credit Bank
- Final bill match: Debit Accounts Payable, Credit Vendor Prepayment (asset clears)

