You received SAR 12,000 in advance against an order worth SAR 40,000 before VAT. Delivery is complete. How much should you now ask the customer to pay? In this hypothetical example, SAR 28,000 of the original pre-VAT value remains. Making that figure traceable in Odoo means linking the advance invoice to the sales order, deducting the advance in the final invoice, and reconciling the receipt with its invoice.
At ToDoOps, an implementation discussion starts with an order that resembles your own transactions. We follow its invoice, receipt and delivery so finance can explain the balance from the documents and sales can send an accurate payment request.
Tracking an Odoo Advance Through the Order and Invoice
The sales order stays the reference point. The down payment invoice comes from it, the down payment appears as a deduction on the final invoice, and on any given day the accountant sees three separate numbers: what has been invoiced and posted, what has actually been received, and what is still owed by the customer.
Odoo Down Payment Invoices and Saudi Acceptance Checks
According to the Odoo 19.0 documentation, once a sales order is confirmed you can create a draft down payment invoice as a percentage or a fixed amount, and the flow then continues with the final regular invoice 1. This is different from instalment payment terms. Even with a 100% down payment, a final invoice is still expected. If the invoicing policy depends on delivered quantity, the deduction can become complicated when the delivered value is not enough, so we test the real scenario and do not assume any automatic proportional allocation.
On the Saudi side, the ZATCA Detailed E-Invoicing Guide, version 2 dated May 2023, describes in chapter 8 from page 40 an advance invoice under code 386 and the subsequent invoice under code 388, together with reference and adjustment data 2. We turn this into an acceptance requirement for the project. The project team checks advance and adjustment documents from the Saudi integration used in your project. Finance compares the codes, references and deducted amounts before approving the flow.
What Owners, Finance and Sales Need From Odoo
The owner asks one question: how much is actually due from this customer today. The finance manager needs two numbers that never blur together, what we invoiced and what we collected. The sales lead needs to know that a down payment does not mean the order is closed.
Finance signs off on a short sheet showing the sales order number, the down payment invoice number, the final invoice number, and the date and amount of every receipt. The owner reads the outstanding balance from the same record.
We also suggest a simple project rule. Every down payment invoice and every receipt carries the sales order number, and the receivables report is always read next to the receipts. Nobody then needs to ask a colleague where the down payment went.
A Worked Odoo Example With a 30% Advance
A fully delivered and completed order worth SAR 40,000 before VAT. The 30% down payment equals 12,000, so the final invoice nets to 28,000. All table values exclude VAT. Each receipt stage assumes documented cash receipt reconciled with its invoice.
| Stage | Cumulative posted invoices | Cash actually received | Due on posted invoices | Not yet invoiced |
|---|---|---|---|---|
| Down payment invoice in draft | 0 | 0 | 0 | 40,000 |
| Down payment posted, not received | 12,000 | 0 | 12,000 | 28,000 |
| Down payment received and reconciled | 12,000 | 12,000 | 0 | 28,000 |
| Final invoice after delivery (net 28,000) | 40,000 | 12,000 | 28,000 | 0 |
| Balance received and reconciled | 40,000 | 40,000 | 0 | 0 |
The second row shows an invoice that was issued while no riyal had arrived, so an invoice is not a collection. Use the calculators to estimate the implementation budget and potential operational value of improving your sales and accounting cycle.
Odoo Down Payment Acceptance Tests Before Go-Live
- Create a SAR 40,000 sales order with a 30% down payment invoice, and expect a draft of 12,000 linked to the order.
- Post the invoice without any receipt, and expect it to show as due and not collected.
- Register and reconcile the receipt against the advance invoice under the agreed accounting configuration, then verify that invoice balance is cleared.
- Deliver in full and issue the final invoice, and expect a net of 28,000.
- Try a partial delivery worth less than the down payment, and record what happens exactly as it is.
- Try a 100% down payment and confirm that a final invoice is issued.
- Inspect both documents in the Saudi connector for codes 386 and 388 and the reference data.
Keep the document number, a screenshot and the amount for every test as finance acceptance evidence. If cash appears at the bank but the expected invoice remains open, the Odoo bank reconciliation guide covers that part of the flow. Also agree who posts invoices, who reviews receipts and how an order amendment is handled before final billing.
Common Questions About Odoo Advances and Final Billing
Is a down payment the same as instalments? No. Instalments belong to payment terms, while a down payment is a separate invoice created after the order is confirmed.
Can we skip the final invoice when the down payment is 100%? No. The documentation expects a final invoice even in this case.
What if the delivered value is lower than the down payment? We test the case with your actual numbers and do not assume automatic proportional allocation. The result tells us whether configuration or a manual step is needed.
Scoping Your Odoo Down Payment Implementation
Down payments sit inside the sales and accounting cycle of the Odoo apps, and down payment percentages and delivery patterns differ by the industry you operate in. To see a limited sales and stock journey, you can open the demo to explore how sales and stock connect.
References
[1] Odoo 19.0 official documentation, down payments section in Sales.
[2] Zakat, Tax and Customs Authority, Detailed E-Invoicing Guide, version 2, May 2023, chapter 8.
Next Step
Prepare a representative order with customer details removed, your usual advance percentages and a partial-delivery case. Discuss your Odoo implementation with us to define configuration, integration and acceptance tests. The discussion should make the first phase and its internal approver clearer. Start your budget estimate with the calculators and explore implementation services at ToDoOps.
