Your cart is empty.
Browse pluginsOverview
Add the right fee to the right order, automatically.
Plusero - Extra Fees for WooCommerce lets you add a charge to an order when a condition you set is met. A cash on delivery surcharge. A small order fee. A packaging charge on fragile goods. A card processing percentage. You describe the rule once and the fee applies itself from then on.
It is free, complete on its own and made for any WooCommerce shop that wants fair, visible fees without code snippets. Nothing is limited, locked, trial based or time restricted, and there is no limit on how many fees you create.
What's new in 1.3.0 (October 17, 2026)
- You decide when a fee goes live. Saving a fee no longer switches it on by itself, because the last step of the builder now has a Switch this fee on when I save it box.
- Product fees charge only what they match. When no line in the cart matches a product fee, it charges nothing instead of working its amount out from the whole cart.
- Every fee is charged. Two fees with the same label are now both added, where before WooCommerce kept only the first one.
- Target one shipping method in one zone. A shipping method rule can name a single method, such as your Express flat rate, as well as a whole method type, and every package is checked.
- Descriptions and tooltips in the block checkout. They now show under the fee in the block cart and checkout as well as the classic ones.
- Block checkout wherever it is placed. The scripts load wherever the Cart or Checkout block sits, including templates and template parts.
- A clearer builder. Saved product and category rules show their names when you open a fee again, and the summary reads each condition group with its own logic.
- Steadier translations. Fee strings stay in the Polylang Strings translations list, and a fee without a label registers its name instead.
Five places a fee can apply
- Product. Charged when a matching product is in the cart, such as packaging on fragile goods. A percentage product fee is taken from the products it matches, not from the whole basket, and a product fee charges nothing when no line matches.
- Cart. Charged on the cart as a whole, such as a small order fee.
- Checkout. Charged on who the customer is and where they are.
- Shipping. Charged on the shipping method the customer picked, a whole method type or one method in one shipping zone, such as your Express flat rate.
- Payment. Charged on the payment gateway the customer picked, such as a cash on delivery surcharge.
Decide when a fee applies
Eight conditions cover the rules most shops need:
- The basket. Cart subtotal and total quantity.
- The products. A chosen product or variation, or a product category.
- The customer. Customer role, with visitors who are not logged in counted as Guest.
- Where it is going. Billing country.
- What they chose at checkout. Payment method and shipping method. A shipping method rule can name a whole method type, such as any flat rate, or one method in one shipping zone, and every package in the cart is checked.
Combine conditions so that either all of them must match, or any one of them is enough. Leave the conditions empty to charge a fee on every order.
Work out the amount
- Fixed amount. A flat charge, the same on every order.
- Percentage. A share of the cart subtotal, with or without tax, or of the matching products on a product fee.
- Limits. Set a smallest and a largest amount, which keeps a percentage fee sensible on very large orders.
- Rounding. Two decimals, up to a whole number, the nearest 0.05, or no rounding.
- Tax. Mark a fee taxable and pick which tax class it uses. WooCommerce then treats it like any other taxable line in your tax reports.
A builder that explains itself
Fees are built through a short guided flow that asks five plain questions: where the fee applies, when it should be charged, how much it should be, what customers should see, and whether it reads correctly. Every answer is shown back to you as a sentence before you save, so you know exactly what you built.
- Customer facing wording. Give each fee a label, a description shown under the fee amount in the cart and checkout totals, and a tooltip. Descriptions and tooltips show on the classic and the block cart and checkout.
- Order and status. Decide the order fees are worked out and displayed in. Save a new fee switched off as a draft, switch a fee off without deleting it, or duplicate one as the starting point for another.
- A tidy fee list. See where each fee applies, what it charges and whether it is active, and narrow the list to active or inactive fees or to one location.
- Shop wide settings. Show or hide tooltips and descriptions, and hide fees that come to zero rather than showing a blank line.
Fees that react to checkout
A payment fee reads the gateway the customer selected and recalculates the moment they switch, so a cash on delivery surcharge appears and disappears as they change their mind. A shipping fee does the same with the shipping method they chose. This works on the classic checkout and on the block checkout, wherever the Checkout block is placed.
Works where WooCommerce works
- Everywhere an order goes. Fees are added through the standard WooCommerce cart fee hook, so they appear in the cart, the checkout, the order, the confirmation email and PDF invoices with no extra setup.
- Classic and block checkout. The classic cart and checkout, the block cart and checkout, and the Store API all show the same totals.
- High Performance Order Storage is supported.
- WPML and Polylang. Fee labels, descriptions and tooltips are registered automatically, so they can be translated alongside the rest of your shop, and they stay in the Polylang Strings translations list.
Built in documentation
Every option is explained inside your dashboard, under Plusero Fees, Documentation: what each condition means, what each calculation does, and what to check when a fee is not showing. You never have to leave your site to look something up.
For developers
The plugin is built around filters. Register a condition with plusero_ef_conditions and answer it with plusero_ef_evaluate_condition. Register a calculation with plusero_ef_methods and work it out with plusero_ef_calculate_custom. More than seventy actions and filters run through the code, and the main extension points are documented under Plusero Fees, Documentation, For developers.
Privacy
This plugin does not connect to any external service. It makes no remote requests and sends no data anywhere. Everything it stores stays in your own database.
FAQ
My fee is not showing in the cart?
Check three things in order: is the fee active in the fee list, does every condition match the cart you are testing with, and does the amount come to something above zero, since fees that work out to nothing are hidden by default.
Can I charge a fee only for cash on delivery?
Yes. Add a fee, choose Payment as the location, add a payment method condition set to your cash on delivery gateway, and set the amount. The fee appears as soon as the customer picks that gateway.
Where does the fee description appear?
Under the fee amount in the cart and checkout totals, as a short line in smaller text, on the classic and the block cart and checkout. You can turn descriptions off for the whole shop under Plusero Fees, Settings.
Can I charge different amounts at different order sizes?
Yes. Build one fee per band and give each a cart subtotal condition covering its range.
Will deleting the plugin remove my fees?
Only if you ask it to. The setting to remove all fees and settings when the plugin is deleted is off by default, so your fees survive a deactivate, a reactivate and an update.
Plusero Pro
Plusero Pro includes everything in this plugin and adds:
- Sixteen more conditions, including shipping zone, shipping class, billing and shipping state, city and postcode, cart weight, product tag, coupon used and day of the week, with several values in one rule and postcode ranges and wildcards
- Per item, per unit of weight, percentage plus fixed, tiered bands, round up for charity, any fee as a reduction, and more percentage bases
- Optional fees the customer chooses, as tick boxes, quantity boxes, choice groups or per item choices on the product page
- More than one condition group, reusable condition sets, and scheduling by date, day and hour
- Combined or grouped fee lines, first match only, an order fee ceiling, highlighting, and payment method fees shown next to their names
- A live fee breakdown on product pages, reports, change history, a debug panel, import and export, ready made fees and a REST API
- Currency switcher support with amounts for each currency, subscriptions and page cache compatibility
Pro reads the same fees from the same table, so nothing needs to be rebuilt. While Pro is active this plugin stays idle, and a note on the Plugins screen says it can be deactivated.
Get the free plugin from WordPress.org, try the free demo or the Pro demo, and read the documentation. Support is at propluginslab.io/support.
Requirements
- WordPress 6.4 or newer, tested up to 7.1
- WooCommerce 8.0 or newer, tested up to 11.2.1
- PHP 7.4 or newer
Changelog
Every release, newest first, with the date it came out.
Version 1.3.0 (October 17, 2026)
- Fix: saving a fee in the builder no longer switches it on by itself. The last step has a Switch this fee on when I save it box, ticked for a new fee and set to the current status when editing.
- Fix: a product fee whose product rules match no line in the cart now charges nothing instead of working its amount out from the whole cart. Each condition group is read with its own all match or any match logic when picking the lines.
- Fix: two fees with the same label are both charged. Before, WooCommerce kept only the first one.
- New: a shipping method rule can name one method in one shipping zone, such as an Express flat rate, as well as a whole method type. Every package is checked.
- New: fee descriptions and tooltips show under the fee in the block cart and checkout.
- Improved: the block checkout scripts load wherever the Cart or Checkout block is placed, including templates and template parts.
- Improved: saved product and category rules show their names when a fee is opened again, and the summary reads each condition group with its own logic.
- Improved: fee labels register with Polylang on every admin page load so they stay in its Strings translations list, and a fee without a label registers its name instead.
- Tested with WordPress 7.1.3 and WooCommerce 11.2.1.
Version 1.2.0 (October 15, 2026)
- New: the fee list can be narrowed to All, Active or Inactive fees, each with a count, and to fees charged in one place (product, cart, checkout, shipping or payment).
- Security hardening: posted settings and fee data are now cleaned as they are read, the fee being edited reaches the builder through a properly enqueued script instead of a printed one, and deleting the plugin keeps shared fees while the Pro edition is still installed.
- Changed: while the Pro edition is active this plugin stays idle and a note on the Plugins screen says it can be deactivated, instead of switching itself off.
- Tested with WordPress 7.1.3 and WooCommerce 11.2.1.
Version 1.1.0 (September 22, 2026)
- New: fee descriptions are now shown under the fee amount in the classic cart and checkout totals. The Show descriptions setting, on by default, switches them off for the whole shop.
- Links moved to propluginslab.io.
- Added Pro upgrade banner on plugin screens. It shows only on the Plusero Fees screens and can be dismissed.
- Tested with WordPress 7.1.1 and WooCommerce 11.1.1.
Show earlier version (1.0.0)
Version 1.0.0 (September 7, 2026)
- First release.
Details
At a glance
- Last updated
- October 19, 2026
- Type
- Free plugin