OdooWiki OCA HUB

Purchase Order Triple Discount

purchase_triple_discount folder_open OCA/purchase-workflow open_in_new
Purchase Management License: AGPL-3

This module allows to have three successive discounts on every purchase order line.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Adds three successive discounts (Disc. 1, Disc. 2, Disc. 3) on purchase order lines and supplier pricelists, replacing the single discount field. The combined discount is calculated automatically and carried through to vendor bills.

This module lets you apply up to three cumulative discounts on every purchase order line and on supplier price lists, instead of only one discount percentage.

Where it appears: - On the Purchase Order form, the order lines list now shows three columns: Disc. 1 (%), Disc. 2 (%) and Disc. 3 (%). The original single discount column is hidden. - On supplier pricelists (product.supplierinfo), the single discount field is replaced by the three discount fields in both form and list views. - On supplier (company) records, three new fields let you set default supplier discounts 1, 2 and 3.

Business rules and automatic behaviour: - The three discounts are combined into one overall discount percentage, which is stored and used for pricing. - Each discount cannot exceed 100%. - When you pick a supplier on a pricelist line, the supplier's default discounts are filled in automatically. - When a purchase order line is created or its quantity/unit changes, the discounts are taken from the matching supplier pricelist. - Discounts are copied from purchase order lines to the related vendor bill lines. - When a purchase order is used to create or update a supplier pricelist, the three discounts are transferred. - On installation, existing single discounts on purchase order lines and supplier pricelists are copied into the first discount field.

Models and fields (5)
  • res.partner · extends an existing modeldefault_supplierinfo_discount1 (Default Supplier Discount 1 (%)), default_supplierinfo_discount2 (Default Supplier Discount 2 (%)), default_supplierinfo_discount3 (Default Supplier Discount 3 (%))
  • purchase.order · extends an existing model
  • purchase.order.line · new model
  • product.supplierinfo · new model
  • purchase.triple.discount.mixin · new modeldiscount, discount1 (Disc. 1 (%)), discount2 (Disc. 2 (%)), discount3 (Disc. 3 (%))

Text generated by AI (DeepSeek) from reading the Odoo 19.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: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/purchase-workflow.

terminal Installation and usage

OCA documentation · Odoo 19.0

Create a new purchase order 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

  • 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

  • When the purchase order is validated, the discounts will be added to the corresponding vendor pricelist.
  • Vendor pricelists can be edited as well with their corresponding new second and third discounts.
  • A default second or third discount can be set in every vendor Sale & Purchases tab.

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.