Shopify as a Source
Summary
Connect a vendor's Shopify store to Flxpoint as a supplier: pull the product catalog and per-location inventory, send fulfillment requests (orders) back into that store, and retrieve shipment tracking. Connection is via OAuth2 (recommended) or Bearer Token / Basic Auth using the Flxpoint Shopify App, and every inventory and fulfillment job is scoped to a single Shopify Location ID.
In the Shopify Source setup wizard, on the Connect to Your Shopify Store step, choose a connection method and enter these values, then click Test Connection and Continue.
| Field | What to enter |
|---|---|
Connection MethodSetting | Choose API - Shopify App (OAuth2) for secure authorization, or API - Bearer Token / API - Basic Auth for manual credential entry.
OAuth2 is recommended whenever you can log into the Shopify store as owner/admin. Use Bearer Token when a vendor installs the Flxpoint Shopify App and shares their credentials with you. |
Store URLRequired | The Shopify store's
Always use the .myshopify.com URL, not the store's custom domain..myshopify.com address (e.g. https://your-store-name.myshopify.com). Entered for every connection method. |
OAuth2 AuthorizationRequired | For OAuth2: click Initiate OAuth2 Flow and follow the prompts to grant Flxpoint access to the Shopify Admin. No further credentials are needed after authorization.
If the connection later loses permissions, re-authorize via Shopify Re-authentication (OAuth). |
TokenRequired | For Bearer Token: paste the Admin API access token into the Token field, or the API Key a vendor shares after installing the Flxpoint Shopify App in their Shopify Admin.
Vendors who can't complete OAuth2 install the Flxpoint App and share their Store URL and API Key; paste that key here as the Token. |
API Key & API Secret KeyOptional | For Basic Auth with a legacy custom app: enter the API Key and API Secret Key generated under Settings > Apps and sales channels > Develop apps in Shopify Admin.
Legacy custom apps created before Shopify required the read_locations scope still connect: product import, inventory sync, fulfillment sending and shipment tracking run without updating the app's permissions. |
Every job is scoped to one Location ID: configure it correctly first
Get Inventory (Primary), Get Inventory (Secondary) and Send Fulfillment Requests all require a Shopify Location ID. If the wrong location is set, inventory pulls come back empty or show incorrect quantities and fulfillment requests route to the wrong location. Verify the numeric Location ID in Shopify Admin before configuring any operation, and create one job per Location ID to cover multiple locations.
SKU must be present on every Shopify variant or inventory will not sync
Both Get Inventory jobs match Flxpoint records to Shopify variants by SKU. Variants without a SKU in Shopify are silently skipped: they never appear in the Global Inventory Pool and show zero quantity. Add SKUs to all Shopify variants before running inventory jobs, and map Variant SKU β SKU and Available β Quantity in your template.
Shipping method title AND shipping price must both be mapped in Send Fulfillment Requests
Shopify only builds the shipping_lines structure when both the title and the price are present. If only the title is mapped, the shipping method is silently dropped from the request. Map both Shopify Order - Shipping Method Title and Shopify Order - Shipping Price in your Send Fulfillment Requests template.
The Create Customer setting is required before Send Fulfillment Requests can be saved
In the Integration Config, select how Flxpoint should determine the customer in the vendor's store: Reseller Name/Email, Bill To Customer Name/Email, or Flxpoint Account Owner Primary Name/Email. The dropdown starts blank, and leaving it unset prevents the integration from saving. Choose the option that matches your order flow.
Post-Mapping Workflows and unmapped custom fields
Custom fields created or updated via Post-Mapping Workflows (PMWs) persist on products and variants even if those fields are set to 'Donβt Map' in your Shopify mapping template. This allows you to use PMWs to manage internal data without cluttering your primary mapping logic. To verify updates, refresh the product view in the Flxpoint UI after the workflow runs.
Imports the full Shopify catalog for one Location ID: products, variants, attributes, images, titles and descriptions into the Global Inventory Pool
| Shopify Field | Maps To: Notes |
|---|---|
| Variant SKU | β Product β SKU (Required). Primary identifier for matching inventory updates: variants without a SKU are skipped. |
| Available | β Inventory β Quantity (Required). Quantity saved into the Global Inventory Pool (GIP) for the selected location. |
| Location ID | β Job Setting (Required, not a mapped field). Inventory is pulled only for the selected Shopify location; use one job per location. |
Faster variant-level delta that refreshes quantity (and optionally cost / MAP-MSRP) for the selected Location ID
| Shopify Field | Maps To: Notes |
|---|---|
| Variant: SKU | β SKU (Required). Primary identifier for saves. |
| Variant: Available | β Quantity (Required). Saved at the variant level for the selected Location ID. |
| Variant: Cost | β Cost (Optional). Map if you want cost updates applied by Secondary. |
| Variant: Compare at price | β MAP / MSRP (Optional, as configured). Map only if you use these fields in your workflow. |
Sends orders to the vendor's Shopify store for fulfillment with billing/shipping addresses, line items and order notes
| Flxpoint Field | Maps To: Notes |
|---|---|
| Fulfillment Request Item - SKU | β Shopify Line Item - SKU (Required). Identifies each item to fulfill. |
| Fulfillment Request Item - Quantity | β Shopify Line Item - Fulfillable Quantity (Required). Quantity to fulfill; unmapped SKU/Quantity causes fulfillment failures. |
| Source Shipping Method - Method | β Shopify Order - Shipping Method Title. Must be mapped together with Shipping Price or Shopify drops the shipping line. |
| Fulfillment Request - Estimated Shipping Cost | β Shopify Order - Shipping Price. Required alongside the title for the shipping_lines block to build. |
| Fulfillment Request - Transaction Kind / Gateway / Amount | β Shopify Order - Transaction Kind / Gateway / Amount. All three must be mapped together or the transaction block is skipped; Amount must be greater than zero, and Gateway must match a gateway configured in the vendor's store. |
| Billing Address / Shipping Address fields | β Shopify Billing Address / Shipping Address. Map the full address blocks (name, address 1/2, city, state/code, postal code, country/code, email, phone) for reliable fulfillment. |
| Custom Fields (5) | β Shopify Order Note Attributes. Up to 5 custom fields are supported. |
{"errors":"Line item is using an invalid fulfillment service"}, match the fulfillment service name to what the vendor actually has configured, or remove that field.Pulls fulfillments and tracking created in the vendor's Shopify store back into Flxpoint
Inventory not updating or showing zero quantity after Get Inventory runs
Variant SKU β SKU and Available β Quantity. After bulk catalog changes, run a Force Full Inventory Fetch to catch up, then return to standard runs."Failed to map variant(s), skipping Shopify Product"
{"errors":"Line item is using an invalid fulfillment service"}
fulfillment_services: [] list). Ask the vendor whether they have a fulfillment service configured and use the exact name, or remove the fulfillment service field from the mapping template entirely.Shipping method not appearing in Shopify after the fulfillment request is sent
shipping_lines block. If only the title is mapped and the price is blank, Shopify silently drops the line. Confirm both Shopify Order - Shipping Method Title and Shopify Order - Shipping Price are mapped.Transaction / payment data not sent to Shopify when creating the order
Get Shipments returns no results or tracking not linking to orders
Transactions should not be mapped in Send Fulfillment Requests
"Missing required customer field in mapping: customer.email"
Get Shipments error: "No fulfillments found for specified orders"
Category selections reset when filtering or scrolling in Manage Exclusions
Custom fields or personalization not appearing in the vendor's Shopify store?
What is the difference between Shopify as a source and Shopify as a channel?
Which connection method should I use: OAuth2 or Bearer Token?
.myshopify.com URL, not the store's custom domain.