From Sales Order to Invoice in Odoo: Stop Re-Typing What You Already Sold
How to generate customer invoices straight from confirmed sales orders in Odoo — invoicing policies, the delivery trigger, down payments, and bulk invoicing for HK SMEs.

At APAA, we still meet Hong Kong SMEs whose invoicing process looks like this: a customer places an order, someone types it up as a quote, then — when it is time to bill — someone re-types the very same line items into a fresh invoice. That is the same information keyed twice, which means twice the effort and twice the chance of a figure going astray. It is also entirely avoidable.
Odoo links sales and accounting so the invoice is generated from the confirmed sales order you already built. This guide walks through how that works in practice: how invoicing policies decide when a line is ready to bill, how the delivery step fits in, how to collect a deposit with down payments, and how to invoice many orders at once. By the end you will understand why the order, not the invoice, should be where you do the typing.
Why Invoice From the Sales Order
The whole point is that Odoo ties your sales workflow directly to your accounting. The moment you confirm a sales order, the system starts tracking which lines are ready to invoice based on the policy you have set. In practical terms, that gives you three things:
- No duplicate data entry between sales and accounting — you enter the order once
- Inherited structure — invoice lines carry over the layout and sections from the sales order
- Correct quantities every time — you bill exactly what the order (and delivery) supports, not a hand-copied approximation
Understanding Invoicing Policies
Everything hinges on one product-level setting: the invoicing policy. Odoo offers two, and they decide the exact moment a sales order line becomes billable.
| Policy | When the line becomes invoiceable | Best for |
|---|---|---|
| Ordered Quantities | Immediately after the sales order is confirmed | Services, prepaid goods |
| Delivered Quantities | Only once the delivery has been validated | Physical products, wholesale |
The policy lives on each product, so a single sales order can mix both — a consulting line that bills on order alongside a hardware line that bills on delivery. To make this visible at a glance, Odoo colour-codes the lines:
- Blue lines are ready to invoice
- Black lines are not invoiceable yet

Step by Step: Creating an Invoice From a Sales Order
1. Create and Confirm the Sales Order
Open the Sales app and start a new quotation. Add your customer, then add the order lines. A small tip that pays off later: use sections to group items — for example "Plants" and "Supplies" — for a cleaner layout that will carry straight through to the invoice.

When the quotation is ready, click Confirm to turn it into a live sales order.

2. Check Which Lines Are Invoiceable
Once confirmed, read the line colours:
- Products on the Ordered Quantities policy turn blue straight away
- Products on the Delivered Quantities policy stay black until the goods have shipped

3. Deliver the Products (If Required)
For any line on the Delivered Quantities policy, click the Delivery smart button on the sales order. Validate the delivery order by confirming the quantities actually shipped. Head back to the sales order and those lines have now turned blue — they are ready to bill.


4. Create the Invoice
Click Create Invoice on the sales order. Choose Regular Invoice to bill every line that is currently invoiceable, then click Create Draft Invoice.

The draft invoice inherits the same section structure you built on the order, so it arrives already organised.

5. Confirm the Invoice
Review the draft and click Confirm to finalise it. That is the full path — from order to posted invoice — with the line items entered exactly once.
Down Payment Options
When you create the invoice, Odoo gives you three choices, not just one:
- Regular Invoice — bills every invoiceable line at its full amount
- Down Payment (Percentage) — invoices a percentage of the total order
- Down Payment (Fixed Amount) — invoices a specific sum you set
The useful detail for Hong Kong SMEs that take deposits: down payments are available even when no lines are yet invoiceable. That makes them the tool for collecting a deposit before anything is delivered — common for custom orders or longer lead times.

What Happens When No Lines Are Invoiceable
If you try to raise a regular invoice while no lines are invoiceable, Odoo does not fail silently — it returns a clear error message explaining exactly what is wrong. This is deliberate: Odoo's error messages are designed to tell you what went wrong and how to put it right, so read them rather than working around them.

Once you have billed all the currently invoiceable lines, the only option remaining on that sales order is a down payment — until more lines become invoiceable through delivery.
Bulk Invoice Creation
You do not have to invoice orders one at a time. When you have a backlog to bill, do it in bulk:
- Go to the Sales app list view
- Tick the checkboxes for the sales orders you want
- Click Action > Create Invoices

During bulk creation Odoo offers a Consolidated Billing option that decides how orders for the same customer are grouped:
- Enabled — multiple orders for one customer merge into a single invoice
- Disabled — each sales order produces its own separate invoice

For a business clearing a week's worth of orders, this is a genuine time-saver over creating invoices one by one.
The Short Version
- Set the right invoicing policy on each product so billing unlocks at the right moment — on order for services and prepaid goods, on delivery for physical stock
- Use sections on the order to keep invoices tidy — the structure carries over automatically
- Use down payments to collect a deposit before anything ships
- Use bulk invoicing from the order list to clear a backlog fast
- Read Odoo's error messages — they point you to the correct next step
Getting this flow set up properly means your team enters an order once and never re-types it. If you would like your Odoo sales-to-invoice process configured around how your Hong Kong business actually bills, speak to the APAA team.