BLOG

Can you refund a cash on delivery order from your admin?

Cash on delivery money never passes through the payment gateway, so the refund panel records the refund rather than sending it. Here is how to handle it.

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

A cash on delivery order is paid in a different way from an online order, and that changes what a refund means. The money was handed to the courier and eventually reaches you through the courier's remittance. It never went through the payment gateway, so there is nothing for the gateway to send back.

What the refund panel does for COD

On the order page, the refund panel behaves differently depending on how the order was paid. For online payments through Cashfree it sends the refund to the customer's original payment method. For everything else, including cash on delivery, it says that the order was not paid through the app: pay it back yourself, then record it here.

So you can use the panel on a COD order, but it only records the refund. It does not move money. You return the cash or transfer the amount yourself, for example by UPI, and then you enter the amount so your records match.

When there is anything to refund at all

The panel needs something paid on the order. A COD order is unpaid until the parcel is delivered and the cash collected. If the order has not been marked as paid, and nothing has been refunded before, the panel responds that nothing has been paid on this order. Before delivery, there is simply nothing to give back.

If you used the advance plus cash on delivery option, where the customer pays a small amount online and the rest at the door, the advance did go through the gateway. In that case the paid amount is the advance, and a refund up to that amount can be sent back through Cashfree. Only the part collected in cash is recorded rather than sent.

A typical sequence

Say a COD order was delivered and the customer paid cash, and a week later you agree to refund one item. You send the customer the amount by UPI. Then you open the order, make sure the payment status shows paid, enter the amount in the refund panel and press issue refund. The order now shows the refunded total, and if you refunded everything that was paid, the payment status changes to refunded.

The panel also stops you from recording more than was paid. If you try, it shows the most you can still refund.

If the order has not shipped yet

Do not refund. Cancel the order instead. Cancelling a COD order before it ships restocks the items and tells the customer, with no money to return because none was collected. Cash on delivery without the chaos and what actually happens when an order is cancelled cover that path.

Returns are a different problem

If a COD parcel comes back undelivered, the customer never paid, so there is nothing to refund at all. This is the return to origin problem that hurts many small brands, and it is a cost in shipping and handling, not a refund. Returns and RTO: the numbers nobody tells you looks at that side.

Keep your records honest

The value of recording a manual refund is accuracy later. When you export your orders for your accountant, the refunded amount and payment status should reflect what really happened. A refund you made by UPI but never recorded makes your numbers look better than they are. Record it the same day.

For the gateway side of refunds, how to refund an online payment in full is the companion post, and how to issue a partial refund explains choosing an amount.

Can you refund a cash on delivery order from your admin? — varchas.store