PoS Order Margin

pos_margin
REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/18.0/pos_margin
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), FactorLibre, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), FactorLibre, GRAP
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, Carlos Roca, sygel
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
    - phone_validation
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module shows margins in PoS frontend during an order creation.

Margins are displayed below the final price of the POS order and under each pos order line. 

![You can see an example image at /static/description/pos_front_end.png](../static/description/pos_front_end.png)

This module also adds the margin fields to some secondary views. The margin rate (%) is included in the POS order report, while the margin amount is displayed in the POS order tree view.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
res_config_settings_view_form_margin_inherit res.config.settings xpath Inherits point_of_sale.res_config_settings_view_form
view_pos_order_tree_inherit pos.order xpath Inherits point_of_sale.view_pos_order_tree
Models touched (3)

New fields (1)
  • iface_display_margin Boolean
    default=True help='Display Margin and Margin Rate in the frontend' string='Diplay Margin'
Public methods (0)

No public methods.

New fields (1)
  • margin_rate Float
    aggregator='avg' string='Margin Rate (%)'
Public methods (0)

No public methods.

New fields (1)
  • pos_iface_display_margin Boolean
    readonly=False related='pos_config_id.iface_display_margin'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/17.0/pos_margin
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), FactorLibre, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), FactorLibre, GRAP
COMMITTERS
COMMITTERSVíctor Martínez, OCA-git-bot, oca-ci, Antonio David Ruban Espinal
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - onboarding
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module shows margins in PoS frontend during an order creation.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
res_config_settings_view_form_margin_inherit res.config.settings xpath Inherits point_of_sale.res_config_settings_view_form
view_pos_order_tree_inherit pos.order xpath Inherits point_of_sale.view_pos_order_tree
Models touched (3)

New fields (1)
  • iface_display_margin Boolean
    default=True help='Display Margin and Margin Rate in the frontend' string='Diplay Margin'
Public methods (0)

No public methods.

New fields (1)
  • margin_rate Float
    group_operator='avg' string='Margin Rate (%)'
Public methods (0)

No public methods.

New fields (1)
  • pos_iface_display_margin Boolean
    readonly=False related='pos_config_id.iface_display_margin'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/16.0/pos_margin
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), FactorLibre, GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), FactorLibre, GRAP
COMMITTERS
COMMITTERSSylvain LE GAL, Weblate, OCA-git-bot, oca-ci, Juan Carlos B
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
res_config_settings_view_form_margin_inherit res.config.settings xpath Inherits point_of_sale.res_config_settings_view_form
view_pos_order_tree_inherit pos.order xpath Inherits point_of_sale.view_pos_order_tree
Models touched (3)

New fields (1)
  • iface_display_margin Boolean
    default=True help='Display Margin and Margin Rate in the frontend' string='Diplay Margin'
Public methods (0)

No public methods.

New fields (1)
  • margin_rate Float
    group_operator='avg' string='Margin Rate (%)'
Public methods (0)

No public methods.

New fields (1)
  • pos_iface_display_margin Boolean
    readonly=False related='pos_config_id.iface_display_margin'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/14.0/pos_margin
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSStéphane Bidoul, OCA Transbot, oca-travis, Weblate, OCA-git-bot, David, Cyril VINH-TUNG, dsolanki, Ivan, oca-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
assets assets ir.ui.view qweb Inherits point_of_sale.assets
view_pos_config_form pos.config xpath Inherits point_of_sale.pos_config_view_form
view_pos_order_form pos.order field Inherits point_of_sale.view_pos_pos_form
view_pos_order_tree pos.order field Inherits point_of_sale.view_pos_order_tree
Models touched (4)

New fields (1)
  • iface_display_margin Boolean
    default=True help='Display Margin and Margin Rate in the frontend' string='Diplay Margin'
Public methods (0)

No public methods.

New fields (1)
  • margin Float
    compute='_compute_margin' digits='Product Price' help='It gives profitability by calculating the difference between the Unit Price and the cost price.' store=True args: 'Margin'
Public methods (0)

No public methods.

New fields (2)
  • margin Float
    compute='_compute_multi_margin' digits='Product Price' store=True args: 'Margin'
  • purchase_price Float
    compute='_compute_multi_margin' digits='Product Price' store=True args: 'Cost Price'
Public methods (0)

No public methods.

New fields (2)
  • margin_rate Float
    group_operator='avg' string='Margin Rate'
  • margin_total Float
    string='Margin Total'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/13.0/pos_margin
VERSION
VERSION 2.0.2
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSmanu, oca-travis, Weblate, OCA-git-bot, CarlosRoca13
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_margin
    - sale_management
    - sale
    - sales_team
    - payment
    - utm
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
assets assets ir.ui.view qweb Inherits point_of_sale.assets
view_pos_config_form pos.config xpath Inherits point_of_sale.pos_config_view_form
view_pos_order_form pos.order field Inherits point_of_sale.view_pos_pos_form
view_pos_order_tree pos.order field Inherits point_of_sale.view_pos_order_tree
Models touched (4)

New fields (1)
  • iface_display_margin Boolean
    default=True help='Display Margin and Margin Rate in the frontend' string='Diplay Margin'
Public methods (0)

No public methods.

New fields (2)
  • margin Float
    compute='_compute_margin' digits='Product Price' help='It gives profitability by calculating the difference between the Unit Price and the cost price.' store=True string='Margin'
  • margin_percent Float
    compute='_compute_margin' digits='Product Price' store=True string='Margin (%)'
Public methods (0)

No public methods.

New fields (3)
  • margin Float
    compute='_compute_multi_margin' digits='Product Price' store=True string='Margin'
  • margin_percent Float
    compute='_compute_multi_margin' digits='Product Price' store=True string='Margin (%)'
  • purchase_price Float
    compute='_compute_multi_margin' digits='Product Price' store=True string='Cost Price'
Public methods (0)

No public methods.

New fields (2)
  • margin_rate Float
    group_operator='avg' string='Margin Rate'
  • margin_total Float
    string='Margin Total'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/12.0/pos_margin
VERSION
VERSION 2.0.2
CATEGORY
CATEGORYPoint Of Sale
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, GitHub, david, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes
    - account
    - analytic
    - portal
    - http_routing
    - digest
    - web_editor
    - sale_margin
    - sale_management
    - sale
    - sales_team
    - payment
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
assets assets ir.ui.view qweb Inherits point_of_sale.assets
view_pos_config_form pos.config xpath Inherits point_of_sale.pos_config_view_form
view_pos_order_form pos.order field Inherits point_of_sale.view_pos_pos_form
view_pos_order_tree pos.order field Inherits point_of_sale.view_pos_order_tree
Models touched (4)

New fields (1)
  • iface_display_margin Boolean
    default=True help='Display Margin and Margin Rate in the frontend' string='Diplay Margin'
Public methods (0)

No public methods.

New fields (2)
  • margin Float
    compute='_compute_margin' digits=dp.get_precision('Product Price') help='It gives profitability by calculating the difference between the Unit Price and the cost price.' store=True string='Margin'
  • margin_percent Float
    compute='_compute_margin' digits=dp.get_precision('Product Price') store=True string='Margin (%)'
Public methods (0)

No public methods.

New fields (3)
  • margin Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') store=True string='Margin'
  • margin_percent Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') store=True string='Margin (%)'
  • purchase_price Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') store=True string='Cost Price'
Public methods (0)

No public methods.

New fields (2)
  • margin_rate Float
    group_operator='avg' string='Margin Rate'
  • margin_total Float
    string='Margin Total'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/11.0/pos_margin
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPoint Of Sale
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 Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - barcodes
    - web_planner
    - account
    - analytic
    - portal
    - http_routing
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_pos_order_form pos.order xpath Inherits point_of_sale.view_pos_pos_form
Models touched (3)

New fields (1)
  • margin Float
    compute='_compute_margin' digits=dp.get_precision('Product Price') help='It gives profitability by calculating the difference between the Unit Price and the cost price.' store=True args: 'Margin'
Public methods (0)

No public methods.

New fields (2)
  • margin Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') multi='multi_margin' store=True args: 'Margin'
  • purchase_price Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') multi='multi_margin' store=True args: 'Cost Price'
Public methods (0)

No public methods.

New fields (2)
  • margin_rate Float
    group_operator='avg' string='Margin Rate'
  • margin_total Float
    string='Margin Total'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/10.0/pos_margin
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPoint Of Sale
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 Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:54
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - stock_account
    - stock
    - product
    - base
    - decimal_precision
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - report
    - procurement
    - barcodes
    - web_planner
    - account
    - analytic
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_pos_order_form pos.order xpath Inherits point_of_sale.view_pos_pos_form
Models touched (2)

New fields (1)
  • margin Float
    compute='_compute_margin' digits=dp.get_precision('Product Price') help='It gives profitability by calculating the difference between the Unit Price and the cost price.' store=True args: 'Margin'
Public methods (0)

No public methods.

New fields (2)
  • margin Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') multi='multi_margin' store=True args: 'Margin'
  • purchase_price Float
    compute='_compute_multi_margin' digits=dp.get_precision('Product Price') multi='multi_margin' store=True args: 'Cost Price'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/8.0/pos_margin
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), GRAP
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), GRAP
COMMITTERS
COMMITTERSSylvain LE GAL, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - point_of_sale
    - sale_stock
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web_kanban
    - web
    - web_kanban_sparkline
    - account_voucher
    - account
    - product
    - decimal_precision
    - report
    - analytic
    - board
    - edi
    - email_template
    - procurement
    - stock_account
    - stock
    - web_kanban_gauge
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_pos_order_form pos.order xpath Inherits point_of_sale.view_pos_pos_form
Models touched (2)

New fields (1)
  • margin Float
    compute='_compute_margin' digits_compute=dp.get_precision('Product Price') help='It gives profitability by calculating the difference between the Unit Price and the cost price.' store=True args: 'Margin'
Public methods (0)

No public methods.

New fields (2)
  • margin Float
    compute='_compute_multi_margin' digits_compute=dp.get_precision('Product Price') multi='multi_margin' store=True args: 'Margin'
  • purchase_price Float
    compute='_compute_multi_margin' digits_compute=dp.get_precision('Product Price') multi='multi_margin' store=True args: 'Cost Price'
Public methods (0)

No public methods.