Opus Cod & Advance Payments
Cash on Delivery, without the refused parcels.
Charge a fee for COD. Restrict it to the orders you can afford to trust. Or take part of the payment up front, so the customer has a reason to answer the door.
For WooCommerce · Works with any payment gateway · No external service
3
Modules
0
On by Default
1
Negative Line
0
External Services
You already know the arithmetic.
A customer orders 5,000 worth of goods on Cash on Delivery. You pick it, pack it, and pay a courier. Two days later the parcel comes back. Nobody answered. You have paid shipping twice and the stock has been out of stock for three days.
The customer risked nothing. That is the whole problem.
Use one or all three.
Make COD Pay for Itself
A fixed fee, a percentage, or both. Floor it, cap it, or waive it above a cart value so your best customers still feel looked after. Choose whether it is taxable. Write the label yourself.
Only Offer COD Where It Works
Order value, weight, item count, country, state, city, postcode, shipping method, product, category, user role, logged-in status, whether a phone number was even entered. Postcode wildcards mean 54* covers an entire city.
Get Money Before Dispatch
Ask for 20%, or a flat amount, online at checkout. The courier collects the rest. The balance is recorded on the order, shown to the customer, printed in emails, and listed in a Balance due column your team can work from.
The customer picks how to pay.
How would you like to pay?
They pay the advance through whichever gateway you already use. The order records all three figures — order value, paid online, balance due. Your rider knows exactly what to collect. One click marks it collected.
Or make it compulsory: turn on required mode and every delivery order starts with a real payment.
This module changes what your customers are charged.
It is built like it.
Orders Add Up
The order keeps its real line items and real tax. One negative line brings the charge down to the advance, so items plus tax plus shipping plus fees equals the total. Nothing hides in metadata where your reports cannot see it.
It Fails Towards You
If anything else on your site changes the total after the reduction is calculated, the advance is abandoned and the customer is charged in full. There is no path where a mismatch undercharges.
Check Before You Commit
A dry-run calculator shows the exact breakdown for any hypothetical order, including whether it reconciles.
Nothing Turns On by Itself
Every module ships off. Installing changes nothing until you decide.
Your Data Stays Yours
No external service. No API key. No account.
You can hand it to an accountant.
WooCommerce reports show money received. This plugin adds the other half: what is still owed, per order, with a CSV export.
Read together, they are the full picture. No guessing.
Everything included.
Cash on Delivery Fee
- Fixed, percentage, or combined
- Minimum and maximum limits
- Waive above a cart value
- Taxable, with tax class selection
- Editable label and checkout notice
Availability Control
- Minimum and maximum order value
- Maximum weight and item count
- Country, state, city, postcode
- Postcode wildcards
- Shipping method rules
- Product and category rules
- User role rules
- Guest and phone-number requirements
- Allow-list or block-list on every rule
Advance Payment
- Percentage or fixed amount
- Optional or compulsory
- Minimum and maximum advance
- Order-value threshold
- Optional fee waiver as an incentive
- Balance recorded, displayed and emailed
- One-click balance collection
- Reconciliation report with CSV export
Customer Blocking
- Email, domain, and phone lists
- Format-insensitive phone matching
- Automatic blocking after repeat failures
- Live list of affected customers
Built for Production
- All modules ship off
- Dry-run calculator
- Configuration warnings
- Activity log
- HPOS support
- Fully translatable
- Developer filters
Frequently asked
Do I need a special gateway?
No. The advance goes through whatever you already use.
Will my revenue reports be wrong?
No — they will show money you have actually received. The Reconciliation tab shows what is still owed. That is deliberate: inflating today's revenue with cash that may never arrive is worse.
Does it slow checkout down?
No. The rules are in-memory checks on the current cart.
Does it work with block checkout?
The fee, availability and blocking modules do. The part payment selector needs classic checkout today.
Can a blocked customer just use a different email?
Yes. Blocking is friction that discourages repeat offenders, not fraud prevention. Advance payment is the tool that actually stops it.
Try it on the module you trust first.
Start with availability rules or the fee — both low risk, both immediately useful. Add part payment when you have tested it on your own store.
Free · Open Source · Documentation · Support