How to Add Flat Rate Shipping to Your WooCommerce Store
WooCommerce includes flat rate shipping without an additional plugin. You can charge a fixed amount per order, calculate a rate from the number of items, or use shipping classes for different types of products.
Last updated:
Reviewed for accuracy by Jesse Nickles
Check your shipping zones
Flat rate shipping belongs to a shipping zone, which determines where the rate is available. Before adding a rate, go to WooCommerce → Settings → General and check your Shipping location(s) setting.
- Go to WooCommerce → Settings → Shipping → Shipping zones.
- Use an existing zone, or click Add zone to create one.
- Give the zone a descriptive name and select the countries, regions, or postcodes it covers.
- Click Save changes after configuring a new zone.
WooCommerce matches a customer to the first zone that covers their shipping address. If zones overlap, place the more specific one above broader zones. The default Rest of the world zone catches addresses that match no other zone; you can leave it without methods if you do not ship there. See the official shipping zones guide for regional and postcode setup.
Add a flat rate shipping method
- In WooCommerce → Settings → Shipping → Shipping zones, click Edit beside the zone you want to configure.
- Click Add shipping method, select Flat rate, then click Continue.
- Enter a customer-facing Name, such as Standard shipping.
- Choose the Tax status appropriate for your store.
- Enter a Cost, such as
5for a $5 shipping charge in a store using US dollars. - Click Create to save the method. Repeat for other zones where you want to offer it.
A plain numeric cost applies once to the shipping calculation for the cart, not once per item. WooCommerce shows the available shipping methods from the zone that matches the customer's address.
Choose how to calculate the cost
The Cost field also accepts simple formulas. These examples assume a store using US dollars:
| Cost field | Result |
|---|---|
5 | $5 per order |
2 * [qty] | $2 per item, based on the quantity being shipped |
5 + ( 2 * [qty] ) | $5 base charge plus $2 per item |
For example, the last formula charges $11 for three items. WooCommerce also supports percentage-based shipping formulas, but a simple fixed rate is easier to predict and test. See the official flat rate shipping documentation for advanced formulas.
Use shipping classes when products cost different amounts to ship
Shipping classes group products with similar shipping needs, such as small parcels or heavy items. Create them under WooCommerce → Settings → Shipping → Classes, then assign a class to each relevant product in its shipping settings. See WooCommerce's shipping classes documentation for the setup and assignment steps.
When classes exist, the flat rate method offers separate class-cost fields. These costs are added to the method's base cost. Set the base cost to 0 if you want the class costs to determine the charge.
- Per class: Adds the configured charge for each shipping class represented in the cart.
- Per order: Uses the most expensive applicable shipping-class charge.
For example, with a 0 base cost and fixed class costs of $10 for heavy items and $4 for small items, a cart containing both classes costs $14 with Per class or $10 with Per order.
These options do not automatically calculate carrier rates by parcel weight or distance. For live carrier quotes or more complex rules, you would need a suitable shipping extension or custom setup.
Test the rate before accepting orders
- Add a shippable product to the cart and enter an address inside the configured zone.
- Confirm the expected shipping method and amount appear in the cart or at checkout.
- Change the quantity if you use a per-item formula, and check the calculation again.
- Try an address in another zone, plus an address you do not serve, to verify which options appear.
- If you use shipping classes, test carts with one class and with a mix of classes.
HoverCraft displays WooCommerce's normal shipping options in its cart and checkout layouts. WooCommerce itself determines the matching zone, available methods, and shipping charges; the theme does not override those calculations.
Troubleshoot flat rate shipping
- Wrong zone: Check the customer's shipping address and move narrower zones above broader overlapping ones.
- Method missing or disabled: Confirm the matching zone contains an enabled Flat rate method.
- No shipping needed: Check that the cart contains a product requiring shipping rather than only virtual products.
- Unexpected total: Review the base cost, quantity formula, class costs, and calculation type. Shipping taxes can also change the amount shown.
Flat rate is useful when you can set predictable shipping charges. If you want customers to qualify for free shipping based on an order total or coupon, configure WooCommerce's separate Free shipping method in the relevant zone. Our coupon guide explains how those promotions work.