Repository
OCA/margin-analysis · module folder · Try on Runboat
Module version
1.1.0
Category
Product
Folder size
0.1 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/margin-analysis
Last tracking update
2026-08-07 09:06:26
Authors
Camptocamp, Odoo Community Association (OCA), GRAP
Maintainers
Camptocamp, Odoo Community Association (OCA), GRAP
Committers
OCA-git-bot, oca-ci, manuelcalerosolis
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
Add 2 fields on the product form that compute the standard (or
theorical) margin and markup based on the current values of sale and
standard price present in the product form. We take care of taxe
included or excluded.

It will just compute it as follow: Margin : (Sale Price without tax -
Standard Price) / Sale Price without tax Markup : (Sale Price without
tax - Standard Price) / Standard Price

![](../static/description/product_form.png)

**Note:**

As this module will base his simple computation on sale and cost prices,
it suppose you have them both in the same currency (the price type must
of the same currency for both of them). Remember this is the default
OpenERP configuration (price type of all product price fields are set as
the same as the company currency). We don't take care of it cause
otherwise we should have added a dependency on sale module.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_product_product_form product.product form Inherits product.product_normal_form_view
view_product_product_form_easy product.product form Inherits product.product_variant_easy_edit_view
view_product_product_tree_margin product.product tree Inherits product.product_product_tree_view
view_product_template_form product.template form Inherits product.product_template_only_form_view
view_product_template_tree_margin product.template tree Inherits product.product_template_tree_view
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (2)

New fields (4)
  • list_price_vat_excl Float
    compute='_compute_margin' digits='Product Price' store=True string='Sale Price VAT Excluded'
  • standard_margin Float
    compute='_compute_margin' digits='Product Price' help='Margin is [ sale price (Wo Tax) - cost price ] of the product form (not based on historical values). Take care of tax include and exclude. If no sale price, the margin will be negativ.' store=True string='Margin'
  • standard_margin_rate Float
    compute='_compute_margin' digits='Product Price' help='Margin rate is [ Margin / sale price (Wo Tax) ] of the product form (not based on historical values).Take care of tax include and exclude.. If no sale price set, will display 999.0' store=True string='Margin on Sales (%)'
  • standard_markup_rate Float
    compute='_compute_margin' digits='Product Price' help='Markup rate is [ Margin / cost price (Wo Tax) ] of the product form (not based on historical values).Take care of tax include and exclude.. If no cost price set, will display 999.0' store=True string='Markup Rate (%)'
Public methods (0)

No public methods.

New fields (4)
  • list_price_vat_excl Float
    compute='_compute_margin' digits='Product Price' string='Sale Price VAT Excluded'
  • standard_margin Float
    compute='_compute_margin' digits='Product Price' help='Margin is [ sale price (Wo Tax) - cost price ] of the product form (not based on historical values). Take care of tax include and exclude. If no sale price, the margin will be negativ.' string='Margin'
  • standard_margin_rate Float
    compute='_compute_margin' digits='Product Price' help='Margin rate is [ Margin / sale price (Wo Tax) ] of the product form (not based on historical values).Take care of tax include and exclude.. If no sale price set, will display 999.0' string='Margin on Sales (%)'
  • standard_markup_rate Float
    compute='_compute_margin' digits='Product Price' help='Markup rate is [ Margin / cost price (Wo Tax) ] of the product form (not based on historical values).Take care of tax include and exclude.. If no cost price set, will display 999.0' string='Markup Rate (%)'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…