# Should you charge a COD fee?

> Shopify has no setting that adds a fee when a shopper picks Cash on Delivery, so a COD fee needs an app or a workaround. A fee can pay for cash handling on delivered orders, but it brings in nothing on refused parcels, so it isn't a fix for refusals.

URL: https://khaleejicod.com/guides/cod-fee/  
Updated: 2026-10-26  
Publisher: Trifid Media LLC

Charge a COD fee if collecting cash costs you money on orders that arrive, and if you can show the
fee clearly before the order is placed. Don't charge one to stop refusals: the fee is collected at
the door with the rest of the money, so a refused parcel brings in nothing, fee included. On
Shopify you'll need an app or a workaround, because Shopify can't add a fee to a payment method on
its own (checked 26 October 2026).

## Can Shopify add a COD fee on its own?

No. Cash on Delivery is a manual payment method. Shopify's help page for manual payment methods
lists the fields you can fill in: **Additional details**, shown next to the method at checkout, and
**Payment instructions**, shown on the order confirmation page. Custom methods also get a name.
There's no fee or surcharge field.

Payment customizations can't do it either. These are the Shopify Functions that apps use to change
the payment step. Shopify's reference lists what they can do: hide a payment method, move it,
rename it, set payment terms (Plus only) and add a review requirement (B2B on Plus only). None of
these adds a charge or changes a price.

You can write a sentence about a fee in **Additional details**, but Shopify won't add the amount
to the order. Collecting an extra amount at the door that isn't on the order is a bad idea: the
shopper sees a total that doesn't match their order, which is one more reason to refuse.

## What does a COD fee cover, and what doesn't it?

A fee works on orders that are delivered and paid. It can cover:

- the fee your courier charges for collecting cash, if your contract has one
- the extra work of matching courier payouts to orders
- the wait before the cash reaches your bank

It does nothing for refused orders. You still pay to ship the parcel out and back, and you collect
nothing.

> **Example:** Say your courier charges AED 10 for each COD parcel it delivers and AED 20 each way
> for shipping. With an AED 10 COD fee, a delivered COD order pays for its own cash collection. A
> refused order still costs you AED 40 in shipping, and the fee brings in AED 0. These figures are
> examples. Use your own courier's rates.

To work out what a refusal costs you in full, see
[what one refused COD order really costs](/guides/cost-of-a-refused-cod-order/).

## How can you add a COD fee on Shopify?

There are four ways to do it. Each has a weak spot, so test whichever you pick with a real checkout.

### A COD fee app

An app adds a charge when the shopper selects COD. Apps do this in different ways, so ask before
you install:

- Does the fee appear in the checkout total before the shopper places the order?
- Does it disappear if the shopper switches to card or Apple Pay?
- Is it shown on the order and the invoice, so the courier collects the right amount?
- Does it work on your Arabic checkout and in every currency you sell in?

### A fee product in the cart

You create a product called "Cash on Delivery fee" and ask COD shoppers to add it. Nothing in
Shopify forces this, because Shopify doesn't link a product to a payment method. An app with a
payment customization could hide COD unless the fee product is in the cart, but shoppers can still
remove it or be confused by it. For most stores it's a clumsy option.

### A COD shipping rate

Shopify lets you add flat shipping rates with your own name and price under **Settings > Shipping
and delivery**. You could add a second rate, such as "Delivery with cash payment", priced a little
higher. Shopify's rate conditions are based on order price or weight, not on the payment method,
so on its own nothing stops a shopper from picking the cheaper rate and then choosing COD.

A payment customization can read which shipping option the shopper selected. So an app could show
COD only when the COD rate is chosen. Check that your app offers that condition before you rely on
this.

### Building the cost into prices or shipping for everyone

You raise prices or delivery charges slightly for all orders. It's simple and there's nothing to
explain at checkout, but card shoppers pay for cash handling too, and nothing nudges anyone towards
paying online.

## How do shoppers react to a COD fee?

Shoppers differ from store to store, so judge this from your own orders. Expect a mix:

- Some shoppers switch to card, Apple Pay or another online method to avoid the fee. That is often
  the point.
- Some leave at checkout, especially those who have no way to pay online.
- A fee that appears late, or only at the door, can feel like a trick and lead to refusals.

Say it everywhere a shopper might look: the product page, the cart, the delivery page and your COD
policy. In Arabic, a clear label such as «رسوم الدفع عند الاستلام» (cash on delivery fee) is enough.
For a policy page you can adapt, see the [COD policy template](/guides/cod-policy-template/).

After you start, compare these for a few weeks before and after: the share of orders paid by COD,
your checkout conversion rate, and your refusal rate.

## What can you do instead of a COD fee?

- Reward paying online instead. A reward for paying online can feel better to shoppers than a
  charge for paying cash, even when the money is the same. See
  [nudging shoppers from cash to card](/guides/move-shoppers-from-cash-to-card/).
- Hide COD only where refusals cost most, such as large carts, first orders or repeat refusers.
  Khaleeji COD works this way: it hides or renames COD by rule and doesn't charge fees. See
  [how to hide COD above a cart total](/guides/hide-cod-above-cart-total/).
- Take a deposit, so a refusal costs the shopper something. See
  [partial COD and deposits](/guides/partial-cod-deposits/).

For a side-by-side view of a fee, hiding COD, deposits and OTP, see
[hide COD, COD fee, partial COD or OTP](/guides/hide-cod-vs-fee-vs-partial-vs-otp/).

> **Note:** A fee you charge becomes part of what the shopper pays for the order. Ask your
> accountant how VAT applies to it in each country you sell to.

## Sources

- [Shopify Help Center: Manual payment methods](https://help.shopify.com/en/manual/payments/manual-payments)
- [Shopify.dev: Payment customization Function API](https://shopify.dev/docs/api/functions/latest/payment-customization)
- [Shopify Help Center: Setting up shipping rates](https://help.shopify.com/en/manual/fulfillment/setup/shipping-rates/setting-up-shipping-rates)
