Order Routing and Inventory Allocation

Industry
Perishable Food and Beverage

The perishable food and beverage industry spans meal kit assembly, packaged consumer food products, and B2B and B2C food distribution, operating under food safety regulations that mandate end-to-end lot traceability and recall readiness. Unlike stable retail goods, operations here must fiercely protect margins against shelf-life degradation, enforce temperature-controlled storage, and accommodate dynamic, intraday changes to warehouse plans as expiration profiles and order priorities shift on the floor.

Published: June 30, 2026

Operational Complexity 

Order fulfillment in perishable food and beverage is governed by delivery commitments that cannot be extended. Many orders, particularly B2B event shipments and gift-based consumer orders, carry fixed delivery dates where a late arrival constitutes a fulfillment failure regardless of product condition. In a perishable context, the transit window is also constrained by shelf life, meaning ship date decisions directly determine whether the product arrives in a usable state.

Routing decisions in this industry cannot be made on finished-product inventory alone. Products are often assembled from multiple components, each with its own lot and expiration profile, and fulfillment depends on the availability of all required components at a single facility. Where retailers offer both prebuilt kit inventory and on-demand assembly, the routing logic must evaluate inventory for both fulfillment paths simultaneously. Order volumes frequently span a mix of B2B bulk shipments, subscription orders, and individual B2C(retail) transactions, each with distinct fulfillment priorities, reservation requirements, and scheduling constraints.

Legacy System Lacunae 

Order routing and fulfillment planning at the organization were not structured to handle the complexity of component-based availability. Routing decisions were based on finished-product inventory, with no visibility to evaluate whether the components required to assemble a kit were available at a facility.

There was no distinction between committed inventory and non-committed (available) inventory, and the availability presented to incoming orders reflected total QOH rather than what was genuinely unencumbered.


Component-Based Routing and Fulfillment Path Resolution 

The organization's product catalogue included kits that could be fulfilled through two alternative paths depending on stock position at the assigned facility: prebuilt kits held as finished inventory available for immediate dispatch, or kits assembled on demand from components after order receipt. For kit-to-assemble orders, finished-product inventory was not the sole routing indicator. What determined whether a facility could fulfill the order was whether all required components were present in sufficient quantity. Standard routing logic evaluated only finished-product stock and had no mechanism to resolve which fulfillment path was appropriate for a given order at a given facility. 

For the lack of such capabilities within the legacy system, routing decisions were made against finished-product stock positions regardless of order type. Kit-to-assemble orders were assigned to facilities based on finished kit availability, and component shortfalls were discovered only at the point of picking. For orders where the fulfillment path was ambiguous, operations staff reviewed finished kit inventory and component availability separately and decided manually which path to follow, adding time to the order release process and introducing inconsistencies in how orders were prioritized. 

The order routing engine built on top of Apache OFBiz was leveraged to evaluate each facility first on inventory availability from prebuilt kits and component inventory and then checking nearest facility from the customer location. The routing decision and selected facility were recorded against the order record for fulfillment reference. 

Soft and Hard Inventory Allocation Across Order Types

The organization processed all order types from the same facility. B2B orders were typically placed in advance and scheduled for future ship dates, while B2C orders required near-immediate fulfillment. The existing reservation model created hard locks on inventory at the point of order approval, regardless of the order's ship date. Inventory committed to future B2B orders was made unavailable to recent B2C demand, even when fulfillment of the B2B order was several days away. 

Due to the lack of such capabilities within the legacy system, premature allocation created artificial stockouts for current orders. Managing this required manual intervention to release and reallocate inventory across order types, which increased operational overhead and reduced planning accuracy across the order book. 

 A two-stage reservation model was introduced within the order management module of Apache OFBiz to separate planning-level and execution-level allocation. When an order was routed to a facility, the system created a soft allocation from Available-to-Promise (ATP), which accounted for the order's demand in planning without physically locking inventory. Hard reservation was deferred to the point of pick wave creation, when the warehouse committed the order for execution based on its ship date.  

At that stage, inventory was allocated at the lot level using expiration-based priority, ensuring that hard locks were applied only when fulfillment was imminent. This protected current demand from being blocked by future-dated orders and gave the warehouse accurate demand visibility across the planning horizon. Only unallocated inventory was then considered for evaluation by the routing engine.


Summary 

This case study demonstrated how order routing and inventory allocation in the perishable food and beverage industry was brought under a system-governed framework built on Apache OFBiz. Routing decisions were extended beyond finished-product availability to evaluate component-level stock and resolve the appropriate fulfillment path for each order at the point of routing. Inventory reservation was restructured from a single deferred allocation model into a two-stage soft and hard reservation framework, ensuring that committed inventory was distinguished from non-committed available inventory across order types.

These operations were managed within a single system rather than across separate manual planning processes, with routing decisions governed by current component availability and reservation decisions governed by order ship dates and fulfillment urgency.

This case study also reflects upon the power of open-source technologies such as Apache OFBiz and Moqui to build custom order management solutions, supporting organizations in aligning system architecture with the specific demands of perishable food and beverage order fulfillment.