A couple weeks ago a new plugin I developed has been released on Shop Plugins. The plugin is named WooCommerce Advanced Fees and as you may imagine it will allow you to set extra fees for an order. As my other ‘advanced’ plugins that I’ve developer this one also has a conditional logic system in place allowing for some awesome customizability and configuring.

WooCommerce Advanced Fees

The plugin allows you to setup any amount of fees which will be applied as soon as the user matches the conditions that have been set for the given fee. Each fee that you setup consists out of two core parts; 1) Setting the conditions, 2) setting the fee settings.

Setting up conditions

The conditional logic works in three main parts;

1) Selecting a condition

woocommerce-advanced-fees-conditionsAs I’m writing this there are 17 conditions that come by default with the plugin (this may still change a bit as I’m figuring out which ones should be in there).

The conditions are outlined in the screenshot int he right. You can select any condition from that list and it will require the customer to match the given conditions before it will apply the fee you’ve setup.

2) Select a operator

There are four operators available in the plugin:

  1. woocommerce-advanced-fees-operatorsEqual to
  2. Not equal to
  3. Greater or equal to
  4. Less or equal to

With these operators you can change the behaviour of how a condition/value is being matched against each other. For example, when you set a ‘subtotal’ condition to ‘greater or equal to’ – ‘200’ it will require the customer to have at least $200 worth of products in its cart. While if you set the operator to ‘less or equal to’ it will require $200 or less.

3) Set a value

woocommerce-advanced-fees-valuesThe value field can be either a input field or a drop down selector depending on the set condition. In the screenshot on the right you will see a drop down selector when the ‘payment gateway’ condition is selected. It will automatically pull all the registered payment gateways from WooCommerce and display the options. This works the same for all other conditions that have a drop down selector (such as country, state, shipping class, category etc), it will only display the WooCommerce-recognized options, if you need custom options its recommended to add those to WooCommerce.

Adding multiple conditions

woocommerce-advanced-fees-multiple-conditionsYou can add multiple conditions by clicking the ‘+’ button on the right side of the condition. This will add a new ‘AND’ condition, which means that the customer needs to match all conditions in that condition group in order to apply the fee. This is a great way of setting up fees, for example, you can setup a fee for carts with more than $200 for someone in the US and selects the ‘PayPal’ payment gateway.

Adding multiple condition groups

woocommerce-advanced-fees-condition-groupsIt is also possible to add multiple ‘condition groups’. The difference between adding multiple conditions and conditions groups is that all the conditions in one condition group need to match for the fee to be applied. So with condition groups you can set a ‘OR’ group of conditions for the customer to match. This way you can apply the same fee to different conditions without the need to create a separate fee for each different scenario.

In the screenshot on the right it will apply the fee as soon as there is either a ‘Happy ninja’ or ‘Flying ninja’ product in the cart

Setting up fee settings

In the fee settings section you can setup the ‘fee title’ which will be displayed in the cart/checkout to the user, and the ‘fee amount’. The fee amount is the price that should be applied to the order. You can set either a price increase or a price decrease amount. It is possible to set a fixed fee amount of a percentage of the cart subtotal. Some example values:

5% – Will add 5% of the cart subtotal as a fee
5 – Will add $5 to the order
-5% – Deducts 5% of the cart subtotal
-5 – Deducts $5 of the order

How WooCommerce Advanced Fees looks like

This is how WooCommerce Advanced Fees is looking like in the cart:

woocommerce-advanced-fees-cart

Checkout

woocommerce-advanced-fees-checkout

Order backend

woocommerce-advanced-fees-order

User email

woocommerce-advanced-fees-email

Get WooCommerce Advanced Fees

You can get WooCommerce Advanced Fees at Shop Plugins.

Screenshots

Feature requests

Got a feature request? I’d love to hear them! Get in touch via the

  • Jeroen Sormani

    I'm a professional WordPress plugin developer on a mission to create the best plugins for my clients. I'm specialised in developing general WordPress, WooCommerce and Easy Digital Downloads plugins.

    Interested in talking about a WordPress project? Get in touch!

    Follow me on Twitter
  • Leave a Reply