Launch price: $29 one time for the first 199 buyers, then $49 for the next 200, then $39 a year per site.Get Pro

ThresholdCOD Rules for WooCommerce

Guides

Partial COD in WooCommerce: take an advance on cash on delivery

Partial COD means the customer pays a small part online and the rest in cash when the parcel arrives. Done well, the order total never changes.

Threshold · 2 min read · Updated 28 Oct 2026

Why not change the order total

Payment gateways charge the order total. If you edit the total to take only the advance, refunds, reports and some gateways break. A cleaner design keeps the full total on the order.

The linked advance order

  1. The customer picks Cash on delivery and the checkout shows the split.
  2. A small linked order for the advance amount is created.
  3. The customer pays it on the normal WooCommerce pay page, with any gateway that works there.
  4. When it is paid, the main order moves to the balance due status.
  5. You collect the balance on delivery.

Choosing the advance

The advance can be a percent or a flat amount, with a lowest and highest value. Many stores set a percent with a lowest value that covers the shipping a refusal would cost. Work it out with the calculator.

Edge cases

  • Offline gateways such as bank transfer confirm only when you mark the advance order paid.
  • Advances that are never paid should cancel the order after a set time and release the stock.
  • Advance orders should stay out of your sales reports so revenue is not counted twice.
How Threshold does it. The main order keeps its full total, the advance is a hidden linked order, unpaid advances cancel after the hours you set, and the dashboard shows refusals with and without an advance. Details in the docs.

Questions

Which payment gateways can take the advance?

Any gateway that works on WooCommerce's pay-for-order page.

Does partial COD work with the block checkout?

Yes, with Threshold it works on the block checkout and the classic checkout.

Get paid before the door opens. Threshold is free on WordPress.org.

Get the free plugin