Understanding how Shopify processes Fulfillment data is important to understand as they do not track details of the different stages of fulfillment or have an audit log of the changes that a fulfillment may go through.
Shopify stores their fulfillment data in two places:
- As part of the order: https://shopify.dev/docs/admin-api/rest/reference/orders/order
- As a fulfillment record: https://shopify.dev/docs/admin-api/rest/reference/shipping-and-fulfillment/fulfillment
There are two important dates in the Shopify fulfillment record:
The [created_at] field gets generated when the fulfillment record is created - i.e. when the order is sent is either mark as fulfilled or with an App sent to the fulfillment vendor to be fulfilled and can have one of these statuses:
The [updated_at] field gets updated every time there is new information about the fulfillment such as the addition of a tracking number or an update on the delivery status.
The delivery status can have multiple values
Daasity uses the [created_at] and [updated_at] as follows:
- Fulfillment Date - we use the [created_at] to identify when an order was fulfilled
- Delivery Date - we use the [updated_at] once the [shipment_status] has a value of "delivered" to identify that the shipment was delivered
You can then use the difference between these two dates to understand how long it took for a customer to receive their shipment.