Product Pricelist Margin

product_pricelist_margin
REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/18.0/product_pricelist_margin
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYProduct
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSRaphaël Valyi, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module shows the product's cost and margin from the pricelists. The
margin is calculated as the difference between the price and the cost,
expressed as a percentage of the price. The price is based on the
computation applied from the current pricelist item. This allows the
user to make price simulations while editing the pricelist item.

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
product_pricelist_item_form_view_inerhit product.pricelist.item xpath Inherits product.product_pricelist_item_form_view
product_pricelist_item_tree_view_from_product_inherit product.pricelist.item field Inherits product.product_pricelist_item_tree_view_from_product
product_pricelist_item_tree_view_inherit product.pricelist.item field Inherits product.product_pricelist_item_tree_view
product_pricelist_view_inherit product.pricelist xpath Inherits product.product_pricelist_view
Models touched (1)

New fields (3)
  • cost Float
    digits='Product Price' related='product_tmpl_id.standard_price'
  • margin Float
    compute='_compute_margin' digits='Product Price'
  • margin_percent Float
    compute='_compute_margin' string='Margin (%)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/product-attribute
GIT
GIThttps://github.com/OCA/product-attribute.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/product-attribute/tree/16.0/product_pricelist_margin
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYProduct
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, cyrilmanuel, santostelmo, chaule97
WEBSITE
WEBSITEhttps://github.com/OCA/product-attribute
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:48
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
product_pricelist_item_form_view_inerhit product.pricelist.item xpath Inherits product.product_pricelist_item_form_view
product_pricelist_item_tree_view_from_product_inherit product.pricelist.item field Inherits product.product_pricelist_item_tree_view_from_product
product_pricelist_item_tree_view_inherit product.pricelist.item field Inherits product.product_pricelist_item_tree_view
product_pricelist_view_inherit product.pricelist xpath Inherits product.product_pricelist_view
Models touched (1)

New fields (5)
  • cost Float
    digits='Product Price' related='product_tmpl_id.standard_price'
  • final_price Float
    compute='_compute_margin' help='Final price after applying this pricelist item.'
  • margin Float
    compute='_compute_margin' digits='Product Price'
  • margin_percent Float
    compute='_compute_margin' string='Margin (%)'
  • original_price Float
    compute='_compute_margin' help='Original price before applying this pricelist item.'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/margin-analysis
GIT
GIThttps://github.com/OCA/margin-analysis.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/margin-analysis/tree/12.0/product_pricelist_margin
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYAccount
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSSylvain LE GAL, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/margin-analysis
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - payment
    - account
    - product
    - decimal_precision
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_product_template_form product.template xpath Inherits product.product_template_form_view
view_wizard_preview_pricelist_margin_form wizard.preview.pricelist.margin form New
Models touched (4)

New fields (0)

No new fields.

Public methods (1)
  • button_margin_per_pricelist(self)
    @api.multi

New fields (0)

No new fields.

Public methods (1)
  • button_margin_per_pricelist(self)
    @api.multi

New fields (6)
  • line_ids One2many → wizard.preview.pricelist.margin.line
    comodel_name='wizard.preview.pricelist.margin.line' compute='_compute_line_ids' inverse_name='wizard_id' readonly=True string='Lines'
  • price_date Date
    default=fields.Date.context_today required=True string='Date'
  • product_id Many2one → product.product
    comodel_name='product.product' default=<expr> domain="[('product_tmpl_id', '=', template_id)]" required=True string='Product Variant'
  • product_qty Float
    default=1 required=True string='Quantity'
  • standard_price Float
    digits=dp.get_precision('Product Price') groups='base.group_user' readonly=True related='product_id.standard_price' string='Cost'
  • template_id Many2one → product.template
    comodel_name='product.template' default=<expr> string='Product'
Public methods (0)

No public methods.

New fields (8)
  • bg_color Char
    compute='_compute_bg_color'
  • currency_id Many2one → res.currency
    comodel_name='res.currency' ondelete='cascade' readonly=True related='pricelist_id.currency_id' string='Currency'
  • margin Float
    digits=dp.get_precision('Product Price') readonly=True store=True string='Margin'
  • margin_percent Float
    digits=dp.get_precision('Product Price') readonly=True store=True string='Margin (%)'
  • price_vat_excl Float
    readonly=True string='Unit Sales Price (Excl.)'
  • price_vat_incl Float
    readonly=True string='Unit Sales Price (Incl.)'
  • pricelist_id Many2one → product.pricelist
    comodel_name='product.pricelist' ondelete='cascade' readonly=True string='Pricelist'
  • wizard_id Many2one → wizard.preview.pricelist.margin
    comodel_name='wizard.preview.pricelist.margin' ondelete='cascade' readonly=True string='Wizard'
Public methods (0)

No public methods.