Odoo Sales Module Explained
The order is the centre of everything
In Odoo, the sales order is not a document you file away. It is the record that everything else hangs off.
Confirm it and Odoo creates the delivery for the warehouse. Deliver the goods and the invoice is ready for accounts. Post the invoice and the accounting entries appear. Register the payment and the receivable clears.
One record, four consequences. That is what the Sales module actually is.
FIGURE 1: ONE SALES ORDER, FOUR CONSEQUENCES
Sales Order
- Confirmed
Delivery
- Stock reserved and shipped
Invoice
- Drafted from delivery
Payment
- Receivable cleared
From quotation to order
The quotation
You create a quotation for a customer. Odoo fills in what it already knows: their price list, payment terms, delivery address and salesperson.
Add product lines. Each line pulls the price from the customer’s price list, applies any discount rules, and calculates tax.
You can email the quotation directly from Odoo, and the customer can view it in a portal and accept it online. When they do, it confirms itself.
Confirmation
Click Confirm and three things change.
The quotation becomes a sales order. A delivery order appears in the warehouse’s list. And the order is now committed — the stock is reserved against it.
That reservation matters. It means two salespeople cannot promise the same item to two customers.
Pricing
This is where most of the configuration effort goes, and it is worth getting right.
Price lists
A price list sets what a customer pays. Odoo supports several approaches, and you can mix them.
Fixed price per product. Simple and explicit.
Percentage discount off the sales price. Common for customer tiers — wholesale gets 20% off, retail pays list.
Formula-based rules — a margin on cost, rounding rules, minimum margins.
Quantity breaks — a lower price above a certain quantity.
Price lists can be assigned to a customer, a customer group, a currency or a country. When you pick the customer, the right price list follows automatically.
FIGURE 2: FOUR WAYS TO PRICE
Fixed price
- A set price per product. Simple and explicit.
Percentage discount
- A tier discount off list price. Common for wholesale.
Formula
- Margin on cost, with rounding and minimum margin rules.
Quantity breaks
- A lower price above a defined quantity.
Discounts
Line-level discounts are turned on in Settings. Once on, each order line has a discount percentage.
Worth thinking about: who is allowed to discount, and by how much? Standard Odoo will let anyone type any number. If that matters to your business, you need an approval rule, which is usually a small custom module.
Taxes
Taxes come from the product and the customer’s fiscal position. Get the fiscal positions right early — they handle domestic versus export, registered versus unregistered, and any special treatments in your country.
Delivery
When you confirm the order, Odoo creates the delivery based on your warehouse configuration.
One-step delivery — pick and ship in a single operation. Right for most small warehouses.
Two-step — pick, then ship. Useful when packing is a separate job.
Three-step — pick, pack, then ship. For larger operations.
The warehouse team validates the delivery. At that moment stock moves out, and if you use automatic valuation, the accounting entry posts at the same instant.
Partial deliveries
Send five of ten items and Odoo asks whether to create a backorder for the rest.
Say yes and a second delivery is created for the remaining five. Say no and the order is treated as complete at five.
This is a decision the warehouse makes, and it is worth training on. Getting it wrong leaves orders that look open forever, or closes orders that should still be open.
Invoicing
Back on the sales order, a Create Invoice button appears. You have two policies, set on each product.
Invoice on delivered quantities. You bill what you actually shipped. Safer, and correct for most physical goods.
Invoice on ordered quantities. You bill what was ordered, regardless of delivery. Right for services and for prepayments.
You can also invoice a down payment — a fixed amount or a percentage, taken before delivery.
FIGURE 3: CHOOSING YOUR INVOICING POLICY
Invoice on delivered
- Bill only what you shipped
- Correct for physical goods
- Partial deliveries bill partially
Invoice on ordered
- Bill what was ordered
- Right for services and prepayments
- Risk of billing what you have not shipped
The invoice is drafted from the order, not typed fresh. Accounts checks it and posts it.
Useful features people miss
Optional products. Suggested add-ons that appear on the quotation and that the customer can select in the portal.
Quotation templates. For repeat business, a template with pre-filled lines and terms turns a fifteen-minute quotation into a two-minute one.
Online signature and payment. The customer signs and pays from the quotation email. The order confirms itself.
Margin display. Turn this on in Settings and each line shows margin against cost while the salesperson is building the quotation, not afterwards.
Reports worth using
Sales analysis. Revenue by product, customer, salesperson and period. The starting point for most questions.
Margin analysis. Available once cost prices are set correctly. If your product costs are wrong, this report will be confidently wrong.
Quotation conversion. How many quotations become orders, and how quickly.
Sales by salesperson. Useful, but read it alongside the CRM pipeline. Orders tell you what closed; the pipeline tells you what is coming.
What usually goes wrong
Price lists that fight each other. Multiple overlapping rules where nobody can predict the final price. Keep them simple and test with real customers.
Wrong invoicing policy. Invoicing on ordered quantities for physical goods means billing for things you have not shipped. Check this per product.
Uncontrolled discounts. No limit, no approval, no record of who authorised it. Decide your policy before go-live.
Wrong cost prices. Your margin reports depend entirely on product cost being accurate. Garbage in, confident garbage out.
Getting started
The order to set things up:
- Products, with correct cost and sales prices
- Taxes and fiscal positions
- Price lists, starting with one and adding only when needed
- Invoicing policy per product
- Warehouse delivery steps
- Quotation templates for whatever you sell repeatedly
Then run five real orders through a test database end to end — quotation, confirm, deliver, invoice, payment — and check the accounting entries look right before you go live.
Setting up sales in Odoo?
Get in touch. Pricing rules and invoicing policy are where most projects go wrong, and they are where we start.