SKU-Based Inventory Guide | SKUSavvy Docs

Learn how SKU-based inventory pools stock across variants sharing a SKU in SKUSavvy. Includes setup steps, Shopify sync rules, and drift management.

What Is SKU-Based Inventory?

Every SKUSavvy company runs in one of two inventory modes:

  • Variant-based (the default): Each product variant tracks its own inventory independently, even if two variants share a SKU.

  • SKU-based: Every variant that shares a SKU (case-insensitive) merges into one shared inventory pool. Stock counts, bin locations, unit costs, barcodes, lot numbers, and replenishment rules are tracked once on the pool rather than per variant.

SKU-based mode is opt-in and company-wide. It is not the default, and Shopify or individual products cannot toggle it on their own. An account owner enables it once for the whole company in Company > Owner Actions.

How the Shared Inventory Pool Works

BEFORE

Unique Inventory Mode

Every variant tracks its own stock, even when SKUs match
STORE A SKU WIDGET-100 STORE B SKU WIDGET-100 INVENTORY ITEM (A) on-hand qty 40 INVENTORY ITEM (B) on-hand qty 25 ✕ NOT LINKED SAME PHYSICAL WAREHOUSE SHELF Two logical counts describing one physical pile of stock.
Order placed on Store A

Store A's count: 40 → 35 (−5 units)

Store B's count: 25, unchanged because nothing connects them

! Store B still shows 25 available even though 5 fewer actually exist. Selling those 5 on Store B results in overselling.
vs
AFTER

SKU-Based Inventory Mode

Matching SKUs share one pool; every store reflects it automatically
STORE A SKU WIDGET-100 STORE B SKU WIDGET-100 SHARED INVENTORY POOL on-hand qty 65 SAME PHYSICAL WAREHOUSE SHELF One pooled count, mirrored out to every connected store.
Order placed on Store A

Shared pool: 65 → 60 (−5 units, locked at the database row so a same-instant sale on Store B cannot double-spend it)

Outbox worker pushes the new count to every sibling store within seconds

✓ Store A and Store B both show 60 available. Neither store can double-spend physical inventory.
Solid line: pooled / linked
Dashed line + ✕: not linked
Same physical location, either way

One Physical Reality, However It Was Sold

The pool is not limited to identical SKU strings. Different SKUs and bundles across storefronts still draw from one shared shelf.

IN PRACTICE

Different SKUs, Different Bundles, One Pool

Every storefront can label and package it differently underneath
STORE A SKU WIDGET-100 own listing STORE B SKU WGT-BLUE-01 different SKU STORE C BUNDLE: 3-PACK kit of the same item KIT ×3 SHARED INVENTORY POOL on-hand qty 180 SAME PHYSICAL WAREHOUSE SHELF Three storefront SKUs. One shelf. One number pickers trust.
At pick & pack

The picker's ticket shows one bin and one quantity, never a channel-specific SKU.

A bundle sale on Store C decrements the pool by 3 units, same as three single-unit sales anywhere else.

✓ Warehouse ops pick against the shared physical item, not whatever label or bundle sold it.

Better Data In, Sharper Forecasts Out

Aggregated instead of siloed, the same demand signal feeds cost, lead time, and reorder math for every storefront at once.

FORECASTING

Aggregated Signal, Sharper Forecasts

Costs, lead times, and reorder points computed from full cross-store demand
STORE A sales + cost history STORE B sales + cost history STORE C sales + cost history AGGREGATED ACROSS STORES combined sell-through 142/wk REPLENISHMENT ENGINE WEIGHTED AVG COST $4.82 VENDOR LEAD TIME 12 days PURCHASE FORECAST reorder 340
Why it is clearer than siloed inventory

Landed cost, lead time, and reorder math are computed once from the full pooled signal, not estimated per storefront and reconciled by hand.

✓ One forecast, backed by every storefront's demand, not a fraction of it.

Switching a company from unique to sku_based mode is a one-way, owner-only action. Existing duplicate-SKU items are merged in the background using a sum or max quantity strategy, and Shopify to SKUSavvy inventory pulls are disabled afterward since SKUSavvy becomes the single source of truth.

InventoryItem: The layer between variants and physical stock

SKUSavvy tracks physical stock on an InventoryItem rather than directly on the variant. In variant-based mode, every variant gets its own InventoryItem in a 1:1 relationship. In SKU-based mode, multiple variants point to the same InventoryItem whenever they share a SKU, consolidating barcodes, unit costs, bin locations, and available quantities in one place.

Multi-store Shopify sync

If multiple Shopify stores connect to your company, SKUSavvy manages one global level per SKU across all of them. Stock committed or released on Store A immediately updates every variant sharing that SKU on Store B and Store C. New products imported from Shopify automatically join the shared pool when their SKU matches, preventing duplicate physical stock counts in your warehouse.

Replenishment, kitting, and picking key off the SKU

Bin transfers and purchasing replenishment rules run against the pooled SKU, providing one accurate sales-velocity signal across all channels. Kit recipes reference a component SKU rather than a specific variant, drawing stock directly from the shared pool. When you scan a barcode during picking, SKUSavvy resolves the physical item by SKU first before identifying the specific order line.

Everything tied to a merged item carries over

When two variants merge onto a shared pool, all associated data combines along with the stock count. Lot numbers, serial numbers, cycle count history, replenishment rules, and bin assignments all carry over to the shared item. If a kit recipe's components collapse into the same shared item, SKUSavvy automatically removes the invalid kit.

Shopify sync becomes one-way

Once SKU-based mode is active, SKUSavvy stops accepting inventory changes made directly in Shopify. SKUSavvy becomes the sole source of truth and pushes levels out to every connected store. Platform policy enforces this standard across all connected stores.

How to Enable It

To switch your company to SKU-based inventory, navigate to Company > Owner Actions. Only the account owner or a super user can make this change.

  1. Go to Company > Owner Actions and find the Inventory Mode card to review your current setup.

  2. Select a Quantity Merge Strategy to combine stock for variants that share a SKU: Sum adds quantities together, while Max keeps the highest quantity found.

  3. Confirm the switch. SKUSavvy queues a background job to merge your catalog onto shared inventory pools, which may take several minutes for large catalogs.

This switch is one-way

You can switch from unique to SKU-based mode, but there is no supported path back. Once the merge completes, the Inventory Mode card disappears from Owner Actions. Audit your catalog before switching to ensure duplicate SKUs are intentional.

Things to Be Aware Of

Review this quick-reference list before switching to SKU-based inventory:

Audit your catalog for accidental duplicate SKUs before switching

SKU-based mode merges any variants sharing a SKU into the same physical inventory pool. An accidental duplicate SKU on two distinct products will merge their inventory immediately upon switching. Review your catalog and assign unique SKUs to distinct physical items before enabling this mode.

The switch is one-way and requires processing time

There is no supported path back to variant-based mode once you switch. The merge runs as a background process and may take several minutes to finish on large catalogs.

Existing settings remain unchanged until you switch

SKU-based mode is opt-in. If you do not switch, your account continues tracking inventory independently per variant without shared pooling or one-way Shopify sync rules.

Shopify cannot push inventory changes into SKUSavvy

In SKU-based mode, SKUSavvy serves as the sole source of truth and pushes stock levels to Shopify. Direct inventory edits in Shopify are ignored and overwritten.

SKU drift resolves automatically in most cases

Renaming a SKU in Shopify can leave a variant out of step with its inventory pool. SKUSavvy runs an automated check every few hours to merge newly matching SKUs, while complex cases appear on the SKU Mismatches page.

Unlinking variants is blocked during active picking

If you need to unlink a variant from a shared pool, SKUSavvy blocks the split while stock is reserved in an active pick batch. Complete or cancel the pick batch before unlinking.

SKU Mismatches: Resolving Drift After the Switch

Once SKU-based mode is active, the Company > Products > SKU Mismatches page becomes available. Mismatches occur when a variant's SKU is modified in Shopify after the initial merge, leaving it out of step with its shared pool.

  • An automated background job runs every few hours to re-check for drift and merge matching SKUs automatically.

  • To resolve manual mismatches, use the SKU Mismatches tool to resync a variant onto its correct pool or unlink it as an independent inventory item.

  • Unlinking a variant is blocked while its stock is reserved in an active pick batch, so complete or cancel the batch first.

Frequently Asked Questions

Will my existing inventory counts be preserved when I switch?

Yes. The merge combines your existing stock levels onto shared inventory items using your chosen Quantity Merge Strategy (Sum or Max).

What if two different products accidentally share a SKU?

They will merge into the same inventory pool because SKU-based mode identifies items strictly by SKU. Audit your catalog to resolve accidental duplicate SKUs before enabling this mode.

Does this change how Shopify sync works?

Yes. SKUSavvy becomes the sole source of truth for stock levels and pushes inventory updates to Shopify. Direct inventory adjustments in Shopify are no longer imported into SKUSavvy.

Will purchase orders and order history be affected?

Historical purchase orders and fulfilled orders remain unchanged. New purchase order lines, picking batches, and shipment fulfillments resolve to the shared inventory item by SKU.

Can I switch back to variant-based mode afterward?

No. Switching to SKU-based mode is a one-way operation and cannot be reversed once the catalog merge completes.

Support

To resolve pre-switch questions or get help with complex SKU mismatches, contact our support team or submit a ticket in the platform.

SKU Mismatches Tool

In SKU-based mode, stock is pooled by SKU. If a variant's SKU is modified in Shopify, it creates a mismatch. Navigate to Company > Products > SKU Mismatches to review flagged items.

An automatic resync runs every 4 hours to resolve simple mismatches where all variants agree on the updated SKU. Mixed pools with conflicting SKUs require manual review. Select Resync Now to run the automated check immediately.

  1. Expand a mismatched variant to view its inventory pool.

  2. Select a Destination to create a new inventory item or move to an existing one.

  3. Select which barcodes and quantities move with the variant. Unselected items remain with the original pool.

  4. Confirm the move.

Moving a variant leaves the original inventory pool intact for remaining variants, retaining any unselected barcodes and stock quantities.