Point of Sale Order Return

pos_order_return
REPOSITORY
REPOSITORYOCA/pos
GIT
GIThttps://github.com/OCA/pos.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/pos/tree/14.0/pos_order_return
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP, La Louve, Lambda IS
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP, La Louve, Lambda IS
COMMITTERS
COMMITTERSSylvain LE GAL, OCA Transbot, oca-travis, Weblate, OCA-git-bot, David, dsolanki, Jose Zambudio
WEBSITE
WEBSITEhttps://github.com/OCA/pos
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:50
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
view_partial_return_wizard_form pos.partial.return.wizard form New
view_pos_order_form pos.order button Inherits point_of_sale.view_pos_pos_form
view_pos_order_line_form pos.order.line group Inherits point_of_sale.view_pos_order_line_form
view_product_template_form product.template field Inherits point_of_sale.product_template_form_view
Models touched (5)

New fields (3)
  • refund_order_ids One2many → pos.order
    comodel_name='pos.order' inverse_name='returned_order_id' readonly=True string='Refund Orders'
  • refund_order_qty Integer
    compute='_compute_refund_order_qty' string='Refund Orders Quantity'
  • returned_order_id Many2one → pos.order
    comodel_name='pos.order' readonly=True string='Returned Order'
Public methods (3)
  • action_pos_order_paid(self)
  • partial_refund(self, partial_return_wizard)
  • refund(self)

New fields (2)
  • refund_line_ids One2many → pos.order.line
    comodel_name='pos.order.line' inverse_name='returned_line_id' readonly=True string='Refund Lines'
  • returned_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True string='Returned Order'
Public methods (1)
  • max_returnable_qty(self, ignored_line_ids)
    @api.model

New fields (2)
  • line_ids One2many → pos.partial.return.wizard.line
    comodel_name='pos.partial.return.wizard.line' inverse_name='wizard_id' string='Lines to Return'
  • order_id Many2one → pos.order
    comodel_name='pos.order' string='Order to Return'
Public methods (2)
  • confirm(self)
  • default_get(self, fields)
    @api.model

New fields (5)
  • initial_qty Float
    help='Quantity of Product initially sold' readonly=True string='Initial Quantity'
  • max_returnable_qty Float
    help='Compute maximum quantity that can be returned for this line, depending of the quantity of the line and other possible refunds.' readonly=True string='Returnable Quantity'
  • pos_order_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True required=True string='Line To Return'
  • qty Float
    default=0.0 string='Returned Quantity'
  • wizard_id Many2one → pos.partial.return.wizard
    comodel_name='pos.partial.return.wizard' string='Wizard'
Public methods (0)

No public methods.

New fields (1)
  • pos_allow_negative_qty Boolean
    default=True string='Allow Negative Quantity on PoS'
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_order_return
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP, La Louve, Lambda IS
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP, La Louve, Lambda IS
COMMITTERS
COMMITTERSSylvain LE GAL, david, Ivàn Todorovich, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci, Ajay Javiya, David Alonso (Solvos)
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
view_partial_return_wizard_form pos.partial.return.wizard form New
view_pos_order_form pos.order button Inherits point_of_sale.view_pos_pos_form
view_pos_order_line_form pos.order.line group Inherits point_of_sale.view_pos_order_line_form
view_product_template_form product.template field Inherits point_of_sale.product_template_form_view
Models touched (5)

New fields (3)
  • refund_order_ids One2many → pos.order
    comodel_name='pos.order' inverse_name='returned_order_id' readonly=True string='Refund Orders'
  • refund_order_qty Integer
    compute='_compute_refund_order_qty' string='Refund Orders Quantity'
  • returned_order_id Many2one → pos.order
    comodel_name='pos.order' readonly=True string='Returned Order'
Public methods (4)
  • action_pos_order_paid(self)
  • create_picking(self)
    Odoo bases return picking if the quantities are negative, but it's not linked to the original one
  • partial_refund(self, partial_return_wizard)
  • refund(self)

New fields (2)
  • refund_line_ids One2many → pos.order.line
    comodel_name='pos.order.line' inverse_name='returned_line_id' readonly=True string='Refund Lines'
  • returned_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True string='Returned Order'
Public methods (1)
  • max_returnable_qty(self, ignored_line_ids)
    @api.model

New fields (2)
  • line_ids One2many → pos.partial.return.wizard.line
    comodel_name='pos.partial.return.wizard.line' inverse_name='wizard_id' string='Lines to Return'
  • order_id Many2one → pos.order
    comodel_name='pos.order' string='Order to Return'
Public methods (2)
  • confirm(self)
  • default_get(self, fields)
    @api.model

New fields (5)
  • initial_qty Float
    help='Quantity of Product initially sold' readonly=True string='Initial Quantity'
  • max_returnable_qty Float
    help='Compute maximum quantity that can be returned for this line, depending of the quantity of the line and other possible refunds.' readonly=True string='Returnable Quantity'
  • pos_order_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True required=True string='Line To Return'
  • qty Float
    default=0.0 string='Returned Quantity'
  • wizard_id Many2one → pos.partial.return.wizard
    comodel_name='pos.partial.return.wizard' string='Wizard'
Public methods (0)

No public methods.

New fields (1)
  • pos_allow_negative_qty Boolean
    default=True string='Allow Negative Quantity on PoS'
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_order_return
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP, La Louve, Lambda IS
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP, La Louve, Lambda IS
COMMITTERS
COMMITTERSSylvain LE GAL, GitHub, Kiril Vangelovski, OCA Transbot, oca-travis, OCA-git-bot, OCA Git Bot, David
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 (4)
XML IDNameModelTypeStatus
view_partial_return_wizard_form pos.partial.return.wizard form New
view_pos_order_form pos.order button Inherits point_of_sale.view_pos_pos_form
view_pos_order_line_form pos.order.line group Inherits point_of_sale.view_pos_order_line_form
view_product_template_form product.template field Inherits point_of_sale.product_template_form_view
Models touched (5)

New fields (3)
  • refund_order_ids One2many → pos.order
    comodel_name='pos.order' inverse_name='returned_order_id' readonly=True string='Refund Orders'
  • refund_order_qty Integer
    compute='_compute_refund_order_qty' string='Refund Orders Quantity'
  • returned_order_id Many2one → pos.order
    comodel_name='pos.order' readonly=True string='Returned Order'
Public methods (4)
  • action_pos_order_paid(self)
  • create_picking(self)
    Odoo bases return picking if the quantities are negative, but it's not linked to the original one
  • partial_refund(self, partial_return_wizard)
  • refund(self)

New fields (2)
  • refund_line_ids One2many → pos.order.line
    comodel_name='pos.order.line' inverse_name='returned_line_id' readonly=True string='Refund Lines'
  • returned_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True string='Returned Order'
Public methods (1)
  • max_returnable_qty(self, ignored_line_ids)
    @api.model

New fields (2)
  • line_ids One2many → pos.partial.return.wizard.line
    comodel_name='pos.partial.return.wizard.line' inverse_name='wizard_id' string='Lines to Return'
  • order_id Many2one → pos.order
    comodel_name='pos.order' string='Order to Return'
Public methods (2)
  • confirm(self)
  • default_get(self, fields)
    @api.model

New fields (5)
  • initial_qty Float
    help='Quantity of Product initially sold' readonly=True string='Initial Quantity'
  • max_returnable_qty Float
    help='Compute maximum quantity that can be returned for this line, depending of the quantity of the line and other possible refunds.' readonly=True string='Returnable Quantity'
  • pos_order_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True required=True string='Line To Return'
  • qty Float
    default=0.0 string='Returned Quantity'
  • wizard_id Many2one → pos.partial.return.wizard
    comodel_name='pos.partial.return.wizard' string='Wizard'
Public methods (0)

No public methods.

New fields (1)
  • pos_allow_negative_qty Boolean
    string='Allow Negative Quantity on PoS'
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_order_return
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPoint Of Sale
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), GRAP, La Louve
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), GRAP, La Louve
COMMITTERS
COMMITTERSSylvain LE GAL, OCA Transbot, oca-travis, OCA-git-bot, David
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 (4)
XML IDNameModelTypeStatus
view_partial_return_wizard_form pos.partial.return.wizard form New
view_pos_order_form pos.order button Inherits point_of_sale.view_pos_pos_form
view_pos_order_line_form pos.order.line group Inherits point_of_sale.view_pos_order_line_form
view_product_template_form product.template field Inherits point_of_sale.product_template_form_view
Models touched (5)

New fields (3)
  • refund_order_ids One2many → pos.order
    comodel_name='pos.order' inverse_name='returned_order_id' readonly=True string='Refund Orders'
  • refund_order_qty Integer
    compute='_compute_refund_order_qty' string='Refund Orders Quantity'
  • returned_order_id Many2one → pos.order
    comodel_name='pos.order' readonly=True string='Returned Order'
Public methods (4)
  • action_pos_order_paid(self)
  • create_picking(self)
    Odoo bases return picking if the quantities are negative, but it's not linked to the original one
  • partial_refund(self, partial_return_wizard)
  • refund(self)

New fields (2)
  • refund_line_ids One2many → pos.order.line
    comodel_name='pos.order.line' inverse_name='returned_line_id' readonly=True string='Refund Lines'
  • returned_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True string='Returned Order'
Public methods (1)
  • max_returnable_qty(self, ignored_line_ids)
    @api.model

New fields (2)
  • line_ids One2many → pos.partial.return.wizard.line
    comodel_name='pos.partial.return.wizard.line' inverse_name='wizard_id' string='Lines to Return'
  • order_id Many2one → pos.order
    comodel_name='pos.order' string='Order to Return'
Public methods (2)
  • confirm(self)
  • default_get(self, fields)
    @api.model

New fields (5)
  • initial_qty Float
    help='Quantity of Product initially sold' readonly=True string='Initial Quantity'
  • max_returnable_qty Float
    help='Compute maximum quantity that can be returned for this line, depending of the quantity of the line and other possible refunds.' readonly=True string='Returnable Quantity'
  • pos_order_line_id Many2one → pos.order.line
    comodel_name='pos.order.line' readonly=True required=True string='Line To Return'
  • qty Float
    default=0.0 string='Returned Quantity'
  • wizard_id Many2one → pos.partial.return.wizard
    comodel_name='pos.partial.return.wizard' string='Wizard'
Public methods (0)

No public methods.

New fields (1)
  • pos_allow_negative_qty Boolean
    string='Allow Negative Quantity on PoS'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/pos
PULL REQUEST
PULL REQUEST[18.0][MIG] pos_order_return: Migration to 18.0 (#1473)