EZ Exporter Update: Shopify Fulfillment Orders Export Now Available

EZ Exporter has supported exporting fulfillment locations from the Shopify order for some time now, but they were only available for orders or line items that were already fulfilled.

In the last couple of months, we've gotten more inquiries from merchants on how to export and filter based on the assigned/allocation location to fulfill the orders and line items from.

One use case for this is to allow merchants to create separate CSV exports to be sent to different warehouses for fulfillment.  For example, an order might contain line items that are stocked in different inventory locations or even managed by separate fulfillment providers.

The assigned location is not available in the Order API endpoint but Shopify released a separate FulfillmentOrder API endpoint where this information can be retrieved.

We've just added support for this new API endpoint so you can now generate reports based on the assigned inventory/fulfillment locations.  This information is available both at the order level and line item level.  This allows you to filter the data by the assigned location associated to the entire order or to individual line items.

These new fields below are now available when creating an Order data export settings:

Order Level

fulfillment_orders Fulfillment Orders (type: text). A list of fulfillment orders for the entire order in JSON format.
fulfillment_orders.assigned_location.location_id Fulfillment Orders Assigned Location IDs (type: text). A comma-separated list of location IDs to fulfill from.
fulfillment_orders.assigned_location.name Fulfillment Orders Assigned Location Names (type: text). A comma-separated list of location names to fulfill from.
fulfillment_orders.delivery_method.id Fulfillment Orders Delivery Method IDs (type: text). A comma-separated list of delivery method IDs.
fulfillment_orders.delivery_method.method_type Fulfillment Orders Delivery Method Types (type: text). A comma-separated list of delivery method types. Valid values:
  • local: A delivery to a customer's doorstep.
  • none: No delivery method.
  • pick-up: A delivery that a customer picks up at your retail store, curbside, or any location that you choose.
  • retail: Items delivered immediately in a retail store.
  • shipping: A delivery to a customer using a shipping carrier.
fulfillment_orders.fulfill_at Fulfillment Orders Fulfill At Dates (type: text). A comma-separated list of dates/times at which the fulfillment orders will be fulfillable. When this date and time is reached, a scheduled fulfillment order is automatically transitioned to open. For more information about fulfillment statuses, refer to the status property.
fulfillment_orders.request_status Fulfillment Orders Request Status (type: text). A comma-separated list of request status of the fulfillment orders. Valid values:
  • unsubmitted: The initial request status for newly-created fulfillment orders. This is the only valid request status for fulfillment orders that aren't assigned to a fulfillment service.
  • submitted: The merchant requested fulfillment for this fulfillment order.
  • accepted: The fulfillment service accepted the merchant's fulfillment request.
  • rejected: The fulfillment service rejected the merchant's fulfillment request.
  • cancellation_requested: The merchant requested a cancellation of the fulfillment request for this fulfillment order.
  • cancellation_accepted: The fulfillment service accepted the merchant's fulfillment cancellation request.
  • cancellation_rejected: The fulfillment service rejected the merchant's fulfillment cancellation request.
  • closed: The fulfillment service closed the fulfillment order without completing it.
fulfillment_orders.status Fulfillment Orders Status (type: text). A comma-separated list of request status of the fulfillment orders. Valid values:
  • open: The fulfillment order is ready for fulfillment.
  • in_progress: The fulfillment order is being processed.
  • scheduled: The fulfillment order is deferred and will be ready for fulfillment after the datetime specified in fulfill_at.
  • cancelled: The fulfillment order has been cancelled by the merchant.
  • on_hold: The fulfillment order is on hold. The fulfillment process can't be initiated until the hold on the fulfillment order is released.
  • incomplete: The fulfillment order cannot be completed as requested.
  • closed: The fulfillment order has been completed and closed.

Lineitem Level

line_items.fulfillment_orders Lineitem Fulfillment Orders (type: text). A list of fulfillment orders for the line item in JSON format.
line_items.fulfillment_orders.assigned_location.location_id Lineitem Fulfillment Orders Assigned Location IDs (type: text). A comma-separated list of location IDs to fulfill from for the line item.
line_items.fulfillment_orders.assigned_location.name Lineitem Fulfillment Orders Assigned Location Names (type: text). A comma-separated list of location names to fulfill from for the line item.
line_items.fulfillment_orders.delivery_method.id Lineitem Fulfillment Orders Delivery Method IDs (type: text). A comma-separated list of delivery method IDs.
line_items.fulfillment_orders.delivery_method.method_type Lineitem Fulfillment Orders Delivery Method Types (type: text). A comma-separated list of delivery method types. Valid values:
  • local: A delivery to a customer's doorstep.
  • none: No delivery method.
  • pick-up: A delivery that a customer picks up at your retail store, curbside, or any location that you choose.
  • retail: Items delivered immediately in a retail store.
  • shipping: A delivery to a customer using a shipping carrier.
line_items.fulfillment_orders.fulfill_at Lineitem Fulfillment Orders Fulfill At Dates (type: text). A comma-separated list of dates/times at which the fulfillment orders will be fulfillable. When this date and time is reached, a scheduled fulfillment order is automatically transitioned to open. For more information about fulfillment statuses, refer to the status property.
line_items.fulfillment_orders.request_status Lineitem Fulfillment Orders Request Status (type: text). A comma-separated list of request status of the fulfillment orders. Valid values:
  • unsubmitted: The initial request status for newly-created fulfillment orders. This is the only valid request status for fulfillment orders that aren't assigned to a fulfillment service.
  • submitted: The merchant requested fulfillment for this fulfillment order.
  • accepted: The fulfillment service accepted the merchant's fulfillment request.
  • rejected: The fulfillment service rejected the merchant's fulfillment request.
  • cancellation_requested: The merchant requested a cancellation of the fulfillment request for this fulfillment order.
  • cancellation_accepted: The fulfillment service accepted the merchant's fulfillment cancellation request.
  • cancellation_rejected: The fulfillment service rejected the merchant's fulfillment cancellation request.
  • closed: The fulfillment service closed the fulfillment order without completing it.
line_items.fulfillment_orders.status Lineitem Fulfillment Orders Status (type: text). A comma-separated list of request status of the fulfillment orders. Valid values:
  • open: The fulfillment order is ready for fulfillment.
  • in_progress: The fulfillment order is being processed.
  • scheduled: The fulfillment order is deferred and will be ready for fulfillment after the datetime specified in fulfill_at.
  • cancelled: The fulfillment order has been cancelled by the merchant.
  • on_hold: The fulfillment order is on hold. The fulfillment process can't be initiated until the hold on the fulfillment order is released.
  • incomplete: The fulfillment order cannot be completed as requested.
  • closed: The fulfillment order has been completed and closed.

Note that these fields could contain multiple values so when using the Custom Filters option, you'd normally want to use the "contains" operator when adding conditions.

Another thing to note is including these fields could significantly slow down the export if you have a lot of orders as pulling this data requires a separate API call per order.

You will also notice that you'll be asked to approve additional permissions when you open the app.  Our app will request read-only access to the following:

  • assigned fulfillment orders
  • merchant-managed fulfillment orders
  • third-party fulfillment orders

If you have any questions about this update, please don't hesitate to reach out!


Related Posts:


Tags: new features, ez exporter, shopify fulfillment orders