Flat Rate Shipping is a shipping method included in WooCommerce that allows you define a standard rate per item, per shipping class, or per order.
Flat Rate Shipping works with Product Shipping Classes, adding more power and flexibility.
Setup and Configuration ↑ Back to top
To use this method it must be added to a Shipping Zone.
- Head to: WooCommerce > Settings > Shipping.
- Select the Shipping Zone that Flat Rate should be added to and select Edit.
- In the Shipping Methods box, select Add Shipping Method.
- Select Flat Rate shipping from the dropdown and then Add Shipping method.
- Select Edit to then setup your Flat Rate costs appropriately.
Once you’re in the Flat rate settings let’s discuss the options you have:
- Enter a Title that displays to customers in checkout.
- Select a Tax status – Define whether or not tax is applied to the flat rate Cost
- Enter Cost – This is applied to the entire cart. Add additional costs per item to this field. See Advanced Costs below. This can be left blank to disable Flat Rate except where costs are added for Shipping Classes. Note that what you enter here may factor into the overall cost in the Shipping Classes section (see below), unless you leave it blank.
- Select Save changes
Advanced Costs ↑ Back to top
The Cost field allows you to charge a flat rate per item, a percentage based cost or a minimum fee.
- [qty] – Number of products in the cart
- [fee] – An additional fee. This fee has two optional arguments.
- percent – A percentage based on total order cost.
- min_fee – A minimum amount. Useful when using percentages.
- max_fee – A maximum amount. Useful when using percentages.
Examples ↑ Back to top
10 + ( 2 * [qty] )– A base shipping cost of $10 plus $2 for each item in the cart.
20 + [fee percent="10" min_fee="4"]– A base shipping cost of $20 plus 10% of the order total, which is at least $4.
Shipping Classes ↑ Back to top
If you have shipping classes, the interface adds a few more fields:
There is one cost field for each shipping class.
- No Shipping Class Cost – Useful if you use the Per Class option below. Otherwise, use the Cost field.
- Calculation Type – Two options:
- Per Order – Picks the most expensive option based on shipping costs in the cart.
- Per Class – Charges shipping for each shipping class.
How to set up Free Shipping for some products and Flat Rate for the rest ↑ Back to top
If you would like to offer Free Shipping on some products but charge a Flat Rate for others, the best way to set this up is using Shipping Classes.
In this use case, we have set up three shipping classes: Free Shipping, Regular Shipping, and Expedited Shipping.
Once we have all the products added to their respective shipping classes, we can use the following settings to allow for the products in the Free Shipping class to not charge for shipping, while all the other products do.
By setting the Free Shipping class cost to use
0 * [qty], no matter how many products from that class are added to the cart, the shipping cost will not increase.
However, products in the Expedited Shipping class will cost $20 per product from that class (because we’re using
20 * [qty]) while Regular Shipping class products and products that have no shipping class will cost $10 per product to ship (as we’re using
10 * [qty] for each of those options).
This means that if you have one product from each of our three shipping classes, the total Flat Rate cost will be $30 ($20 for one Expedited Shipping product, $10 for one Regular Shipping product, and $0 for one Free Shipping product).
Note: For this to work as described above, it is important to set the Calculation Type to “Per Class: Charge shipping for each shipping class individually” and that the Cost field is left blank.