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.
Everything a sale discount needs
Every capability below is implemented in the module.
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.
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.
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.
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.
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.
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.
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.
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.
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.
How it works
Build the Quote
Add products and set any per-line percentage or fixed discount.
Set the Order Discount
Choose percentage or fixed, add a reason, and see Total Savings update.
Confirm & Invoice
Create the customer invoice; the discount and taxes carry over automatically.
Reconcile
The variance alert confirms the invoice matches the negotiated rate.
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.
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 StoreMore Odoo sales apps
Sale Elaboration Services
Elaboration templates and customer-product defaults on sales lines, cost and margin tracking per preparation, and a warehouse prep board with worksheets — plus elaboration analytics.
Sale Estimate to Customer
Line-item estimates with validity, revisions and templates, sent through a customer portal for in-portal signature or a declined-with-reason answer, then converted to a sales order in one click.
Sale Margin Report in PDF & Excel
On-screen margin analysis with net versus gross, six-dimension filtering, previous-period comparison, a branded PDF, one-click Excel export and scheduled email delivery.
Sale MRP Status
Manufacturing status, yield and multi-BOM selection on the sales order for every internal user — with produced quantity decoupled so real output never cascades edits back onto the sale.
Sale No Auto Subscribe
One master switch that stops creators, salespeople and customers being auto-subscribed to sales orders — with per-team and per-status exceptions where you still want the default.
Sale Order Access By Sales Team
Team membership and record followers combined into one access model, with inline view-only or full-edit grants, a permission matrix and a sidebar naming exactly who can see each order.