Skip to content

Fulfilments

The Fulfilments pull reads the fulfilments of shipped and partly shipped orders. Use it to integrate an order once it ships, rather than when the customer places it. Each fulfilment record carries the order's customer, addresses, discounts, shipping, taxes and payments, and has its fulfilled lines beneath it.

On a reader, select Fulfilments as the Shopify Entity.

A fulfilment belongs to its order, and Shopify finds fulfilments through their orders. The pull reads the orders that match its options and returns each of their fulfilments. The options and the time window therefore apply to the order, not to the fulfilment.

Reader Options

The options work as they do on the Orders pull, with these differences:

  • Fulfillment Status has no effect. The pull always reads shipped and partly shipped orders.
  • Set Use created date/time or updated date/time to updated. A fulfilment updates its order in Shopify. A window on the created date misses an order placed before the last run and fulfilled after it.
  • Set Order Status to any if the store archives orders automatically after fulfilment. Shopify closes an archived order, and the default open leaves it out.

Shopify Ids to download, Payment Status, Payment Kind, API and Timestamps apply as they do to Orders.

Records

The pull returns a Fulfilment record for each fulfilment, with a LineItems record for each line it fulfilled.

Fulfilment

The Fulfilment record holds the fulfilment's own fields:

  • id, name, status, created_at and updated_at;
  • location_id, the location it shipped from;
  • tracking_company, tracking_numbers and tracking_urls, its carrier, tracking number and tracking link;
  • order_id, the order it belongs to.

The record also carries the order's details, in the same flattened field sets as the Order record: BillTo_, ShipTo_, Customer_, Client_, Discount1_ to Discount5_, DiscountCode1_ to DiscountCode5_, Note1_ to Note5_, Shipping1_ to Shipping3_, Tax1_ to Tax3_ and Payment1_ to Payment6_. The order's totals come in both currencies, as order_total_price_shop_money_amount and order_total_price_presentment_money_amount, for example.

An order with two fulfilments gives two Fulfilment records, each with the order's details.

LineItems

Each LineItems record holds a fulfilled line: its product, variant, SKU, title, quantity and price, and the location it shipped from as origin_ fields. IMan flattens its discounts, taxes and custom properties as on the Orders pull.

Running from a Schedule

The pull keeps its last run time as the Orders pull does, in the same lookup table. See Running from a Schedule for resetting it and for filtering out duplicates. Record the fulfilment's id in the target system. An order with several fulfilments can then bring each one in once.

Access Scopes

The pull needs read_orders, read_customers, read_products and read_locations. Add read_all_orders to read orders created more than 60 days ago. See Access Scopes.

Shopify Reference

Fulfillment in Shopify's GraphQL Admin API reference.