Package: odoo-addon-stock-reserve-rule
This module adds rules for advanced reservation / removal strategies.Rules are applied on a location and its sub-locations.A rule can exclude quants or locations based on configurable criteria,
and based on the selected quants, apply advanced removal strategies.The rules have a sequence, which will be respected for the reservation.
So even without filter or advanced removal strategies, we can give a priority to
reserve in a location before another.The advanced removal strategies are applied on top of the default one (fifo,
fefo, …).The included advanced removal strategies are:Default Removal Strategy: apply the default configured one (fifo, fefo, …)Empty Bins: goods are removed from a bin only if the bin will be empty after
the removal (favor largest bins first to minimize the number of operations,
then apply the default removal strategy for equal quantities).Full Packaging: tries to remove full packaging (configured on the products)
first, by largest to smallest package or based on a pre-selected package
(default removal strategy is then applied for equal quantities).Examples of scenario:rules:location A: no filter, no advanced removal strategylocation B: no filter, Empty Binslocation C: no filter, no  advanced removal strategyresult:take what is available in location Athen take in location B if available, only if bin(s) are emptiedthen take what is available in location CThe module is meant to be extensible, with a core mechanism on which new rules
and advanced removal strategies can be added.Table of contentsConfigurationUsageBug TrackerCreditsAuthorsContributorsMaintainersConfigurationThe configuration of the rules is done in “Inventory > Configuration > Stock Reservation Rules”.Creation of a rule:Properties that define where the rule will be applied:Location: Define where the rule will look for goods (a parent of the move’s source location).Rule Domain: The rule is used only if the Stock Move matches the domain.Removal rules for the locations:Quants Domain: this domain includes/excludes quants based on a domain.Advanced Removal Strategy: the strategy that will be used for this location
and sub-location when the rule is used.The sequences have to be sorted in the view list to define the reservation priorities.UsageIf you are using a database with demo data, you can give a try
to the following scenario to understand how it works.The demo data created by the module contains:A product: Funky Socks3 Locations:Stock / Zone A / Bin A1: 200 Funky socksStock / Zone B / Bin B1: 100 Funky socksStock / Zone C / Bin C1: 100 Funky socks3 Reservation Rules, in the following orderZone A must have full quantitiesZone BZone C2 Delivery Orders:Origin: Outgoing shipment (reservation rules demo 1)Origin: Outgoing shipment (reservation rules demo 2)Scenario:Activate Storage Locations and Multi-WarehousesYou can open Inventory > Configuration > Stock Reservation Rules to activate
and see the rules (by default in demo, the rules are created inactive)Open Transfer: Outgoing shipment (reservation rules demo 1)Check availability: it has 150 units, as it will not empty Zone A, it will not
take products there, it should take 100 in B and 50 in C (following the rules
order)Unreserve this transfer (to test the second case)Open Transfer: Outgoing shipment (reservation rules demo 2)Check availability: it has 250 units, it can empty Zone A, it will take 200 in
Bin A1 and 50 in Bin B1.If you want to explore further, you can add a custom domain to exclude rules
(for instance, a product category will not use Zone B).Bug TrackerBugs are tracked onGitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomedfeedback.Do not contact contributors directly about support or help with technical issues.CreditsAuthorsCamptocampContributorsGuewen Baconnier <guewen.baconnier@camptocamp.com>Jacques-Etienne Baudoux (BCIM) <je@bcim.be>MaintainersThis module is maintained by the OCA.OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.This module is part of theOCA/stock-logistics-warehouseproject on GitHub.You are welcome to contribute. To learn how please visithttps://odoo-community.org/page/Contribute.