Skip to main content

DC fulfillment BPM

There are two ways to ship orders at NewStore:

During DC fulfillment, a DC or warehouse ships the order according to a fulfillment request sent by NewStore. See About order fulfillment for more details about the fulfillment process. The sending of fulfillment requests, and the receiving of the responses from the DC happens in the integration layer. See Integrating a fulfillment provider

The lifecycle of the fulfillment_request entity during DC fulfillment is represented by the diagram below using the BPMN notation ..

This diagram refers to events that are emitted as part of the event stream. See the entity model and the webhook.

Click here to download the BPMN image

Sending a fulfillment request

The fulfillment process begins when NewStore Omnichannel Cloud sends a fulfillment request to a DC. When this happens, the fulfillment_request.assigned event is emitted.

Accepting the fulfillment request

If the DC accepts the request, no events are emitted from the platform. When the DC starts shipping the item(s) of the request, the fulfillment_request.items_completed event is emitted.

Once NewStore receives confirmation from the DC that the items have been shipped, the invoice.created event is emitted.

Rejecting the fulfillment request

The DC may be unable to fulfill the order. This can happen immediately after it received the fulfillment request or after it accepted the fulfillment request. In both situations, the fulfillment_request.items_failed is emitted.


For orders fulfilled by a DC, when an item is rejected in a fulfillment request, the status of the item changes to On Hold in NewStore Omnichannel Manager. However, the rejected item is processed in NewStore Omnichannel Cloud only after all the other items in the fulfillment request have been processed.

Related topics