Skip to content
Health
75/100
good
  • Security25/25
    No findings
  • Activity25/25
    Last human commit 1 month ago
  • Required by20/25
    2 modules depend on it
  • Maturity5/25
    In 1 Odoo series since 18.0

Heuristic over the facts below, not an audit · How it's computed

Security findings
Grave / minor (static analysis)
Required by
2
Modules depending on it
External deps
0 pip · 0 bin
Python packages / system binaries
License
AGPL-3
No conflicts with its dependencies
Folder size
0.06 MB
Module directory on disk
Code analysis 1 migration note 5 models 2 views 0 HTTP endpoints

Description

The standard FIFO removal strategy sorts the quants by incoming date (in_date). That date is set when the goods are received and follows them from location to location, so it cannot tell when they arrived in the zone they are stored in: a pallet received long ago and only now brought down to a picking area keeps its old incoming date, and the picker is sent to it before the stock that has been sitting in that area for weeks.

This module adds a Zone-Level FIFO removal strategy. It keeps the FIFO principle but sorts on a new Zone Entry Date (zone_in_date) field on the quant, falling back on the incoming date:

zone_in_date, in_date, id

zone_in_date changes only when the goods enter another zone, unlike in_date which a merge of stock or an inventory adjustment can move. A zone is the nearest ancestor location carrying the strategy. It is always set, so the sort above needs no NULL handling.

Dependencies

Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
stock_removal_zone_fefo, stock_removal_zone_fifo_location_zone

Code analysis

Extracted from the source by best-effort static analysis (no code is executed); details may be incomplete.

Views touched 2

XML IDNameModelTypeStatus
res_config_settings_view_form res.config.settings.form.zone.in.date res.config.settings form Inherits stock.res_config_settings_view_form
view_stock_quant_tree_editable stock.quant.list.editable.zone.in.date stock.quant list Inherits stock.view_stock_quant_tree_editable

HTTP endpoints 0

No HTTP endpoints found for this module.

Models touched 5

New fields (1)
  • zone_in_date_update_out_of_zone Boolean
    help='Update the zone entry date when goods are moved to a location that is in no zone. Off by default, as no zone-based removal strategy sorts them there.' string='Update Zone Entry Date out of Zones'
Public methods (0)

No public methods.

New fields (1)
  • zone_in_date_update_out_of_zone Boolean
    readonly=False related='company_id.zone_in_date_update_out_of_zone'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • zone_in_date Datetime
    default=fields.Datetime.now help='Date at which these goods entered the storage zone they are stored in.\nIt differs from the incoming date on two points: it is not reset when stock is merged into the quant, and it is kept when the goods are moved between two locations of the same zone.' index=True readonly=True required=True string='Zone Entry Date'
Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi