Shipping Insurance & Package Protection for WooCommerce
Shipping Insurance & Package Protection for WooCommerce

Shipping Insurance & Package Protection for WooCommerce

0/5 (0 ratings) — active installs Updated Sep 23, 2026
Single-fee insurance settings.

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.

Two ways to offer protection

  • Single fee toggle: customers turn one protection option on or off. Use a standard fee or automatic pricing rules.
  • Coverage choices: customers select a coverage level or choose the decline option. Each level has its own coverage amount, fee, and optional eligibility rules.

Main features

  • Fixed fees in the store currency or percentage fees based on discounted product totals.
  • Automatic single-fee pricing rules, evaluated in your preferred order.
  • Minimum and maximum cart values for general eligibility, coverage levels, and automatic pricing rules.
  • Eligibility by shipping zone, shipping class, shipping method, and user role, including guests.
  • Independent display locations for cart and checkout, with custom hook settings.
  • Cart AJAX updates with an optional page-reload mode.
  • Editable headings, descriptions, coverage labels, decline text, and totals labels.
  • Classic, compact, and minimal frontend styles with optional custom colors.
  • Optional shipping instructions on cart and checkout for both insurance types.
  • Configurable default selection and taxable fees.
  • Insurance reports with charts, date filters, customer totals, and order links.
  • WooCommerce order APIs for reporting and order metadata.
  • Settings and Reports shortcuts on the Plugins screen.

Compatibility

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.

Getting Started

Simple single fee

  1. Select Single fee toggle.
  2. Set the fee type to Fixed amount.
  3. Enter your fee, for example 3.00.
  4. Leave eligibility fields empty if you do not need additional restrictions.
  5. Choose where the option appears on cart and checkout.
  6. Save and test enabling and disabling protection.

Multiple coverage choices

  1. Select Coverage choices.
  2. Add an insurance level.
  3. Enter a coverage amount, fee type, and customer fee.
  4. Add any conditions that should apply to that level.
  5. Repeat for additional levels and arrange their display order.
  6. Choose a default level or leave the decline option selected.
  7. Save your settings.

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.

Fees and Cart Values

Fixed fees

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

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.

Minimum and maximum cart values

Cart-value conditions use the same discounted product total, excluding shipping, tax, and fees.

  • Blank minimum: no lower limit.
  • Blank maximum: no upper limit.
  • Both blank: no cart-value restriction.
  • Minimum and maximum are inclusive.
  • Zero is a value, not a blank field.
  • Maximum must be greater than or equal to minimum.

Example: minimum 100 and maximum 500 allows values from 100 through 500, including both endpoints.

Eligibility

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.

Shipping zones

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.

Shipping classes

At least one shippable product must belong to a selected class. Select No shipping class to match shippable products without an assigned class.

Shipping methods

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.

User roles

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.

General rules and level rules

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.

Automatic Single-Fee Pricing

Select Single fee toggle, then open Automatic single-fee pricing in General settings.

  1. Click Add pricing rule.
  2. Enter an optional rule name for your own reference.
  3. Choose a fixed or percentage fee and enter its value.
  4. Add cart-value limits and any zone, class, method, or role conditions.
  5. Use Move up and Move down to set the rule order.
  6. Save your 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.

Example: change the fee at 100

For a store using two decimal places:

  • Rule 1: maximum cart value 99.99; fixed fee 3.00.
  • Rule 2: minimum cart value 100; fixed fee 5.00.

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.

Display and Customer Experience

Locations

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.

Labels and text

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}.

Design and colors

Choose Classic, Compact, or Minimal styling. Enable custom colors to adjust the accent, background, border, and text colors.

Default selection

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.

Shipping instructions

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.

AJAX and page reloads

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.

Taxes

Enable Taxable fee if WooCommerce should calculate tax on the insurance fee. Fee calculations and cart-value eligibility use amounts excluding tax.

Insurance Reports

Open WooCommerce > Insurance Reports, or click Reports beneath the plugin name on the Plugins screen.

The report provides:

  • Gross insurance fees, insured order count, and average fee.
  • Today, yesterday, this week, this month, last month, this year, all-time, and custom date filters.
  • Daily, weekly, or monthly grouping.
  • A chart and an exact-values table.
  • Customer totals, customer search, and pagination.
  • Expandable customer order lists, with order-edit links when your account has permission.
  • A currency filter so different currencies are not combined.

How totals are calculated

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.