Sale Stock Restocking Fee Invoicing

sale_stock_restocking_fee_invoicing
REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/17.0/sale_stock_restocking_fee_invoicing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ACSONE SA/NV
COMMITTERS
COMMITTERSOCA-git-bot, oca-ci, sowrirajan
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_picking_kind
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - sale_stock
    - stock_account
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module extends the functionality of the stock picking return wizard
to allow you to charge restocking fee in case of return of goods by a
customer.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_form_view res.company.form (in sale_stock_restocking_fee_invoicing) res.company field Inherits base.view_company_form
res_config_settings_view_form res.config.settings.form (in sale_stock_restocking_fee_invoicing) res.config.settings xpath Inherits stock_account.res_config_settings_view_form
res_partner_form_view res.partner.form (in sale_stock_restocking_fee_invoicing) res.partner xpath Inherits base.view_partner_form
stock_move_form_view stock.move.form (in sale_stock_restocking_fee_invoicing) stock.move field Inherits stock.view_move_form
stock_return_picking_form_view stock.return.picking.form (in stock_restocking_fee_invoicing) stock.return.picking xpath Inherits stock.view_stock_return_picking_form
Models touched (8)

New fields (1)
  • restocking_fee_product_id Many2one → product.product
    default=<expr> domain=[('type', '=', 'service')] help='It is possible to specify on a customer whether restocking fee must be charged for returning goods. In the case where fee are to be applied, the product specified here is added to the sale order to charge these restocking fee.' ondelete='restrict' string='Restocking Fee Product' args: 'product.product'
Public methods (0)

No public methods.

New fields (1)
  • restocking_fee_product_id Many2one → product.product
    default=<expr> help='It is possible to specify on a customer whether fees must be charged for returning goods. In the case where fees are to be applied, the product specified here is added to the sale order to charge these fees.' readonly=False related='company_id.restocking_fee_product_id' string='Restocking Fee Product' args: 'product.product'
Public methods (0)

No public methods.

New fields (1)
  • charge_restocking_fee Boolean
    default=False help='Tick this box if you wish to charge your customer a fee in case of return of goods' tracking=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • is_restocking_fee Boolean
Public methods (0)

No public methods.

New fields (2)
  • charge_restocking_fee Boolean
    default=False help='If checked your customer will be charged for accepting returned goods.' readonly=True
  • picking_kind Selection
    readonly=True related='picking_id.picking_kind'
Public methods (0)

No public methods.

New fields (2)
  • charge_restocking_fee Boolean
    default=False help='Tick this box if you wish to charge your customer a fee in case of return of goods. Default value comes from the customer info.'
  • is_customer_return Boolean
    readonly=True
Public methods (1)
  • default_get(self, fields)
    @api.model

New fields (2)
  • charge_restocking_fee Boolean
    default=False help='Tick this box if you wish to charge your customer a fee in case of return of goods'
  • is_customer_return Boolean
    compute='_compute_is_fee_customer_return'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-workflow
GIT
GIThttps://github.com/OCA/stock-logistics-workflow.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-workflow/tree/16.0/sale_stock_restocking_fee_invoicing
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), ACSONE SA/NV
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), ACSONE SA/NV
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, hda
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-workflow
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - stock_picking_kind
odoo/odoo:
    - sale
    - sales_team
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - account_payment
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - payment
    - utm
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - sale_stock
    - stock_account
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_company_form_view res.company.form (in sale_stock_restocking_fee_invoicing) res.company field Inherits base.view_company_form
res_config_settings_view_form res.config.settings.form (in sale_stock_restocking_fee_invoicing) res.config.settings xpath Inherits stock_account.res_config_settings_view_form
res_partner_form_view res.partner.form (in sale_stock_restocking_fee_invoicing) res.partner xpath Inherits base.view_partner_form
stock_move_form_view stock.move.form (in sale_stock_restocking_fee_invoicing) stock.move field Inherits stock.view_move_form
stock_return_picking_form_view stock.return.picking.form (in stock_restocking_fee_invoicing) stock.return.picking field Inherits stock.view_stock_return_picking_form
Models touched (8)

New fields (1)
  • restocking_fee_product_id Many2one → product.product
    default=<expr> domain=[('type', '=', 'service')] help='It is possible to specify on a customer whether restocking fee must be charged for returning goods. In the case where fee are to be applied, the product specified here is added to the sale order to charge these restocking fee.' ondelete='restrict' string='Restocking Fee Product' args: 'product.product'
Public methods (0)

No public methods.

New fields (1)
  • restocking_fee_product_id Many2one → product.product
    default=<expr> help='It is possible to specify on a customer whether fees must be charged for returning goods. In the case where fees are to be applied, the product specified here is added to the sale order to charge these fees.' readonly=False related='company_id.restocking_fee_product_id' string='Restocking Fee Product' args: 'product.product'
Public methods (0)

No public methods.

New fields (1)
  • charge_restocking_fee Boolean
    default=False help='Tick this box if you wish to charge your customer a fee in case of return of goods' tracking=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • is_restocking_fee Boolean
Public methods (0)

No public methods.

New fields (2)
  • charge_restocking_fee Boolean
    default=False help='If checked your customer will be charged for accepting returned goods.' readonly=True
  • picking_kind Selection
    readonly=True related='picking_id.picking_kind'
Public methods (0)

No public methods.

New fields (2)
  • charge_restocking_fee Boolean
    default=False help='Tick this box if you wish to charge your customer a fee in case of return of goods. Default value comes from the customer info.'
  • is_customer_return Boolean
    readonly=True
Public methods (1)
  • default_get(self, fields)
    @api.model

New fields (2)
  • charge_restocking_fee Boolean
    default=False help='Tick this box if you wish to charge your customer a fee in case of return of goods'
  • is_customer_return Boolean
    compute='_compute_is_fee_customer_return'
Public methods (0)

No public methods.