Order & line discounts, done right

Apply a global discount to the whole sale order — percentage or fixed amount — alongside per-line discounts, with tax calculated after the discount and the negotiated rate carried straight through to the customer invoice.

The problem

Odoo has no clean way to discount a whole order. Teams edit the discount column on every line or bolt on a negative-priced product, which breaks VAT reporting, muddles the invoice PDF, and never records why the discount was granted.

The solution

One order-total discount, entered once, spread correctly so every line keeps its right taxable base. Tax is computed after the discount, the negotiated rate flows to the invoice, and a clear Total Savings figure shows on screen and on the printed order.

Capabilities

Everything a sale discount needs

Every capability below is implemented in the module.

01

Global Order Discount

Apply one order-total discount as a percentage or a fixed amount on the subtotal after all line discounts — no more editing every quotation line by hand.

02

Line Discounts, Two Ways

Add a percentage discount and a fixed amount on any individual line, working together with the global discount. The unit price is never overwritten.

03

Tax After Discount

Tax is always computed on the discounted amount and spread across lines, so each line keeps a correct taxable base and your VAT stays right on the printed invoice.

04

Carry-over to Invoice

The negotiated discount flows automatically from the sale order to the customer invoice, so finance never re-keys it — and it stays editable on the invoice when needed.

05

Discount Variance Alert

An inline banner reconciles the discount actually invoiced against the rate negotiated on the order, flagging any manual edit that drifts away from the agreed deal.

06

Discount Reasons & Audit

Tag every discount with a configurable reason code and keep a chatter audit trail of who granted it, when, and why — ready for review and compliance.

07

Customer Default Discount

Store a negotiated default rate on the customer record and have it auto-populate on every new sale order, so repeat wholesale deals need no re-keying.

08

Total Savings on the PDF

The printed sale order shows the global discount and a highlighted Total Savings line in the totals block, so customers see the value transparently.

09

Native Odoo Totals

Discounts reuse Odoo's own tax engine and quotation totals, so amounts, taxes, and reporting stay consistent everywhere — nothing is faked with product lines.

Workflow

How it works

1

Build the Quote

Add products and set any per-line percentage or fixed discount.

2

Set the Order Discount

Choose percentage or fixed, add a reason, and see Total Savings update.

3

Confirm & Invoice

Create the customer invoice; the discount and taxes carry over automatically.

4

Reconcile

The variance alert confirms the invoice matches the negotiated rate.

Questions

Frequently asked

No sales fog. If your question isn't here, email us and we'll answer it the same way.

After. Both line and global discounts reduce the taxable base, and the global discount is spread across lines so each line keeps a correct taxable amount for VAT-compliant invoicing.

Get the app

Buy it on the Odoo App Store

Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.

Sale Discount — Line, Global & Invoice Reconciliation

Global and line discounts on sale orders, with tax after discount and a clean carry-over to the customer invoice, built natively on Odoo.

Buy on Odoo App Store