Home/Docs/Integrations

Shopify Syncing

How product sync works, detecting drift on edit, order import, stock push, and keeping your catalog in sync. (Beta)

The Shopify integration is currently in Beta.

How Sync Works

Product sync is a unified tool that handles importing, exporting, and reconciling products between AMS and Shopify. There's no separate "import" or "export" — everything happens in one flow.

Starting a Sync

  1. Go to My Business → Integrations and click the Full Sync And Compare button on the Shopify integration page.
  2. AMS fetches all products from your Shopify store and compares them with your AMS catalog.
  3. Products are automatically matched in three passes: first by linked Shopify ID (from a previous sync), then by SKU, and finally by product name.

The Syncing Information accordion at the top of the review page shows a summary of the comparison results, including match counts and any issues found.

Review and Resolve

After comparison, you'll see a summary:

  • Matched products — found in both AMS and Shopify. Expand each to see variant details, field differences, and new/missing variants.
  • AMS-only products — in AMS but not in Shopify. You can push these to your Shopify store.
  • Shopify-only products — in Shopify but not in AMS. You can import these into AMS.

For matched products with differences, you choose which value to keep for each field. Expand the variant section to see per-variant comparisons.

Applying Changes

Click Apply Changes to commit. AMS processes each product: updating fields, creating new products, importing variants, downloading images, and linking IDs. You can see progress while it runs.

Detecting Drift on Edit

When you edit a product that's linked to Shopify, AMS detects whether you changed any synced fields (name, description, price, status, etc.). If so, the product is marked Out of Sync with a brief toast so you know remediation is needed. Editing a variant on a linked product applies the same check to its parent product. Follow-up edits on an already-out-of-sync product don't re-toast — the chip is already amber, so the notification only fires on the transition.

AMS does not push these changes to Shopify automatically — remediation goes through the full sync review page so you can confirm exactly what gets pushed and resolve any conflicts with Shopify-side changes in one place.

Out of Sync Chip

On the product detail page, an amber Out of Sync chip appears next to the product status whenever a synced field has drifted since the last successful sync. The products list shows a single Sync N Products button in the page header that summarizes how many products are out of sync — clicking it takes you to the sync review page.

Sync to Shopify Button

On the product detail page, linked products show a Sync to Shopify button in the header. It takes you to the full sync review page where you can compare your entire catalog against Shopify, choose what gets pushed, and resolve conflicts.

Syncing Multiple Products

When products are out of sync, the product list page shows a Sync N Products button. Clicking it takes you to the full sync review page, which compares your entire catalog against Shopify. The out-of-sync products will appear in the matched section where you can review and apply changes.

Variant Sync

Variants are synced as part of their parent product. During sync:

  • Matched variants compare SKU, price, and option values
  • New Shopify variants are imported into AMS
  • New AMS variants are pushed to Shopify
  • Missing variants (previously synced but now gone) are flagged with action choices: Ignore (leave as-is), Archive / Delete (remove from the other side), or Re-create (restore on the missing side)

Editing a variant on a linked product also marks the parent product out of sync, just like editing the product itself.

Conflict Resolution

When a field has different values in AMS and Shopify, you choose which value to keep. Nothing is pre-selected — each conflicting field starts unselected, and you click the value you want to keep. The Apply button stays disabled until you’ve made a choice for every conflict.

Recommended Winners

As a guide, these are the values we’d typically recommend based on which system is the usual source of truth for that field — but the choice is always yours to click:

  • AMS for business fields: vendor, category, retail price, SKU, status
  • Shopify for marketing fields: name/title, description, option names, option values

Stock Conflicts

When AMS and Shopify disagree on the on-hand quantity for a linked variant, the sync compare flow surfaces a stock conflict alongside the existing field and variant conflicts. For each conflict you can:

  • Pick AMS — push the AMS quantity to Shopify on Apply. Recommended for most cases since AMS is your inventory source of truth.
  • Pick Shopify — pull the Shopify quantity into AMS, writing an audited stock-adjustment transaction.

Variants that use Auto-Stock can't be resolved by picking Shopify — their quantity comes from components, so you can't set it directly. Turn off Auto-Stock on the parent product first, or pick AMS to push the AMS value to Shopify.

Inventory Tracking Mismatch

When a Shopify variant has its inventory toggle off (Shopify shows “Inventory not tracked”) but the matched AMS product has Track Inventory turned on, the Resolve modal surfaces a dedicated track inventory conflict. This case previously broke inventory sync silently — the push to Shopify would be rejected without any signal in AMS.

  • Pick AMS (recommended) — AMS turns inventory tracking on for every affected Shopify variant before pushing stock. Use this when the merchant intent is to track inventory and the Shopify toggle was disabled by accident.
  • Pick Shopify — AMS turns Track Inventory off for the entire product. The Auto Stock toggle (if it was on) stops applying to that product until tracking is re-enabled, but the Auto Stock setting itself isn’t cleared — turning Track Inventory back on later restores the original Auto Stock behavior. Use this when the product really shouldn’t track inventory in either system.

Shopify’s inventory toggle is per-variant while AMS’s is per-product, so when variants disagree the Shopify side shows mixed (n/m tracked). Picking AMS flips every untracked variant on and clears the conflict for good. Picking Shopify disables tracking on the AMS side but the next sync will still flag this product until Shopify’s variants are uniform (either all tracked or all untracked) — finish the cleanup in Shopify, or re-pick AMS on the next run.

Bulk Resolution

For large catalogs with many conflicts, use the Accept All AMS or Accept All Shopify buttons to resolve all conflicts at once in favor of one system. You can still override individual fields after bulk resolution.

SKU Conflicts

When a product or variant has different SKUs in AMS and Shopify, a dedicated SKU conflict resolution modal lets you choose which SKU to keep. SKU conflicts are highlighted separately because SKU changes can affect matching in future syncs.

SKU Regeneration

AMS can regenerate SKUs for products and variants, then push the updated SKUs to Shopify in one step. This is useful when restructuring your SKU scheme or fixing inconsistencies. You can regenerate SKUs:

  • Business-wide — Regenerate all SKUs from Business Properties
  • Per-product — Regenerate the SKU for a single product from its detail page
  • Per-variant — Regenerate the SKU for a specific variant

When a product is linked to Shopify, SKU regeneration automatically pushes the new SKU to Shopify so both systems stay in sync.

Order Import

You can import Shopify orders into AMS as transactions. This lets you track Shopify sales alongside your other channels in the Sales dashboard.

Importing Orders

  1. Go to Sales Dashboard and click Import from Shopify.
  2. Select a date range to fetch orders from your Shopify store.
  3. Review the orders — each shows its line items, total, and SKU match status.
  4. Select the orders you want to import (already-imported orders are greyed out).
  5. Click Import to create AMS transactions for the selected orders.

Each imported order becomes a transaction with the Shopify Sale context. Orders that have already been imported are automatically skipped (no duplicates).

SKU Matching

During import, AMS matches each Shopify line item SKU to your AMS products:

  • Variant SKU match — matches to a specific product variant (best match)
  • Product SKU match — matches to a product without a specific variant
  • Unmatched — no matching SKU found in AMS. These items are still imported but won't be linked to a product. You can see unmatched SKUs flagged with an amber badge in the review.

Matched line items automatically pull the COGS (cost of goods) from the AMS product, so your profit calculations are accurate.

Currency Handling

If your Shopify orders use a different currency than your AMS business currency, a warning banner appears during review. Amounts are imported as-is without conversion — you can choose to skip mismatched orders if needed.

Product Stock Sync

Once Shopify is connected and you've linked products, AMS keeps your Shopify available quantity in line with the stock you actually have on hand — minus any wholesale reservations. Pushes run every few minutes automatically. The Overview tab on the Shopify integration page shows the health summary, the Push Log tab shows the audit trail, and the Settings tab is where pause, location, and Sold-Out Override live.

Sync Health at a Glance

The Overview tab's Product Stock Sync card shows four numbers:

  • Pending push — variants waiting for the next sync. They'll go out on the next cycle, or sooner if you click Push pending now.
  • Last synced — how long ago the most recent successful push finished.
  • Uninitialized — tracked variants AMS hasn't set a real stock number for yet. These are skipped from sync until you enter a quantity in Stock Management or run an initial sync.
  • Failed (24h) — pushes Shopify rejected in the last 24 hours. AMS retries them automatically on the next cycle; a persistent failure usually means the variant isn't stocked at the location you picked.

Push Log

The Push Log tab shows the last 30 days of stock pushes — one row per variant with the result (success, failure, or retrying), the quantity sent, and the timestamp. Use the log to:

  • Confirm that a stock change you just made actually landed in Shopify.
  • Investigate repeated failures — the most common cause is a variant that isn't stocked at the location you picked.
  • Check historical pushes if AMS and Shopify inventory reports disagree.

Entries older than 30 days are removed automatically.

Push Pending Now

If you just made a stock change and don't want to wait for the next cycle, click Push pending now on the Overview tab. It runs the next push immediately. The button disables itself while a push is in progress, and if another admin clicks it at the same time you'll see a brief “try again in a few seconds” message rather than two pushes fighting each other.

Pausing Stock Sync

The Sync stock to Shopify toggle on the Settings tab pauses or resumes pushes for your business. Use it if you're doing a big bulk edit and want to avoid pushing intermediate stock values to your storefront — flip it off, make your changes, flip it back on. AMS picks up any pending pushes on the next cycle once you've resumed.

If you see a banner that says “Inventory sync is paused by Artist Management Studios” that's a separate global pause we use during incidents — it'll clear on its own once the issue is resolved.

Sold-Out Override

The Settings tab includes a Sold-Out Override toggle. Turn it on to force a Shopify variant to show as sold out whenever AMS isn't tracking it — for example, a product where Track Inventory is off, or a brand-new variant with no stock entered yet.

When off (the default), AMS leaves those variants alone so you can manage them manually in Shopify Admin.

Inventory Location

AMS pushes stock to a specific Shopify location (most stores only have one). You picked this when you connected Shopify; you can change it from the Settings tab.

Switching to a different location pushes every linked variant's current AMS stock to the new location on the next sync cycle. The previous location's inventory in Shopify is left untouched — if you don't want stock listed there anymore, zero it out in Shopify Admin under Inventory → [old location]. AMS warns you about this in a confirmation dialog before any change.