.png&w=3840&q=75)
The app said the return was approved. The rider at the door disagreed. That gap, between what the software confirms and what the dark store actually accepts, is where a growing share of Indian D2C brands are quietly losing customers, and most ops teams have no dashboard that even shows it.
Founders track return approval rate like the story ends there. It does not. Approval is a policy decision made in software. Acceptance is a physical decision made by a person standing at a counter or a doorstep, working off criteria that rarely match what the app promised the customer. This piece is about that second, unmeasured checkpoint: why it exists, what it costs, and what actually fixes it.
Every return has two checkpoints, not one. The first is eligibility: is the order inside the return window, is the category returnable, does the reason code qualify for a refund or an exchange. This runs entirely in software and is what a customer sees as “approved.”
The second checkpoint is physical: does the item match what was ordered, is the packaging intact, is there proof the return is legitimate. This is where a rider, a dark store associate, or a third-party QC bench makes an independent call, often with none of the context the app used to approve the request in the first place. A LocalCircles survey covering the 2025 festive shopping season found that a large majority of online shoppers, across both marketplaces and quick commerce apps, ran into return or refund problems, with wrong items, mismatched listings, and failed pickup windows among the leading complaints. That is not a fringe issue. It is a structural one.
A dark store's entire design brief is outbound velocity: narrow aisles for fast picking, staffing rostered around peak order windows, layouts optimized for a rider to walk in and out in under two minutes. None of that infrastructure is built for the opposite flow, where a returned item needs to be inspected, matched against an order ID, graded, and routed to resale, restock, or write-off.
This is why reverse pickups so often lose to hyperlocal delivery SLAs for the same rider's time and the same store's floor space. It is also why several quick commerce platforms have been criticized for applying a blanket 48 to 72 hour rejection window on high-value item returns, the same policy used for groceries, according to festive season reporting on the LocalCircles survey. A single window across categories with very different risk profiles is not a fraud control. It is a scheduling shortcut dressed up as a policy.
Across quick commerce and D2C fulfilment operations, most rejected-at-pickup returns trace back to one of four recurring triggers, not customer dishonesty.
| Trigger | What the dark store sees | Why it gets rejected | The actual fix |
| Tag or seal removed | Item without original packaging, tag, or seal intact | No shared criteria for “opened to try” versus “used”, so staff default to no | Photo-based condition criteria shown to the customer at return initiation, not discovered at pickup |
| SKU or variant mismatch | Size, color, or batch scanned does not match the original order ID | Usually a picking or packing error upstream, not a customer fault, but it reads as fraud at the door | Order-linked barcode verification built into the pickup app before acceptance |
| Return window lapsed | Return initiated after the platform's blanket policy window, commonly 48 to 72 hours | One uniform window applied across categories with very different real risk profiles | Category-specific windows set by shelf life and product risk, not a single platform default |
| No proof at initiation | Customer files a return with no photo or video evidence attached | Frontline pickup staff have no discretion to accept without documentation, so they default to reject | Proof capture required at the return request step, not left to the pickup step |
The direct cost is real: reverse logistics runs up to roughly 1.5 times the cost of forward logistics per shipment, mostly extra handling, inspection, and grading a forward delivery never needs. Treat that as a directional industry benchmark, not a number specific to any one brand's cost structure.
The bigger cost never shows up in the logistics ledger. A customer told yes and then told no at the door has a worse experience than one told no from the start, because the second rejection reads as bad faith, not policy. That gap shows up in repeat purchase rate and NPS, not in refund cost, which is why most ops dashboards miss it entirely. A brand chasing RTO reduction on the forward side while ignoring rejection-at-pickup on the reverse side is fixing half the funnel and calling it done.
The recurring pattern across all four rejection triggers is inconsistency, not fraud and not customer error. A different rider or a different dark store applying a different judgment call to the same return category is a design failure, not a staffing shortfall. Fixing it means one SOP, applied the same way regardless of which city or which dark store handles the pickup, with proof capture moved to the point where the customer initiates the return, not the point where the rider shows up.
It also means separating reverse pickups from the same rider capacity that is under pressure to hit a 30 or 60 minute outbound SLA. When a return competes with same-day delivery for the same person's time, the return loses, every time. Dedicated reverse capacity, staffed by people trained on one brand's SOP rather than rotating between brands, is what actually closes this gap.
For a deeper look at building that process end to end, see Reverse Logistics for D2C: Building a Returns Process That Protects Margin, and for the pre-delivery half of this problem, NDR Management: How to Recover Failed Deliveries Before They Become RTOs.
This is the exact gap Zippee's dark store network across 21+ cities, including Delhi NCR, Mumbai, Bengaluru, and Hyderabad, is built to close. Riders on the network are full-time employees, not gig workers rotating between brands, so a return is accepted or rejected against the same brand-specific SOP whether the pickup happens in Bengaluru or Delhi NCR.
Reverse pickup capacity is planned for separately from outbound delivery capacity, so returns do not have to compete with a live 30-minute SLA for the same rider's time. And because fulfilment runs through the brand's own D2C channel rather than a third-party marketplace, the brand keeps the customer data and return history needed to diagnose which SKUs, cities, or packaging choices are driving rejections, instead of guessing from a marketplace dashboard that was never built to answer that question.
For 100+ D2C brands and marketplaces already running same-day and 30/60-minute delivery through Zippee's dark store network, this means the return experience carries the same brand consistency as the delivery experience, which is the actual lever behind improved NPS, not a bigger warehouse.
A rejected return is rarely about a dishonest customer. It is almost always about a dark store designed for one direction of flow being asked to handle the other, with no shared standard for what “accepted” means. Quick commerce logistics in India cannot treat returns as an afterthought bolted onto an outbound network built for speed. Fixing it is infrastructure work: dedicated reverse capacity, full-time trained staff, consistent SOPs, and proof captured at the right step.
Zippee is built as that infrastructure, not as a vendor layered on top of someone else's dark store network. If you're ready to turn your fulfillment into a competitive advantage, join our waitlist.