safe Safe & Secure online payment

Table of Contents

User documentation: Conditional fee plugin

Table of Contents

Fees rule

You can see all the conditional fees created in the site

Here’s what each column in your table represents:

  1. ID
    • The unique identifier for the fee rule. This is auto-generated and helps differentiate between different fee entries.
  2. Fees
    • The name of the fee rule. This is the label that will appear in the cart/checkout when the fee is applied.
  3. Amount
    • The value of the fee. This can be a fixed amount (e.g., 10), a percentage (e.g., 10%), or a formula (e.g., 1 * [selected_product_qty]).
  4. Priority
    • Determines the order in which fees are applied when multiple fees are eligible. Lower numbers are applied first and higher numbers are applied last.
  5. Status
    • A toggle to enable or disable the fee rule without deleting it.
  6. Desc
    • Short description or note about the fee rule for internal reference.
  7. Actions
    • Buttons for managing the fee rule:
      • Edit (pencil icon)
      • Delete (trash icon)
      • Duplicate (copy icon)

Add / Edit Fees Form

Step 1: Basic Settings (Required)

This section controls the core configuration of the fee rule.

  • Status – Toggle to enable or disable the fee rule. Disabled rules won’t be applied on the checkout/cart.
  • Fee Priority – Determines the order in which this fee is applied compared to other fees. Lower numbers = higher priority.
  • Fees Rule Title – The name shown to customers in the cart/checkout when the fee is applied.
  • Add Name Translation – Allows you to add translated titles for multilingual sites.
  • Fees Type – Defines how the fee is calculated:
    • Fixed = specific amount
    • Percentage = calculated from cart subtotal
      In the Settings tab their is a option to make the Percentage fee based on either:
    • Cart subtotal
    • Cart Subtotal + Shipping
    • Cart subtotal – Discount
    • Cart subtotal + Shipping – Discount
  • Fees Amount – The actual value of the fee (can use shortcodes for dynamic amounts). You can use the following shortcodes [selected_product_count] [selected_product_qty] [qty]
  • Is Fees Taxable? – Defines if this fee amount should be taxed according to WooCommerce tax rules.
  • Round Off to Integer – Allows rounding the calculated fee to the nearest whole number.
  • Min Fees ($) – Minimum fee amount allowed. Leave blank to have no limit.
  • Max Fees ($) – Maximum fee amount allowed. Leave blank to have no limit.
  • Is Optional Fees? – Lets the customer choose whether to add this fee.
  • Tooltip Shown Next to Fees Amount – Small tooltip text to explain the fee to the customer.
  • Apply for Currency – Restrict this fee to certain currencies (useful for multi-currency sites).
  • Description – Internal note for the admin. Not shown to customers.
  • Fee Validity Period – Start and end dates for when this fee is active. Leave empty for no expiry.

Step 2: When to Apply This Fee (Required)

Defines the conditions under which this fee will be applied.

  • Selection Rules – Lets you set the condition logic:
    • All the below rules should match = AND condition
    • Any of the below rules should match = OR condition
  • Add Condition – Choose conditions like cart weight, product quantity, subtotal, category, etc., along with comparison operators (e.g., Greater than, Equal to, Less than).
  • Example in your screenshot: Fee applies if Cart Weight ≥ 1.

Here are the available condition that you can use to make the fee: Available Conditions

Step 3: Adjust Fee Charge (Optional)

Use this step to automatically increase or decrease the base fee depending on specific cart or product factors such as quantity, subtotal, or weight.
You can define multiple adjustment rules with minimum and maximum ranges, and set how much the fee should change when those ranges are met.
This feature is useful when the fee amount needs to scale based on order size or value, rather than staying fixed.

Available Conditions

Back order product total

This condition checks the total value of products in the cart or order that are currently on backorder. It supports multi-currency setups and allows you to set rules based on the subtotal of backordered products. The logic options include comparisons such as equal to, less than, greater than, and not equal to a specified amount. This is useful for applying extra fees or conditions when customers have backordered items in their cart, ensuring that special charges or rules are triggered only when the value of backordered products meets your criteria.

Example: If you want to apply an additional fee when the total value of backordered products in the cart exceeds $100, set the condition to “Back order product total” with logic “greater_than” and value “100”. The fee will only apply if the customer’s cart contains backordered items totaling more than $100.

User address matches with Zones

This condition determines whether the customer’s shipping address matches any of the selected WooCommerce shipping zones. It is location-related and allows you to target specific geographic areas for conditional fees or rules. The logic options are “Equal to” (address matches any selected zone) and “Not Equal to” (address does not match any selected zone). This is ideal for applying fees or rules based on the customer’s location, such as regional surcharges or zone-specific promotions.

Example: To apply a fee only for customers whose shipping address falls within the “Europe” shipping zone, select “User address matches with Zones” with logic “equal_to” and choose the “Europe” zone. The fee will be triggered only for customers shipping to Europe.

Cart has product of brand

This condition checks if the cart contains products from specific brands. It is product-related and offers advanced logic options, such as “Equal to” (any selected brand is present), “Not Equal to” (none of the selected brands are present), “Must not have all selected brand products”, “Only have this brand products in cart”, “Must have all selected brand products”, and “Exactly this brand products are in cart”. This flexibility allows you to create targeted rules for brand-based promotions, surcharges, or discounts, ensuring that fees or conditions are applied only when the cart meets your brand criteria.

Example: If you want to offer free shipping when the cart contains only products from the “Nike” brand, set the condition to “Cart has product of brand” with logic “only_has_this_products” and select “Nike”. The rule will apply only if the cart contains exclusively Nike products.

Cart Subtotal (After Discount)

This condition checks the subtotal of the cart after all discounts have been applied. It allows you to set rules based on the final amount the customer needs to pay after discounts, ensuring that fees are only applied when the discounted subtotal meets specific criteria. This is useful for scenarios where you want to incentivize higher spending or apply fees only when discounts have reduced the cart value below a threshold.

Example: Apply an extra fee if the cart subtotal after discount is less than $50. If a customer’s cart totals $60 and they use a $15 discount coupon, the subtotal after discount becomes $45, triggering the fee.

Cart Subtotal (Before discount)

This condition evaluates the cart subtotal before any discounts are applied. It is useful for setting rules based on the original cart value, regardless of any promotional discounts. This helps in scenarios where you want to apply fees or incentives based on the actual product value in the cart, not the discounted price.

Example: Waive a handling fee if the cart subtotal before discount is greater than $100. If a customer’s cart totals $120 and they use a $30 discount coupon, the fee is still waived because the original subtotal exceeds $100.

Country/Continent

This condition allows you to apply rules based on the customer’s shipping country or continent. It supports both individual countries and entire continents, making it ideal for location-based fees or restrictions. This is commonly used for international shipping, regional surcharges, or country-specific promotions.

Example: Add a shipping surcharge for orders shipped to Europe. If a customer’s shipping address is in France, the rule detects the continent and applies the fee automatically.

Cart has product of category

This condition checks if the cart contains products from specific categories. It supports various logic options, such as requiring any, all, or only the selected categories. This is useful for category-based promotions, surcharges, or restrictions, allowing granular control over fees based on product types in the cart. The product should directly belong to this category to apply this rule, it will not apply if the product is part of the child category of the category in the rule.

Example: Apply a packaging fee if the cart contains any product from the “Fragile Items” category. If a customer adds a glass vase (categorized as “Fragile Items”), the fee is triggered.

Quantity of product from category

This condition evaluates the total quantity of products from a selected category in the cart. It supports logic such as equal to, less than, greater than, multiples, and more. This is ideal for bulk purchase incentives, category-based surcharges, or restrictions based on the number of items from a specific category. The product should directly belong to this category to apply this rule, it will not apply if the product is part of the child category of the category in the rule.

Example: Offer free shipping if the customer buys 5 or more products from the “Books” category. If the cart contains 6 books, the rule applies and free shipping is granted.

Coupon

The “Coupon” condition allows you to apply extra fees based on the presence or absence of specific coupons in the customer’s cart or order. This condition checks whether any of the selected coupons have been applied and supports logic for “Equal to” (coupon is present) or “Not Equal to” (coupon is not present). It is useful for creating targeted promotions or surcharges when customers use certain discount codes.

Example: Apply a handling fee only if the customer uses the coupon code “SUMMER2025” during checkout.

Custom product attribute (Number)

The Custom Product Attribute (Number) condition allows you to apply fee based on a custom numerical product attribute. It checks if the attribute exists in any product in the cart and compares its value against a specified number using operators such as Equal to, Less than, Greater than, and more. This is useful when fees depend on specific numeric attributes like production time, warranty period, or any other custom numerical value you define for your products.

Example: Suppose you have a custom product attribute named “production_days” and want to apply express fee only for products that can be produced in 3 days or less. Set the attribute name to “production_days,” choose the logic Less than or Equal to, and enter the value 3. The fee will apply only if the cart contains products with a production time of 3 days or less.

Custom product attribute (Text)

The Custom Product Attribute (Text) condition allows you to set fee based on text-based custom product attributes. It targets products in the cart that match specific attribute names and values, such as color, material, brand, or any other custom text attribute you define. You can configure it to check if an attribute exists, matches, or does not match a specified value. This enables precise fee logic.

Example: Suppose you sell mugs with a custom attribute called “material” and want to offer fragile-item shipping only if the material is “ceramic”. Set the condition name to “material”, the value to “ceramic”, and the logic to Equal to (=). The rule will apply only if the cart contains at least one product with the “material” attribute set to “ceramic”.

Day of week

The “Day of week” condition allows you to apply extra fees depending on the day the order is placed. You can select specific days (e.g., weekends) and set logic for “Equal to” (order placed on selected days) or “Not Equal to” (order placed on other days). This is useful for implementing surcharges or discounts based on business hours or special days.

Example: Add a weekend surcharge for orders placed on Saturday or Sunday.

Last Order

The “Last Order” condition allows you to apply extra fees based on the subtotal of a customer’s most recent order with specific statuses (such as Completed, Processing, Pending, etc.). This is useful for targeting customers who have made a purchase before and tailoring fees according to their last order’s value. The condition checks the subtotal of the last order and compares it against a specified value using operators like equal to, less than, greater than, etc. This enables dynamic fee rules based on customer purchase history, enhancing your WooCommerce store’s flexibility and personalization.

Example: Suppose you want to add a fee if a customer’s last order (with status “Completed” or “Processing”) had a subtotal greater than $100. You would set the condition to “Last Order”, select the relevant statuses, choose “greater than” as the logic, and enter “100” as the value. The fee will only apply if the customer’s most recent qualifying order exceeds $100.

First Order

The “First Order” condition is designed to apply extra fees based on whether the current purchase is the customer’s first order in your WooCommerce store. This is particularly useful for offering special fees or discounts to new customers or for tracking first-time buyers. The condition checks the customer’s order history (by user ID or billing email) and determines if there are any previous orders with selected statuses. You can set the logic to target either first-time buyers or returning customers.

Example: If you want to waive a processing fee for a customer’s first order, set the condition to “First Order”, select the relevant order statuses (e.g., “Completed”, “Processing”), and choose “Is First order” as the logic. The fee will not apply if the customer has no previous orders with those statuses.

Max Product Height

The “Max Product Height” condition enables you to apply extra fees based on the tallest product in the customer’s cart or order. This is ideal for stores selling items where shipping costs depend on product dimensions, such as furniture or large goods. The condition calculates the maximum height among all products in the cart or order and compares it to a specified value using operators like equal to, less than, greater than, etc. This allows you to set up rules that automatically adjust fees for oversized items.

Example: If you want to add a handling fee for orders containing products taller than 120 cm, set the condition to “Max Product Height”, choose “greater than” as the logic, and enter “120” as the value. The fee will be applied only if the tallest product in the cart exceeds 120 cm.

Different Shipping Address

The “Different Shipping Address” condition lets you apply extra fees when a customer chooses to ship to an address different from their billing address. This is useful for stores that want to charge additional fees for orders requiring separate shipping arrangements. The condition checks the customer’s preference for shipping to a different address and applies the fee based on whether this option is selected or not. You can set the logic to target either customers who want a different shipping address or those who do not.

Note: This only work with the shortcode based checkout page, and will not work with block based checkout page.

Example: If you want to add a fee when a customer selects “Ship to a different address” during checkout, set the condition to “Different shipping address” and choose “Want a different shipping address” as the logic. The fee will be applied only when the customer opts for a separate shipping address.

Postcode

The “Postcode” condition allows you to apply extra fees based on the customer’s shipping or billing postcode. This condition supports multiple formats: you can specify individual postcodes, ranges using triple dots (e.g., 4319…4350), and wildcards (e.g., CM2* for all postcodes starting with CM2). The plugin uses WooCommerce’s location matcher to check if the customer’s postcode matches any of the specified rules. You can set the logic to “Equal to” or “Not Equal to” for flexible fee application.

Example: To charge an extra fee for deliveries to postcodes 4215, any postcode between 4210 and 4250, or any postcode starting with CM2, set the condition value to “4215, 4210…4250, CM2*”. The fee will be applied if the customer’s postcode matches any of these criteria.

Max Product Length

The “Max Product Length” condition enables you to apply extra fees based on the maximum length of products in the cart or order. The plugin checks the length attribute of each product and compares the largest value against your specified rule. You can use various logic options such as “Equal to”, “Less than”, “Greater than”, etc., to target specific scenarios, like oversized items or products exceeding shipping limits.

Example: If you want to add a fee when any product in the cart is longer than 100 cm, set the condition value to 100 and logic to “Greater than”. The fee will be triggered if at least one product exceeds this length.

Payment Methods

The “Payment Methods” condition allows you to apply extra fees based on the payment method selected by the customer during checkout. You can choose one or more payment gateways (e.g., PayPal, Stripe, Cash on Delivery) and set the logic to “Equal to” or “Not Equal to”. This is useful for charging additional fees for specific payment options, such as cash handling or transaction fees.

Example: To add a fee for orders paid via “Cash on Delivery”, select “Cash on Delivery” as the condition value and set the logic to “Equal to”. The fee will be applied only when the customer chooses this payment method.

Number of Orders during a period

The “Number of Orders during a period” condition lets you apply extra fees based on the customer’s purchase history. You can specify the required order count, select order statuses (e.g., Completed, Processing), and define the time range (e.g., all time, current month, last 7 days, or a custom number of days). This condition is ideal for rewarding or penalizing frequent buyers, or for loyalty program logic.

Example: To offer a discount or apply a fee to customers who have placed more than 5 orders in the last month, set the condition value to 5, select relevant order statuses, and choose “Current Month” as the range. The fee or discount will be applied if the customer’s order count matches your criteria.

Cart has Product

This condition allows you to apply extra fees based on the presence or absence of specific products in the customer’s cart. It supports various logics such as “Equal to” (if any selected product is present), “Not Equal to” (if none of the selected products are present), “Must not have all selected products”, “Only has these products”, “Must have all selected products”, and “Exactly these products are in cart”. This flexibility enables store managers to create highly targeted fee rules, such as charging a fee only when certain products are purchased together or when the cart contains only specific items.

Example: If you want to add a handling fee when a customer buys either Product A or Product B, select those products and use the “Equal to” logic. The fee will be applied if at least one of the selected products is in the cart.

Cart has Product Tag

This condition lets you apply fees based on product tags present in the cart. You can target products grouped by tags, such as “Sale” or “Featured”, and use “Equal to” or “Not Equal to” logic to determine if the fee should be applied. This is useful for running promotions or surcharges on tagged products without specifying each product individually.

Example: To add a fee when any product with the “Sale” tag is in the cart, select the “Sale” tag and use the “Equal to” logic. The fee will be triggered if any tagged product is present.

Specific Product Quantity

This condition enables you to apply fees based on the quantity of a specific product in the cart. You can set rules such as “Equal to”, “Less than”, “Greater than”, “Multiple of”, and more, allowing for granular control over when fees are charged. This is ideal for bulk discounts, surcharges for large orders, or incentives for purchasing in certain quantities.

Example: If you want to add a fee when a customer buys more than 5 units of Product C, select Product C and set the logic to “Greater than” with quantity 5. The fee will be applied when the cart contains more than 5 units of Product C.

Product Attribute

This condition allows you to apply fees based on specific product attributes, such as color, size, or custom attributes defined in WooCommerce. You can target products with certain attribute values and use “Equal to” or “Not Equal to” logic to determine if the fee should be applied. This is useful for charging extra for premium attributes or offering discounts for specific selections.

Example: To add a fee for products with the attribute “Color: Red”, select the “Color” attribute and the “Red” value, then use the “Equal to” logic. The fee will be applied if any product in the cart has the “Red” color attribute.

Product Quantity in cart

This condition allows you to apply extra fees based on the total quantity of products present in the customer’s cart. It supports various comparison logics such as equal to, less than, greater than, and not equal to, enabling flexible fee rules. For example, you can set a rule to add a fee if the cart contains more than 5 items, or if the quantity matches a specific number. This is useful for incentivizing bulk purchases or managing shipping costs for large orders.

Example: Apply a handling fee if the total quantity of products in the cart is greater than or equal to 10.

Shipping Class

This condition targets products in the cart based on their assigned WooCommerce shipping class. You can set rules to apply fees if any product in the cart belongs to a specific shipping class, or exclude fees if certain classes are present. This is ideal for charging extra for fragile, oversized, or special-category items that require unique shipping arrangements.

Example: Add an extra fee if the cart contains any product from the “Heavy Items” shipping class.

Shipping method

This condition enables you to apply fees depending on the shipping method selected by the customer during checkout. You can specify one or more shipping methods and choose whether the fee should be applied when the selected method matches or does not match your criteria. This is useful for adding surcharges to express delivery options or offering discounts for standard shipping.

Example: Apply a $5 surcharge if the customer selects “Express Delivery” as their shipping method.

State

This condition allows you to apply fees based on the customer’s shipping state. You can select one or multiple states and decide whether the fee should be applied for matching or non-matching states. This is particularly useful for handling region-specific surcharges, such as remote area delivery fees or regulatory charges.

Example: Add a $10 delivery fee for orders shipped to California or New York.

User

This condition allows you to target specific users in your WooCommerce store for applying conditional extra fees. By selecting one or more users, you can create rules that only apply to those users when they are logged in and making a purchase. The logic options include “Equal to” (the rule applies if the current user matches the selected users) and “Not Equal to” (the rule applies if the current user does not match the selected users).

Note: This rule only work for the registered customer

Example: If you want to offer a special discount or apply an extra fee only to VIP customers, you can select those users in the condition. For instance, you can set a rule: “Apply a 10% discount if the user is John Doe or Jane Smith.”

User Role

This condition enables you to apply extra fees based on the role of the user in your WooCommerce store, such as “Customer,” “Shop Manager,” or “Guest Customer.” You can select one or more roles, and the rule will check if the current user’s role matches the selected roles. The logic options are “Equal to” (applies if the user’s role matches) and “Not Equal to” (applies if the user’s role does not match).

Example: You can create a rule to add a handling fee for guest customers: “Apply a $5 handling fee if the user role is Guest Customer.”

Quantity of product from Tag

This condition allows you to apply extra fees based on the total quantity of products in the cart that have a specific product tag. You can select a product tag and specify a quantity, then choose a logic operator such as “Equal to,” “Less than,” “Greater than,” “Multiple of,” etc. The rule will check the total quantity of products with the selected tag in the cart and apply the fee if the condition is met.

Example: If you want to offer free shipping when a customer buys 5 or more products tagged as “Summer Collection,” you can set the condition: “Quantity of product from Tag ‘Summer Collection’ Greater or Equal to 5.”

Total amount spend during a period

This condition lets you apply extra fees based on the total amount a customer has spent in your store during a specified period (such as all time, today, this week, this month, or a custom number of days). You can select order statuses to consider (e.g., Completed, Pending), set the total amount threshold, and choose the time range. The rule will check the customer’s purchase history and apply the fee if the total amount spent matches the condition.

Example: You can reward loyal customers by offering a discount: “Don’t apply payment processing fee, if the customer has spent more than $500 in Completed orders during the last 6 months.”

Delivery date and time plugin specific conditions

Following conditions are only available when you have our Date and time for delivery or pickup location plugin (Free version OR PRO version) installed in your website.

Selected delivery day

The “Selected delivery day” condition allows you to apply extra fees based on the specific day of the week chosen for delivery or pickup by the customer. This condition checks the day (Sunday to Saturday) selected via the delivery date and time plugin, and matches it against the rule’s configured days. You can set the logic to “Equal to” (apply fee only on selected days) or “Not Equal to” (apply fee on all other days). This is useful for businesses that want to charge different fees for deliveries on weekends or specific weekdays.

Example: If you want to add an extra fee for deliveries scheduled on Saturday or Sunday, configure the condition with “Equal to” and select Saturday and Sunday. The fee will be applied only when the customer chooses these days for delivery.

Selected delivery date

The “Selected delivery date” condition enables you to apply extra fees based on the exact delivery date chosen by the customer. You can specify one or more dates in the format YYYY/MM/DD, and set the logic to “Equal to” (apply fee only on these dates) or “Not Equal to” (apply fee on all other dates). This is ideal for charging special fees on holidays, peak dates, or promotional periods.

Example: To add a surcharge for deliveries on Christmas (2025/12/25) and New Year’s Day (2026/01/01), set the condition to “Equal to” and enter these dates. The fee will be triggered only if the customer selects one of these dates for delivery.

Delivery/Pickup within next n days

The “Delivery/Pickup within next n days” condition allows you to apply extra fees based on how soon the customer wants their order delivered or picked up. You can set the logic to “With in n days” (apply fee if delivery is within n days from today) or “After n days” (apply fee if delivery is scheduled after n days). This is useful for offering express delivery surcharges or discounts for advance bookings.

Example: If you want to charge an extra fee for deliveries scheduled within the next 2 days, set the logic to “With in n days” and enter 2. The fee will be applied if the customer selects a delivery date that is today, tomorrow, or the day after.

Delivery type (Delivery/Pickup/Dining)

The “Delivery type” condition lets you apply extra fees based on the type of service selected by the customer: Delivery, Pickup, or Dining. You can set the logic to “Equal to” (apply fee only for selected types) or “Not Equal to” (apply fee for all other types). This is helpful for businesses that want to charge differently for home delivery, in-store pickup, or dine-in orders.

Example: To add a fee only for home deliveries, set the condition to “Equal to” and select “Delivery”. The fee will be applied only when the customer chooses delivery as their order type.

WooCommerce subscription specific conditions

Following conditions are only available when you have WooCommerce subscriptions plugin installed in your website.

Woo Subscription product

The “Woo Subscription product” condition allows you to apply extra fees in WooCommerce based on the presence and type of subscription products in the cart or order. This condition is only available if the WooCommerce Subscriptions plugin is active. It provides three logic options:

  • Only has Subscription product: The fee applies if the cart/order contains only subscription products (including subscription variations).
  • Only has Non-Subscription product: The fee applies if the cart/order contains only non-subscription products.
  • Both Subs and Non subs product present: The fee applies if both subscription and non-subscription products are present in the cart/order.

This condition is useful for store owners who want to charge different fees depending on whether customers are purchasing subscription products, regular products, or a mix of both.

Example: Suppose you want to add a handling fee only when a customer purchases both a subscription product and a regular product in the same order. You would select the “Both Subs and Non subs product present” logic for this condition. The fee will be applied only when the cart contains at least one subscription product and one non-subscription product.

Adjust fee charge

Use this section to modify the base fee set in Step 1 based on additional factors like cart quantity, weight, subtotal, or product-specific values.

Quantity-Based Adjustments (Product, Category, Shipping Class, Cart, Tag, Virtual)

These adjustments modify the base fee based on the total quantity of items that match your criteria — whether it’s specific products, a category, a shipping class, a tag, virtual products, or the entire cart. You can define quantity ranges (Min–Max) and assign a fee formula for each range. All matching ranges are calculated, and the dropdown setting determines whether the Sum, Largest, or Smallest result is applied. The adjustment is then added or subtracted from the base fee set in Step 1. Negative values are allowed, but the final total fee cannot be zero or less.

  • Product Quantity – Applies to specific products in the cart.
  • Category Quantity – Applies to products directly in the chosen category (products only in a child category are not counted).
  • Shipping Class Quantity – Applies to products in the selected shipping class (block formulas are not supported here).
  • Cart Quantity – Applies based on the total quantity of all products in the cart.
  • Tag Quantity – Applies to products that have the selected tag(s).
  • Virtual Category Quantity – Applies to products belonging to Virtual category.

Shortcodes for fee formulas (all supported except where noted):

  • [qty] – Quantity of the matched product, category, shipping class, tag, virtual products, or entire cart.
    Example: 30 * [qty] → $30 per unit.
    Example: -5 * [qty] → $5 discount per unit.
  • [block of="x"] – Number of full blocks of size x in the quantity.
    Example: Quantity 22 with [block of="10"] → 3.
    Example: Quantity 12 with [block of="3"] → 4.
    You can use adjust="down" to round down.
    Not available for Shipping Class Quantity Adjustment.

Subtotal-Based Adjustments (Cart, Product, Category, Virtual Category, Shipping class)

These adjustments modify the base fee based on the subtotal value of items matching your criteria. You define Min–Max subtotal ranges, and for each range, you can assign a fee formula. When the matched items’ subtotal falls within a range, the corresponding formula is applied. Multiple matching ranges are calculated, and the dropdown setting determines whether the Sum, Largest, or Smallest result is used. This calculated adjustment is then added or subtracted from the base fee set in Step 1. Negative values are allowed, but the final fee cannot be zero or less.

Types:

  • Cart Subtotal – Based on the subtotal of all products in the cart.
  • Product Subtotal – Based on the subtotal of selected products.
  • Category Subtotal – Based on the subtotal of products directly in the chosen category (products only in a child category are not counted).
  • Virtual Category Subtotal – Based on the subtotal of products in the selected virtual category.
  • Shipping Class Subtotal – Based on the subtotal of the product in shipping class

Supported Shortcode:

  • [subtotal] – Subtotal amount for the matched row

Weight-Based Adjustments (Cart, Category, Product, Shipping Class)

These adjustments modify the base fee based on the total weight of items matching your criteria. You set Min–Max weight ranges, and each range can have its own fee formula. When the total matched weight falls within a range, the relevant formula is applied. Multiple matching ranges are calculated, and the dropdown setting decides whether the Sum, Largest, or Smallest result is applied. The resulting amount is then added or subtracted from the base fee set in Step 1. Negative values are allowed, but the final fee cannot be zero or less.

Types:

  • Cart Weight – Based on the weight of all products in the cart.
  • Product Weight – Based on the weight of specific products.
  • Category Weight – Based on the weight of products in the selected category (products only in a child category are not counted).
  • Shipping Class Weight – Based on the weight of products in the selected shipping class.

Supported Shortcode:

  • [weight] – Total weight of matched items.

Combine Fees

The Combine Fees feature allows you to merge multiple fees into a single fee entry during checkout.

Step 1 – Basic Settings

  • Combined Fee Name – The label shown for the combined fee.
  • Base Fee – A fixed amount applied before adding the selected fees.
  • Minimum fee – The resulting combine fee can’t be less then this minimum fee
  • Maximum fee – The resulting combine fee can’t be more than this maximum fee
  • Taxable – Set whether the combined fee is taxable.
  • Description & Tooltip – Optional text to describe the combined fee or show a tooltip next to the fee amount.

Step 2 – Required Fees
Add the fees that must all be present for the combined fee to apply. If any one of these required fees is missing, the combined fee will not be applied. The final resulting fee amount can be either Sum, Smallest or Largest of all the child fee.

Step 3 – Optional Fees
Add fees where any one being present is enough to include it in the combined fee. These work as “OR” conditions. The final resulting fee amount can be either Sum, Smallest or Largest of all the child fee.

The system will total the base fee and all applicable required/optional fees to display a single combined fee on checkout.

What is a Virtual Category?

Virtual Category allows you to group products dynamically based on rules and conditions, without altering the actual product categories in WooCommerce.
These are useful for conditional fee rules, or any logic where grouping similar products is needed without manually maintaining lists.

How to Create a Virtual Category

Step 1: Choose Product Scope

Here, you decide the base rule for product selection:

  • All Products:
    Start with all products included, then exclude specific ones using Step 3.
  • Selected Products:
    Start with an empty category and include products based on conditions in Step 2.

Step 2: Add Products to This Virtual Category

Use conditions to include products. You can define:

  • When to include product
    Choose between:
    • Include when ANY condition matches (logical OR)
    • Include when ALL conditions match (logical AND)
  • Available filters to include products:
    • Product Categories
    • Specific Products
    • Tags
    • Shipping class
    • Downloadable status
    • Product Subtotal
    • Product Attributes
    • Product custom Meta data

🛠️ You can mix multiple conditions as per your logic.
For example: Include all products in “Accessories” category AND stock status “In Stock”.

Step 3: Exclude Products from This Category

This step allows refinement by excluding products from the virtual category, even if they matched Step 2.

You can define exclusion by:

  • Product Categories
  • Specific Products
  • Tags
  • Shipping class
  • Downloadable status
  • Product Subtotal
  • Product Attributes
  • Product custom Meta data

💡 Exclusion rules help you avoid unwanted overlaps or conflicts with other logic.

💾 Final Step: Save Your Category

Click “Save Category” to store the virtual category.
You can now use this virtual category in fee rules.

Payment Processing Fee

This section allows you to configure additional fees that are automatically added to the customer’s order total when they choose a specific payment method.
These settings work with any payment method available on your website.

1. Enable Processing Fee

  • Checkbox – Turns the processing fee on or off for the selected payment method.
  • If unchecked, no fee will be applied for that payment method.

2. Label for Processing Fee

  • Text entered here will be displayed on the checkout page and in the order summary, so customers understand the extra charge.
  • Example: Processing Fee, Payment Handling Charge, etc.

3. Processing Fee Amount

  • Enter the fee value.
  • Select one of two calculation types:
    • Fixed Amount – Adds a set currency amount (e.g., ₹50).
    • Percentage – Calculates the fee as a percentage of the order total (e.g., 2%).

4. Tax Class for the Processing Fee

  • Determines how tax is applied to the processing fee:
    • Not taxable – No tax applied.
    • Any available tax class from your store – Fee will be taxed accordingly.

5. Minimum and Maximum Amount

  • Optional fields to limit the fee:
    • Minimum amount – The fee will not go below this value.
    • Maximum amount – The fee will not exceed this value.
  • Useful for controlling very small or very large fee amounts when using percentage-based calculation.

Extra Settings – Documentation

The Extra Settings section contains additional configuration options that control how fees, labels, and related data are displayed in the checkout, cart, order details, and WooCommerce analytics. It also includes tools for processing old orders to add missing fee data.

Show System Name of Shipping Method on Checkout Page

Displays the system name (internal ID) of the selected shipping method below the method name at checkout.

Only visible to admins; customers will not see this information. You can use the system name of the shipping method in “Shipping method” condition

Optional Services Label

Sets the label text displayed above optional fees at checkout.

Example: Optional Services, Additional Charges, etc.

Show Optional Fees Checkbox on Cart Page

When enabled, displays a checkbox on the cart page allowing customers to select optional fees before proceeding to checkout.

Good for upselling services like gift wrapping or insurance.

Percentage Fees Will Be Based On

Defines the base amount used to calculate percentage-based fees.

  • Subtotal
  • Subtotal – Discount
  • Subtotal + Shipping cost
  • Subtotal + Shipping cost – Discount

5. Show Fees in WooCommerce Order Analytics

Adds Total Fee and Total Fee Tax columns to WooCommerce Orders analytics so you can see fee amounts collected from each order.

Enable to Find Attributes Name and Value

Allows you to identify and display product attributes in the cart and checkout for admin use.

  • Process:
    1. Enable this option.
    2. Add a product with the attribute you want to track.
    3. Select the attribute value to be displayed.
    4. Attribute names/values will appear for admin viewing on cart and checkout.

This is useful in Condition Product attribute, Custom product attribute (Text), and Custom product attribute (Number)

Show Selected Optional Fee in Separate Table

Displays the selected optional fees in a separate table on the Order success page and in order-related emails.

Title Shown Above the List of Optional Fees Selected by the Customer

Sets a heading above the list of optional fees in the separate table.

Show Selected Option Price in the Description Table

When enabled, shows the price of each selected option inside the description table.

Process Old Orders

Adds fee-related metadata to orders that currently lack it. Helpful after enabling fee features on an existing store so old orders also reflect accurate fee data.

  • Start Processing Orders – Begin the process.
  • Batch Size – Number of orders processed at a time.
  • Orders Remaining to Process – Displays how many orders still need metadata updates.