In Odoo 19 the Sales app (Community, LGPL) takes a quotation from draft to confirmed sales order and then to invoice. The decisions that matter most are the invoicing policy (invoice what is ordered or what is delivered), whether customers must sign or pay online to confirm, and how you use quotation templates. Settle those first; everything else is presentation.
This is part 7 of our Odoo 19 guide, following CRM and the pipeline. Most settings below live under Sales › Configuration › Settings.
How a quotation becomes a sales order in Odoo 19
A sales document in Odoo 19 has four states: Quotation, Quotation Sent, Sales Order and Cancelled. Quotation and order are the same record. Confirming a quotation (by a salesperson, or by the customer on the portal) turns it into a sales order with the same S-number. That triggers deliveries if Inventory is installed and makes it available for invoicing.
Each quotation has an expiry date. The Default Quotation Validity is 30 days, set per company; 0 turns automatic expiry off. Customers see the quote on the portal, can accept it there, and can download the PDF. Salespeople can still edit a confirmed order unless you enable Lock Confirmed Sales, which we recommend once your team trusts the flow.
Sales › Configuration › Settings
Quotations & Orders
Quotation Templates (Default Template)
Online Signature on by default
Online Payment Prepayment percentage: 100%
Default Quotation Validity 30 days
Lock Confirmed Sales
Pro-Forma Invoice
Invoicing
Invoicing Policy Invoice what is ordered | Invoice what is deliveredQuotation templates and optional sections
Enable Quotation Templates to get Sales › Configuration › Quotation Templates. The setting comes from the Sales Management module, which is Community. A template holds product lines, sections and notes, a quotation duration, terms and conditions, a confirmation email, an invoicing journal, and its own online signature and payment rules. You can pick one as the company's default template.
Optional products work differently in Odoo 19. Earlier versions had a separate "Optional Products" tab on quotations. In 19, you mark a section as optional. The lines under it are shown to the customer on the portal as add-ons they can include or drop, and the quote total updates. This makes "base package plus optional extras" quotes much tidier: one section for the core scope, one optional section for the upgrades.
Products also carry an Optional Products field. That is a cross-sell list suggested when a product is added, which is mostly relevant to eCommerce.
If quotes must look like a brochure, PDF Quote builder (Community) adds header and footer pages and per-product documents to the quotation PDF.
Online signature and online payment
Online Signature is on by default for new companies. The customer signs on the portal and the signed quote is confirmed and stored with the signature. Online Payment asks the customer to pay before the order is confirmed, either in full (the default 100%) or as a partial prepayment such as 30%. Both defaults can be overridden per template and per quotation.
Online payment needs an active payment provider. For Indian businesses that usually means the Razorpay provider (Community) for UPI and cards; Stripe, PayPal, Adyen and others are also available. With the policy set to Invoice what is ordered and online payment on, you can also enable Automatic Invoice, which generates the invoice as soon as the online payment is confirmed.
Where teams go wrong is switching on both signature and full payment for every B2B deal. A procurement team that needs a purchase order raised internally will not pay a portal link on day one. Use signature for B2B, and payment for small-ticket or B2C deals.
Invoicing policy: ordered vs delivered quantities
The Invoicing Policy is set on each product. The company setting only chooses the default for new products.
| Policy | What you can invoice | Fits |
|---|---|---|
| Ordered quantities | The full ordered quantity as soon as the order is confirmed | Prepaid goods, fixed-price services, subscriptions billed in advance |
| Delivered quantities | Only what has been delivered (validated in Inventory, or entered manually on the line) | Distribution and B2B goods where partial shipments are normal, time-and-materials services |
For services, installing Project adds a Service Invoicing Policy: prepaid/fixed price, milestones (when milestones are enabled), or delivered quantity entered manually. The timesheet-based option arrives with the timesheet integration, covered in part 31.
Each order shows an invoice status: Nothing to Invoice, To Invoice, Fully Invoiced, or Upselling Opportunity. The last one appears when a customer has been delivered more than they ordered on an ordered-quantity product. The Sales › To Invoice menu is the daily worklist for your billing team.
Down payments and advance invoices
The Create Invoice button on a sales order offers three options: Regular invoice, Down payment (percentage) and Down payment (fixed amount). A down payment invoice is posted against a down payment line on the order. When you later create the regular invoice, Deduct down payments (ticked by default) subtracts it automatically. A dedicated Downpayment Account can be set per company in the settings, and it is worth deciding before the first advance invoice is posted.
Talk to your accountant before the first advance invoice. Advances received carry GST implications in India, and the chart of accounts and tax setup belong in the accounting posts (part 22 covers GST). If you only need to show a customer the numbers before they pay, a Pro-Forma Invoice is a document, not an accounting entry.
What to configure first and what can wait
- Decide the default invoicing policy and correct it on existing products.
- Choose online signature and/or payment defaults, and connect a payment provider if needed.
- Set quotation validity and your standard terms and conditions.
- Build two or three quotation templates for your most common offers.
- Test a down payment, a partial delivery and a final invoice end to end with your accountant.
- Later: discounts, margins, PDF Quote builder, commissions (Enterprise).
Prices on these quotes come from your product catalogue and pricelists, the subject of the next post: products, variants and pricelists in Odoo 19. If you want help mapping your current quote-to-invoice process onto Odoo, see our Odoo implementation service.
Questions we get asked
Where did optional products go in Odoo 19 quotations?
Odoo 19 replaced the separate optional products tab with optional sections. On a quotation or quotation template you mark a section as optional, and the product lines inside it are offered to the customer on the online quote as add-ons they can include or remove. The product form still has an Optional Products field for cross-selling suggestions.
Can customers sign and pay a quotation online in Odoo 19?
Yes. Online Signature is enabled by default, so customers can sign a quotation on the customer portal to confirm it. Online Payment can require full or partial prepayment before confirmation and needs an active payment provider such as Razorpay or Stripe. Both defaults can be changed per quotation template and per individual quotation.
What is the difference between invoicing ordered and delivered quantities in Odoo?
With ordered quantities, the whole order can be invoiced as soon as it is confirmed. With delivered quantities, only what has actually been delivered, validated in Inventory or entered manually on the order line, can be invoiced. The policy is set per product; the Sales setting only chooses the default applied to newly created products.
How do down payments work in Odoo 19 Sales?
From a confirmed sales order, click Create Invoice and choose a percentage or fixed-amount down payment. Odoo creates an advance invoice and a down payment line on the order. When the regular invoice is created later, the Deduct down payments option, ticked by default, subtracts the advance automatically so the customer is not billed twice.