Internal Stock Quant Package

internal_stock_quant_package
REPOSITORY
REPOSITORYOCA/stock-logistics-tracking
GIT
GIThttps://github.com/OCA/stock-logistics-tracking.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-tracking/tree/18.0/internal_stock_quant_package
VERSION
VERSION 1.1.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
COMMITTERSSébastien Alix, Weblate, OCA-git-bot, oca-ci, Henry Backman
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-tracking
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:18
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - delivery_procurement_group_carrier
odoo/odoo:
    - 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
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - account
    - onboarding
    - analytic
    - payment
    - utm
    - stock_account
    - stock_delivery
    - delivery
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows to declare internal stock quant package.

Sometimes, when an operator is picking, he needs to put the product in
internal packages placed on his trolley that will be emptied later.

Two kinds of operations can lead to the emptying of the internal
packages:

> - when product from the internal packages will be 'put in pack' at the
>   pack station (in a pick / pack / ship scenario)
> - when a carrier will load his truck with the products from the
>   internal packages (in a pick / ship scenario)

This modules extends the stock module to add the concept of internal
stock quant package and therefore allows you to manage this kind of
operational need. It ensures that the internal stock quant packages are
emptied when required depending on the picking type configuration.

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
stock_internal_package_config_line_form_view stock.internal.package.config.line.form stock.internal.package.config.line form New
stock_picking_type_form_view stock.picking.type.form (in internal_stock_quant_package) stock.picking.type field Inherits stock.view_picking_type_form
stock_picking_type_tree_view stock.picking.type.tree (in internal_stock_quant_package) stock.picking.type field Inherits stock.view_picking_type_tree
stock_quant_package_form_view stock.quant.package.form (in internal_stock_quant_package) stock.quant.package field Inherits stock.view_quant_package_form
stock_quant_package_search_view stock.quant.package.search (in internal_stock_quant_package) stock.quant.package field Inherits stock.quant_package_search_view
stock_quant_package_tree_view stock.quant.package.tree (in internal_stock_quant_package) stock.quant.package field Inherits stock.view_quant_package_tree
Models touched (4)

New fields (3)
  • delivery_carrier_id Many2one → delivery.carrier
    ondelete='cascade' required=True args: 'delivery.carrier'
  • empty Boolean
  • stock_picking_type_id Many2one → stock.picking.type
    ondelete='cascade' readonly=True required=True args: 'stock.picking.type'
Public methods (1)
  • write(self, vals)

New fields (1)
  • empty_internal_package_on_transfer Boolean
    compute='_compute_empty_internal_package_on_transfer'
Public methods (2)
  • action_put_in_pack(self)
  • button_validate(self)

New fields (2)
  • empty_internal_package_on_transfer Boolean
    default=True help='If set internal packages are emptied after the transfer or when products are put in pack.'
  • stock_internal_package_config_line_ids One2many → stock.internal.package.config.line
    comodel_name='stock.internal.package.config.line' inverse_name='stock_picking_type_id'
Public methods (0)

No public methods.

New fields (1)
  • is_internal Boolean
    compute='_compute_is_internal' store=True string='Internal use?'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/stock-logistics-tracking
GIT
GIThttps://github.com/OCA/stock-logistics-tracking.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/stock-logistics-tracking/tree/16.0/internal_stock_quant_package
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
COMMITTERSLaurent Mignon (ACSONE), Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/stock-logistics-tracking
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/stock-logistics-workflow:
    - delivery_procurement_group_carrier
odoo/odoo:
    - stock
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
    - barcodes_gs1_nomenclature
    - barcodes
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - account
    - analytic
    - payment
    - utm
    - stock_account
    - delivery
    - sale_management
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
stock_internal_package_config_line_form_view stock.internal.package.config.line.form stock.internal.package.config.line form New
stock_picking_type_form_view stock.picking.type.form (in internal_stock_quant_package) stock.picking.type field Inherits stock.view_picking_type_form
stock_picking_type_tree_view stock.picking.type.tree (in internal_stock_quant_package) stock.picking.type field Inherits stock.view_picking_type_tree
stock_quant_package_form_view stock.quant.package.form (in internal_stock_quant_package) stock.quant.package field Inherits stock.view_quant_package_form
stock_quant_package_search_view stock.quant.package.search (in internal_stock_quant_package) stock.quant.package field Inherits stock.quant_package_search_view
stock_quant_package_tree_view stock.quant.package.tree (in internal_stock_quant_package) stock.quant.package field Inherits stock.view_quant_package_tree
Models touched (4)

New fields (3)
  • delivery_carrier_id Many2one → delivery.carrier
    ondelete='cascade' required=True args: 'delivery.carrier'
  • empty Boolean
  • stock_picking_type_id Many2one → stock.picking.type
    ondelete='cascade' readonly=True required=True args: 'stock.picking.type'
Public methods (1)
  • write(self, vals)

New fields (1)
  • empty_internal_package_on_transfer Boolean
    compute='_compute_empty_internal_package_on_transfer'
Public methods (2)
  • action_put_in_pack(self)
  • button_validate(self)

New fields (2)
  • empty_internal_package_on_transfer Boolean
    default=True help='If set internal packages are emptied after the transfer or when products are put in pack.'
  • stock_internal_package_config_line_ids One2many → stock.internal.package.config.line
    comodel_name='stock.internal.package.config.line' inverse_name='stock_picking_type_id'
Public methods (0)

No public methods.

New fields (1)
  • is_internal Boolean
    args: 'Internal use?'
Public methods (0)

No public methods.