Sale Discount — Line, Global & Invoice Reconciliation
by Cerevantix Technologies https://www.cerevantix.com$ 39.01
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Sales (sale_management) • Discuss (mail) |
| Lines of code | 428 |
| Technical Name |
cerevantix_sale_discount |
| License | OPL-1 |
| Website | https://www.cerevantix.com |
| Versions | 17.0 18.0 19.0 |
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.
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.
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.
See it in action
Real screens from the module, captured on Odoo 19.
The Order Discount group on the sale order: global discount type, value, and reason, above the discounted line totals.
The printed order totals block: the global discount line and a highlighted Total Savings figure.
Sale orders list, with a discounted, fully invoiced order sitting alongside everyday quotations.
The customer invoice with the global discount, its reason, and the negotiated savings carried over from the order.
A customer's default sale discount, auto-applied to every new order for that account.
Configurable discount reason codes used across orders and invoices for a clean audit trail.
Frequently asked
Is tax calculated before or after the discount?
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.
Does the discount carry over to the invoice?
Yes. When you invoice the order, the negotiated line and global discounts are applied on the customer invoice automatically and remain editable there if you need to adjust.
Does it overwrite the product price with a negative line?
No. Discounts are recorded as first-class data on the order and invoice. The list price is never changed and no negative-priced discount product is added.
Which Odoo version does it support?
This build targets Odoo 19 Community and works on Odoo.sh and On-Premise deployments. It builds on the standard Sales and Accounting apps.
Get in Touch
Have questions or need customization? Every purchase includes 30 days of free support — we are here to help.
Visit Our Website
www.cerevantix.comExplore our apps, services, and portfolio.
Explore our other apps
A growing suite of Odoo apps.
Empowering growth through technology.
Global and line discounts on sale orders, with tax after discount and a clean carry-over to the customer invoice, built natively on Odoo.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Sales (sale_management) • Discuss (mail) |
| Lines of code | 428 |
| Technical Name |
cerevantix_sale_discount |
| License | OPL-1 |
| Website | https://www.cerevantix.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module