BLOG

Cash on Delivery, the Leads tab, and stock that does not get stuck

How COD orders and unpaid checkouts are tracked on a Varchas store instead of quietly disappearing.

An order summary with product, delivery and total cost rows
Make every detail count · Editorial illustration

Cash on Delivery is popular across a lot of Indian brands for a simple reason: plenty of customers still prefer to pay when the order actually arrives, rather than upfront online. The problem is not COD itself, it is tracking it properly when your entire order system is a mix of DMs, notes, and memory.

COD as a real checkout option

On your Varchas store, Cash on Delivery sits alongside UPI, cards, and netbanking as a payment option a customer can choose at checkout. There is no separate process for a COD buyer to go through outside your store. They select COD, place the order, and it appears in your admin exactly like any other order, with an invoice and an order confirmation email, just marked so you know payment is still due on delivery.

This matters because it means you are not running two different systems, one for online-paid orders and a completely separate improvised one for COD orders coming in through chat. Everything sits in the same admin, in the same order list.

VISUAL GUIDEPayment choice, one order flow
Pay online
Payment recorded
Cash on Delivery
Payment due on delivery
Illustration of the distinction, not a guarantee that every payment method is enabled.

What happens when a checkout is not finished at all

COD is different from an abandoned checkout, and it is worth knowing the difference. If someone starts checkout but does not complete it, whether they were going to pay online or choose COD, that attempt shows up in your admin as a Lead rather than vanishing. A Lead tells you someone was seriously interested enough to reach checkout, which is a useful thing to follow up on, especially if you recognise the product they were looking at.

Stock does not sit reserved forever

When a checkout begins, the stock for that order is reserved so two customers cannot both buy the last piece in a size. If that checkout is never completed and the payment does not go through, the reserved stock is not stuck in limbo. After a while, it is released automatically and becomes available again for the next customer. You do not need to go into the admin and manually free it up, which matters a lot if you run limited stock or a Drop where every unit counts.

VISUAL GUIDEFollow the stock, not a notebook
  1. 1Available
  2. 2Reserved at checkout
  3. 3Checkout expires
  4. Available again
Simplified unpaid-checkout path. Completed orders follow their own fulfilment flow.

Why this beats managing COD by hand

If you have ever tracked COD orders in a notebook or a spreadsheet, you know the two failure points: forgetting which orders are still owed cash, and holding stock against an order that quietly never happened. Having COD orders live in the same admin as paid orders removes the first problem, since the order status tells you what is owed. Automatic stock release removes the second, since you are not manually auditing your inventory to find phantom reservations.

Where this fits with the rest of your order flow

Once a COD order is delivered and paid, it behaves just like any other completed order in your admin, with the same invoice and tracking history. If a COD order needs to be cancelled before it ships, the same cancellation flow applies, restocking the item as part of the cancellation. You can read more about that in this post on cancellations and refunds.

VISUAL GUIDEKeep the work connected
  1. 1Catalogue
  2. 2Checkout
  3. 3Order record
  4. Fulfilment
A simplified store workflow. Payment and shipping services depend on your setup.

Next step

If Cash on Delivery is a big part of how your customers currently buy from you, it is worth seeing how it looks inside a proper admin instead of a chat thread. The Founding Offer covers the first 10 stores with setup done together. Get in touch at /early-access.

Cash on Delivery, the Leads tab, and stock that does not get stuck — varchas.store