Discounts in product supplier info

product_supplierinfo_discount
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/11.0/product_supplierinfo_discount
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSPedro M. Baeza, cubells, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/purchase-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_discount
odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - purchase
    - stock_account
    - stock
    - barcodes
    - web_planner
    - account
    - analytic
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
product_supplierinfo_form_view product.supplierinfo xpath Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view product.supplierinfo field Inherits product.product_supplierinfo_tree_view
res_partner_form_view res.partner xpath Inherits base.view_partner_form
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • discount Float
    digits=dp.get_precision('Discount') string='Discount (%)'
Public methods (2)
  • create(self, vals)
    @api.model
    Insert discount from context from purchase.order's _add_supplier_to_product method
  • onchange_name(self)
    @api.onchange('name')@api.multi
    Apply the default supplier discount of the selected supplier

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • default_supplierinfo_discount Float
    digits=dp.get_precision('Discount') help='This value will be used as the default one, for each new supplierinfo line depending on that supplier.' string='Default Supplier Discount (%)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/10.0/product_supplierinfo_discount
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSPedro M. Baeza, Sylvain LE GAL, OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.serviciosbaeza.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_discount
odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - purchase
    - stock_account
    - stock
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
product_supplierinfo_form_view product.supplierinfo xpath Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view product.supplierinfo field Inherits product.product_supplierinfo_tree_view
res_partner_form_view res.partner xpath Inherits base.view_partner_form
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • discount Float
    digits=dp.get_precision('Discount') string='Discount (%)'
Public methods (2)
  • create(self, vals)
    @api.model
    Insert discount from context from purchase.order's _add_supplier_to_product method
  • onchange_name(self)
    @api.onchange('name')@api.multi
    Apply the default supplier discount of the selected supplier

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • default_supplierinfo_discount Float
    digits=dp.get_precision('Discount') help='This value will be used as the default one, for each new supplierinfo line depending on that supplier.' string='Default Supplier Discount (%)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/9.0/product_supplierinfo_discount
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSPedro M. Baeza, Sylvain LE GAL, Stéphane Bidoul (ACSONE), OCA Transbot
WEBSITE
WEBSITEhttp://www.serviciosbaeza.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:23
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_discount
odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - report
    - stock
    - procurement
    - barcodes
    - web_planner
    - purchase
    - stock_account
    - account
    - analytic
    - web_tip
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
product_supplierinfo_form_view product.supplierinfo xpath Inherits product.product_supplierinfo_form_view
product_supplierinfo_tree_view product.supplierinfo field Inherits product.product_supplierinfo_tree_view
res_partner_form_view res.partner xpath Inherits base.view_partner_form
Models touched (4)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • discount Float
    digits_compute=dp.get_precision('Discount') string='Discount (%)'
Public methods (1)
  • onchange_name(self)
    @api.onchange('name')@api.multi

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • default_supplierinfo_discount Float
    digits_compute=dp.get_precision('Discount') help='This value will be used as the default one, for each new supplierinfo line depending on that supplier.' string='Default Supplier Discount (%)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/8.0/product_supplierinfo_discount
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza
COMMITTERS
COMMITTERSStéphane Bidoul, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, Damien Crier, oca-travis, Weblate, Andrius Preimantas
WEBSITE
WEBSITEhttp://www.serviciosbaeza.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_discount
odoo/odoo:
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - report
    - stock
    - procurement
    - board
    - web_kanban_gauge
    - web_kanban_sparkline
    - purchase
    - stock_account
    - account
    - analytic
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
purchase_discount_order_form product.supplierinfo.form.view.discount product.supplierinfo xpath Inherits product.product_supplierinfo_form_view
Models touched (3)

New fields (1)
  • discount Float
    digits_compute=dp.get_precision('Discount') string='Discount (%)'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • onchange_product_id(self, pricelist_id, product_id, qty, uom_id, partner_id, date_order=False, fiscal_position_id=False, date_planned=False, name=False, price_unit=False, state='draft')
    @api.multi
REPOSITORY
REPOSITORYOCA/purchase-workflow
GIT
GIThttps://github.com/OCA/purchase-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/purchase-workflow/tree/7.0/product_supplierinfo_discount
VERSION
VERSION 1.0
CATEGORY
CATEGORYPurchase Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Serv. Tecnol. Avanzados - Pedro M. Baeza
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Serv. Tecnol. Avanzados - Pedro M. Baeza
COMMITTERS
COMMITTERSStéphane Bidoul, Pedro M. Baeza, Sylvain LE GAL, OCA Transbot
WEBSITE
WEBSITEwww.serviciosbaeza.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/purchase-workflow:
    - purchase_discount
odoo/odoo:
    - product
    - base
    - process
    - web
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - stock
    - account
    - analytic
    - board
    - edi
    - email_template
    - purchase
    - procurement
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
    :alt: License: AGPL-3

Discounts in product supplier info
==================================

This module allows to put a discount in the supplier info form, and propagate
it to purchase orders, having two advantages over pricelists:

* The discount is directly put on purchase orders instead of reducing the
  unit price.
* You can set prices and discounts on the same screen.

Installation
============

This module requires *purchase_discount* module, that it's also available in
this repository.

Configuration
=============

To see prices and discounts on supplier info view, you have to enable the
option "Manage pricelist per supplier" inside *Configuration > Purchases*

Usage
=====

Go to Purchase > Products, open one product, and edit or add a record on the
*Suppliers* section of the *Procurements*. 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.

Known issues / Roadmap
======================

* The discount is always applied, independently if you have based
  your pricelist on other value than "Supplier Prices on the product form".

Credits
=======

Contributors
------------

* Pedro M. Baeza <pedro.baeza@serviciosbaeza.com>

Maintainer
----------

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

To contribute to this module, please visit http://odoo-community.org.
    

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
purchase_discount_order_form product.supplierinfo.form.view.discount product.supplierinfo xpath Inherits product.product_supplierinfo_form_view
Models touched (2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • onchange_product_id(self, cr, uid, ids, pricelist_id, product_id, qty, uom_id, partner_id, date_order=False, fiscal_position_id=False, date_planned=False, name=False, price_unit=False, context=None)