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

Walmart — Publish Listings creates new Walmart product listings from your Flxpoint data. You’ll (1) connect Walmart, (2) set options like ship region/method, tax code, fulfillment lag time, and optional template IDs, and (3) choose a Publish Listings mapping template that sends Description, GTIN/UPC, Title, Weight, Price, Categories and more. Finished steps show a check mark in the wizard.

  • 1Connect Walmart: Pick your Walmart connection and click Save and Proceed.
  • 2Configure Settings:
    • Ship Region & Ship Method — choose where/how you ship.
    • Remove Free Shipping & Shipping Cost — set a uniform cost (mapping can override).
    • Tax Code — a Walmart tax code for all products (mapping can override).
    • Fulfillment Lag Time — required for Walmart Canada; days between order and ship.
    • Listing End Date — optional expiration in days.
    • Fulfillment ID & Shipping Template ID — optional Walmart IDs you may pass per product.
    • Advanced — enable Product ID Override or Product SKU Override if you need to update an existing Walmart association (don’t enable both at once).
    • Publication/Channel ID — if your workflow originates from Shopify content, ensure the correct Publication (Sales Channel) ID from your Shopify store is selected or mapped where applicable. Stores with multiple sales channels (Online Store, POS, custom channels) can have multiple publication IDs; using the wrong ID may cause content/images to fail validation on Walmart.
      Tip: In Shopify Admin → Settings → Apps and sales channels, note the specific sales channel you publish from. If your Flxpoint template or rules reference a Publication/Channel ID, make sure it matches that channel.
    Click Save and Proceed.
  • 3Define a Mapping Template: Select your Publish Listings mapping template (e.g., Publish Listings 1) so we know which fields to send to Walmart (Description, Identifier, Brand, Weight, Item Price, Category/Aspects, Images, etc.). Then run manually or set a schedule.
What you’ll see
  • Wizard steps: Connect an Integration, Configure Settings, Define a Mapping Template.
  • Tooltips for fields like Tax Code, Fulfillment Lag Time, template IDs, and Publication/Channel ID.
Template Index
Template Use Case What it Covers Availability
Publish Listings 1 Create new Walmart items Required category aspects + Variant fields (Description, GTIN/UPC/EAN, Images, Item Price, Quantity, Title, Weight, Manufacturer/Brand, SKU, Category fields, etc.). Available
Common Field Mappings (Publish Listings 1)

Quick snapshot of how Flxpoint fields flow into Walmart for publishing.

Flxpoint Field (From) Walmart Field (To) Type Required? Notes
Listing Parent → Description Description Text Yes Parent or variant description supported.
Listing Variant → GTIN / UPC / EAN GTIN / UPC / EAN Text Yes (one valid ID) Validate length; add leading zeros with a rule if needed.
Listing Parent → Brand Manufacturer / Brand Text Yes Brand/manufacturer on Walmart.
Listing Variant → Weight Weight Number Yes Weight is mandatory to publish.
Listing Variant → List Price Item Price Number Yes Your selling price on Walmart.
Listing Parent → Category (Walmart) Category/Aspects Text Yes Sub-category must match Walmart taxonomy.
Listing Variant → SKU SKU Text Yes Primary item identifier.
Images (Parent/Variant) Images List Yes Provide at least one valid image URL.
Rules You Can Use
Rule Type When it Helps What it Does
UPC padding String/Number UPC is 11 digits Prefixes a 0 to make a valid 12-digit UPC.
Price rounding Number Consistent endings Rounds Item Price to .99.
Min/Max price guard Number Respect MAP Prevents Item Price from falling below your MAP floor.
Sets, Lists & Builders
Utility Availability How You Might Use It
Mapping Sets Optional — available Compose Item Price from base + fees.
Lists Optional — available Keep valid category labels or restricted brands.
Builders Optional — available Create a custom output if your category needs extra structure.
Quick Checks
  • Walmart connection saved on Step 1.
  • Weight, valid identifier (GTIN/UPC/EAN), images, manufacturer/brand, description and Walmart category are present.
  • Fulfillment Lag Time set (required for Canada).
  • If using template IDs, provide Fulfillment ID and/or Shipping Template ID as needed.
  • If your content starts from Shopify data, ensure the correct Publication/Channel ID is referenced where applicable.
MAP / MSRP — What’s supported?

There is no direct field in the mapping template to send MAP/MSRP as separate attributes. To honor MAP/MSRP:

  • Price Rules in Flxpoint: set Item Price equal to your MAP when present, or block prices below MAP.
  • Walmart Repricer: configure the repricer in Seller Center; our feed provides the base Item Price and Walmart applies adjustments.
Troubleshooting
  • Advanced image duplication logic error — Walmart may reject duplicate primary images or repeated URLs:
    • Ensure the main image is unique and high quality; remove exact duplicates from the image set.
    • If sending parent + variant images, verify URLs are distinct per variant where applicable.
  • “Compare at price” is lower than “Item Price” — Walmart expects the reference/compare price to be greater than your Item Price:
    • Adjust your rule so Item Price ≤ Compare at price (or omit compare price if not needed).
    • Re-run the publish job after correcting the values.
  • Publication/Channel ID issue (from Shopify) — If your template/rules reference a Shopify Publication (Sales Channel) ID:
    • Confirm the correct Publication/Channel ID for the sales channel you actually use in Shopify (Online Store, POS, custom channel).
    • Mismatch can cause media/content validation failures on Walmart. Align the ID and republish.
  • Product not uploading
    • Condition must be New or Refurbished.
    • Sub-category must match Walmart taxonomy.
    • Required fields can’t be empty: Weight, Country Code, UPC/GTIN, Image, Manufacturer, Description, Category.
  • Fields not publishing — verify mappings are enabled in your template (Description, GTIN/UPC/EAN, Category, Item Price, Weight).
  • Delays — new listings can take up to 24 hours to appear after feed submission.
Operation Details
Feature Availability Notes
Custom Fields Not supported
Attributes / Tags Not supported
Variations / Options Not supported Publish is for single-variant offers (use category aspects where required).
Generic Pricing (& Currency) Supported Sends Item Price from your template/rules.
Client Pricing (& Currency) Not supported
Quantity Supported Sent when required by category.
Multiple Warehouses Not supported
Weights & Dimensions Supported Weight is mandatory to publish.
Images Supported Provide valid URLs.
Categories Supported Must match Walmart taxonomy.
Overwriting Supported Supported UPC/ID or SKU association can be updated via overrides (don’t enable both simultaneously).
Offerings vs Creation Supported New product can be created; requires valid UPC/GTIN to match catalog.
HTML Descriptions Supported Basic HTML allowed by Walmart spec.
Limitations To update shipping on product, provide FULFILLMENT ID with the SHIPPING TEMPLATE ID when required.
 
 


 

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.
    Use case: Shopify Collective or POD flows where Shopify fulfills, but you still need POs and tracking in downstream systems.
  • 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.
  • Tracking won’t import (POD flow) — Save Shopify order.id as reference and use the source’s “fetch shipments by orderId”.
  • Order not fetched — Loosen financial/fulfillment filters temporarily to confirm visibility.
  • 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: Both advanced options 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.