Odoo 19 storage categories: calculate capacity and check overflow manually
Connect capacity categories to putaway locations, work through weight and quantity limits and handle Odoo’s no-automatic-split boundary.

Applicability
Odoo 19 Inventory, Storage Locations and Multi-Step Routes enabled, with configuration/transfer rights; Packages also required for package-capacity rules. Confirm edition/app entitlement for the installed deployment. Capacity metadata does not certify physical rack safety.
Research method
Research of official Odoo 19 documentation, including its published source where pages were unavailable; examples are fictitious editorial calculations. No new Odoo product testing, customer case study or hardware trial was performed.
Storage categories help propose a destination; they do not guarantee that a large receipt will be split safely among shelves. Odoo 19 explicitly documents no automatic quantity splitting, including an example where twelve incoming units are assigned to a ten-unit location. Official capacity limitation.
Contents
- Connect the category to the route
- Worked example: the tighter limit wins
- Check the proposed move before validation
- Continue the receiving workflow
Connect the category to the route
Enable Storage Locations and Multi-Step Routes. Define a category’s limits by weight, product quantity or package type, then assign it to child locations. A putaway rule targets the parent; the Closest Location sublocation option and category select eligible children. If those locations are full, the parent can become the fallback. Configure new-product mixing rules deliberately. Official category setup.
Use an Internal parent/child hierarchy consistent with the actual floor labels. Location setup explains the relevant fields. If product weights are entered, verify the category’s maximum weight is greater than zero.
Worked example: the tighter limit wins
Fictitious capacity-planning example, not a structural rack rating: each carton weighs 10 kg. A shelf category has a maximum of ten cartons of that product and a maximum weight of 80 kg. Its planning capacity is min(10 cartons, 80 ÷ 10) = 8 cartons.
| Location | Already stored | Planning space left |
|---|---|---|
| Shelf A | 6 cartons / 60 kg | 2 cartons / 20 kg |
| Shelf B | 0 cartons / 0 kg | 8 cartons / 80 kg |
Five cartons arrive. Assigning all five to A would create 11 cartons and 110 kg, exceeding both limits. A planned split of two to A and three to B results in A = 8 cartons/80 kg and B = 3 cartons/30 kg; 2 + 3 = 5 received cartons.
Check the proposed move before validation
Do not assume Odoo will perform that split. Review Detailed Operations and separate quantities/destinations manually when needed, preserving the total received. If every eligible shelf is full, check the parent fallback before anyone moves goods there. A parent location that exists in software is not necessarily usable overflow space.
If the destination looks wrong, check the rule’s parent, child category, mixing condition, current quantities and units of weight. For package capacity, confirm actual package types and counts rather than substituting individual-product counts. Stop the physical move if no agreed space is available; do not raise the configured capacity merely to clear the screen.
Continue the receiving workflow
Return to receipt and on-hand checks after allocating the locations. Contact APAA for help mapping an existing storage process and exception owner.
The cover is a generic illustration, not an Odoo 19 operation screenshot.
Sources
- Odoo 19 — Storage categories
Locations/routes settings, category limits, parent/child locations, closest-location fallback and no automatic quantity splitting.
Source checked
- Odoo 19 — Locations
Internal location hierarchy, category assignment and location product review.
Source checked