TIP: You can type at any time to perform a new search.
Product Margin Classification
product_margin_classification · OCA/margin-analysis
- Repository
- OCA/margin-analysis · module folder · Try on Runboat
- Module version
- 1.3.1
- Category
- Account
- Folder size
- 0.4 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/margin-analysis
- Last tracking update
- 2026-08-07 08:09:23
- Authors
- Odoo Community Association (OCA), GRAP
- Maintainers
- Odoo Community Association (OCA), GRAP
- Committers
- GitHub, Sylvain LE GAL, Carmen Bianca BAKKER, Weblate, OCA-git-bot, oca-ci, hugues de keyzer, Simon Hick, Alicia Garzo Moreno
Code Analysis ⓘ
Views touched (6)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_product_margin_classification_form |
product.margin.classification | form | New | |
view_product_margin_classification_tree |
product.margin.classification | tree | New | |
view_product_product_form |
product.product | form | Inherits product.product_normal_form_view | |
view_product_product_search |
product.product | search | Inherits product.product_search_form_view | |
view_product_product_tree |
product.product | tree | New | |
view_product_template_form |
product.template | form | Inherits product.product_template_only_form_view |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (3)
New fields (12)
-
company_idMany2one → res.companycomodel_name='res.company'default=<expr>string='Company' -
markupFloatdigits='Margin Rate'help='Value that help you to compute the sale price, based on your cost, as defined: Sale Price = (Cost * (100 + Markup)) / 100\nIt is computed with the following formula Markup = 100 * (Sale Price - Cost) / Cost'required=True -
nameCharrequired=True -
price_roundFloatdefault=<expr>digits='Product Price'help='Sets the price so that it is a multiple of this value.\nRounding is applied after the margin and before the surcharge.\nTo have prices that end in 9.99, set rounding 1, surcharge -0.01'string='Price Rounding' -
price_surchargeFloatdigits='Product Price'help='Specify the fixed amount to add or substract(if negative) to the amount calculated with the discount.' -
product_correct_price_qtyIntegercompute='_compute_product_different_price_qty'string='Total Products With Correct Price' -
product_idsOne2many → product.productcomodel_name='product.product'inverse_name='margin_classification_id'string='Products' -
product_incorrect_price_qtyIntegercompute='_compute_product_different_price_qty'string='Total Products With Incorrect Price' -
product_qtyIntegercompute='_compute_product_qty'store=Truestring='Products Quantity' -
product_too_cheap_qtyIntegercompute='_compute_product_different_price_qty'string='Total Products Too Cheap' -
product_too_expensive_qtyIntegercompute='_compute_product_different_price_qty'string='Total Products Too Expensive' -
profit_marginFloatcompute='_compute_profit_margin'digits='Margin Rate'help="Also called 'Net margin' or 'Net Profit Ratio'.\nIt is computed with the following formula Profit Margin = 100 * (Sale Price - Cost) / Sale Price"inverse='_inverse_profit_margin'
-
apply_theoretical_price(self) -
apply_theoretical_price_too_cheap(self) -
apply_theoretical_price_too_expensive(self)
New fields (4)
-
margin_classification_idMany2one → product.margin.classificationcomodel_name='product.margin.classification'string='Margin Classification' -
margin_stateSelectioncompute='_compute_theoretical_multi'selection=MARGIN_STATE_SELECTIONstore=Truestring='Theoretical Price State' -
theoretical_differenceFloatcompute='_compute_theoretical_multi'digits='Product Price'store=True -
theoretical_priceFloatcompute='_compute_theoretical_multi'digits='Product Price'store=True
-
apply_theoretical_price(self) -
apply_theoretical_price_too_cheap(self) -
apply_theoretical_price_too_expensive(self) -
use_theoretical_price(self)
New fields (4)
-
margin_classification_idMany2one → product.margin.classificationcomodel_name='product.margin.classification'compute='_compute_theoretical_multi_template'inverse='_inverse_margin_classification_id'search='_search_margin_classification_id'string='Margin Classification' -
margin_stateSelectioncompute='_compute_theoretical_multi_template'selection=MARGIN_STATE_SELECTIONstring='Theoretical Price State' -
theoretical_differenceFloatcompute='_compute_theoretical_multi_template'digits='Product Price' -
theoretical_priceFloatcompute='_compute_theoretical_multi_template'digits='Product Price'
-
apply_theoretical_price(self) -
apply_theoretical_price_too_cheap(self) -
apply_theoretical_price_too_expensive(self) -
use_theoretical_price(self)
Loading…
Loading…
Loading…