Smart Flat Rate Shipping for WooCommerce
Smart Flat Rate Shipping for WooCommerce

Smart Flat Rate Shipping for WooCommerce

0/5 (0 ratings) — active installs Updated Nov 11, 2026
Shipping methods list with amounts, status, priority and a readable condition summary.

Shipping methods list with amounts, status, priority and a readable condition summary.

Read the documentation – setup, conditions, the simulator and troubleshooting. Need help? Contact support.

Smart Flat Rate Shipping adds one shipping method to WooCommerce that offers as many flat-rate options as you configure. Each option has a fee, optional conditions, and a priority.

What you can do

  • Fixed fee, optional per-item fee, optional “free shipping from” subtotal.
  • Conditions: cart subtotal, cart quantity, products, product categories, destination country, state and postcode.
  • AND inside a group, OR between groups, with a readable summary in the list.
  • Shipping simulator: test a sample cart and destination without a real cart, order, payment or stock change. It uses the same pricing engine as checkout.
  • Diagnostics: environment checks and an optional, bounded log that explains why a method matched or not.
  • Works with WooCommerce shipping zones, taxes, multiple packages and native shipping methods. It never hides or changes other methods.
  • Documentation: step-by-step guides for every screen and condition.

How rates are calculated

Cost = base fee + per-item fee x chargeable units. If the eligible subtotal reaches the free-shipping threshold, the cost is 0.

  • Subtotals exclude tax. Coupon discounts are deducted by default (a setting lets you ignore them).
  • Eligible items: for the first matching condition group, the items selected by its “contains any of” product/category conditions; every item if the group has none.
  • Per-item fees count all cart units or only eligible units, as chosen per method.
  • Methods are independent: every matching method is offered, none hides another, and prices are never added together.
  • Location conditions need the customer’s address. Until a value is entered, a location condition does not match (also “is not one of”), so a rate is never shown to the wrong place.
  • Postcodes support exact values, a trailing wildcard (380*) and numeric ranges (380001…380060). Spaces, dashes and case are ignored.

Not included (yet)

Weight, shipping-class and coupon conditions, formulas, scheduling, import/export, splitting a cost between products. Some of these (weight, shipping class, coupon, role and day/time conditions, tiered rates, import/export) are provided by the separate Smart Flat Rate Shipping Pro add-on. The free plugin makes no external requests and sends no data anywhere.

For developers

Add-ons can extend the plugin with these hooks: filters sfrs_condition_types, sfrs_evaluate_condition, sfrs_sanitize_condition, sfrs_draft_condition, sfrs_describe_condition, sfrs_context, sfrs_pricing_adjust, sfrs_rule_defaults, sfrs_sanitize_request, sfrs_price_summary, sfrs_admin_tabs; actions sfrs_condition_value_fields, sfrs_form_pricing_rows, sfrs_simulator_fields and sfrs_render_tab_{tab}.

Usage examples

Standard shipping, free over 1000
Base fee 80, free shipping from 1000. Carts with an eligible subtotal of 1000 or more get 0.

Per-item shipping
Base fee 40, per-item fee 10. Three items cost 40 + 3 x 10 = 70.

Express for one state only
Base fee 150, condition: Destination state is one of IN:GJ.

Cheaper shipping for a category
Condition: Product categories contains any of “Books”, per-item fee 5, “Only units of eligible products”.

Local delivery by postcode
Condition: Destination postcode is one of 380001…380060, 3900*.