Shopify as a Channel

Shopify is a leading eCommerce platform that allows businesses to sell products online and manage their sales channels efficiently. Integrating Shopify into Flxpoint as a channel allows you to automate order processing, inventory syncing, and product publishing between Flxpoint and Shopify. It helps streamline operations, ensuring that your product data and inventory levels are always up-to-date across your sales platforms.


 

How to Connect

📋 Phase 1: Start & Create Channel +
Open Sales Channels and click +
You’ll see the channel selector. Search and choose Shopify.
Name the channel & select processes
Suggested name: Shopify – Main Store. Choose what you need and click Save & Next:
  • Import Listings – bring existing Shopify products/listings into Flxpoint.
  • Publish Listings – send product data from Flxpoint to Shopify.
  • Sync & Link Listings – link existing Shopify products to your catalog to avoid duplicates.
  • Get Orders – import Shopify orders into Flxpoint.
Friendly note: You can change these later from the channel page—don’t stress choices here.
Intro page
Review the brief intro and click Save & Next.
Common support issue: When prompted for a store URL, use the full .myshopify.com address (e.g., https://cool-gadgets.myshopify.com), not your custom domain (e.g., coolgadgets.com). Find it in Shopify Admin → Settings > Domains.
Use your .myshopify.com domain, not your custom domain.
🔐 Phase 2: Authenticate with Shopify (OAuth) +
OAuth only: Connecting Shopify now uses OAuth for a secure, no-keys setup. No API keys or tokens needed.
Start OAuth
In Connect to Your Shopify Store:
  • Enter your .myshopify.com Store URL (e.g., https://your-store-name.myshopify.com).
  • Click Continue / Authorize to open Shopify’s approval screen.
Need to find the URL? Shopify Admin → Settings > Domains → copy the myshopify.com domain.
Approve the app
Log in (if prompted) and approve requested permissions.
  • Who can approve? Store owner or staff with app-install permissions.
  • Not the owner? Ask the owner to approve, or request temporary staff access with app-install permission.
Seeing a permissions error? You likely don’t have rights to install apps. Ask the owner to grant permission or to complete approval.
Finish & return
After approval, you’ll return to Flxpoint automatically and see the connection as Connected.
About rate limits: Shopify enforces API limits behind the scenes; Flxpoint schedules calls efficiently. For very large catalogs, start with smaller sync windows, then scale up.
🧭 Phase 3: Wizard Configuration Pages (Set Now or Later) +
After OAuth, the wizard guides you through key configuration pages. You can complete them now (recommended) or finish later from the channel page.
Listing Management pages
  • Import Listings — choose defaults (e.g., create new listings as Paused so you can review before publishing).
  • Sync & Link Listings — link existing Shopify products with your catalog to avoid duplicates.
  • Publish Settings — choose which product fields Flxpoint sends to Shopify (title, description, images, etc.).
  • Category/Taxonomy notes — ensure internal categories map to valid Shopify taxonomy values.
Order pages
  • Get Orders — select statuses/timeframe; confirm how orders should flow.
  • Order Settings — routing preferences, timing windows, cancellations.
  • Shipping/Carrier Mappings — map your carriers/service levels.
New to this? Configure the basics first (Import defaults, Sync/Link, Order Settings), test with a small set, then scale.
✅ Phase 4: After the Wizard — What You’ll See & How to Use It +
Where you land: your Shopify channel page with a left menu (Integrations, Pricing/Quantity, Listing Status, Shipping/Carrier Mappings, Settings, Admin). The center shows operations you can configure/run.
Core operations (you’ll use these most)
  • Import ListingsWhat: pull existing Shopify products/listings into Flxpoint.
    When: already live on Shopify and want Flxpoint to mirror them.
    Tip: great first run for established catalogs.
  • Publish ListingsWhat: push product data from Flxpoint to Shopify.
    When: launching or updating products.
    Tip: confirm taxonomy/category mapping first.
  • Sync & Link ListingsWhat: match existing Shopify products with your catalog.
    When: migrating to Flxpoint or preventing duplicates.
    Tip: run a small linking batch and spot-check before scaling.
  • Get OrdersWhat: import new Shopify orders into Flxpoint.
    When: ready to process orders here.
    Tip: set Order Settings and Carrier Mappings beforehand.
Other sections you’ll likely touch
  • Pricing / Quantity — markups and buffers used by Publish.
  • Listing Status — readiness/errors before Publish.
  • Shipping / Carrier Mappings — map service levels correctly.
  • Settings — channel-specific defaults and advanced options.
  • Admin — diagnostic/advanced tools.
Quick first-run checklist: URL is *.myshopify.com ✔️ | Import small sample ✔️ | Check mapping ✔️ | Publish 1–2 items ✔️ | Get Orders test ✔️
Quick Troubleshooting
  • “URL invalid” → Use https://your-store-name.myshopify.com (not your custom domain).
  • “Can’t approve app” → Ask the store owner or request app-install permission.
  • “Nothing after Authorize” → Unblock pop-ups; confirm you’re approving the correct store if you manage multiple shops; retry.

 

 

Listing Operations

Import Listings

Supported
Introduction

Import Listings brings your Shopify products (parents & variants) into Flxpoint so you can manage them centrally. You’ll connect Shopify, choose a few settings (like Set New Listings to Paused and Master SKU), and run the import manually (no scheduling).

What is “Master SKU”? It’s the unique ID Flxpoint uses to identify each item. A good choice is the Shopify Variant SKU or Barcode.
  • 1Connect Shopify
    New to this? Click Create Connection, choose Shopify (OAuth), and approve the app on your store. If you already connected your store, just pick it from the list.
  • 2Configure Settings
    • Set New Listings to Paused — Start new imports as Paused so you can review and link to sources first.
    • Master SKU — Choose which Shopify field becomes your unique ID in Flxpoint (usually Variant SKU or Barcode).
    • Product & Listing Management — Decide whether we only create new items or also update existing ones when a match is found.
    Why “Paused” helps: It gives you a safe review step to catch errors before activating listings.
  • 3Run the Import
    Click Run Sync. This runs on demand (no scheduler).
    After completion, check Recent Notifications for created/updated counts and any errors.
notes
  • Don’t have Variant SKUs? Add SKUs in Shopify first. Missing SKUs often cause “SKU must be provided” errors.
  • Unsure about Master SKU? Pick the field that’s unique per variant. If in doubt, use Variant SKU.
Manage Imported Listings
  • Review Paused Items: Go to Channel Listings, open the Paused items, verify data, and connect to sources if needed.
  • Unpause Listings: Select the listings → Actions → Edit → Unpause.
  • Product & Listing Management modes:
    • Create Products & Listings Only: Import & link by SKU; create new when no match exists.
    • Create New Products Only: Build new products in Flxpoint without touching existing ones.
    • Create and Update Products & Listings: Import & link by SKU and overwrite matches with Shopify data; create when no match exists.
What We Import (Fields)

Parents and variants from Shopify, including core details, images, and metafields.

Listing Parent Fields
Shopify Field Maps To Example Purpose Status
externalListingId Flxpoint externalListingId 123456789 Identifies the parent listing Supported
SKU (Handle) Flxpoint SKU product-handle Identifier for the product Supported
Title Flxpoint Title Blue T-Shirt Product name Supported
Description Flxpoint Description Comfortable cotton t-shirt Product description Supported
Manufacturer Flxpoint Manufacturer BrandX Product manufacturer Supported
Images Flxpoint Images image_url.jpg Product images Supported
customField (Product Metafields) Flxpoint customField color: blue Additional product metadata Supported
Attributes (Tags) Flxpoint Attributes tag: summer Product attributes Supported
Category1/2/3 (CustomCollections) Flxpoint Categories 1–3 Apparel / T-Shirts / Casual Category context Supported
Listing Variant Fields
Shopify Field Maps To Example Purpose Status
externalListingId Flxpoint externalListingId 987654321 Identifies the variant Supported
SKU Flxpoint SKU variant-sku-001 Unique identifier Supported
UPC (Barcode) Flxpoint UPC 012345678905 Universal product code Supported
Title Flxpoint Title Blue T-Shirt – Medium Variant name Supported
Price / MSRP / SalePrice Flxpoint Price / MSRP / SalePrice 29.99 / 39.99 / 24.99 Pricing Supported
Quantity Flxpoint Quantity 100 Available stock Supported
customFields (Variant Metafields) Flxpoint customFields size: medium Additional metadata Supported
Options Flxpoint Options Medium, Blue Variant options Supported
Weight / Unit Flxpoint Weight / Weight Unit 0.5 / lbs Weight & unit Supported
Quick Troubleshooting
  • “SKU must be provided…” — Add Variant SKUs in Shopify, then re-run the import.
  • Connection errors — Re-authorize the Shopify app or confirm the correct store connection.
  • Unexpected overwrites — If you chose “Create and Update…”, Shopify data will overwrite matched items. Pick the mode that fits your workflow.
Tip: In Shopify, filter for “variants without SKU” and fix them before importing to avoid errors.
Key Details
  • Manual Execution: Import Listings doesn’t support scheduling.
  • Master SKU: Choose a unique field (Variant SKU or Barcode) to ensure clean linking and updates.
  • Results: Check Recent Notifications after each run for counts and error messages.
 
 

Sync & Link Listings

Introduction

Shopify — Sync & Link Listings keeps your Shopify product price, quantity, and key attributes in sync with your Flxpoint listings. You’ll (1) connect Shopify, (2) configure linking and sync options (Location ID, Linking Priority, etc.), and (3) define a Sync Listings mapping template so we know which fields to send. You can run on demand or schedule it.

  • 1Connect Shopify: Choose (or create) your Shopify connection via OAuth and click Save and Proceed.
    Note: If you manage multiple stores, double-check you authorized the correct shop domain before proceeding.
  • 2Configure Settings:
    • Location ID — Inventory location to update. Must match a valid Shopify location or quantities won’t move.
    • Linking Priority — Add rows like Listing Variant → SKUShopify Variant → SKU. We try from top to bottom until a match is found.
    • Scheduling — Optional. Enable a cadence (e.g., hourly/daily) if you want automatic sync.
    Click Save and Proceed.
  • 3Define a Mapping Template: Select your Sync Listings template (e.g., Shopify Sync Listings 1) so we know which fields to send to Shopify (Quantity, Price, SKU, etc.). Save, then Run Sync or let the schedule take over.
What you’ll see
  • Wizard steps: Connect an Integration, Configure Settings, Define a Mapping Template — each shows a check mark when complete.
  • Tooltips that explain Linking Priority (“rows are tried top to bottom”).
  • A scheduling toggle on the Configure screen if you want automation.
Tip: Start with SKU ↔ SKU as your first Linking Priority row. Only add UPC/Barcode as fallbacks if you truly need them.
Template Index
Template Use Case What it Covers Availability
Shopify Sync Listings 1 Keep Shopify price/qty in sync Maps List Price → Price, Quantity → Quantity, SKU → SKU. Available
Field Mapping (Shopify Sync Listings 1)

How your Flxpoint listing fields flow to Shopify.

Flxpoint Field (From) Shopify Variant Field (To) Type Required? Notes
Listing Variant → Quantity Quantity Number Yes Inventory updates occur at the selected Location ID.
Listing Variant → List Price Price Number Recommended Use rules if you need markups/rounding.
Listing Variant → SKU SKU Text Recommended Primary match key for Linking Priority.
Rules You Can Use
Rule Type When it Helps What it Does
Markup price by % Number Create Shopify selling price from cost or list price Applies a percentage increase and can round to .99.
Clamp min/max quantity Number Prevent over-listing or under-listing Forces the sent qty within your safe range (e.g., 1–50).
When SKU starts with … then set value String Account for vendor prefixes Outputs a different field or flag when the pattern matches.
Sets, Lists & Builders
Utility Availability How You Might Use It
Mapping Sets Optional — available Combine inputs (e.g., base price + fee) into one output.
Lists Optional — available Reusable value lists (approved brands, restricted SKUs).
Builders Optional — available Create custom outputs if your Shopify workflow needs them.
Quick Checks
  • Shopify connection is authorized and saved.
  • Location ID is set to a valid Shopify inventory location.
  • Linking Priority includes at least one reliable pair (usually SKU ↔ SKU).
  • A Sync Listings mapping template is selected and saved.
  • Scheduling is enabled if you want automation; otherwise run manually.
Troubleshooting
  • Quantity didn’t change — Confirm the template maps Quantity → Quantity and that the location matches your Shopify Location ID. Ensure “Track inventory” is enabled on the variant in Shopify.
  • Nothing linked — Review Linking Priority; start with SKU ↔ SKU. Make sure your Shopify variants actually have SKUs.
  • Price not updating — Verify List Price → Price is mapped and that no other app overrides price after our sync.
  • API throttling — Shopify may rate-limit. Space your schedule (e.g., hourly) and reduce batch sizes if available.
  • Hidden vs Delisted — “Hide” (set to out-of-stock / remove sales channel visibility) is reversible; “Delist” requires publishing again.
Operation Details
Feature Availability What to Expect
Hiding Supported Use rules to hide when qty ≤ 0 or based on flags.
Delisting Supported Removes item from sale; re-publish to restore.
Custom Fields Not primary Sync focuses on price/qty/SKU; other attributes depend on your template.
Multiple Locations Supported (single target) Sync applies to the chosen Location ID for this integration.
Scheduling Supported Run on demand or enable a recurring schedule.
Tip: Keep SKUs unique and consistent across suppliers and Shopify. It makes linking deterministic and avoids duplicate listings.
 
 

Publish Listings

Introduction

Shopify — Publish Listings creates or updates Shopify products and variants from your Flxpoint listing data. You’ll (1) connect Shopify, (2) configure publishing settings like Location ID and optional Publication IDs, and (3) choose a Publish Listings mapping template to control which fields are sent (Title, Description, Tags, Category, SKU, Price, images, metafields, and more).

  • 1Connect Shopify: Add Shopify — Publish Listings and select your Shopify connection (API credentials or OAuth2). Click Save and Proceed.
  • 2Configure Settings:
    • Location ID — set the Shopify inventory location ID used for publishing.
    • Publication IDs (optional) — publish to one or more Shopify publications using a comma-separated list. Use either numeric IDs or full GIDs consistently, and do not include spaces.
      Numeric: 1234567890,9876543210
      GID: gid://shopify/Publication/1234567890,gid://shopify/Publication/9876543210
      Invalid: 1234567890, 9876543210 (spaces)  |  1234567890; (semicolon)
    • Truncate Title to 255 — prevents publish failures when titles exceed Shopify limits.
    • Additional Variant Images — uploads variant-specific images when a parent image exists (useful for color-based variants).
    • Namespace & Use Underscore in Meta Fields Name — controls how metafields are named when sending custom data.
    • Auto-Create Smart Collection — optionally create Smart Collections based on mapped Product Types.
    • Advanced Image Duplication Logic — helps prevent duplicate image uploads by caching checksums.
    • Sort Variants by Option Position — sorts variants by option order when creating new parent products.
    • Automate (optional) — schedule publishing jobs (runs in UTC).
    Click Save and Proceed.
  • 3Define a Mapping Template: Select your Publish Listings mapping template (e.g., Publish Listings 1) to control which fields are sent to Shopify (Title, Description, Tags, Category, SKU, Price, images, metafields, etc.). Then run manually or set a schedule.
What you’ll see
  • Wizard steps: Connect an Integration, Configure Settings, Define a Mapping Template.
  • Settings include Location ID, optional Publication IDs, image behavior, title truncation, metafield namespace options, and scheduling.
  • Mapping template grid with Flxpoint fields (left) → Shopify fields (right), plus options like Don’t Map, Set to Empty, Value, and Rules.
Template Index
Template Use Case What it Covers Availability
Publish Listings 1 Create/update Shopify products & variants Parent fields (Title, Description, Product Type, Tags, Category) + Variant fields (SKU, Price, Compare at Price/MSRP, Weight/Unit) + Images + Metafields (when configured). Available
Common Field Mappings (Publish Listings 1)

Quick snapshot of how Flxpoint listing fields commonly map into Shopify for publishing.

Flxpoint Field (From) Shopify Field (To) Type Required? Notes
Listing Parent → Title Title Text Recommended Enable Truncate Title to 255 if needed.
Listing Parent → Description Description Text/HTML Optional Use your content rules to standardize formatting.
Listing Variant → SKU Variant SKU Text Yes SKU uniquely identifies variants; must be mapped.
Listing Variant → List Price Variant Price Number Recommended Primary sell price in Shopify.
Listing Variant → MSRP Compare at Price Number Optional Should be greater than or equal to Price.
Listing Parent → Attributes Tags List/Text Optional Sent as comma-separated tags.
Listing Parent → Category 1 Category Text Optional Use Shopify taxonomy IDs (GID format) when applicable.
Images (Parent/Variant) Images List Recommended Use duplication logic to prevent repeated uploads.
Rules You Can Use
Rule Type When it Helps What it Does
Title normalization String Inconsistent parent titles Standardizes capitalization/formatting; pairs well with title truncation.
Tag builder String/List You want consistent tagging Creates Shopify tags from attributes, brands, categories, or static values.
Category mapping Rule/Lookup You use Shopify taxonomy IDs Maps Flxpoint category values to Shopify taxonomy category GIDs.
Price guardrails Number Prevent bad pricing Blocks prices below a threshold or rounds to a preferred ending.
SKU requirement: If SKU is not mapped, publishing can fail because Shopify can’t identify the correct variant to create/update.
Publication IDs in templates (when available)

If your mapping template exposes a Publication IDs field, enter a comma-separated list with no spaces. Use either all numeric IDs or all GIDs.

Quick Checks
  • Shopify connection saved on Step 1.
  • Location ID set correctly for your Shopify store.
  • SKU is mapped in the Publish Listings template.
  • Variant options stay within Shopify limits (max 3 options, max 100 variants).
  • If using Publication IDs, the list is comma-separated with no spaces and a single consistent format (all numeric or all GIDs).
Troubleshooting
  • Title length failures — enable Truncate Title to 255.
  • Invalid Publication IDs — use commas only, no spaces; keep all IDs in the same format (all numeric or all GIDs).
  • Change not applied to existing products — publication targeting applies on create/unhide. Use hide → unhide to re-apply publications.
  • Variant option limit — ensure no more than 3 options and no more than 100 variants per product.
  • Metafield issues — verify Namespace/Key conventions and that the metafield type matches what Shopify expects.
  • Image upload issues — confirm image size/format requirements and enable Advanced Image Duplication Logic to reduce duplicates.
  • Category mapping issues — ensure the taxonomy category ID (GID) is valid and matches Shopify’s taxonomy.
  • Product/variant mismatches — if a product or variant was deleted in Shopify, unlink/re-link in Flxpoint before re-publishing.
Operation Details
Feature Availability Notes
Products & Variants Supported Creates/updates Shopify parent products and variants based on your mapping template.
Variants / Options Supported Max 3 options per product; max 100 variants per product.
Metafields Supported Requires correct namespace/key behavior as configured in settings/templates.
Tags (from attributes) Supported Attributes can be published as Shopify tags (comma-separated).
Categories Supported Map to Shopify taxonomy category IDs where applicable.
Images Supported Supports parent and (optionally) variant images; duplication logic helps prevent re-uploads.
Multiple Publications Supported Set via Publication IDs (comma-separated). Applied on create/unhide, not every routine sync.
Scheduling Supported Optional automation runs in UTC.
 
 


 

Order Operations

Get Orders

Introduction

Shopify — Get Orders imports orders from Shopify into Flxpoint and lets you control which orders and lines arrive. You can keep your preferred Shopify order number in Flxpoint and support print-on-demand “In Progress” flows.

  • 1Connect: Authorize your Shopify store and click Save and Proceed.
  • 2Filters & Statuses:
    • Where: Get Orders → Step 2: Filters
    • Fulfillment status: select unfulfilled and/or partial. These include orders whose underlying fulfillment orders are open or in_progress.
    • Financial status: include the statuses you need (e.g., paid, authorized).
    Why this works: Shopify tracks production at the fulfillment-order level. Using unfulfilled/partial reliably brings in those jobs while they’re in progress.
    Quantity note: Map line Quantity from line_items.quantity. Using fulfillable quantity can cause orders to import “On Hold”.
  • 3Advanced options (optional):
    • Import Already Fulfilled Order Items — bring in lines with fulfillable_quantity = 0 for accounting/reporting.
    • Allow Zero Fulfillable Shipment — marks those lines as shippable so you can create Fulfillment Requests and Purchase Orders. Use this with the option above.
    • Import Items from Configured Location Only — include only the line items that belong to the Shopify fulfillment order for the Location ID you entered in the channel. Default: Off. Turn this on if you route by location and don’t want items from other Shopify locations (e.g. “LA” warehouse) to be imported.
    Use case: A Shopify order has lines for “Dropship” (ID 66772992197) and for “LA” (ID 68039311557), but your channel is configured with the Dropship Location ID. With this option enabled, only the Dropship lines are saved in Flxpoint, so your external fulfillment rules continue to work.
  • 4Run or Schedule: Test with a manual run, then enable a schedule if you want automation.
Order Reference & IDs

Choose which Shopify identifier becomes your Flxpoint Order Reference Number to keep reporting consistent.

Flxpoint Field Shopify Property Looks Like When to Use
Order Reference Number order.name #1001 Matches the label seen in Shopify UI.
Order Reference Number order.order_number 1001 Numeric only; ideal when downstream systems expect digits.
Order Reference Number order.id (Shopify orderId) gid or numeric ID Best for cross-system joins and shipment lookups.
Core Line-Item Mappings
Flxpoint Line Field Shopify Property Notes
SKU line_items.variant.sku Primary match key for routing and linking.
Quantity line_items.quantity Use this (not fulfillable qty) to avoid On-Hold imports.
Unit Price line_items.price Pre-discount unit price.
Line Discount line_items.total_discount Optional: map if you need discount detail per line.
Title / Variant line_items.title, line_items.variant_title Optional metadata for docs and packing slips.
Related (Source) note: If you also connect Shopify as a Source, use Get Shipments by the Shopify order.id saved to the FR. You can import the order from the channel and the tracking from the source—without routing the FR.
Quick Checks
  • Shopify connection is authorized and saved.
  • Filters include unfulfilled/partial (and the needed financial statuses).
  • Quantity mapping uses line_items.quantity.
  • Advanced options are enabled if you need fulfilled lines (and set to shippable).
  • Schedule is set if you want automation; otherwise run on demand.
Troubleshooting
  • Order “On Hold” — Check Quantity mapping; use line_items.quantity. Re-run the job.
  • Missing already-fulfilled lines — Enable Import Already Fulfilled Order Items.
  • Need FR/PO from fulfilled lines — Also enable Allow Zero Fulfillable Shipment.
  • Order not fetched — Loosen financial/fulfillment filters temporarily to confirm visibility.
  • Lines from other Shopify locations are appearing — Confirm the Shopify Location ID in the channel and enable Import Items from Configured Location Only (Advanced). This enforces location-level imports when your routing depends on a single location.
  • Tracking won’t import (POD flow) — Save Shopify order.id as reference and use the source’s “fetch shipments by orderId”.
  • Rate limits — Shopify throttling can delay runs. Space schedules (e.g., hourly) and reduce batch sizes if available.
Key Details
  • Fulfillment logic: Shopify’s order-level fulfillment_status is legacy; including unfulfilled/partial captures in-progress fulfillment orders.
  • Defaults: All advanced options, including location-restricted importing, are Off by default.
  • Best practice: Keep a test order to validate mapping and filters before scaling.
 
 

Sync Orders

Introduction

Shopify — Sync Orders sends shipment updates from Flxpoint to Shopify: tracking numbers/URLs, carrier, and status. You can optionally post a Closed status for orders with partial or no fulfillment (useful for in-store/POS flows). Multi-location is supported via Location ID.

  • 1Connect Shopify: Create/select your OAuth connection and click Save and Proceed.
  • 2Configure Settings:
    • Location ID — Required. Fulfillments post to this Shopify location.
    • Sync “Closed” Order Status — Optional. Sends a Closed status for orders with partial/no fulfillment (common for in-store orders).
    • Shipping Mappings — Map Shopify rates (e.g., Free, Expedited) to your Flxpoint policies (Ground, Two Day, etc.).
    • Channel Shipping Text (In-Store) — Map text such as “In-Store”/“POS” so your In-Store workflow rules can identify these orders.
  • 3Run the Sync: Use Run Sync to post fulfillments. If a shipment spans multiple locations, lines from the selected Location ID post now; others retry on the next run.
Shipping Mappings

Align your Shopify rate names with Flxpoint shipping policies.

Shopify Rate Flxpoint Policy Example Use
Free Ground Free economy shipments
Standard Two Day Shipping Guaranteed 2-day delivery
Expedited Expedited Paid faster option
Multi-Location
  • Location ID is required. Verify the numeric ID in Shopify and enter it here so fulfillments hit the right location.
  • Mixed-location orders: Lines for your selected Location ID post now; other locations are retried on subsequent runs.
Tip: If you support in-store/POS orders, map the Channel Shipping Text (“In-Store”) and consider enabling Sync “Closed” so Shopify reflects the final state you expect.
Template Overview
  • Template type: Sync Orders (e.g., “Shopify Sync Orders 1”).
  • UI has columns for Flxpoint Shipment (left) → Shopify Fulfillment (right).
  • Common actions: Save Mapping, Duplicate, Delete.
Required & Common Fields
Flxpoint Field Shopify Field Required? Notes
Shipment → Tracking Number Tracking Number Required Primary identifier for the fulfillment.
Shipment → Carrier Tracking Company Recommended Carrier name (UPS, USPS, FedEx, etc.).
Shipment → Tracking URL Tracking URL Optional Deep link to carrier tracking.
Notify Customer (value/rule) Notify Customer Optional Set to true to email customers on post.
Location (integration) Location ID Required (via config) Usually set by the integration using your Location ID.
Mapping Options
  • Don’t Map — field not sent.
  • Set to Empty — clears destination value.
  • Field — map a Flxpoint field (e.g., Tracking Number → Tracking Number).
  • Value — static value (e.g., true for Notify Customer).
  • Rules — conditional outputs (e.g., notify only when Carrier = UPS/FedEx).
Common error if unmapped:
Invalid request: Missing required field ‘Tracking Number’ for fulfillment sync
Quick Checks
  • Shopify OAuth connection is saved.
  • Location ID is correct and active in Shopify.
  • Template maps Tracking Number (and preferably Carrier + Notify Customer).
  • Shipping Mappings cover your live rate names.
  • Sync “Closed” is only enabled if you truly want that status posted.
Troubleshooting
  • Shipment didn’t post — If the product was deleted in Shopify after order creation, Shopify can’t attach the fulfillment. Re-link the product/variant in Shopify & Flxpoint, then re-run.
  • Wrong location — Verify the numeric Location ID matches the items being fulfilled.
  • No customer email — Set Notify Customer to true (value or rule) in the template.
  • Mixed-location orders — Only lines for your Location ID post in the current run; others retry next run.
  • API rate limits — Stagger runs or reduce batch size if available.
Key Details
  • Required: Tracking Number mapping and a valid Location ID.
  • In-Store/POS: Use Channel Shipping Text mapping and consider posting Closed to mirror your POS behavior.
  • Scope: Sync Orders pushes fulfillments/status; it does not re-price or re-publish products.
 
 


 

 

Troubleshooting Flashcards

Product not publishing

Publish Listing

Item exists but isn’t visible in the Shopify storefront.

  • Product status is set to Draft or not available to the channel.
  • Missing required fields, images, or invalid handles.
ProductsPublish

Fix

  • Ensure status = Active and the product is available to the intended sales channel.
  • Provide title, description, at least one image, and a valid URL handle.
  • Re-send the publish job and confirm in the Products list.

Advanced image duplication logic

Images

Shopify rejects or deduplicates images unexpectedly.

  • Duplicate URLs or identical image hashes are detected.
  • Variant-level vs product-level image mismatch.
AssetsDedup

Tips

  • Use unique, stable HTTPS URLs; avoid reusing the same CDN link for multiple images.
  • Attach variant-specific images at the variant level; general assets at the product level.
  • Remove exact duplicates; ensure dimensions ≥ 1000px on the largest side.

Compare-at lower than price

Pricing

Validation error: compare_at_price must be > price.

  • “Price” and “Compare at price” fields inverted or rounded down.
ValidationRules

Fix

  • Ensure compare_at_price > price for discounts to render properly.
  • Adjust rounding rules and minimums to avoid inversions.
  • Re-send price update and verify on the PDP.

Publication / Channel ID issues

Sales Channels

Wrong or missing publication/channel ID blocks availability.

  • Product exists but not available to the intended channel/app.
  • Multiple channels with different publication IDs.
PublishIDs

Fix

  • Verify the correct publication/channel ID from your Shopify store.
  • Map that exact ID in the publish step; re-send availability for the target channel.
  • If using multiple channels, ensure each has explicit availability set.

Variants rejected

Variants

Option values or SKUs collide across variants.

  • Duplicate SKUs or missing option names (e.g., Size/Color).
  • Variant requires barcode/SKU fields per policy.
OptionsSKU

Fix

  • Provide consistent option names (e.g., Option1=Color, Option2=Size).
  • Ensure unique SKUs per variant; add barcode if required.
  • Recreate invalid variants rather than patching broken ones when needed.

Inventory not updating

Inventory

Stock levels remain unchanged in Shopify.

  • Wrong location or tracking disabled at variant level.
  • Multiple jobs/sources competing over qty.
QtyLocations

Fix

  • Confirm inventory location ID and that “Track quantity” is enabled on variants.
  • Ensure one system “owns” qty updates; avoid duplicates.
  • Re-send inventory for the correct location/variant IDs.

Price not updating

Pricing

API response OK but PDP shows old price.

  • Rules/rounding overrides or app conflicts.
  • Updating the wrong variant ID or currency miss.
RulesVariants

Fix

  • Target the correct variant_id and currency.
  • Check price rules/discount apps that rewrite prices after updates.
  • Clear caches or refresh the PDP; validate in Admin first.

Order not importing

Orders

New orders aren’t appearing in the workflow.

  • Webhook not installed or paused; filter excludes orders.
  • Financial/fulfillment status not matching your criteria.
WebhooksFilters

Tips

  • Confirm order webhooks/app is active and subscribed to orders/create.
  • Remove overly strict filters (e.g., only “paid” if you also need “authorized”).
  • Test with a fresh order; check logs for delivery status.

Fulfillment/tracking rejected

Fulfillment

Update fails or duplicated fulfills are blocked.

  • Invalid tracking URL/carrier or fulfillments out of order.
  • Trying to re-fulfill a fully shipped order.
TrackingAPI

Fix

  • Use supported carriers or set custom tracking URL when needed.
  • Fulfill line items once; update tracking instead of re-creating fulfillments.
  • Handle partials correctly (one fulfillment per shipment).

Handle/SEO conflicts

Content

Duplicate handles or invalid characters block publishing.

  • URL handle already taken by another resource.
  • Special characters/length issues in titles or handles.
SEOURLs

Fix

  • Generate unique handles (slugified title + suffix if needed).
  • Remove unsupported characters; keep length reasonable.
  • Re-send product and confirm the final handle in Admin.

App/metafield dependencies

Apps

Publishing depends on required metafields/apps.

  • Missing metafields required by themes or apps.
  • App-enforced validations failing silently.
MetafieldsThemes

Tips

  • Define required metafields (namespace/key) before publish.
  • Check theme/app docs for mandatory fields/validation.
  • Re-send with those fields populated; verify via GraphQL Admin API if needed.

Throttling / timeouts

API

Large batches hit rate limits or timeouts.

  • GraphQL/REST limits exceeded; partial failure.
  • Long-running image uploads stall batches.
Rate LimitBatches

Tips

  • Batch by brand/category; respect leaky-bucket limits.
  • Retry with backoff; monitor API cost (GraphQL) and headers (REST).
  • Upload images first; then attach to products/variants.