Skip to main content

Fulfillment Orders and Shipments

A Fulfillment Order is an instruction from a Company in Endless to a fulfillment service to fulfill part or all of a Sales Order.

The fulfillment service may be an internal building, warehouse, 3PL, supplier, or connected fulfillment system. The Fulfillment Order tells that service which items and quantities it is responsible for, where the goods should go, and which shipping and business requirements apply.

Creating Fulfillment Orders

A Sales Order must be confirmed and active before Fulfillment Orders can be created. A Fulfillment Order can be created in three ways:

  • Directly: selected Sales Order item quantities are assigned to a building.
  • By routing strategy: Endless evaluates routing configuration and available inventory, then creates one or more Fulfillment Orders.
  • By integration: an external source creates or mirrors the Fulfillment Orders associated with the Sales Order.

Applying a routing strategy replaces eligible Draft Fulfillment Orders. Fulfillment Orders that have already progressed beyond Draft are preserved.

Across all active Fulfillment Orders, assigned quantities cannot exceed the corresponding Sales Order item quantity. Canceled Fulfillment Orders release their assigned quantities so they can be fulfilled elsewhere.

Processing a Fulfillment Order

The normal lifecycle is:

Draft → Allocated → Ready → In Progress → Fulfilled
StateMeaning
DraftThe instruction exists and can still be revised.
AllocatedInventory is reserved for the assigned items.
ReadyThe Fulfillment Order has passed the requirements needed for execution.
In ProgressThe fulfillment service has started or received the work.
FulfilledThe work completed with Shipment information.
FailedA handoff or execution attempt failed and can be corrected or retried.
CanceledThe instruction was stopped and no longer contributes to Sales Order coverage.

A Fulfillment Rule can define the requirements for each transition and allow eligible transitions to happen automatically. Common requirements include inventory, a valid address, carrier service, and other shipping or retailer information.

Fulfillment Orders can move backward when allocation, readiness, or execution needs to be corrected. Failed Fulfillment Orders keep their item assignments and inventory reservations while they await recovery. A Fulfilled Fulfillment Order cannot be canceled.

When a Fulfillment Order does not progress, the explanation comes from its current state and the requirements for its next transition. Check, in order:

  1. whether the Sales Order is confirmed and active;
  2. whether the intended items and quantities are assigned;
  3. whether inventory and building requirements pass;
  4. whether the Fulfillment Rule's shipping and business conditions pass; and
  5. whether the fulfillment service accepted the handoff.

Inventory Allocation

Allocation reserves inventory for a Fulfillment Order. It reduces the inventory available to other demand but does not mean the goods have shipped.

The reservation remains active while the Fulfillment Order is Allocated, Ready, In Progress, or Failed. Reverting to Draft or canceling the Fulfillment Order releases the reservation.

Fulfillment Services

A Fulfillment Order is passed to a fulfillment service, such as an internal team, warehouse, 3PL, or supplier. The fulfillment service may process the work directly in the Endless app, retrieve it through the API, or receive it automatically through a connected integration.

When a connected system is used, Endless can push the Fulfillment Order directly to that service. If the handoff fails, the Fulfillment Order becomes Failed so the issue can be corrected and the work retried.

The fulfillment service does not need to be the same system that created the Sales Order. For example, a sales channel may supply the Sales Order while a 3PL processes its Fulfillment Orders.

Shipments

A Shipment is created when the fulfillment service ships the goods. It can include the shipped date, tracking number, carrier service, packages, cartons, pallets, weight, and cost.

Shipment information may be recorded in Endless or supplied through the API or an integration. Creating the Shipment records the physical movement and completes the Fulfillment Order.

Fulfilled quantities from the Fulfillment Orders determine the Sales Order status. The Sales Order becomes Shipped only when Fulfilled Fulfillment Orders cover all of its active item quantities.