If inventory level sync is on, Katana automatically pushes the available stock (of mapped products) to Shopify when the levels change. This keeps your storefront in step with what's actually on the shelves.
Inventory sync is one-way: Katana → Shopify. It's also opt-in — you turn it on per Shopify connection on the Inventory tab.
Turning sync on
Open the Shopify configuration page and select the Inventory tab.
Find the Sync inventory levels toggle and enable it.
By default, the switch is disabled, but can be enabled/disabled at any time without disconnecting the integration.
Note: Once enabled, don't edit inventory quantities directly in Shopify. Katana becomes the source of truth and overwrites manual changes with each sync.
When is the sync triggered?
Katana sends a stock update to Shopify whenever a mapped variant's stock changes:
Sales order created, edited, or fulfilled.
Manufacturing order created, completed, or unlinked.
Purchase order received.
Stock transfer or stock adjustment recorded.
Sync isn't instant across your entire catalog — variants are pushed only when their stock data changes. Katana also runs an overnight reconciliation that pushes recent fulfillment-related changes even when no stock movement occurred.
What quantity is pushed?
For each mapped Katana variant, Katana calculates and pushes:
Standard products:
In stock − Committed→ Shopify Available.Kits / bundles:
In stock + Potential − Committed→ Shopify Available.
Since November 2025. Katana will always subtract all committed quantity (including non-Shopify orders) from In stock. The option to allow only Shopify order commitments to affect Shopify stock was removed.
If you need to keep non-Shopify orders from reducing your Shopify storefront's available stock, route those orders to a Katana location that is not mapped to any Shopify location.
See How to prevent separate-channel sales orders from affecting Shopify stock for a recommended workaround.
A Katana sales order moved into Packed status will reduce Shopify's "Available" the same way it reduces Katana "In stock − Committed" — there's no separate "wait for fulfillment" mode.
Why subtract Committed?
Shopify reduces its "Available" stock at order creation. Katana reduces its "In stock" at fulfillment. Subtracting Committed before pushing aligns the two models so that what your customers see in Shopify matches what's truly available.
Which variants sync
Variants with a unique SKU in Katana that are mapped to the same SKU in Shopify (the most common case).
Variants without a SKU sync if the product mapping was created during product import (mapping is by Shopify variant ID).
If multiple Shopify products share the same SKU, all of them receive the same stock level.
If multiple Katana variants share a SKU, the most recently created one is used.
Katana never creates new products in Shopify. Variants are only synced if a mapping exists.
Stock sync with multiple locations
When one Katana location is mapped to multiple Shopify locations, the same stock value is pushed to each Shopify location.
When one Shopify location is mapped to one Katana location, only that pair is involved.
Tip: Keep location mapping intentional. Treating a single Katana warehouse as the source for many Shopify locations means a single Katana stock change updates them all to the same quantity.
Best practices
Maintain consistent SKU naming across Katana and Shopify.
Don't delete and recreate variants — edit the existing SKU instead, so the mapping stays intact.
After major Shopify edits, verify a few variants' stock levels in Katana to catch any drift early.
For non-Shopify sales channels, route those orders to a Katana location that isn't mapped to Shopify so they don't affect what your storefront shows.
Your feedback is invaluable. Let us know your thoughts on this article or anything in Katana you'd like to see improved: [email protected]


