How to Charge WooCommerce Extra Fees Based on Total Cart Subtotal
Charging extra fees based on the total cart subtotal is an effective way to manage handling, service, or processing costs in your WooCommerce store.
Using the WooCommerce Extra Fees Plugin, you can define dynamic fee rules based on the customer’s cart value, automatically applying additional charges when the subtotal falls within specific ranges.
In the article
How it works
The plugin checks the cart subtotal (excluding shipping and taxes) and applies a fee based on the set subtotal range. You can configure multiple ranges and fee values, such as:
- Add a $5 fee for orders below $100.
- No extra fee for orders above $300.
This method helps you manage small order costs or encourage higher-value purchases.
Benefits
- Recover packaging or service costs for low-value orders.
- Encourage customers to increase order value to avoid fees.
- Automate fee logic—no manual setup needed per order.
- Improve checkout transparency with custom fee labels.
- Combine with other conditions like payment method or shipping zone.
Steps to configure the extra fee
Step 1: Enable the extra fee rules
- Go to WooCommerce → Extra Fees Plugin → Add New Fee Rule.
- Enter a title/name for your fee (example: Low Order Fee).
- Under Apply Fees Rules, select “Cost on Total Cart Subtotal” from the left menu.
Step 2: Set subtotal-based extra fee limits
- Go to the “Cost on Total Cart Subtotal” section.
- Set the Minimum Subtotal (example: $19 → fee applies only if customer buys an order under $199).
- Set the Maximum Subtotal (example: $49 → fee applies only if customer buys an order above $200).
Step 3: Set the fee amount
Enter the Fee Amount (example: $19 for a subtotal range below $200).
Step 4: Save and test
- Click Save Rule.
- Go to your store and add products to the cart.
- Check that the fee is applied once the product quantity meets the set limit.
Example 1: Handling extra fee based on cart subtotal
A handling fee of $5 is applied when the total cart subtotal is below $100. This helps cover basic order processing and packaging costs for small orders.
No fee is charged once the subtotal exceeds $300, encouraging higher-value checkouts.
Cart Subtotal Range ($) | Fee Applied ($) | Description |
---|---|---|
$0 – $99.99 | $5 | Low order handling fee |
$100 – $299.99 | $2 | Partial cost recovery |
$300 and above | $0 | Free handling for high-value orders |
Example 2: Service fee to encourage large orders
A $7 service fee is applied to orders under $50 to offset small-order costs. This fee helps maintain profitability on low-value transactions.
When customers spend more than $150, the fee is removed, promoting larger purchases.
Cart Subtotal Range ($) | Fee Applied ($) | Description |
---|---|---|
$0 – $49.99 | $7 | Small order service charge |
$50 – $149.99 | $3 | Moderate service fee |
$150+ | $0 | No extra charge for big spenders |
FAQs
What subtotal is used for this condition—before or after taxes?
The rule applies based on the cart subtotal before tax and shipping charges.
Can I apply different fees for different user roles?
Yes, you can combine subtotal rules with user role conditions to create targeted pricing strategies.
Will this fee show up on the checkout page clearly?
Yes, you can set a custom label for the fee, which is shown in the order summary at checkout.
What happens if the subtotal is exactly at the range boundary?
The rule includes the boundary values. For example, a subtotal of $100 will apply to the “$100 to $299.99” range.
Is this available in the free version of the plugin?
No, subtotal-based fee conditions are part of the Pro version of the WooCommerce Extra Fees plugin.