Skip to main content

Shopify integration overview

Learn how to manage the fulfillment of Shopify orders while keeping the inventory and related production in control

Written by David Lorbiecke

The Shopify integration connects your Shopify storefront to Katana so that orders flow into Katana for production planning and fulfillment, stock levels stay aligned across both systems, and fulfillment status reflects real warehouse activity.

This article gives a general overview. For step-by-step directions, see How to connect Shopify to Katana.


Main stages of the Shopify integration

The integration is organized into four stages. You can move through them on your own schedule, and each stage can be revisited at any time.

  1. Connection — install Katana on your Shopify store (or vice versa). This authorizes Katana to read and write data via Shopify's API.

  2. Configuration — on the Shopify configuration page in Katana, decide how products, locations, orders, and customers should be handled.

  3. Manual data imports — pull products, customers, and initial stock from Shopify into Katana. Each import is a separate background job.

  4. Sync activation — turn on the live two-way data flow when you're ready.

You can stop, change settings, or come back another day at any stage. Nothing starts syncing until you activate sync explicitly.


Integration states

The status of each Shopify connection is shown in the configuration page header.

There are four possible states:

State

When you'll see it

What you can do

Not Connected

Before you install Katana in the store.

Click Connect in the marketplace tile.

Disabled

Authorized, but something mandatory is missing (typically unmapped Shopify locations).

Edit settings, run manual imports, and fix the missing configuration.

Sync cannot be activated until this state is resolved.

Sync inactive

Authorized and configured, but sync isn't running.

Edit settings, run manual imports, activate sync when ready.

Sync active

Sync is running. Orders, fulfillments, and inventory updates flow between systems.

Edit settings (unsaved until you click Apply new settings), pause sync, disconnect.

Sync inactive:

Sync active:

The sync can only be activated with a manual click. You can pause it from the header menu at any time without disconnecting the store.


The configuration page

When you open a connected Shopify integration in Katana, you land on a configuration page split into tabs. Settings changes are autosaved if the integration is in a Sync inactive or Disabled state.

Configuration page tabs:

  • Products: physical and non-physical product management, default tax rate (if prices are tax-inclusive), import cost per item, and the Start the import button.

  • Inventory: Shopify-to-Katana location mapping, the inventory level sync on/off switch, and the manual stock import controls.

  • Orders: paid / payment-pending toggles, shipping fees, custom line items, order updates, fulfillment-location updates, returns, and fulfillment sync direction.

  • Customers: the Start customers import button.

The header on every tab shows the integration status, the Shopify store you're connected to, and the Activate sync button (unless the sync is already running). The 3-dot menu containes the Pause sync and Disconnect.


Manual data imports

Imports can be done at any time and run in the background.

If an import is in progress, a yellow banner appears at the top of the page, and a confirmation note appears when it finishes.

Import

Where

When possible

Notes

Products

Products tab

Any time, unless another product import is already running.

Creates and maintains the SKU mapping table that other imports and the live sync rely on.

Customers

Customers tab

Any time.

No dependencies.

Initial stock levels

Inventory tab

Only if sync is not active. Requires products to be imported and all locations mapped.

Creates a Stock Adjustment in Katana per the mapped location.

You can run different imports in parallel — for example, products and customers at the same time.


Active sync

Once the sync is activate, the following data flows automatically:

  • Paid Shopify orders are imported into Katana as sales orders. You can also choose to include payment-pending orders.

  • Order changes in Shopify (line items added/removed, quantity changes, cancellations, archived orders) update the matching Katana order based on the rules on the Orders tab.

  • Fulfillment status can sync in either or both directions: Shopify → Katana (an order fulfilled in Shopify sets the Katana order to Delivered) and Katana → Shopify (delivering in Katana fulfills in Shopify).

  • Stock levels push from Katana to Shopify whenever the In stock or Committed quantity changes for a mapped variant. Katana pushes In stock − Committed to Shopify's "Available" field.

  • Returns create a return order in Katana when a Shopify return is created.

Orders sync is always on while the integration is active. Inventory sync and fulfillment sync each have their own toggles.


Mandatory vs. optional

Mandatory:

  • Every Shopify location must be mapped to a Katana location (or to a shared one — the same Katana location can be reused).

Optional:

  • Importing products before activating sync, so order imports can match line items by SKU.

  • Importing initial stock levels, so Katana's "In stock" reflects what's already on shelves.

  • Setting up Bills of Materials and materials in Katana for products that are made-to-order.


Multiple Shopify stores

You can connect more than one Shopify store to the same Katana account. Each store has its own configuration page, status, and sync state. You can leave one store running while you're still configuring another. To avoid duplicate Katana accounts, always start additional connections from inside your existing Katana account, not from Shopify.


Additional considerations

  • Material management:

  • Stock sync recommendations:

    • Activate real-time stock sync only after verifying the accuracy of stock data in Katana.

    • Avoid enabling this feature during the testing phase to prevent discrepancies.


Your feedback is invaluable. Let us know your thoughts on this article or anything in Katana you'd like to see improved: [email protected]

Did this answer your question?