Multichannel inventory: how to control stock when you sell in-store, online and on marketplaces

Multichannel inventory: how to control stock when you sell in-store, online and on marketplaces
It is 4 p.m. and you have already sold the same product twice without meaning to. In the morning, a customer bought it on your website with the payment approved. At noon, someone else paid for it at the store counter and walked out with it. Your point of sale says 3 units are left, the web cart says 4, and on the marketplace you are still listing 6. Reality is one: the product is gone, and tomorrow you will have to explain to one of the two buyers that their order cannot be delivered. That moment, when you find out you sold what you did not have, is overselling, and it is the most expensive symptom of a deeper problem: you sell through several channels, but none of them talks to the same inventory.
This article is for people who already sell through two or more fronts at the same time: the counter of a physical store, a website, orders that arrive through WhatsApp, and marketplaces like Mercado Libre or Amazon. We are not going to talk about omnichannel retail theory, but about the practical side: how stock gets out of sync, which inventory model suits you, how often you should update the quantities you publish, how to handle holds, reservations and returns, and which golden rules keep you from ending the month without knowing how much merchandise you actually have.
The core problem: one stock with several doors to sell through
Physical inventory is one single thing. It may be spread between the warehouse, the store shelves and a box of orders ready to ship, but in total there is one exact quantity of each product. What multiplies that reality is the doors it is sold through: every channel deducts from the same batch without knowing what the other channels have already sold, reserved or received back.
When channels do not talk to each other, the chain of errors always repeats the same way:
- The physical store sells two units over the counter and deducts them only from the local point of sale.
- The website receives three paid orders that are deducted only from the shopping cart database.
- The marketplace keeps showing the quantity you listed three days ago, even though it is no longer real.
- At the end of the day, the sum of what was sold does not match the stock you had, or the stock in the system does not match what is physically in the warehouse.
The result shows up in two ways, and both cost money. The first is overselling: you accept orders you cannot fulfill because the product already left through another door, which ends in refunds, bad ratings and customers who do not come back. The second is frozen stock: afraid of getting out of sync, you list only half of what you have on the marketplace, or you reserve units on the website that could sell at the store today, and the money stays asleep in merchandise that no channel is allowed to sell. Both mistakes share the same origin: there is no single source of truth for your inventory.
Two models: unified inventory or per-channel inventory
To put your house in order you have two conceptual models. The first is unified inventory: there is a single total for each product in your records, and all channels consume from that same balance. When the store sells, the total goes down; when a paid order arrives from the website, the same total goes down. Channels do not own stock: they check the company stock. This is the right model when you can synchronize in real time or almost in real time, because any sale is reflected everywhere immediately.
The second is per-channel inventory: you split the total into pools and assign each channel its own share. For example, out of 20 units of a product, you set aside 8 for the marketplace, 6 for the website and 6 for the counter. Each channel sells inside its own pool and does not touch the others. It takes more administration, but it is the safe option when you cannot sync in real time, when each channel ships from a different place, or when one channel has so much demand that it would eat the whole stock and leave the others with nothing to sell.
The decision is not religious: many businesses run a hybrid model. The total lives unified in the system, but as a commercial policy a share is set aside for the channel that takes the longest to update, almost always the marketplace. What matters is that you know which model you are standing on, because the splitting rules, the update frequency and the weekly reconciliation all change depending on the model.
Where the stock of each channel lives: the table that organizes the problem
Before touching any configuration, it is worth putting on a table where the stock of each channel lives, how it gets deducted and what its typical risk is. This table is a good starting point for diagnosing your own operation:
| Channel | Where its stock lives | How it gets deducted | Typical risk |
|---|---|---|---|
| Physical store | Store shelves and back room, counted by the point of sale | When the sale is invoiced at the point of sale | Counter sales that are not invoiced on the spot or are only recorded at night |
| Own website | Online store database | When the paid order is confirmed in the cart | Orders that deduct stock before being paid and duplicate sales with the store |
| WhatsApp and manual orders | In the salesperson's head and their hold notebook | Manually, when the order is confirmed | Promising products without checking availability and holds that are never released |
| Marketplace (Mercado Libre, Amazon) | The platform's virtual storefront | The platform deducts when the buyer completes the purchase | Outdated listed quantities: showing stock that was already sold through another channel |
Read the table honestly and you will see that every channel keeps its number somewhere different: the store in the point of sale, the website in its database, the marketplace in the platform's cloud and WhatsApp in your team's memory. That is why the first step is not buying a new tool, but deciding that all those figures must be born from the same product master record, with one unique code per item. If the same product has three names or three codes depending on the channel, no reconciliation will ever close, no matter how many hours you put into it.
Splitting rules: never assign all your stock to every channel
If you work with separated or hybrid inventory, the golden rule is this: the sum of what you assign to channels cannot exceed the total you have, and it should almost never equal it. Always leave a margin.
Let us use a concrete example. You have 20 units of a product that sells well through all three fronts. If you list 20 on the website, 20 on the marketplace and also sell it over the counter, you are offering 60 units when you own 20: overselling is only hours away. A prudent split would be 6 for the marketplace, 5 for the website and 6 for the store, leaving 3 units unassigned as a buffer. That buffer absorbs the unexpected counter sale, the return that comes back into inventory or the urgent order from an important client, and it keeps any channel from breaking its delivery promise.
Do not improvise the percentage of each channel: review your sales from the last two or three months and give more to the channels that actually sell more, not to the ones you like the most. Review the split every month or whenever a channel changes pace. And watch out for a typical temptation: when a channel runs out of units from its pool and the product is still available in the system, the solution is not stealing stock from another channel without recording it, but moving units explicitly and leaving a trace of the transfer.
Update frequency: daily manual close or automatic integration
The second big decision is how often the quantities that each channel shows to the buyer get updated.
The manual option means publishing quantities once a day, usually at closing time: you add up the day's sales across all channels, deduct them from the total stock and update the figures published on the website and the marketplace for the next day. It is cheap, needs no integrations and works while your volume is low and your catalog is not huge. Its limit is obvious: between one update and the next, every channel sells with yesterday's numbers, and a strong day at the store can leave the website selling something that no longer exists.
The automatic option connects every channel to your inventory records: when a sale happens anywhere, the available quantity is recalculated everywhere. It is what you need when volume grows or when going out of sync has already cost you money. It has two costs you should budget for: the initial setup and the supervision, because a badly configured integration can deduct the same sale twice, once when the channel records it and again when your system imports the order, and that double error is as damaging as not syncing at all.
Many businesses combine both: automatic integration for the channels that support it well and a manual close for the ones that do not, like WhatsApp orders. In any case the principle is the same, and it is worth repeating until it sticks: the quantities you publish must come from one single source, your inventory record, not from the memory of each channel. An inventory and stock-card system like Kardex Tauro works precisely as that single source: it holds the products, the receipts, the issues and the balance that every channel should feed from.
Holds, reservations and returns: what actually breaks the sync
Inventory does not go out of sync only through sales: it goes out of sync through the things stuck in between. A paid website order that has not been shipped yet is sold stock that is still physically in your warehouse; if you do not mark it as reserved, the system will say you have one unit available and you will end up selling it twice. That is why every in-between state needs a clear rule.
For WhatsApp or counter holds, define a soft reservation with an expiration date: you set the product aside for 48 or 72 hours while the customer confirms the payment, and if they do not pay, you release the unit back to the channel's stock. The classic mistake is keeping holds forever, with the merchandise frozen and the customer gone. Schedule a weekly review of expired holds and turn it into a habit.
Returns deserve their own policy, because the product does not always come back to the same place it left. A marketplace return can arrive at your central warehouse, but the stock the marketplace was showing was already reinstated on the platform; if you also add it to your general records, the unit ends up counted twice. Define, for each channel, where the return goes, back to the channel inventory or to the general inventory, and physically separate what arrives in good condition from what arrives damaged or needing review. A damaged return is not available stock: it is a loss or an item to be fixed, and if you count it as available, the imbalance will only show up at the physical count.
Stock in transit: who ships and from where
When channels do not ship from the same place, a category of stock appears that many businesses ignore: the one in transit. You sold on the website, but the unit is at the store on the other side of town; or the marketplace confirmed a sale and the shipment leaves your warehouse only the next day. That unit is no longer available to sell, but it is not in the customer's hands either: it is on its way, and if you do not track it separately, the reconciliation will never close and you will not know whether the problem is a lost sale or a delayed shipment.
Define, channel by channel, what the shipping origin is and who is responsible: the store salesperson, the warehouse person or the dispatch assistant. When a sale comes in through the website and ships from the store, the store must see that exit as a pending dispatch, not as a counter sale. And set a reasonable time limit for transit: if an order takes longer than expected without being delivered, something got lost along the way, and it is better to find out after two days than after twenty.
The golden rules of multichannel inventory
To close, these are the rules that separate a business that controls its multichannel inventory from one that suffers it:
- One single product master with unique codes: the same item has the same code, the same name and the same unit of measure across every channel.
- Weekly channel-by-channel reconciliation: every week compare what the store sold against the point of sale, the website orders against the cart database, and the marketplace listings against what the platform reports.
- Safety margin on channels with a sync lag: the channel that takes the longest to update, almost always the marketplace, should never show your entire stock.
- Every movement with an owner and a moment: every sale, transfer, hold, return or discard is recorded when it happens and by whoever makes it happen; what is not recorded on time stays out of sync forever.
- Periodic physical count: once a month, or once a week for your best sellers, count for real and compare against the system; the count is not optional, it is the exam that catches the errors no rule could prevent.
Multichannel inventory is not about selling everywhere at the same time: it is about making all those sales report to one single record. When the store, the website, WhatsApp and the marketplace all deduct from the same balance, overselling stops being a mystery and becomes a process error you can fix. Keeping that record up to date, with a system like Kardex Tauro or with a well-disciplined spreadsheet, is the difference between promising stock you do not have and selling with the peace of mind of knowing exactly what you have, where it is and who it belongs to.