The hidden cost of cash on delivery in WooCommerce: how to set a different fee per shipping method (courier)
Are you losing money on cash-on-delivery orders, or overcharging your customers with an unfair flat fee? If your online store works with several courier companies, it is time for smarter management.

In the competitive landscape of Greek e-commerce, flexibility is everything. For most online stores in Greece, cash on delivery (COD) is not just an option but the dominant and most trusted way for consumers to pay; it is very common in Greece.
Running a WooCommerce store efficiently often means working with several shipping companies — for example ACS for speed, Speedex for economy, or a freight company for bulky parcels (ACS and Speedex are Greek courier companies).
This strategy is excellent for service, but it creates a huge, costly problem for cash-on-delivery orders, which plain WooCommerce cannot handle.
The problem: the limits of default WooCommerce
WooCommerce is a leading platform, but its logic for the cash-on-delivery fee is far too simple.
By default, when you enable cash-on-delivery payment, the system only lets you set one general, flat fee (for example €2.50).
This is exactly where the problem lies. In reality, each courier company charges you differently for the cash-on-delivery service.
The everyday scenario:
Let’s assume your online store uses three different methods:
-
ACS Courier: Cash-on-delivery cost to you €2.50.
-
Speedex: Cash-on-delivery cost to you €2.00.
-
ELTA Courier (the courier service of Hellenic Post): Cash-on-delivery cost to you €3.00.
With WooCommerce’s default settings, you are forced to choose just one amount to charge the customer.
The consequences:
-
Financial bleeding (you lose money): If you set cash on delivery to €2.00 (to stay competitive), you lose €0.50 on every order shipped with ACS and €1.00 with ELTA. In an online store with a high volume of orders, this loss is huge.
-
Customer dissatisfaction (you lose sales): If you set cash on delivery to €3.00 to cover your highest cost, you overcharge everyone who chooses Speedex. The customer sees an unjustifiably high charge, abandons the cart (cart abandonment) and you lose the sale.
The need: automated charging per shipping method
Online store owners don’t need half-measures. They need their WooCommerce to work with the same precision as their agreements with the couriers. The logic has to be dynamic:
IF the customer chooses shipping with ACS, THEN charge €2.50 for cash on delivery.
IF the customer chooses Speedex, THEN charge €2.00 for cash on delivery.
This approach makes sure you never lose money, while at the same time offering fair prices to your customers and building trust.
The ultimate solution: COD per Shipping Method for WooCommerce
We created exactly this tool to solve the problem for Greek online stores.
The COD per Shipping Method plugin by BigDrop is the bridge that connects your complex shipping methods with your payment settings, fully automating the process. It bypasses WooCommerce’s simplistic setting and gives you complete control — without writing a single line of code.
Key advantages of the plugin:
-
A separate fee per courier: Set a unique COD fee for each shipping method, through a simple, clean settings screen.
-
Compatible with free shipping: The biggest advantage! If you offer free shipping over €50, the plugin sets the shipping cost to zero but still keeps and collects the cash-on-delivery fee.
-
Dynamic update at checkout: As the customer changes the shipping method at checkout, the cash-on-delivery fee updates automatically in real time (AJAX).
-
Hide cash on delivery where needed: Don’t want cash on delivery to be available for “Store pickup”? Just leave the field empty or enter 0.
-
Lightweight & fast: No unnecessary scripts on the front end. It does not slow down your online store and is fully compatible with the new block checkout and HPOS.
Conclusion
Don’t let WooCommerce’s generic, incomplete settings “eat” your profit margin or drive customers away. If your online store offers cash on delivery and you work with more than one courier company, dynamic fee management is the only way forward.
Upgrade your checkout and protect your profits with BigDrop’s signature.
Secure your profits today
Put an end to complicated functions.php code and take full control of your fees in just 2 minutes.