Skip to content

Imports

The Shopify connector reads from Shopify with pull imports and writes to Shopify with push imports. A reader runs a pull import, and a push connector runs a push import.

Shopify API Version

The imports use Shopify's GraphQL Admin API, version 2026-10. A few older imports still use the REST Admin API, and their pages say so.

Pull Imports

On the reader's Setup tab, select the store in Shopify Connectors and the pull import in Shopify Entity. The options below the entity choose which records the pull reads, and each import's page says which of them apply. Choose the entity before you map any fields. Changing it later deletes the reader's field configuration.

The Setup tab of a Shopify reader. Transform Id is Read. The Connector section has Shopify Connectors set to Shopify - Realisable beside a refresh button, and Shopify Entity set to Orders, with a note that changing the entity deletes the existing transaction and field configuration. Below them are the first reader options: Fulfillment Status, Order Status and Financial Status, each set to any

  • Orders
    • Orders, with their lines, discounts, shipping, taxes and payments.
  • Fulfilments
    • Fulfilments against orders. A fulfilment pull brings orders into IMan once they ship, rather than when customers place them.
  • Refunds
    • Refunds against orders, with their transactions, adjustments and refunded lines.
  • Product Variants
    • Every product variant, with its ids, prices, inventory item and metafields.
  • Customers
    • Customers created or updated since the last run, with their addresses and metafields.
  • Payouts
    • Shopify Payments payouts, with the balance transactions each one settles.

The Orders, Fulfilments, Refunds, Customers and Payouts pulls keep a last run time, and each run reads on from where the last one finished.

Push Imports

On the push connector's Setup tab, select the store in Shopify Connector, the push import in Shopify Import Type, and the Update Operation.

The Setup tab of a Shopify push connector. Transform Id is ShopifyUpdate, Shopify Connector is set to Shopify - Realisable beside a refresh button, Shopify Import Type is set to Orders, and Update Operation is set to Update

Update Strategy describes how a push import decides between creating a record and updating one. For a large load, many push imports can send their records through Shopify's bulk operations.

Products & Inventory

  • Products
    • Creates and updates products with their options, variants and metafields, and updates variants by Variant Id.
  • Bundles
    • Records the component variants and quantities of a bundle variant.
  • Inventory Levels v2
    • Sets inventory quantities at locations, with an optional check against the quantity Shopify holds.
  • Variant and Inventory Levels
    • The older REST imports, superseded by Products and Inventory Levels v2.

Metafields

Customers & Companies

  • Orders
    • Creates orders with their lines, customer, discounts, shipping, taxes and payments, and updates a few fields on existing orders.
  • Order Edit
    • Adds shipping, custom items, variants and line discounts to an existing order.
  • Cancel Order
    • Cancels orders, with restock and refund.
  • Fulfillments
    • Fulfils orders, in full or chosen lines, with carrier and tracking.
  • Transactions (Payment)
    • Captures, voids, records and refunds payments against orders.

Pricing & Catalogs

  • Pricelist
    • Sets fixed variant prices on a B2B price list, finding or creating the price list and catalog.
  • PricelistQtyBreak
    • Sets quantity price breaks on a B2B price list.
  • CatalogUpdate
    • Assigns company locations to a B2B catalog.

Typical Integrations

The imports work together. Each step below is an integration of its own, run on a schedule.

Order to Cash

An order placed in Shopify goes into the ERP, ships from the ERP, and ends as a payout to the bank:

  1. Orders brings each new order into the ERP as a sales order. Record the order's id, and each line's id, with the sales order. Filter out the orders the ERP already holds.
  2. Fulfillments tells Shopify that the ERP has shipped the order. Map the order's id to Order Id, with the carrier and tracking. For a part shipment, add a LineItems record for each line shipped, with the line's id as Order Line Id. Set Notify Customer to True to have Shopify email the customer.
  3. Transactions (Payment) captures the payment, for a store that authorises payments at checkout and captures them on shipment. Set Kind to capture and Amount to the value shipped. With Parent Transaction (Authorisation) Id blank, IMan captures from the order's open authorisation.
  4. Refunds brings the refunds made in Shopify into the ERP as credit notes. Set the reader options as the Refunds page describes, and record each refund's id.
  5. Payouts brings each Shopify Payments payout into the ERP for bank reconciliation. A payout gives the amount paid to the bank, with the charges, refunds and fees on each order it settles.

When the ERP changes an order, Order Edit adds lines and shipping to it in Shopify. Cancel Order cancels an order the ERP cancels.

A store that ships from Shopify, or through a fulfillment service, can bring orders into the ERP once they ship instead. Use the Fulfilments pull for step 1, and leave out step 2.

Stock and Prices from the ERP

The ERP holds the items, their stock and their prices, and Shopify sells them:

  1. Products creates the ERP's new items in Shopify. Leave Product Id blank, and IMan writes back the product's and its variants' ids.
  2. Product Variants reads every variant in the store, with its id, sku and inventory_item_id. The steps below each start from this pull, and a Map transform looks up each variant's SKU in the ERP.
  3. Inventory Levels v2 sets each variant's stock at a location from the ERP's figure. Map the variant's inventory_item_id to Inventory Item Id, the location to Location Id, and the ERP's stock to Qty.
  4. Products updates retail prices by Variant Id. Map only the price, with each changed variant's Variant Id and its Product Id. The product's other fields and variants stay as they are.
  5. Pricelist sets B2B customers' fixed prices, and PricelistQtyBreak their quantity breaks. Map the variant's id to PriceToAddVariantId.

Leave bulk operations off for routine runs of up to a few thousand records. Switch them on for the first load of the catalogue, a stock take across every location or a full price list. See When to Use Bulk Operations.

B2B Customers

Building a B2B Customer gives the order of the company, contact, price list and catalog imports.

Shopify API Reference

Shopify's GraphQL Admin API reference describes each object and field the imports read and write. This guide describes how each import creates, updates and reads them.