Flexible Shipping Rules for WooCommerce is a plugin that allows per-product shipping rules with quantity-based pricing and free shipping thresholds.
Flexible Shipping Rules gives you complete control over shipping costs on a per-product basis. Set up quantity-based shipping rules, fixed shipping prices, and free shipping thresholds for individual products.
= Features =
- Per-product shipping customization
- Quantity-based shipping rules
- Fixed shipping prices per product
- Free shipping quantity thresholds
- Global free shipping minimum settings
- Priority-based shipping calculation
- Single shipping method display
= How It Works =
The plugin allows you to configure shipping rules for each product individually. When a customer adds products to their cart, the plugin calculates shipping based on the configured rules and shows only the appropriate shipping method.
= Shipping Priority System =
- Free Shipping Quantity – If set and quantity threshold is met, shows free shipping only
- Fixed Shipping Price – If set, applies fixed price per product
- Per-Unit Pricing – If set, applies cost per unit with quantity threshold
== Installation ==
- Upload the plugin files to
/wp-content/plugins/flexible-shipping/
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Configure global settings in WooCommerce > Settings > Shipping
- Set up per-product shipping rules in the product shipping tab
Configuration
= Global Settings =
Go to WooCommerce > Settings > Shipping to configure global free shipping rules:

Enable Global Free Shipping: Check this box to enable global free shipping based on cart criteria.
Free Shipping Type: Choose between:
- Cart Value: Free shipping based on total cart value
- Cart Quantity: Free shipping based on total number of items in cart
Global Free Shipping Minimum (Cart Value): Set the minimum cart value required for free shipping when using cart value type.
Global Free Shipping Minimum (Cart Quantity): Set the minimum cart quantity required for free shipping when using cart quantity type.
Note: Global settings apply to all products unless overridden by individual product shipping rules.
= Global Flat Rate Shipping Settings =
Configure flat rate shipping that applies when cart doesn’t qualify for free shipping:
Enable Global Flat Rate Shipping: Check this box to enable global flat rate shipping.
Flat Rate Shipping Type: Choose between:
- Cart Value: Flat rate based on total cart value
- Cart Quantity: Flat rate based on total number of items in cart
Flat Rate Shipping Amount: Set the flat rate shipping amount to apply.
Flat Rate Maximum (Cart Value): Set the maximum cart value for flat rate shipping (0 = no limit).
Flat Rate Maximum (Cart Quantity): Set the maximum cart quantity for flat rate shipping (0 = no limit).
Note: Flat rate shipping applies when the cart doesn’t qualify for free shipping and is within the maximum limits.
= Category-Based Free Shipping Settings =
Configure category-based free shipping that applies to all products:

Enable Category Free Shipping: Check this box to enable category-based free shipping.
Category Free Shipping Type: Choose between:
- Cart Value: Category free shipping based on total cart value
- Cart Quantity: Category free shipping based on total number of items in cart
Category Free Shipping Minimum (Cart Value): Set the minimum cart value required for category free shipping.
Category Free Shipping Minimum (Cart Quantity): Set the minimum cart quantity required for category free shipping.
Override Per-Product and Global Settings: When checked, category free shipping overrides all per-product and global shipping rules.
= Per-Product Settings =
Edit any product and go to the Shipping tab to configure:

- Enable Custom Shipping
- Fixed Shipping Price
- Shipping Cost Per Unit
- Shipping Cost Quantity
- Free Shipping Quantity
Examples
= Example 1: Units with Quantity-Based Free Shipping =
Scenario: Any orders up to 100 units cost £8 to ship. Any orders over 100 units are delivery free of charge.
Configuration:
- Go to the product’s Shipping tab
- Check “Enable Custom Shipping”
- Set “Shipping Cost Per Unit” to £8.00
- Set “Shipping Cost Quantity” to 100
- Set “Free Shipping Quantity” to 100
Result:
- Orders with 1-99 units: £8 shipping
- Orders with 100+ units: Free shipping
= Example 2: Bags with Low Quantity Free Shipping =
Scenario: Any bags up to a quantity 5 cost £4.00 to ship then over 5 you get free delivery.
Configuration:
- Go to the product’s Shipping tab
- Check “Enable Custom Shipping”
- Set “Shipping Cost Per Unit” to £4.00
- Set “Shipping Cost Quantity” to 5
- Set “Free Shipping Quantity” to 5
Result:
- Orders with 1-4 bags: £4 shipping
- Orders with 5+ bags: Free shipping
= Example 3: Fixed Price Per Product =
Scenario: Each product costs £2.50 to ship regardless of quantity.
Configuration:
- Go to the product’s Shipping tab
- Check “Enable Custom Shipping”
- Set “Fixed Shipping Price” to £2.50
- Leave other fields empty
Result:
- Any quantity of product: £2.50 shipping
= Example 4: Global Free Shipping by Cart Value =
Scenario: Free shipping for all orders over £50.
Configuration:
- Go to WooCommerce > Settings > Shipping
- Check “Enable Global Free Shipping”
- Set “Free Shipping Type” to “Cart Value”
- Set “Global Free Shipping Minimum (Cart Value)” to £50.00
Result:
- Orders under £50: Normal shipping rates apply
- Orders £50 and over: Free shipping
= Example 5: Global Free Shipping by Cart Quantity =
Scenario: Free shipping for all orders with 10 or more items.
Configuration:
- Go to WooCommerce > Settings > Shipping
- Check “Enable Global Free Shipping”
- Set “Free Shipping Type” to “Cart Quantity”
- Set “Global Free Shipping Minimum (Cart Quantity)” to 10
Result:
- Orders with 1-9 items: Normal shipping rates apply
- Orders with 10+ items: Free shipping
= Example 6: Global Flat Rate Shipping by Cart Quantity =
Scenario: £8 flat rate shipping for orders with 100 units or less. Free shipping for orders with 101+ units.
Configuration:
- Go to WooCommerce > Settings > Shipping
- Check “Enable Global Free Shipping”
- Set “Free Shipping Type” to “Cart Quantity”
- Set “Global Free Shipping Minimum (Cart Quantity)” to 101
- Check “Enable Global Flat Rate Shipping”
- Set “Flat Rate Shipping Type” to “Cart Quantity”
- Set “Flat Rate Shipping Amount” to £8.00
- Set “Flat Rate Maximum (Cart Quantity)” to 100
Result:
- Orders with 1-100 units: £8 flat rate shipping
- Orders with 101+ units: Free shipping
= Example 7: Global Flat Rate Shipping by Cart Value =
Scenario: £5 flat rate shipping for orders under £100. Free shipping for orders £100 and over.
Configuration:
- Go to WooCommerce > Settings > Shipping
- Check “Enable Global Free Shipping”
- Set “Free Shipping Type” to “Cart Value”
- Set “Global Free Shipping Minimum (Cart Value)” to £100.00
- Check “Enable Global Flat Rate Shipping”
- Set “Flat Rate Shipping Type” to “Cart Value”
- Set “Flat Rate Shipping Amount” to £5.00
- Set “Flat Rate Maximum (Cart Value)” to £99.99
Result:
- Orders under £100: £5 flat rate shipping
- Orders £100 and over: Free shipping
Frequently Asked Questions
= How does the priority system work? =
Free shipping quantity takes priority over all other settings. If the quantity threshold is met, only free shipping will be shown.
= Can I have different rules for different products? =
Yes, each product can have its own custom shipping settings that override global settings.
= What happens if I set both fixed price and per-unit pricing? =
Fixed shipping price takes priority over per-unit pricing.
= How do I set up global free shipping? =
Go to WooCommerce > Settings > Shipping and configure:
- Check “Enable Global Free Shipping”
- Choose “Free Shipping Type” (Cart Value or Cart Quantity)
- Set the appropriate minimum value or quantity
= What’s the difference between cart value and cart quantity free shipping? =
Cart Value: Free shipping when the total cart value reaches a certain amount (e.g., free shipping on orders over £50).
Cart Quantity: Free shipping when the total number of items in the cart reaches a certain amount (e.g., free shipping on orders with 10+ items).
= Do global settings override product-specific settings? =
No, product-specific shipping rules take priority over global settings. If a product has custom shipping enabled, those rules will apply instead of the global settings.
= How does flat rate shipping work with free shipping? =
Flat rate shipping applies when the cart doesn’t qualify for free shipping. The priority order is:
- Product-specific shipping rules
- Global free shipping (if qualified)
- Global flat rate shipping (if qualified)
- Default WooCommerce shipping methods
= Can I set different flat rates for different cart ranges? =
Currently, the plugin supports one flat rate amount. For complex tiered pricing, you would need to use product-specific shipping rules or WooCommerce’s built-in shipping zones.
= Why do I only see one shipping method? =
The plugin is designed to show only the most appropriate shipping method to avoid customer confusion.
Customer Demo
Shows 2 products with per product settings and global settings.
Paul D (verified owner) –
Absolutely fantastic. Was sceptical with all the reviews being so good, but plugin and support when needed have been great. Highly recommend. Thanks Brad