

Single-fee insurance settings.
Shipping Insurance & Package Protection for WooCommerce lets customers choose optional package protection on the classic cart and checkout pages.
Offer a simple on/off switch or a list of coverage levels. Set fixed or percentage fees, choose which orders qualify, and customize the text and appearance to fit your store.
The plugin adds your configured fee to WooCommerce totals when protection is selected and the order qualifies. It also records the selection and fee with the order.
This plugin provides the selection, fee, and reporting tools. It does not purchase an insurance policy, connect to an insurance provider, or process claims. Store owners define and fulfill their own protection terms.
This version is designed for classic WooCommerce cart and checkout templates. Cart and Checkout blocks are not supported.
CheckoutWC update handling is included. Available display hooks and refresh behavior depend on the CheckoutWC layout and version; test your chosen placement before using it on a live store.
Use a different coverage amount for each level. Levels are identified by their coverage amount; duplicate amounts do not create independent choices.
Coverage amount and customer fee are separate. For example, a coverage amount of 500 and a fixed fee of 15 displays protection up to 500 for a customer charge of 15, in your store currency.
Enter the amount to charge in the store currency. A fixed fee does not change with the product total unless an automatic pricing rule selects a different fee.
Percentage fees use the product total after discounts. Shipping, tax, and other fees are excluded.
Example: a 2% fee on a discounted product total of 150 is 3.00, before any tax on the insurance fee.
Cart-value conditions use the same discounted product total, excluding shipping, tax, and fees.
Example: minimum 100 and maximum 500 allows values from 100 through 500, including both endpoints.
The general Eligibility section applies to both insurance types. Coverage levels and automatic pricing rules can add further conditions.
Different condition types are combined: all configured types must pass. For example, a rule restricted to a cart minimum of 100, a selected zone, and the Customer role requires all three conditions.
Empty selections add no restriction for that condition. An empty field within a level does not override a general restriction.
Select zones already configured in WooCommerce. The plugin uses WooCommerce’s matched zone for each shipping package, based on its destination.
Every shipping package must match one of the selected zones. A destination country is required for restricted zone rules. “Locations not covered by your other zones” represents WooCommerce’s fallback zone.
A zone’s name alone does not define its coverage. Check the regions, postcodes, and ordering in your WooCommerce shipping-zone settings.
At least one shippable product must belong to a selected class. Select No shipping class to match shippable products without an assigned class.
At least one selected shipping method must match a configured method type, such as Flat rate, Free shipping, or Local pickup. These choices identify method types, not individual instances within zones.
No shipping matches a cart that does not need shipping or currently has no selected shipping method. It does not mean Free shipping. Other eligibility conditions still apply.
For a virtual-only cart in single-fee mode, include No shipping in general eligible shipping methods if protection should be available. A restricted shipping-zone rule will not match a virtual-only cart.
Choose the WordPress roles that qualify. A logged-in customer matches if any of their roles is selected. Use Guest for customers who are not logged in.
Example: if general eligibility is restricted to Canada, all coverage levels remain restricted to Canada, even when a level’s zone field is empty.
To offer levels 300 and 1000 everywhere, but levels 500 and 2000 only in Canada, leave general zones empty and select Canada only inside levels 500 and 2000.
Select Single fee toggle, then open Automatic single-fee pricing in General settings.
Rules are evaluated from top to bottom. The first matching rule sets the fee. Fees are not added together. If no rule matches, the standard fee in Single fee settings applies.
General eligibility still controls whether protection is available. A pricing rule cannot make an otherwise ineligible cart qualify.
For a store using two decimal places:
Leave the other conditions empty if these prices should apply to every eligible cart.
For more specific prices, put specific rules above broad rules. For example, place a Customer-role discount rule above a rule that applies to all roles.
A rule with every condition empty matches every generally eligible cart and prevents later rules from applying.
Choose cart and checkout locations independently. You can hide the selector on either page.
Display settings control placement; they do not clear an existing customer selection or disable its fee. Use the global enable setting or eligibility rules to control availability.
Custom locations accept an action hook, priority, and layout. The selected hook must actually run in your theme or checkout template. Use the table-row layout only inside an appropriate table.
Customize headings, descriptions, the single-fee label, and the decline text.
Coverage-choice text supports {coverage} and {fee}. The coverage fee label shown in totals supports {coverage}.
Example coverage label: Protection up to {coverage} for {fee}.
Choose Classic, Compact, or Minimal styling. Enable custom colors to adjust the accent, background, border, and text colors.
For Single fee toggle, Enabled by default controls the initial state. Changing this setting also resets the stored default state when an existing customer session is next evaluated.
For Coverage choices, select a default level or Decline. If the default or saved level is not eligible, the decline option is displayed. Customers can change their selection.
Enable the optional instructions field for either insurance type. It can appear with the configured cart and checkout placement. Customize its label and description. Instructions are saved with the order.
Cart AJAX updates let customers change protection while refreshing cart totals. If your site’s cart integration has a conflict, disable cart AJAX to use the page-reload mode for insurance selection changes.
Checkout uses its checkout-update flow. Test quantity changes, coupons, shipping changes, and protection selection with your active theme and checkout plugins.
Enable Taxable fee if WooCommerce should calculate tax on the insurance fee. Fee calculations and cart-value eligibility use amounts excluding tax.
Open WooCommerce > Insurance Reports, or click Reports beneath the plugin name on the Plugins screen.
The report provides:
Reports include saved insurance-fee metadata on orders currently in Processing or Completed status. Dates are based on order creation in the WordPress timezone, not payment or completion dates. Weeks begin on Monday.
Amounts exclude tax. Pending, on-hold, cancelled, failed, and fully refunded orders are excluded. Partial refunds and claim costs are not deducted. These are gross-fee reports, not net-profit or payment-settlement reports.
Registered customers are grouped by account ID. All guest checkouts share one row. Deleted customers retain their original account ID in the grouping.
Custom ranges support approximately five years. All-time charts show periods containing qualifying insurance orders. Older orders without the plugin’s insurance metadata are not included.