Invechar

Multichannel Inventory Management: The Complete Guide

How to keep one true stock number across Amazon, eBay, Shopify and every other channel: the building blocks, a step by step setup plan, daily routines and the metrics that prove it works.

By Invechar Team. Updated . 8 min read

Selling on several channels multiplies your reach, and it multiplies the number of places where your stock count can be wrong. Amazon, eBay, Shopify, Etsy and your wholesale customers each keep their own idea of how many units you have. Multichannel inventory management is the practice of keeping all of those numbers tied to one physical truth, so you never sell what you do not have and never sit on stock that a channel thinks is gone.

This guide explains how that works under the hood, what to put in place first, and how to run it day to day.

In short: keep one stock pool per product, record every movement on a ledger, map every channel listing to that one product, hold a small buffer, push the available number out quickly, and reconcile on a schedule. Everything else is detail.

What Multichannel Inventory Management Means

A single product can appear as a Shopify variant, an Amazon seller SKU tied to an ASIN, an eBay listing with its own SKU and an Etsy listing. Physically there is one shelf of units. Multichannel inventory management means:

  • Each sellable item has one record that owns its stock, no matter how many listings point at it.
  • Every channel shows a quantity derived from that record, not typed in by hand.
  • Every sale, receipt, return, transfer and correction changes that one record, and the change flows out to the channels.

The opposite, which most sellers start with, is "each channel is its own inventory". It works with one channel. With three it creates oversells on Monday and phantom stockouts on Tuesday.

Why More Channels Break Simple Stock Tracking

Problems appear for a handful of predictable reasons:

  1. Every channel decrements only its own count. A sale on eBay does not tell Amazon anything unless something in the middle passes it on.
  2. Updates take time. Even good integrations run on a schedule or a queue. During that gap the same unit can sell twice.
  3. Stock lives in more than one place. Your warehouse, a 3PL, Amazon fulfillment centers and units in transit all count differently.
  4. One product has many names. Different SKUs on different channels, plus bundles that consume several components, mean a naive tool cannot tell which listing to update.
  5. People edit numbers by hand. A quick fix on one channel silently disagrees with the others.

The cost is real. When a unit sells twice, one of those orders usually ends in a seller cancellation, and marketplaces measure that: Amazon tracks a cancellation rate on seller-fulfilled orders, and eBay counts a seller-initiated cancellation as a transaction defect. The overselling guide covers those rules in detail. Each of the building blocks below closes one of these gaps.

The Building Blocks

One Master Stock Pool

Give every product one pool and derive what channels may sell from it:

Available = On hand - Allocated - Reserved
  • On hand is what is physically in your locations.
  • Allocated is what is promised to open orders that have not shipped.
  • Reserved is what you hold back on purpose: a safety buffer, units for a wholesale order awaiting approval, damaged stock under review.

Shopify uses a similar vocabulary in its own admin. Its Help Center describes on hand as the sum of committed, unavailable and available units, with incoming stock kept separate until it is received. Whatever system you use, make sure everyone on the team reads "available" the same way, because that is the number channels should see.

A Ledger Behind Every Number

A stock number on its own cannot explain itself. A ledger can. Record each movement (sale, receipt, return, transfer, count correction) as its own entry with a reason, a reference and the balance after it. When a number looks wrong you replay the entries instead of guessing. Two rules make a ledger trustworthy:

  • Append only. Corrections are new entries, never edits to old ones.
  • Idempotent. The same event (say, an order import that runs twice) can only be recorded once.

Allocate at Order, Deduct at Ship

When an order arrives, allocate units immediately so no other channel can sell them. Reduce on hand only when the order ships. This keeps on hand equal to what is physically on the shelf while still protecting the units that are spoken for. A cancellation simply releases the allocation.

Locations, Including Marketplace Warehouses

Track stock per location: your own warehouse, a 3PL, a retail back room. Treat marketplace fulfillment centers as locations too, with one important rule: units sitting in Amazon's fulfillment network can only fill Amazon orders (or orders Amazon fulfills for you through its multi-channel service). They must never count as available for eBay or Shopify orders that you ship yourself.

SKU Mapping and Bundles

Map each channel listing to exactly one product in your pool. Do it before any stock is pushed. For bundles and kits, map the bundle listing to its components, so selling one gift set reduces the mug and the coaster it contains, and the bundle's available quantity is the smallest number of complete sets you can build.

Push, Pull and Reconcile

Sync has three directions, and you need all three:

DirectionWhat MovesWhen It Should Run
Pull ordersNew orders and cancellations from each channel into your poolAs close to real time as the channel allows
Push stockThe available number from your pool out to every linked listingOn every change, plus a scheduled sweep as a safety net
ReconcileA comparison of what each channel shows against what it should showOn a schedule, for example every few hours

Reconciliation is the part most setups skip. It catches the drift that pushes alone cannot: a listing someone edited by hand, an update a channel rejected, a listing that was paused and reactivated. Treat every difference as a question ("which number is true?") rather than overwriting automatically, and pause automatic pushes for that product until someone answers it. Otherwise one wrong number spreads to every channel.

Buffers and Channel Allocation

Because updates are never instant, hold a few units back on channels where an oversell hurts most. A simple starting point:

Buffer units = Peak sales per hour x Worst sync delay in hours, rounded up (minimum 1 on low stock items)

If a product peaks at 6 sales an hour and your slowest channel can take 20 minutes to reflect a change, that is 6 x 0.33 = 2 units. Hold them back on the channel with the strictest penalties.

When stock is scarce and will not last until the next delivery, go one step further and give the remaining units to the channel where each unit earns the most after fees, rather than first come, first served. Lift that reserve when the replenishment arrives.

Try it on your own data: start free, no card needed.

A 10 Step Setup Plan

  1. Clean your catalog. One product record per physical item. Merge duplicates and decide on a SKU convention.
  2. Pick the source of truth. One system owns stock. Channels receive numbers, they do not originate them.
  3. Map every listing. Link each channel SKU (and ASIN, eBay item, Shopify variant) to its product. List what is unmapped and fix it.
  4. Set up locations. Your warehouse, any 3PL and marketplace fulfillment centers, each tracked separately.
  5. Count. Do a full count of the products you will sync first, so the pool starts true.
  6. Connect channels read only first. Import listings and orders without pushing anything.
  7. Compare and reconcile. Review every difference between the channels and your count. Decide each one.
  8. Set buffers and reserves. Start small and per channel.
  9. Turn on pushes. Watch the first day closely and check a few listings by hand.
  10. Schedule reconciliation and cycle counts. Make drift checks and short daily counts part of the routine.

Daily, Weekly and Monthly Routines

  • Daily: review any drift between channels and your pool, and decide each difference.
  • Daily: check orders that could not allocate (backorders) and decide whether to cancel, wait or dropship.
  • Daily: run a short cycle count of the items most likely to be wrong.
  • Weekly: review products about to run out against their reorder points and open purchase orders.
  • Weekly: check listings that show zero while you hold stock, and stock that sits at a location no channel can sell from.
  • Monthly: review slow movers and dead stock, and reconcile inventory value with your accounts.
  • Monthly: review buffers. Raise them where oversells happened, lower them where stock sat idle.

Metrics That Show It Is Working

MetricHow to Calculate ItWhat Good Looks Like
OversellsOrders you could not fill because the stock was not thereZero, and every one investigated
Sync accuracyListings matching your pool at each check / listings checkedClose to 100%, with misses explained
Inventory record accuracyCounted items within tolerance / items countedRising week over week
Days of coverAvailable units / average daily units soldAbove the supplier lead time plus safety stock
Sell-throughUnits sold in a period / units available at the start of it plus received in itSteady or rising on core products
Inventory turnoverCost of goods sold / average inventory valueHigher is leaner, but not at the cost of stockouts

Common Mistakes

  • Letting two tools push stock to the same channel. They overwrite each other. Choose one.
  • Counting FBA units as sellable everywhere. They cannot ship to an eBay buyer from your shelf.
  • Treating bundles as their own stock. Bundles should draw from components.
  • Fixing numbers on the channel. Fix them in the source of truth with a reason, and let the push carry it out.
  • Skipping reconciliation because pushes "always work". They do not, and you only find out from a customer.

How Invechar Handles It

Invechar is built on the model in this guide. Every product has one master pool, available is on hand minus allocated minus reserved, and every movement is written to an append-only stock ledger with the balance after it. Channels are switches on that pool. Every three hours a drift check compares Shopify and Amazon with the pool, and differences become a task you approve rather than a silent overwrite; pushes pause for that product until you decide. Units at Amazon FBA never count as sellable elsewhere, bundles draw down their components, and when stock is scarce your Brain can propose reserving it for the channel with the best margin.

Read more in the Help Centre: how the master pool works, stock sync and drift checks and the Sync Trust Score. See the channels Invechar connects to, or go deeper on preventing overselling and cycle counting.

Sources