# Fix Katana and Shopify Inventory Not Syncing

> Source: https://netray.co/erp-help/katana-shopify-inventory-not-syncing-fix
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

When Katana and Shopify disagree on stock, the cause is almost always a SKU mismatch, a location mapping problem, or a misunderstanding of which system owns the number. Katana pushes available stock to Shopify by matching variants on SKU, so fix the SKUs and the location settings first, then force a resync.

## Kind

error

## System

small-erp

## Erp

Katana MRP

## Module

Shopify integration / Inventory

## Query

Katana Shopify inventory not syncing

## Alternate Queries

- Katana stock levels not updating in Shopify
- Katana Shopify products not matching SKU
- Katana Shopify sales orders not importing
- Shopify inventory wrong after Katana sync

## Applies To

Katana Cloud Inventory / Katana MRP with the native Shopify integration; applies to single and multi-location Shopify stores

## Steps

### How to fix Katana to Shopify inventory sync problems

**Items:**

- In Katana open Settings > Integrations > Shopify and confirm the connection shows as active; reconnect if the status shows an authorization problem.
- Compare the SKU of one failing product in Katana (Items > Products or Materials) with the SKU on the matching Shopify variant. They must be identical, including case, spaces and trailing characters.
- Check that every Shopify variant has its own SKU. Variants with an empty SKU cannot be matched and will be skipped or imported as unmatched lines.
- Review the location mapping in the integration settings: the Shopify location that receives stock must map to the Katana location whose availability you want to publish.
- Confirm which stock figure is pushed. Katana publishes available stock (in stock minus committed to open sales orders), so a Shopify number lower than the shelf count can be correct.
- Check that the Shopify item is set to track inventory at that location, otherwise Shopify ignores incoming quantity updates.
- Look for open sales orders or manufacturing orders in Katana that are committing stock; resolve or cancel the stale ones and watch the Shopify number move.
- Trigger a manual resync or edit the stock on one item to force an update, then verify in Shopify admin under Products > Inventory.

## Sections

### How the sync decides what to update

**Body:**

Katana does not guess which Shopify product is which. It relies on the SKU as the join key between a Katana product or variant and a Shopify variant. If the key differs by even one character, Katana treats the Shopify line as a different item. The visible symptoms are orders that import with unmatched lines, or stock changes in Katana that never appear on the storefront.

The second key is the location. Shopify holds a quantity per location, and Katana holds stock per its own locations. The integration needs an explicit mapping between the two. If you added a Shopify location after connecting, or renamed a Katana location, the mapping may point at nothing and quantity updates fail without a loud error.

### Why the numbers look wrong even when sync works

**Body:**

Most sync complaints turn out to be a definitions problem. Katana separates in stock, committed (allocated to sales orders and manufacturing orders) and available (expected). Shopify only has one editable number per location, so the integration publishes the available figure. If a large open sales order is committing 40 units, Shopify will show 40 fewer than the warehouse count.

Bundles and kits cause a similar confusion. A Shopify bundle product has no stock of its own in many setups, so its Shopify quantity depends on how the components are modelled in Katana. If your bundle is a Katana product made through a recipe, its stock is the produced stock, not the stock of its ingredients.

### Common data hygiene faults

**Body:**

Duplicate SKUs are the quiet killer. If two Katana items share a SKU, or two Shopify variants do, the match becomes ambiguous and updates land on the wrong record. Export both catalogs to CSV and run a duplicate check on the SKU column before blaming the integration.

Archived or deleted products are another source. If a Shopify product was archived while still carrying stock in Katana, or a Katana item was renamed with a new SKU while Shopify kept the old one, that item silently drops out of the sync. Align the SKU on both sides, not just one.

**Code:**

Quick audit with spreadsheet formulas (Katana export in column A, Shopify export in column B):
=COUNTIF(B:B, A2)   -> 0 means no match in Shopify
=COUNTIF(A:A, A2)   -> greater than 1 means a duplicate in Katana
=EXACT(A2, B2)      -> FALSE flags case or whitespace differences

### When to stop debugging and escalate

**Body:**

If SKUs, locations and tracking all line up and one item still does not update, test with a single product: change its stock in Katana by one unit and note the time. If Shopify changes within a few minutes the integration is healthy and you have a data problem on other items. If it never changes, collect the product SKU, the location names and a timestamp and open a ticket with Katana support.

Be honest about the limits of the native connector. It is built for straightforward product and order flows. Multi-warehouse routing rules, complex bundles, or a second sales channel that also writes stock can exceed what it handles, and a middleware or inventory-planning layer may be a better fit than more troubleshooting.

## Pitfalls

- Editing the SKU on only one side after the products were already linked; the link follows the SKU, so both must change together.
- Assuming Shopify should show shelf quantity when Katana publishes available quantity net of commitments.
- Leaving Shopify inventory tracking switched off on a variant, so incoming updates are accepted but never displayed.
- Adding a second app that also writes Shopify inventory, which then overwrites what Katana pushes.
- Adjusting stock directly in Shopify admin, which Katana will overwrite on the next push or which will create a mismatch you cannot trace.

## Ai Angle

An assistant grounded in your Katana and Shopify data can do the audit for you: compare both catalogs, list every SKU that exists on one side only or differs by whitespace, and explain a specific mismatch as in stock minus committed equals published. ERPray connects to systems like this read-only, shows the query it ran, and leaves any correction to a person to approve.

## Faq

### Does Katana push in stock or available stock to Shopify?

**Answer:** The integration publishes the available quantity, which is the physical stock minus quantities committed to open sales orders and manufacturing demand. That is why Shopify can legitimately show less than the shelf count. Check the committed column on the item in Katana before assuming the sync is broken.

### Why are my Shopify orders importing with unmatched items?

**Answer:** Unmatched lines mean Katana could not find a product or variant whose SKU equals the Shopify line SKU. Compare the two SKUs character by character, check for trailing spaces and case differences, and make sure the Shopify variant actually has a SKU filled in.

### Can I make Shopify the master for inventory instead?

**Answer:** The native design treats Katana as the source of truth for stock, with Shopify as the sales channel. If you must run Shopify as master you are outside the intended flow, and you should plan a different integration approach rather than fight the connector.

### How long should a stock change take to reach Shopify?

**Answer:** Under normal conditions changes arrive within a few minutes, but the exact timing depends on queueing and Shopify API limits. If one test item changes quickly and others do not, the cause is item data, not the connection itself.

## Search terms

Katana Shopify integration, Katana inventory not syncing, Katana Shopify SKU mismatch, Katana available vs in stock, Katana MRP Shopify orders, Shopify inventory wrong Katana, Katana location mapping Shopify, Katana unmatched items

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
