---
title: "DC fulfillment BPM"
slug: "dc-fulfillment-bpm"
tags: ["bpmn", "warehouse fulfillment", "shipping", "BPM", "platform", "warehouse", "event stream ", "business process model", "store fulfillment", "fulfillment", "events"]
updated: 2024-12-12T09:58:49Z
published: 2024-12-12T09:58:49Z
canonical: "docs.newstore.com/dc-fulfillment-bpm"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newstore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DC fulfillment BPM

There are two ways to ship orders at NewStore:

- DC or warehouse fulfillment
- [Store fulfillment](/v1/docs/store-fulfillment-bpm#bpm-store-ffment)

During DC fulfillment, a DC or warehouse ships the order according to a fulfillment request sent by NewStore. See [About order fulfillment](/v1/docs/about-order-fulfillment#about-ffment) 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](/v1/docs/integrating-a-fulfillment-provider#integ-fulfillment) for more details.

The lifecycle of the `fulfillment_request` entity during DC fulfillment is represented by the diagram below using the [BPMN notation](/v1/docs/bpmn-notation#bpmn-notation)..

This diagram refers to events that are emitted as part of the event stream. See the [entity model](/v1/docs/receiving-real-time-data#event-stream) and the [webhook](https://docs.newstore.net/api/webhooks/stream_webhook_sink_hook) for further details on those.

![](https://cdn.document360.io/c2d22fcd-a44b-4e1e-bf3a-84f0ffba0dbe/Images/Documentation/aac57c2a-667a-4ad2-b842-ceaf10365f8c.png)

[Click here to download the BPMN image](https://cdn.document360.io/c2d22fcd-a44b-4e1e-bf3a-84f0ffba0dbe/Images/Documentation/aac57c2a-667a-4ad2-b842-ceaf10365f8c.png)

## Sending a fulfillment request

The fulfillment process begins when NewStore platform 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 has received the fulfillment request or after it has accepted the fulfillment request. In both situations, the `fulfillment_request.items_failed` is emitted.

> [!TIP]
> Note
> 
> For orders fulfilled by a `DC`, when an item is rejected in a fulfillment request, the [status](/v1/docs/monitoring-statuses#order-item-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**

- [Order lifecycle BPM](/v1/docs/order-lifecycle-bpm#bpm-order-lifecycle)
- [BPMN notation](/v1/docs/bpmn-notation#bpmn-notation)
- [Store fulfillment BPM](/v1/docs/store-fulfillment-bpm#bpm-store-ffment)
- [Order lifecycle BPM](/v1/docs/order-lifecycle-bpm#bpm-order-lifecycle)
- [Getting started with the NewStore platform](/v1/docs/getting-started-with-the-newstore-platform#noc)
- [Receiving real-time data](/v1/docs/receiving-real-time-data#event-stream)
- [Event stream webhook](https://docs.newstore.net/api/webhooks/stream_webhook_sink_hook)
