Title: COD &amp; Advance Payment for WooCommerce
Author: Opus Techologies
Published: <strong>July 30, 2026</strong>
Last modified: July 30, 2026

---

Search plugins

![](https://ps.w.org/cod-advance-payment/assets/banner-772x250.png?rev=3628177)

![](https://ps.w.org/cod-advance-payment/assets/icon-256x256.png?rev=3628037)

# COD & Advance Payment for WooCommerce

 By [Opus Techologies](https://profiles.wordpress.org/phonedigg/)

[Download](https://downloads.wordpress.org/plugin/cod-advance-payment.1.1.0.zip)

 * [Details](https://wordpress.org/plugins/cod-advance-payment/#description)
 * [Reviews](https://wordpress.org/plugins/cod-advance-payment/#reviews)
 *  [Installation](https://wordpress.org/plugins/cod-advance-payment/#installation)
 * [Development](https://wordpress.org/plugins/cod-advance-payment/#developers)

 [Support](https://wordpress.org/support/plugin/cod-advance-payment/)

## Description

Cash on Delivery wins orders in markets where card trust is low. It also produces
refused parcels, return shipping bills, and stock that sits on a van for two days
before coming back.

This plugin gives you three separate tools against that, and lets you switch each
one on independently.

#### Charge for the service

Add a fixed fee, a percentage, or both to Cash on Delivery orders. Put a floor and
a ceiling on it. Waive it above a cart value so your best customers still feel looked
after. Choose whether it is taxable and which tax class applies. Write the label
and the checkout explanation in your own words.

#### Decide who gets Cash on Delivery

Hide COD when the cart falls outside what you can afford to deliver on trust:

 * Minimum and maximum order value
 * Maximum cart weight and maximum item count
 * Country, state or province, city, postcode
 * Postcodes accept wildcards, so `54*` covers a whole city
 * Chosen shipping method
 * Specific products or whole product categories
 * User role, and whether the customer is logged in
 * Whether a billing phone number has been filled in

Every rule has three settings: no restriction, allow only this list, or block this
list.

#### Collect part of the money up front

Ask for a percentage or a fixed amount online at checkout, and let the courier collect
the rest. A customer who has paid something real is far more likely to answer the
door.

The split is recorded on the order, shown on the thank you page and in the customer’s
account, printed in order emails, listed in a **Balance due** column on the Orders
screen, and marked collected with one click when the cash comes back.

You can offer it as a choice, or require it before Cash on Delivery is available
at all.

#### Block the customers who keep doing it

Add individual email addresses, whole email domains, or phone numbers to a list 
and Cash on Delivery quietly disappears for them. Phone matching ignores formatting,
so `0300-1234567` and `+923001234567` are treated as the same number.

There is also an automatic option: count a customer’s cancelled or failed COD orders
over a period you choose, and withhold Cash on Delivery once they cross your limit.

#### Built to be trusted with money

Part payment changes what a customer is charged, so it is built with that seriously
in mind.

 * **Orders add up.** The order keeps its real line items and tax. A single negative
   line brings the amount charged down to the advance, so items plus tax plus shipping
   plus fees equals the total. Nothing is hidden in metadata where your reports 
   cannot see it.
 * **It fails towards you, never away from you.** If anything else on your site 
   changes the total after the reduction is calculated, the advance is abandoned
   for that checkout and the customer is charged in full. There is no path where
   a mismatch results in undercharging.
 * **You can check the numbers before going live.** A dry-run calculator takes a
   hypothetical order and shows the exact breakdown, including whether it reconciles.
 * **Everything ships switched off.** Installing this plugin changes nothing until
   you deliberately enable a module.
 * **Nothing leaves your site.** No external service, no API key, no account.

#### Works with

 * High-Performance Order Storage
 * Any online payment gateway for the advance portion
 * Multisite, with settings kept per site
 * Fully translatable, including every customer-facing string

## Screenshots

[⌊Modules screen. Everything starts off; enable one at a time.⌉⌊Modules screen. 
Everything starts off; enable one at a time.⌉[

Modules screen. Everything starts off; enable one at a time.

[⌊Cash on Delivery fee settings.⌉⌊Cash on Delivery fee settings.⌉[

Cash on Delivery fee settings.

[⌊Availability rules, from order value to postcode wildcards.⌉⌊Availability rules,
from order value to postcode wildcards.⌉[

Availability rules, from order value to postcode wildcards.

[⌊Part payment settings.⌉⌊Part payment settings.⌉[

Part payment settings.

## Installation

 1. Install through **Plugins  Add New**, or upload the folder to `/wp-content/plugins/`.
 2. Activate the plugin.
 3. Confirm Cash on Delivery is enabled under **WooCommerce  Settings  Payments**. 
    None of these rules do anything while it is switched off.
 4. Go to **WooCommerce  COD & Advance**. Every module starts off.
 5. Turn on one module. Test it. Then turn on the next.

If you plan to use part payment, test it on a staging copy of your store first, 
with your real payment gateways, your tax settings, and a coupon applied. It changes
what customers are charged and deserves that care.

## FAQ

### Does the advance payment need a special gateway?

No. The advance is charged through whichever online gateway the customer already
uses. The plugin does not process payments itself.

### How does part payment appear in my revenue reports?

WooCommerce reports show the money you have actually received, which is the advance.
The Reconciliation tab shows what is still owed, with a CSV export. Read the two
together and you have the full picture.

This is a deliberate choice. The alternative is inflating today’s revenue with cash
that has not arrived and may never arrive.

### What happens to the balance?

It is recorded on the order and shown to the customer on the thank you page, in 
their account, and in order emails. Your team sees it in the **Balance due** column
on the Orders screen. When the rider brings the cash back, open the order and click**
Mark balance as collected**.

### How is tax handled on a part payment order?

Tax is calculated on the goods at their real value, before the balance is deferred.
In practice the advance settles the tax first. The Diagnostics tab flags this so
you can confirm it matches how your accountant works.

### Can a blocked customer get around it?

Yes, by using a different email address and phone number. Blocking matches what 
is entered at checkout, so treat it as friction that discourages repeat offenders
rather than as fraud prevention. The plugin says so in the admin too.

### Does it work with the block-based Cart and Checkout?

The fee, the availability rules and customer blocking all work, because they run
on the server. The part payment selector currently needs the classic checkout shortcode.
Compatibility is declared honestly in the plugin header, so WooCommerce will tell
you rather than letting it fail quietly.

### Will it slow my checkout down?

No. The rules are in-memory checks against the current cart. The only database lookup
is the optional automatic blocking query, which runs once per checkout session.

### What happens to my data if I switch a module off, or uninstall?

Switching a module off stops it immediately and leaves its settings alone. Order
records are never touched, by either. Settings are only deleted on uninstall if 
you asked for that on the Advanced tab.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“COD & Advance Payment for WooCommerce” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Opus Techologies ](https://profiles.wordpress.org/phonedigg/)

[Translate “COD & Advance Payment for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/cod-advance-payment)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/cod-advance-payment/),
check out the [SVN repository](https://plugins.svn.wordpress.org/cod-advance-payment/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/cod-advance-payment/)
by [RSS](https://plugins.trac.wordpress.org/log/cod-advance-payment/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.0

 * Rebuilt part payment so orders reconcile: line items now add up to the amount
   charged, instead of the balance living only in metadata.
 * Added verification of the final checkout total. A reduction that cannot be reconciled
   is abandoned and the customer is charged in full.
 * Added independent module switches. Every module now ships switched off.
 * Added the Reconciliation report, with CSV export.
 * Added the Diagnostics tab: dry-run calculator, configuration warnings, and recent
   activity.
 * Added an activity log for events that affect money.
 * Fixed the Cash on Delivery fee being applied from a stale payment method selection.
 * Fixed an availability caching bug that could reuse a decision made from partly
   calculated totals.
 * Order value is now shown to the customer alongside the advance and the balance.
 * Guarded against recording the same collected balance twice.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.1.0**
 *  Last updated **8 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [cash on delivery](https://wordpress.org/plugins/tags/cash-on-delivery/)[cod](https://wordpress.org/plugins/tags/cod/)
   [deposit](https://wordpress.org/plugins/tags/deposit/)[partial payment](https://wordpress.org/plugins/tags/partial-payment/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/cod-advance-payment/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/cod-advance-payment/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/cod-advance-payment/reviews/)

## Contributors

 *   [ Opus Techologies ](https://profiles.wordpress.org/phonedigg/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/cod-advance-payment/)