This module allows to define a discount per line in the purchase orders. This discount can be also negative, interpreting it as an increment.
It also modifies the purchase order report to include the discount field in it.
This module allows to input a discount in the supplier info form, and propagate it to purchase order lines:
- The discount appears explicitly in purchase orders instead of being directly discounted in price.
- You can set prices and discounts on the same screen.
- A new field default_supplierinfo_discount is added on res.partner model. This value will be used as the default one, on each supplierinfo of that supplier.
Note: this setting is a new 'company' setting, unavailable for related partners, as accounting-related Settings.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Add a discount percentage to each purchase order line and to supplier price lists, so you can negotiate prices with suppliers without changing the unit price. The discount also appears on the purchase order PDF and in purchase analysis.
This module lets you record a discount percentage on every purchase order line, next to the unit price. The discount can be positive (a reduction) or negative (an increase). The discounted price is used for the line subtotal, taxes and the generated vendor bill, while the original unit price stays visible.
You can also store a default discount on each supplier price list line (product.supplierinfo). When you create a request for quotation or purchase order, the discount from the supplier price list is automatically copied to the order line. In addition, each supplier (res.partner) has a "Default Supplier Discount (%)" field; this value is proposed by default on new supplier price list lines for that supplier. This setting is only available on company contacts, not on individual contacts of a company.
A discount cannot be higher than 100%: Odoo blocks it with a validation message. Once a purchase order is confirmed, changing the discount or the unit price updates the related stock moves' valuation price. The discount column is shown in the purchase order form, the purchase history and the supplier price list screens. The printed purchase order report includes a "Disc. (%)" column. The purchase analysis report also includes the discount and uses the discounted unit price in its calculations.
Depends on
Required by other modules
Models and fields (4)
- res.partner · extends an existing modeldefault_supplierinfo_discount (Default Supplier Discount (%))
- purchase.report · extends an existing modeldiscount (Discount (%))
- purchase.order.line · extends an existing modeldiscount (Discount (%))
- product.supplierinfo · extends an existing modeldiscount (Discount (%))
Text generated by AI (DeepSeek) from reading the Odoo 16.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-03Confirmation status: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/purchase-workflow.
terminal Installation and usage
OCA documentation · Odoo 16.0Usage
Source · Odoo 16.0Go to Purchase > Products, open one product, and edit or add a record on the Vendors section of the Purchase tab. You will see in the prices section in the down part a new column called Discount (%). You can enter here the desired discount for that quantity.
When you make a purchase order for that supplier and that product, discount will be put automatically.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.