The Indian D2C inventory stack — Shopify, Tally, WMS, marketplaces, 3PLs, quick commerce, GST — has at least seven places where the number on your screen stops matching the box on your shelf. Mamaearth proved what happens when you look away from any one of them for two quarters.
On the Honasa Q2 FY25 earnings call in November 2024, Varun Alagh said something that should be taped to the wall of every D2C ops room in India: "Most of our understanding was from the system inventory which we were seeing just for the superstockists. But during the same period when we have actually executed this, they've also taken inventory from sub-stockists who owed them money..." (per Storyboard18's transcript of the call).
That sentence — system inventory at one tier, real inventory at another — is the entire problem. Honasa wrote off ₹63.51 Cr in sales returns that quarter, posted its first net loss since IPO at roughly ₹19 Cr, and watched its market cap fall from a peak around ₹10,425 Cr to ₹7,308 Cr in a single 34% two-day drop after AICPDF flagged unsold inventory (Business Standard, Nov 2024). Roughly ₹3,100 Cr of market value got destroyed because the spreadsheet at the head office didn't match the cartons sitting at sub-stockists in Maharashtra and Goa.

You are not Mamaearth. You don't have 70 distributors and a public balance sheet. But the wiring underneath your own stack has the same fault lines, and they leak the same way.
The Stack That Looks Sane on Paper
Walk into a typical 10–50 person Indian D2C brand and the diagram on the whiteboard is clean. Shopify takes orders. Tally does books and GST. A WMS — usually Unicommerce, EasyEcom, or a cobbled-together combination of Shopify locations and an Excel master — handles fulfilment. Amazon, Flipkart, Myntra, Nykaa pull from the same WMS. Shiprocket or Delhivery picks up. Blinkit and Zepto get a separate flow because they always do.
In practice, every arrow on that diagram is a place where the number drifts.
The hours add up before you notice. Creviz's 2026 SME migration data puts spreadsheet-and-Tally reconciliation at 15+ hours a week for businesses still bridging Shopify and Tally manually, with 94% of those spreadsheets containing errors. APPSeCONNECT's Indian D2C field data puts manual entry error rates at 1–4% per transaction for the staff doing the bridging — and the headcount cost of that bridging at ₹6–15 lakh a year in dedicated salaries (two to three people at ₹30K–50K/month).

That's the cost before anything goes wrong. When something goes wrong, the cost stops being labour and starts being inventory.
Where the drift actually happens
Six places we keep seeing it, in roughly the order it bites:
- The Tally connector that has no webhook. TallyPrime is desktop or LAN. It does not maintain a persistent endpoint that Shopify can call. Every middleware connector on the market — Commercient, APPSeCONNECT, Fatafat, Import2Tally — is really running a two-leg flow: Shopify webhook into a cloud queue, then a polling pusher into Tally over XML/TDL. When the Tally server is off (which on SME setups means most evenings, weekends, and the entire week the accountant is on leave), events queue up and bulk-replay out of order on reconnect. Inventory updates land before the order that depleted them.
- Returns that never come back to stock. Shopify's refund is immediate. Tally expects a credit note workflow. Without explicit return-to-stock logic — and most off-the-shelf connectors don't ship with it — physically returned items sit in a corner of the warehouse and never re-enter the available count. You progressively understate stock until someone does a physical count and finds 800 units of a SKU your Shopify says has 12.
- 3PL RTOs that the merchant has to chase. None of the major Indian 3PLs auto-restock your inventory on RTO. Not Delhivery, not Shiprocket, not Ekart. They emit a status event. Your OMS has to listen, parse, and trigger a restock in the WMS. If you batch that nightly, your shelf shows "out" for 12–24 hours after the cartons physically arrive. In a fashion brand running 25–35% COD RTO (GoKwik national average is 23.18%), that gap is where overselling lives.
- Marketplace propagation lag, multiplied by the slowest one. Amazon SP-API propagates in 15–60 seconds. Flipkart's v3.0 API is polling-only with no webhook, normally 2–5 minutes; during BBD 2025 it was documented at 2–5 seconds per call (10–25x slower) with cancellation rates on cross-listed products at 8–12%. Your true sync latency is the slowest channel you sell on, not the average.
- Bundles and variants that the connector flattens. A Shopify product with Size × Color (six variant SKUs) gets flattened into six separate items by most Tally connectors, breaking parent-variant reporting. Bundle SKUs show in stock if the bundle parent has inventory — even when the component SKUs are depleted. Phantom orders that the warehouse cannot pick.
- GST e-invoice mismatches at dispatch. Above ₹5 Cr AATO, e-invoice is mandatory. The IRP validates GSTIN, HSN, and invoice values strictly. Penalty for incorrect invoicing is ₹25,000 per invoice under Section 122 of the CGST Act (per India Briefing's FY26 compliance summary). At the 1–4% manual entry error rate, a brand doing 50 orders a day at ₹2,000 AOV is exposed to roughly ₹1.25 lakh a day in penalty risk before anyone notices.
Honasa's version of this was the same problem at distribution scale. Distributor inventory grew from ₹41.34 Cr in FY21 → ₹65.85 Cr FY22 → ₹113.92 Cr FY23 → ₹141.35 Cr by Q1 FY24 (The Core's reconstruction from RHP filings). The system at HQ was reading superstockist depletion. The reality at sub-stockists — one Karnataka stockist received ₹1.8 Cr of stock in four days in September 2023 and sold ₹10 lakh of it over the next three months (YourStory's reporting) — never made it into the same view.

What You Can Do Yourself, Monday Morning
You don't need to procure anything to start. You need to look at your own numbers honestly.
Run a one-week stock accuracy audit on your top 20 SKUs. Pull the on-hand quantity from Shopify, the on-hand from Tally, and the physical count from the warehouse for the same 20 SKUs. Three columns. The Unleashed 2024 benchmark is that 58% of D2C brands operate below 80% inventory accuracy. If your three columns disagree by more than 20% on any of the 20, you are in that 58%.
Time the Tally lag for one full day. Pick a regular Tuesday. Note the timestamp of every Shopify order that fires. Note the timestamp the corresponding entry shows up in Tally. Plot the gap. If the median is over 10 minutes or the maximum is over 2 hours, your connector is queueing and replaying — which means during a Diwali sale or a Flipkart BBD, it will queue and replay much worse.
Map your return-to-stock path. Ask one question at the warehouse: when a courier returns an RTO carton, what is the literal sequence of events that brings that unit back into your sellable inventory count? If the answer involves "we update a sheet at the end of the day" or "the accountant does it on Friday," your sellable count is wrong by the volume of yesterday's RTOs at all times.

Pull marketplace cancellation reports for the last 90 days. Amazon Seller Central and Flipkart Seller Hub both export this. Filter for "seller-induced" or "out of stock" cancellations. If your Flipkart number is over 0.5% of orders, you are inside their suspension trigger band (per their 2026 seller policy). If Amazon's pre-fulfilment cancellation rate is over 2.5%, the same is true for SP-API offer deactivation.

Set a stock buffer per channel and write it down. Not "we'll be careful." A specific number. The Flipkart-recommended buffer for normal operations is 10–15% of on-hand, with another 5–10% during sale events. One seller documented in EcomSprint's case data went from 9% cancellation to under 2% by holding back a 15% buffer. This is free and takes one afternoon to implement at the WMS level.
None of this requires a vendor decision. All of it tells you exactly where your stack is bleeding.
Where It Gets Harder
The audit will tell you the leak. Plugging it is where the real engineering starts, and where most off-the-shelf middleware quietly stops being enough.
The architecture decisions that actually matter: the dedup key on Shopify webhooks (Shopify retries; without an idempotency layer keyed on X-Shopify-Webhook-Id, you double-decrement Tally on every retry). The reservation model in your inventory service (when an Amazon order and a Shopify order land in the same 200ms window for the last unit, who wins, and is the loser told before the customer sees a confirmation page). The kit-explosion logic for bundles — does your WMS decrement components atomically, or does it decrement the bundle parent and reconcile later. The HSN-mapping table between Shopify metafields and Tally Stock Item masters, because Shopify has no native HSN field and the IRP rejects e-invoices that don't carry one.
Then the things that don't fit on the diagram at all. Multi-warehouse allocation: Delhi to Bangalore is 3–5 days by road, so replenishment has to be demand-forecast and pre-positioned, not reactive. Inter-state transfers above ₹50,000 trigger an e-way bill compliance event for every internal movement. Zoho Inventory's enterprise tier caps at 10 warehouses, which is the migration trigger to Unicommerce or EasyEcom or Increff that nobody plans for in advance. Quick commerce flows: Blinkit's Sep 2025 shift to owning all inventory under its own GSTIN turned D2C supply from consignment to wholesale — a different reconciliation cycle, different dispute window, different cash conversion. Brands managing QC manually currently spend 18 hours a week consolidating data across Blinkit, Zepto, and Instamart (per EcomDigest's 2025 operational survey).
GlobalBees, in the Increff deployment Newspatrolling documented in January 2025, hit 99.9% inventory accuracy and cut logistics cost by 25% across 25 warehouses and 5 marketplaces. That number isn't a vendor swap. It's a reservation engine, an event-driven sync layer with proper dedup, a 3PL RTO listener that restocks atomically, a kit-explosion rule, and a per-warehouse safety buffer policy — built on top of, not instead of, the WMS.

The dedup key, the reservation engine, and the 3PL RTO listener are where the real design decisions live.

---
Related reading
- [Your 30% RTO Rate Is Not a Logistics Problem. It's an Automation Problem.](/blog/rto-problem-automation)
- [Your ITC Is Leaking. The April 2026 GST Changes Made It Worse.](/blog/gst-itc-reconciliation-ims)
- [The Friday Excel Close Is Now a Compliance Liability](/blog/owner-dashboard-replaces-excel)
← All posts



