Short answer: Omnichannel inventory means every sales channel reads and writes to one stock record instead of keeping its own. When a shop sale, a marketplace order and a website order all decrement the same pool in real time, overselling stops and buffer stock can be reduced. For a Pakistani retailer selling across a physical shop, a marketplace listing, an own website and social media, this is the difference between cancelled orders with marketplace penalties and a single reliable stock position.
ERP Trends · Pakistan
Selling in Four Places at Once: Connecting Online Sales to Your ERP
Every channel keeps its own number. None of them knows what the others sold. That gap has a price.
By Pearl Solutions · Updated September 2026 · 10 min read
A Lahore retailer we spoke with sells through four channels: the shop in Gulberg, a marketplace listing, their own website, and Instagram direct messages. Four channels is a good problem — it is what growth looks like.
Here is how they were managing stock. The shop had its register. The marketplace had its seller dashboard. The website had its own inventory count. Instagram had a person who checked with the shop by phone.
Every Sunday someone reconciled all four in Excel. By Monday afternoon the file was already wrong.
The three costs of disconnected channels
Overselling, and what it actually costs
Two customers buy the last unit within the same hour through different channels. One order gets cancelled.
Owners tend to price this as "we lost one sale." It is more than that. Marketplaces penalise cancellation rates, and the penalty compounds — lower seller rating, reduced search placement, in some cases suspension. The customer who was cancelled on rarely returns and sometimes reviews. You lost the sale, some future sales, and some of the ranking that generated them.
Defensive buffer stock, paid for in cash
The intuitive fix is holding reserve stock per channel so no channel ever runs out. It works, and it is expensive in a way that never appears as a line item.
Consider a retailer holding 20 units of buffer across four channels on 200 SKUs, at an average cost of PKR 800. That is PKR 3.2 million of working capital sitting still purely to compensate for not knowing your own stock position. For most SMEs in this market, cash is the binding constraint — and this is cash spent on an information problem.
Nobody knows which channel is actually profitable
When each channel reports separately, you see revenue per channel but not margin per channel. Marketplace commission, delivery cost, return rate, packaging and payment charges differ substantially. It is entirely possible for your highest-revenue channel to be your lowest-profit one, and for that to stay invisible for years.
The underlying issue in one sentence: each channel is treated as a separate business with a separate stock ledger, when it is one business selling one pool of stock through four doors.
What "connected" actually means
The principle is simple: one stock record, many channels reading and writing to it.
When it is working, a sale in the Gulberg shop immediately reduces the quantity the marketplace and the website can offer. A marketplace order reserves stock and appears as a sales order in the same system as the shop's sales. Whoever handles Instagram sees the true number without phoning anyone.
| Situation | Disconnected | Connected |
|---|---|---|
| Last unit sold in shop | Online channels still offer it | Online availability updates immediately |
| Marketplace order arrives | Entered by hand, sometimes late | Appears as a sales order, stock reserved |
| Stock arrives from supplier | Updated per channel, at different times | Available everywhere at once |
| Return processed | Adjusted in one channel only | Back in the single pool |
| Month-end | Reconcile four sources | One ledger, already correct |
The parts most businesses get wrong
Product identity has to match across channels
This is the step that sinks these projects, and it is not technical. The same shirt is "Blue Shirt L" in the shop, "Men's Casual Shirt - Blue - Large" on the marketplace and "SHRT-BLU-L" on the website. Software cannot connect three names to one stock record without being told they are the same thing.
The work is a clean product master with one internal reference per sellable unit, mapped to each channel's listing. It is tedious, it is usually the longest part of the project, and skipping it guarantees failure. Businesses selling apparel or footwear feel this hardest because of size and colour variants — we cover that specific case in our guide to Odoo for garment and footwear retail.
Decide what "available" means before you start
If you have 10 units, do you offer 10 on every channel? The honest answer is usually no, because sync is near-real-time rather than instantaneous and simultaneous orders do happen.
Common approaches: hold a small safety margin out of online availability; or allocate a portion per channel for fast-moving items while pooling the rest. What matters is that the rule is explicit and reviewed, not improvised per SKU by whoever is on duty.
Returns are not an afterthought
Online return rates are materially higher than shop returns, especially in apparel. A returned unit has to come back into the pool, in the right condition category, in a way that both the marketplace and your accounts agree on. Design this at the start — it is much harder to retrofit once volume is real.
Payments reconcile differently per channel
Shop sales settle immediately. Marketplace payouts arrive in batches, net of commission and adjustments, days or weeks later. Cash on delivery settles when the courier remits. Your accounting has to model each of these correctly or the receivables position is fiction.
Cash on delivery deserves specific attention in Pakistan. It remains a dominant payment method, and it means the money is with the courier, not the customer and not you. Refusal rates on delivery are real. The order is not revenue until remittance. If your system books COD orders as paid at dispatch, your cash position is overstated by whatever is currently in transit.
A sequence that works
- Clean the product master. One internal reference per sellable unit. Do this before touching integration.
- Make one channel the source of truth — normally the ERP, holding physical stock.
- Connect the highest-volume online channel first. Run it alongside the manual process for a few weeks and compare.
- Define availability rules and return handling explicitly, in writing.
- Add remaining channels once the first is stable.
- Then build channel profitability reporting, now that costs can be attributed per channel.
Step 6 is where the strategic value appears. Once you can see margin by channel rather than revenue by channel, you can make decisions you have never been able to make: which channel deserves more inventory, which products should be marketplace-only, whether that marketplace commission is worth paying on your low-margin lines.
Is this worth it at your size?
A reasonable threshold: if you sell more than about 15 to 20 online orders a day across channels, or if you have cancelled a marketplace order for stock reasons more than twice this month, the manual approach is already costing more than the fix.
Below that, disciplined manual reconciliation is defensible — but clean up the product master now anyway, because it is the prerequisite for everything later and it only gets harder as the catalogue grows.
Frequently Asked Questions
Omnichannel inventory means every sales channel reads and writes to one stock record rather than keeping a separate count. A sale in the physical shop immediately reduces what the marketplace and website can offer, and a marketplace order reserves stock in the same system. The result is that overselling stops, buffer stock can be reduced, and the business gets one reliable stock position instead of four numbers that disagree.
Because software cannot connect listings to one stock record unless it is told they are the same item. The same product is typically named differently in the shop, on the marketplace and on the website. The fix is a clean product master with one internal reference per sellable unit, mapped to each channel's listing. This is usually the longest part of the project and skipping it is the most common cause of failure, particularly for apparel and footwear where size and colour variants multiply the number of listings.
Cash on delivery should not be treated as paid at dispatch. Until the courier remits, the money is with the courier, and delivery refusals are common in Pakistan. The ERP should record COD orders as receivable from the courier and clear them on remittance. Treating COD as settled at dispatch overstates the cash position by whatever is currently in transit.
Yes. Odoo can run point of sale for the physical shop, an own-brand website, and connections to external marketplaces, all against a single inventory record, with sales from every channel posting to the same accounts. Pearl Solutions is an Official Odoo Partner in Lahore that has delivered ERP since 2006 with 400+ ERP implementations and 30 Odoo implementations. Call +92 300 7774979 or email info@pearlsol.com