Skip links

How Quotations and Sales Orders Work in Odoo

They are the same record

A common source of confusion: a quotation and a sales order are not two documents.

They are the same record at different stages. You create a quotation. The customer accepts. You confirm it. The record becomes a sales order.

Nothing is copied. Nothing is re-entered. The number usually changes to reflect the new status, and everything else stays.

Understanding this explains most of how the module behaves.

The stages

Quotation. A draft offer. Fully editable. No stock is committed and nothing has happened elsewhere in the system.

Quotation Sent. Emailed to the customer. Still editable. Odoo records that it went out and when.

Sales Order. Confirmed. Stock is reserved. A delivery order has been created for the warehouse. Editing is now restricted.

Locked. Optionally, fully closed to changes.

Cancelled. Ended before completion.

FIGURE 1: THE STAGES OF ONE RECORD

Quotation

  • Draft, fully editable

Quotation Sent

  • With the customer, still editable

Sales Order

  • Confirmed, stock reserved

Delivered and invoiced

  • Consequences follow automatically

Creating a quotation

Pick the customer, and Odoo fills in what it already knows: their price list, payment terms, delivery address, invoice address and salesperson.

This is worth noticing. In a disconnected setup, someone types those in. Here they come from the customer record, which means they are consistent and they are right.

Then add product lines. Each line pulls its price from the customer’s price list, applies any discount rules, and calculates tax from the product and the customer’s fiscal position.

The fields that matter

Expiration date. How long the offer stands. It matters commercially and some businesses need it legally.

Payment terms. When it is due, and any instalment structure.

Delivery address. Can differ from the invoice address, which is common for businesses with multiple sites.

Salesperson. Drives your reporting and any commission.

Sending it

Odoo emails the quotation as a PDF, using a template you control.

Two features worth using:

The customer portal. The customer can view the quotation online, and accept it there. When they do, it confirms itself.

Online signature and payment. They sign and pay from the email. The order confirms, and you have their acceptance on record.

For businesses that currently email a PDF and wait for a reply, this removes a step and gives you a clear record of acceptance.

What confirmation actually does

Click Confirm and four things happen.

The record becomes a sales order.

Stock is reserved. The quantities are committed against this order, so nobody else can promise the same items.

A delivery order is created and appears in the warehouse team’s list.

Editing becomes restricted. You can still change some things; you cannot freely rewrite it.

That reservation is the important one. It is what stops two salespeople selling the same item.

FIGURE 2: WHAT CHANGES AT CONFIRMATION

The record becomes an order

  • Same record, new stage, usually a new number.

Stock is reserved

  • Committed to this customer. Nobody else can promise it.

A delivery is created

  • It appears in the warehouse list with the right quantities.

Editing is restricted

  • Deliberate. The warehouse is now working from it.

Quotation templates

For anything you sell repeatedly, a template is worth setting up.

It holds pre-filled product lines, standard terms, an expiration period, and optional extras.

The saving is real. A quotation that takes fifteen minutes to build from scratch takes two from a template — and templates prevent people forgetting to include things.

Optional products

Suggested extras that appear on the quotation and that the customer can select in the portal.

Useful for accessories, extended warranties, installation. The customer adds them themselves, which is a lower-pressure sale than a phone call.

Editing a confirmed order

Business does not always cooperate, so this comes up.

What you usually can change: adding lines, increasing quantities, changing dates.

What is restricted: reducing quantities below what has already been delivered, and changing things the warehouse has acted on.

If the change is large, cancelling and creating a new order is often cleaner than editing. It leaves a clearer record of what actually happened.

Cancelling

A quotation cancels cleanly — nothing has happened yet.

A confirmed order is more involved. Odoo will cancel the linked delivery, and if anything has already been delivered or invoiced, those have to be handled first — usually with a return and a credit note.

This is not Odoo being difficult. Once goods have moved and value has been posted, reversing it properly is what keeps your accounts correct.

Common questions

Can I have several quotations for one customer? Yes. Create as many as you need. Only the accepted one gets confirmed.

What happens to quotations nobody accepts? They stay as quotations. Set expiration dates and review them, or your list fills with offers from two years ago.

Can I copy an old order? Yes. Duplicating an order is often faster than starting fresh, and it is how many businesses handle repeat customers.

Why can I not edit this confirmed order? Because the warehouse is working from it. That restriction is protecting you.

FIGURE 3: WHAT MAKES THIS WORK WELL

Working well

  • Templates for anything sold repeatedly
  • Expiration dates set and reviewed
  • Portal used for acceptance and signature
  • Confirmed orders left alone

Causing problems

  • Every quotation built from scratch
  • Two-year-old quotations still open
  • Acceptance recorded in someone’s inbox
  • Confirmed orders edited while being picked

What to set up first

1. Price lists. Start with one and add only when you genuinely need more. Overlapping price lists where nobody can predict the final price is a common and avoidable mess.

2. Payment terms. Your standard set.

3. Taxes and fiscal positions. Test against a period you already filed.

4. Quotation templates. For anything you sell repeatedly.

5. Your email template. It is a customer-facing document — make it look right.

6. Portal and online signature. Free value, frequently left switched off.

The short version

A quotation and a sales order are one record at different stages. Confirming it reserves stock, creates the delivery and restricts editing.

Set up your price lists and templates properly, use the portal for acceptance, and leave confirmed orders alone once the warehouse is working from them.

Most problems in this module trace back to price list configuration, not to the order flow itself.

Quotations taking too long to produce, or prices coming out wrong?

Get in touch. We will look at your price list setup first — that is where the trouble usually is.

Leave a comment

Drag