A customer returned two units, but the statement still asks them to pay for all ten. Where does the Odoo process stop? Check three separate steps: receive the return, confirm the credit note, then allocate the credit or refund the money 1.
At ToDoOps, we connect that sequence so the owner can read the remaining balance, finance can explain it from its documents and the warehouse can identify what actually came back. In the hypothetical example below, a SAR 2,300 invoice and a SAR 460 return, both including VAT, leave SAR 1,840 due if the invoice is unpaid. If it was paid, the customer has a SAR 460 credit awaiting the agreed settlement. The accounting document and the bank movement are separate steps.
Stock return, credit note and refund: three separate events
On mobile, swipe the table horizontally if some columns are out of view.
| Event | Who does it | What changes | What does not change |
|---|---|---|---|
| Return validation (Reverse Transfer) | Warehouse | Stock and the delivered quantity on the sales order | The invoice and the customer balance |
| Credit note confirmation | Finance | A reversing entry that reduces what the customer owes | Cash movement |
| Allocation or payment | Finance and treasury | Credit applied to an invoice, or the refund recorded | Stock |
The reason is that a validated invoice is not edited. Odoo’s documentation explains that after an invoice has been sent, a reverse transfer alone is not enough, and that it is used together with a credit note to complete the return 1. It also describes the credit note as the method for cancelling, refunding or modifying a validated invoice 1. So we do not fix a problem by changing an approved invoice. We issue a reversing document and leave the original untouched.
Odoo credit note example: from SAR 2,300 to SAR 1,840
Hypothetical illustration: assume a VAT-registered business and a supply subject to the standard 15% rate described by ZATCA 2. Ten units at SAR 200 before VAT give SAR 2,000, VAT of SAR 300 and a total invoice of SAR 2,300. The customer returns two units: SAR 400 before VAT plus SAR 60 VAT, so the total credit note is SAR 460.
| Document or situation | SAR | What finance checks |
|---|---|---|
| Original invoice | 2,300 | Supply value 2,000 + VAT 300 |
| Credit note for two units | 460 | Returned value 400 + VAT 60 |
| Unpaid invoice after credit allocation | 1,840 | Remaining customer balance, including VAT |
| Invoice paid in full before the return | 460 | Customer credit awaiting allocation or refund |
SAR 2,300 − SAR 460 = SAR 1,840. That is the remaining balance in the unpaid case, not a bank refund. For the paid case, issuing a credit note does not move cash. If a refund is agreed, finance records and reconciles that payment; alternatively, the credit can be applied to another invoice as agreed 1.
When evaluating an Odoo project, use the cost and savings calculators for budget and value estimates from your inputs. We can then scope the connection between sales, stock and finance.
Odoo credit note and return steps
- The return: from the sales order, open the delivery order and click Return. The default quantity matches what was delivered, so change it to 2 in our example. When the goods arrive, the warehouse clicks Validate and the delivered quantity on the sales order updates. This step requires the Inventory app 1.
- The credit note: from the invoice, click Credit Note, enter the reason, and choose the journal and reversal date. Choose Reverse to get a draft whose quantity you edit before clicking Confirm. Reverse and Create Invoice instead produces a confirmed credit note reconciled with the invoice, plus a new draft invoice. That suits correcting an invoice, not a partial return 1.
- The balance: after confirmation, a banner tells you the customer has outstanding credits that can be allocated. If money is going back, record the payment when it actually happens 1.
To see how a sales order reaches delivery, try the guided sales and stock simulation with fictional data. Your credit-note and refund flow is then tested within the project scope.
Credit notes and e-invoicing in Saudi Arabia
The ZATCA e-invoicing guidelines (version 2, May 2023, section 4.3, pages 19 and 20) state that credit and debit notes are issued against tax invoices and simplified tax invoices after the e-invoice has been issued, that they must reference the original invoice, and that the note type follows the invoice type 2. During acceptance testing, check the original-invoice reference, document type and return reason, then verify the submission flow and response in your company configuration. For invoicing details see Odoo and ZATCA readiness guide, and for the wider accounting picture see Odoo accounting guide.
When money is actually refunded, the bank line should match the recorded payment. For matching bank statements, see Odoo bank reconciliation guide.
Preparing your Odoo return and credit-note workflow
Start with limited data: products, customers, and a few real invoices that need partial and full returns. Agree three responsibilities: The warehouse keeper validates the reverse transfer, the accountant creates the credit note, and the manager decides between applying the balance to a future invoice and refunding it.
Then test both buttons. Reverse opens a draft credit note, which suits a partial return because you edit the quantity. Reverse and Create Invoice validates a full credit note for the original invoice, reconciles it, and opens a new draft invoice, which suits a full correction 1. A stock return needs the Inventory app and a validated reverse transfer.
Review Odoo apps to identify the applications involved, and industry solutions for a workflow close to your business.
Odoo credit note questions
Does a credit note send money back to the customer? No. In the example, the amount due drops to 1,840 if the invoice is unpaid, or the customer keeps a 460 credit if it was paid. A bank refund is a separate payment that finance records when money leaves.
When should I use Reverse and when Reverse and Create Invoice? Use Reverse for a partial return, since it opens a draft you can edit. Use Reverse and Create Invoice for a full correction: it validates the credit note, reconciles it with the original, and opens a new draft invoice 1.
Does the credit note bring the stock back? No. You need the Inventory app and a validated reverse transfer, handled by the warehouse keeper. That keeps the quantity with the warehouse and the amount with finance.
What to prepare before you contact us
Prepare your last three customer returns with dates, your list of return reasons, who decides between credit and refund, and your current customer credit balances after review. With these we can assess with you where the warehouse and the accounts drift apart. Start from contact us, see our services on the home page, and estimate the scale of the work with the central calculators.
References
- Odoo 19.0 official documentation: credit notes and refunds, and returns in the Sales app. It supports the return, credit note and allocation steps above.
- Zakat, Tax and Customs Authority, e-invoicing guidelines, version 2 (May 2023), section 4.3, pages 19–20. Original-invoice references and note types; ZATCA’s VAT overview supplies the standard 15% rate, checked 4 November 2026.
