OdooWiki OCA HUB

Account Invoice Triple Discount

account_invoice_triple_discount folder_open OCA/account-invoicing open_in_new
Accounting & Finance License: AGPL-3

This module allows to have three successive discounts on each invoice line.

auto_awesome What this module does

AI-generated from the code · Odoo 20.0

Lets users apply three successive discounts on each invoice line, with the combined total discount calculated automatically and shown on the invoice form and printed invoice.

This module adds three separate discount fields to every invoice line, so a salesperson can give a first, second and third discount one after the other instead of a single percentage.

Where it appears: - On the invoice form, the invoice lines list now shows three columns: Disc.1%, Disc.2% and Disc.3%. - The original single discount column is renamed "Total discount" and hidden by default in the list; it stays visible in the line detail form. - On the printed/PDF invoice, three discount columns appear only when at least one line actually has a discount entered.

Business rules and automatic behaviour: - The total discount is computed automatically from the three discounts, combining them successively (for example 11%, 22% and 33% give about 46.51%). It is read-only and stored. - Each of the three discounts cannot exceed 100%; the system blocks values above that. - When a line is created with only a single discount value, that value is placed in the first discount field. - When the total discount is edited directly, it is moved into the first discount field and the second and third are reset to zero. - On installation, existing invoice lines with a discount are migrated: their old discount is copied into the first discount field and the total is recalculated.

The module touches invoice lines (account.move.line) and the invoice form and invoice report. It cannot be installed together with the fixed-discount module.

Depends on

account
Models and fields (2)
  • account.move.line · new model
  • triple.discount.mixin · new modeldiscount (Total discount), discount1 (Discount 1 (%)), discount2 (Discount 2 (%)), discount3 (Discount 3 (%))

Text generated by AI (DeepSeek) from reading the Odoo 20.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 9 confirmed, 0 with no information of 9 versions.

Sources · Odoo 20.0

Confirmed on 2026-11-03 in branch 20.0 of OCA/account-invoicing.

terminal Installation and usage

OCA documentation · Odoo 20.0

Create a new invoice and add discounts in any of the three discount fields given. They go in order of precedence so discount 2 will be calculated over discount 1 and discount 3 over the result of discount 2. For example, let's divide by two on every discount:

Unit price: 600.00 -\>

> - Disc. 1 = 50% -\> Amount = 300.00 > - Disc. 2 = 50% -\> Amount = 150.00 > - Disc. 3 = 50% -\> Amount = 75.00

You can also use negative values to charge instead of discount:

Unit price: 600.00 -\>

> - Disc. 1 = 50% -\> Amount = 300.00 > - Disc. 2 = -5% -\> Amount = 315.00

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.