All posts
Functional4 min read

Processing Prepayments and Advance Invoices in Odoo

Handle customer prepayments and vendor advances in Odoo - recording the advance receipt, clearing it against the final invoice, and ensuring accurate accounting for partial payments.

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)

Try ERPeek on your own Odoo module - ask questions, scaffold tests, and explore your codebase in plain language.

Get started free