With the version 1.1.0 of WooCommerce Advanced Fees a cool new feature was introduced: “Extra cost options”. With these extra cost options you can now setup the fee cost with greater flexibility. For example, you can now assign extra cost based on weight settings, shipping class, product category and per product.

With the new feature a section has been added to the edit fee screen. In the new tabbed area you can setup the different cost options.

WooCommerce Advanced Fees - Extra cost options

Extra cost options

All the new cost options are ‘repeatable’, meaning you can setup multiple rows of each cost option you want/need. This way you have full control of how much the fee cost should be.

Fee Amount field options

Add a asterisk (*) to multiply the fee amount with the unit of the given cost option. For example, for weight this is the cart weight, for shipping class this is the number of items with the given class. (more about this below)

Add a minus (-) to deduct the amount from the fee. This way you can setup a discount / negative fee.

Add a percentage (%) to add a percentage of the cart subtotal.

Add double percentages (%%) to add a percentage of the cost option subtotal. For example, for category this is the percentage based on the subtotal of all products in that category. (more about this below)

Add a forward slash or backslash (/ or ) to setup a cost per interval. For example, for weight you can setup a fee per 5kg. (more about this below)

Min and Max field options

The ‘Min’ and ‘Max’ fields are based on the unit depending of the Cost option. With the ‘Weight’ option this is based on the cart weight, for the others this is based on the item quantity that is in the cart of that product / category / shipping class.

Add a dollar sign ($) to set the Min and/or Max fields to be based on the subtotal of that given Cost option. For example, if you’ve set the ‘Category’ cost option to ‘A’ it will require to match the Min/Max fields based on the subtotal of all products with Category A in the cart.

Add a double-u (w) to set the Min and/or Max fields to be based on the weight of that given Cost option. For example, if you’ve set the shipping class to ‘light’ it will require the Min/Max fields based on the weight of all the products with the ‘light’ shipping class.

Setup a Order Fee Per Weight

You can setup extra cost per weight. The weight options give you three settings per repeated row, allowing you to set the minimum required weight, the maximum required weight and fee amount.

The given fee amount will only be applied if the minimum and maximum weight amount conditions are met.

Multiplying with the weight
You can add a asterisk (*) to multiply the fee amount with the weight that is in the cart. This is accurate to the decimals.

Example: The fee amount is set to '-1*'.
The cart weights 5kg, which will add a fee of -5 to the order.

Cost per interval
There are two ways you can setup a cost per interval. Both the forward and backslash allow you to do that, but in a bit different way. The forward slash will round it up, and the backslash round things down.

Example: The fee amount is set to '3/2' (rounding up).
The cart weights 5kg, which will add a fee of $9 to the order.
Example 2: The fee amount is set to '32' (rounding down). The cart weights 5kg, which will add a fee of $6 to the order.

Setup a Order Fee Per Shipping Class

With the shipping class cost option you can add extra cost to the fee based on the shipping class products that are in the cart. The quantity conditions match against the number of product with the given shipping class in the cart. When both the minimum and maximum quantity conditions are met the fee amount will be added.

Multiply with the item quantity that have the given shipping class by adding a asterisk (*) to the fee amount field.

Example: A fee is setup to be ‘1*’ for shipping class A. The cart contains 9 products with shipping class A, which will add a fee of $9 to the order.

Setup a Order Fee Per Category

Very similar to shipping class costs, it is also possible to add cost per category. The minimum and maximum quantity fields should be met with the quantity of products with the given category before the fee amount is applied.

Multiply with the item quantity that have the given category by adding a asterisk (*) in the fee amount field.

Example: A fee is setup to be '2.5%*' for product category Books. 
The cart contains 3 products with category Books, which will add a fee of 7.5% to the order.

Setup a Order Fee Per Product

The product extra cost option is also very similar to the shipping class/category options. It will allow you to setup cost on a per-product basis. Allowing you to setup minimum and maximum product quantity conditions and fee cost.

Multiply with the product quantity that is in the cart by adding a asterisk (*) to the fee amount field.

Example: A fee is setup to be '1.5*' for product 'Flying Ninja'.
The cart contains 2 Flying Ninja products, which will add a fee of $3 to the order.