Indian D2C brands shipping 5,000 to 100,000 orders a month via 3PL fulfilment face a structurally complex COD reconciliation — T+5 to T+14 remittance cycles per 3PL with RTO hold-back, 15-35% RTO shrinkage by category, pickup-vs-billing weight disputes on volumetric vs actual weight, reverse-logistics GST credit-note matching under Section 34, Section 393 code 1002 TDS on 3PL invoices, and a tariff-slab settlement (weight x zone x service tier) that requires re-validation against the 3PL's MIS.
Tie each shipment to a unique AWB across the order-to-delivery-to-COD-remittance lifecycle, age remittance per 3PL per delivery date against the expected T+X window, reconcile RTO shipments to inbound warehouse receipts and reverse-leg GST credit notes, dispute pickup-vs-billing weight using volumetric formula re-validation with hub re-weigh evidence, recover ITC on 3PL 18% GST charge under SAC 996819, and tie Section 393 code 1002 TDS deduction on each invoice to Form 26AS at quarter-end.
Shipment master keyed by AWB with order ID, SKU, declared weight, volumetric L*B*H, declared value, COD flag, 3PL code, zone, and forward/RTO tariff at booking, COD remittance expected table per 3PL per delivery date offset, RTO master with reason code, warehouse receipt flag and credit-note status, weight-dispute register with hub re-weigh evidence and 14-day contest window, and Section 393 code 1002 vendor master for each 3PL with rate 2% default.
A daily reconciled view per AWB showing delivery date to COD-collection-status to remittance-expected to remittance-received with ageing exceptions, RTO ageing decomposed by reason code with warehouse-receipt confirmation and reverse-GST credit-note status, weight-dispute ageing by 3PL with hub re-weigh evidence file and 14-day window flag, monthly tariff reconciliation showing booked vs invoiced slab with delta classification, and a monthly Section 393 code 1002 TDS challan tied to each 3PL invoice with 26AS quarterly tie.
A D2C cosmetics brand in Mumbai ships 18,000 orders in May 2026 across three 3PLs — Shiprocket on the long tail of pin-codes, Delhivery on enterprise lanes, Bluedart on premium-customer overnights. Of the 18,000 orders, 6,300 are COD (35%). Forward freight invoiced by the 3PLs is ₹14.7 lakh. COD collected by the 3PLs and remitted to the brand is ₹62.4 lakh. RTO shipments — 2,950 of them, an 16.4% rate — drove ₹8.2 lakh of reverse-leg cost and ₹19.6 lakh of revenue reversal. Anyone running warehouse COD 3PL settlement reconciliation India at this scale knows: the AWB is the only key that makes the numbers tie. Lose the AWB-to-order mapping anywhere in the lifecycle and the reconciliation collapses.
Quick reference
| Item | Value |
|---|---|
| Major 3PL/aggregator providers | Shiprocket, Delhivery, Xpressbees, Bluedart, Ecom Express, DTDC |
| COD remittance cycle | T+5 to T+14 from delivery date (3PL and tier dependent) |
| RTO rate (D2C COD typical) | 15-25% (fashion, beauty), 8-15% (electronics, food), 25-35% (jewellery, high-AOV) |
| 3PL service GST | 18% under SAC 996819 (supporting transport services) |
| Volumetric weight formula | L cm x B cm x H cm divided by 5000 (surface) or 4000 (air) |
| 3PL payment TDS | Section 393, code 1002 — 2% for company/firm 3PLs |
| Reverse-leg GST credit-note basis | Section 34 of the CGST Act — within 30 September following FY end |
| Section 9(5) applicability | Does NOT apply to standard 3PL freight — applies to specified categories of supply only |
How does the COD lifecycle actually flow?
The flow has six checkpoints and the brand must reconcile each:
- Order placed on the brand’s storefront — Shopify, Magento, custom — with COD flag. Order ID generated.
- Shipment booked with the 3PL via API — AWB assigned, declared weight and dimensions captured, zone classified, tariff locked.
- Pickup — 3PL collects from the brand’s warehouse or 3PL-managed fulfilment centre.
- Delivery — rider hands over goods and collects cash from customer. Delivery confirmation pushed to 3PL system.
- COD collection — cash flows from rider to hub to 3PL head office to escrow.
- COD remittance — 3PL releases cash to brand’s nominated bank account on T+X (3PL and tier dependent), net of any RTO hold-back, weight upcharges, and dispute reserves.
The brand must reconcile checkpoints 5 and 6 against checkpoints 1 and 2: every delivered COD order must produce a remittance against the AWB within the expected T+X window. Every RTO must roll back the order, reverse the GST output, and book the warehouse inbound receipt.
What are the four COD reconciliation rails?
Rail 1 — COD remittance ageing per 3PL
Each 3PL has its own remittance cycle: Shiprocket T+7 on its premium plan, T+10 on standard; Delhivery enterprise T+5; Bluedart T+3 for vetted accounts. The brand holds a per-3PL expected-remittance offset table and ages every delivered COD shipment from delivery date. AWBs delivered today should remit on date today + T+X. Any AWB delivered beyond the window with no matched remittance becomes an exception that escalates to the 3PL account manager. The dispute cycle typically takes 7 to 21 working days. Industry-typical permanent COD shortfall at scale is 0.05% to 0.20% of COD spend — small in percentage but ₹3-12 lakh annualised at a ₹6 crore monthly COD volume.
Rail 2 — RTO matching and reverse-GST
An RTO event has four sub-actions for reconciliation:
- AWB match to the original order — confirm the SKU, customer, and original sale invoice.
- Warehouse inbound receipt — physical SKU count back into inventory. Any mismatch (lost in transit, damaged on return) becomes a 3PL claim under their RTO insurance or self-bearing policy.
- Section 34 credit note — reverse the GST output liability on the original sale invoice value. The credit note must be issued by 30 September following the FY end.
- 3PL cost booking — the forward freight stays as a cost, the RTO charge is booked, the packaging recovery (if the 3PL applies one) is netted.
Most brands run rails 1 and 4 cleanly but lose discipline on rails 2 and 3 — and pay GST output liability on returned goods because the credit note was never issued within the Section 34 window.
Rail 3 — Weight dispute reconciliation
The 3PL re-weighs at the hub and publishes a weight-discrepancy file: AWB-wise, declared weight vs re-weighed weight, applied slab change, and photograph or dimension capture. The brand contests within the 14-day window. A 600 ml dry-shampoo bottle declared at 280 g but re-weighed at 750 g volumetric (under L x B x H divided by 5000) is a legitimate upgrade if the brand’s pick-pack template did not account for the volumetric formula. Reconciliation reviews each discrepancy against:
- The pick-pack template the brand declared at SKU master setup.
- The volumetric formula at the 3PL’s published divisor (5000 surface, 4000 air).
- The physical SKU dimensions on file.
Accepted upgrades feed the next 3PL invoice cycle as a slab-band adjustment. Contested ones drop off after the 3PL’s resolution.
Rail 4 — Tariff invoice reconciliation
The 3PL’s monthly invoice aggregates: forward freight by slab and zone, RTO charges, COD-collection fees (typically a flat ₹35-50 per COD AWB or 1-1.5% of COD value, whichever is higher), weight-upgrade differentials, and value-added services (fragile packaging, multi-attempt delivery, signature-required delivery). Reconciliation re-prices every AWB from the booking record using the contracted tariff and compares to the 3PL’s invoice — any delta on a single AWB is a tariff exception. Industry-typical tariff mis-billing at scale is 0.3% to 1.0% of monthly 3PL spend — recoverable through dispute, but only if the brand has the booking record per AWB.
Worked example — D2C cosmetics brand, 18,000 orders, May 2026
| Line | Value |
|---|---|
| Total orders | 18,000 |
| Prepaid orders | 11,700 (65%) |
| COD orders shipped | 6,300 (35%) |
| Total order value (gross) | ₹3.6 crore |
| COD-flagged GMV | ₹1.26 crore |
| Delivered (COD) | 5,265 (83.6% of COD shipped) |
| RTO (COD) | 1,035 (16.4% of COD shipped) |
| COD collected at 3PLs | ₹1.04 crore |
| COD remitted to brand bank (May only, delivered shipments) | ₹62.4 lakh (T+5 to T+14 staggered across delivery dates) |
| COD in-transit at month-end (not yet remitted) | ₹41.6 lakh (in 3PL float — will hit June bank) |
| Forward freight invoiced by 3PLs | ₹14.7 lakh (across all 18,000 orders) |
| RTO charges (COD RTO + reverse leg) | ₹8.2 lakh |
| COD-collection fee | ₹2.85 lakh (₹45 average per COD AWB × 6,300) |
| Weight-upgrade differential disputed | ₹0.84 lakh (1,180 AWBs flagged, 720 accepted, 460 contested) |
| GST output reversed on RTO (credit notes filed) | ₹3.52 lakh (18% on ₹19.6 lakh of RTO order value) |
| 3PL ITC claim (18% on ₹26.6 lakh of total 3PL invoices) | ₹4.06 lakh |
| Section 393 code 1002 TDS withheld on 3PL invoices (2%) | ₹0.53 lakh |
The COD float — ₹41.6 lakh in transit at month-end — is the brand’s largest single working-capital line. Visibility per AWB per remittance window is non-negotiable. The RTO leak — ₹3.52 lakh of GST output that gets reversed only if the credit notes are filed within the Section 34 window — is the most common permanent leakage seen in D2C audits.
Quantify the exception burden on your warehouse and 3PL stack
The Three-Way Match Exception Cost Calculator sizes the rupee burden of reconciliation exceptions across freight, COD remittance, and weight disputes.
Open the Three-Way Match Exception Cost Calculator →What is the GST and TDS overlay on 3PL invoices?
3PL service GST: 18% forward charge under SAC 996819 (supporting transport services). The brand claims ITC on the full 18% — provided the 3PL’s GSTR-1 has been filed and the invoice appears in the brand’s GSTR-2B. See GSTR-2B reconciliation pillar for the matching discipline.
Reverse-leg GST on RTO: each RTO requires the brand to issue a Section 34 credit note against the original sale invoice. The credit note reverses the original GST output liability. The 30 September following FY-end deadline is the hard stop — credit notes issued after this date cannot reduce the original year’s output tax.
TDS on 3PL invoices: payment to a 3PL falls under Section 393 of the Income Tax Act 2025, payment code 1002 (the post-1 April 2026 replacement for legacy Section 194C). Rate is 2% for company/firm/LLP 3PLs — the standard form for Shiprocket, Delhivery, Bluedart and other organised players. Threshold is ₹30,000 per transaction and ₹1 lakh aggregate per FY. See Section 393 framework explainer and TDS payment codes 1001-1092 India.
Section 9(5) clarification: Section 9(5) CGST applies to specified categories of supply (passenger transport, hotel accommodation under certain bands, restaurant services other than the 18%-with-ITC band, certain housekeeping services) where the e-commerce operator becomes the GST-bearer in place of the supplier. Standard 3PL freight does not fall under Section 9(5). The brand collects GST output on its sale and the 3PL collects GST output on its freight service — two separate supplies.
How does warehouse-COD reconciliation tie to the broader logistics stack?
A D2C brand running clean 3PL reconciliation has connected rails:
- Sourcing-side: freight GST reconciliation: RCM, GTA election and ITC covers inbound freight from supplier to warehouse, where the 5% RCM vs 12% forward charge decomposition lives.
- 3PL-provider POV: 3PL settlement reconciliation for Indian logistics and supply-chain operators covers the multi-client revenue settlement from the 3PL’s side.
- Operational toll: FASTag toll reconciliation for Indian fleet operators sits on the operating side of the 3PL’s vehicle fleet.
- Payment-side: D2C COD vs prepaid reconciliation covers the payment-mix decomposition at the brand level.
The COD reconciliation rail is the one with the largest cash-flow leverage. Get it wrong and the brand carries unfunded working capital — visible only when the bank statement is reconciled against the COD MIS and the gap is what was never remitted.