# How to mark COD orders as paid in Shopify

> Shopify treats COD as a manual payment, so each COD order stays Pending until you record the money. Open the order, click Collect payment, then Mark as paid. Do it when the courier's payout for that order reaches you, not on the day you ship.

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

Cash on delivery (COD) is a manual payment method in Shopify, so every COD order arrives with a
payment status of **Pending**. To record the cash, open the order, click **Collect payment** in
the **Payment pending** section and choose **Mark as paid**. Do it when the courier's payout for
that order reaches you, not on the day you ship.

## Why is a COD order pending in Shopify?

A **manual payment method** is a way of paying that happens outside Shopify's online checkout.
Cash on delivery and bank transfer both work this way. Shopify never touches the money: your
courier collects the cash at the door and pays it to you later. Shopify can't know when that
happens, so it waits for you to tell it.

Shopify's help page says orders that use manual payments are marked as unpaid on the **Orders**
page, and the order shows as **Pending** until you mark it as paid. So Pending is the normal state
of a COD order between checkout and payout. It doesn't mean anything has gone wrong.

## How do you mark one COD order as paid?

These steps follow Shopify's help page on accepting payment for an order with a pending payment:

1. From your Shopify admin, go to **Orders**.
2. Click the order number.
3. In the **Payment pending** section, click **Collect payment**.
4. Click **Mark as paid**.

The other choice in that menu, **Pay by credit card**, charges a card you type in yourself and
works only with Shopify Payments. It isn't for COD.

Before you start, check three things:

- Shopify's help page says that when you use Mark as paid, an order confirmation email is sent to
  the customer. Try it on one order first so you know what your shoppers receive.
- Staff need the **Record payments** permission, which Shopify describes as letting users record
  manual payments for orders. If a team member can't mark orders as paid, check this permission.
- Compare the order total with the amount your courier reports for that order. If they differ,
  find out why before you record the payment.

## Can you mark many COD orders as paid at once?

Shopify's help pages describe marking a manual payment as paid from the order details page, one
order at a time. They don't describe a bulk **Mark as paid** action in the orders list.

If you handle many COD orders a week, these options help:

- Work from a saved view of the orders waiting for money (see below), so each order is one click
  away.
- Shopify Flow, Shopify's automation app, has a **Mark order as paid** action. It marks only the
  order that started the workflow, and the events that can start it include **Order fulfilled**
  and **Fulfillment event created**. **Order fulfilled** runs when you fulfill the order, before
  the parcel is even delivered. None of these events means "the courier has paid me", so a
  workflow built on them marks orders paid before the cash reaches you. Use it only if you have
  decided to treat delivery as payment and someone still checks every payout.
- Some apps can mark orders paid in bulk. Before you use one, check exactly which orders it
  changes and whether you can undo it.

## When should you mark a COD order as paid?

Mark it paid when the money for that order arrives from the courier. A delivered parcel is not yet
money in your bank. The courier holds the cash until its next payout and may take its fees out
first. [Courier COD payouts](/guides/courier-cod-payouts/) explains how that works and how to
match a payout to your orders.

Waiting for the payout keeps your Pending list honest. Every shipped order still in it is money a
courier owes you, a parcel that hasn't been delivered yet, or a refusal you haven't cancelled.

Some stores mark an order paid as soon as the courier confirms delivery, because the courier now
has the cash. That can work if someone still checks each payout against those orders. Choose one
rule and write it down, so everyone on your team does the same thing.

Never mark a refused order as paid, because the shopper paid nothing. Cancel the order and pick a
reason, so it shows up when you look for cancelled COD orders later. See
[how to find cancelled COD orders](/guides/find-cancelled-cod-orders/).

## How do you see which COD orders are still waiting for money?

Build a saved view on the **Orders** page:

1. From your Shopify admin, go to **Orders**.
2. Add the **Payment status** filter and choose **Pending**.
3. Add the **Fulfillment status** filter and choose **Fulfilled**, so you only see parcels that
   have left.
4. Click **Save** and name the view, for example "COD waiting for courier money".

Shopify's order filters also include **Delivery status**, with values such as **Delivered** and
**Failed delivery**, if you want a narrower list.

> **Note:** Shopify's order filters have no payment method filter, and Payment status covers
> every manual method. If you also accept bank transfers, those orders appear in the same view.
> Open an order to see how it was paid.

This view only works if you fulfill each order when the parcel leaves. See
[fulfilling COD orders](/guides/fulfill-cod-orders/).

## What does marking an order as paid change in your reports?

Shopify's finance reports keep sales and payments apart:

- The **Sales** finance report counts an order in the period when it was placed.
- The **Payments** finance reports, such as **Net payments by method**, count a payment in the
  period when it was recorded.

Shopify gives this example: an order placed in May and paid in June appears in the Sales report
for May and in the Payments report for June. For a COD store, the Payments report follows the
dates you mark orders as paid. If you mark them paid when courier money arrives, a month's Payments
figure follows the COD cash you received that month, which makes it easier to check
against your bank statement.

Shopify also says the two reports can differ when customers have placed orders but payment hasn't
been captured yet. In a COD store, much of that gap is usually orders you haven't marked paid.

> **Example:** These figures are examples; replace them with your own. In October your store takes
> AED 40,000 of COD orders. By 31 October your courier has paid you for AED 31,000 of them, and
> you have marked those orders paid. The other AED 9,000 counts in October's Sales report but not
> yet in any Payments report. When the courier pays for them in November and you mark them paid,
> they appear in November's Payments report.

## What if a shopper wants money back after you marked the order paid?

Shopify can't send the cash back for you, because it never handled it. You pay the shopper
yourself and then record the refund on the order. The steps are in
[refunding a COD order](/guides/refund-cod-order/).

## Sources

- [Shopify Help Center: Manual payment methods](https://help.shopify.com/en/manual/payments/manual-payments)
- [Shopify Help Center: Managing orders with deferred payments (accept payment for an order pending payment)](https://help.shopify.com/en/manual/fulfillment/managing-orders/payments/deferred-payments)
- [Shopify Help Center: Filtering orders](https://help.shopify.com/en/manual/fulfillment/managing-orders/viewing-orders/filtering-orders)
- [Shopify Help Center: Finances reports](https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types/default-reports/finances-report)
- [Shopify Help Center: Shopify Flow action: Mark order as paid](https://help.shopify.com/en/manual/shopify-flow/reference/actions/mark-order-as-paid)
- [Shopify Help Center: Store permissions](https://help.shopify.com/en/manual/your-account/users/roles/permissions/store-permissions)
