Description
Warranty Cart is a complete WooCommerce warranty plugin. Sell extended warranties, protection plans and service contracts on the product page where your customer is already deciding — then manage the warranty claims, renewals and expiry reminders that follow, which is where most warranty plugins stop.
No warranty management system to integrate, no per-gateway setup, and no monthly fee.
Selling cover
– Beside the product: offer a warranty on the product page, where the customer is already deciding. Choose which products each warranty covers — everything, chosen categories, or named products.
– A page of its own: the [warranty_cart] shortcode, in a grid or a list, for stores that would rather sell cover separately.
– Bundles: a main warranty with optional add-on services, priced together as the customer chooses.
– Fixed or percentage pricing: charge a flat fee, or a percentage of whatever the warranty covers — with a floor and ceiling so a percentage of a very cheap or very expensive item stays sensible.
– Any payment gateway: warranties are created when an order completes, which WooCommerce does whatever took the payment — card, PayPal, bank transfer, cash on delivery.
After the sale
– A warranties tab in My Account: every policy a customer owns, with its order, expiry and status — and a page per policy showing what it covers, the terms, what was paid, and every renewal it has been through.
– Claims: customers file against active cover from their account; you work through them on a dedicated admin screen, and every status change emails them.
– Renewals: a Renew button appears as cover approaches expiry, and for a configurable grace period afterwards. Renewing goes through the cart, so it is a real order and you get paid for it. Renewing early keeps the time already paid for rather than restarting the clock.
– Renewal history: every extension recorded — when it happened, how far the term moved, what it cost and which order paid for it. Visible to you on the record, and to the customer on theirs.
– Reminders and expiry notices: sent automatically, on a schedule you set.
– PDF certificates: what is covered, the term, when cover begins and ends, and the coverage terms — issued in your shop’s name, and attached to the confirmation email.
Running the shop
– Admin dashboard: sales, orders and warranty totals, a twelve-month trend, and recent activity.
– Warranty records: every policy sold, filterable by status, customer and product.
– CSV import and export: set up a catalogue in bulk, and export any list — warranties, records, claims, orders, reports — as a spreadsheet that opens correctly, filters and all.
– Plan images: give each warranty a picture from your media library, shown wherever the plan is offered.
– Custom checkout fields: ask for whatever a warranty needs — a serial number, an install date.
– HPOS compatible: works with WooCommerce High Performance Order Storage.
Requirements:
– WordPress 6.0+
– WooCommerce 8.0+
– PHP 7.4+
– MySQL 5.6+
More from us
Other free plugins from the same author, on WordPress.org.
For a WooCommerce store:
- StoreSeeder – realistic test data for WooCommerce and Fluent Cart. Products, customers, orders and coupons in seconds, with one-click cleanup.
- StoreSheet – sync WooCommerce products, orders and coupons to a Google spreadsheet, automatically and one-way.
- EasyCommerce FakerPress – the same idea for an EasyCommerce store, with a live preview before you generate.
- Vendor Tasks for Dokan & ClickUp – automate Dokan vendor management through ClickUp.
For any site:
- Swift Menu Duplicator – duplicate menus in one click, snapshot revisions, export and import, WP-CLI and REST.
- Author Profile Blocks – author and team profiles as Gutenberg blocks: grid, carousel, list and single.
- Donation Router for GiveWP & PayPal – route GiveWP donations to different PayPal Business accounts by donor country.
For the WordPress AI Client:
- AI Provider for OpenCode Zen – one API key, 57 models including GPT-5, Claude and Gemini 3.
- AI Provider for MiniMax – MiniMax M2 and M3 models for text generation.
They are listed under Warranty Cart -> Our plugins too, which reads the directory directly and shows which ones this site already has.
Screenshots
![Warranty products on the storefront - the [warranty_cart] shortcode, main warranties beside their optional services](https://ps.w.org/warranty-cart/assets/screenshot-1.png?rev=3635071)






Installation
- Upload the plugin files to the
/wp-content/plugins/warranty-cartdirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‚Plugins‘ screen in WordPress.
- Install and activate WooCommerce (8.0+) if not already installed.
- Use the
[warranty_cart]shortcode to display warranty products on any page. - Access the warranty management dashboard at the top-level Warranty Cart menu in the WordPress admin sidebar.
- Set up warranty products via the Warranty tab on each WooCommerce product, then configure email templates and checkout fields under Settings.
Admin Interface: – Dashboard: warranty sales, orders, a twelve-month trend and recent activity – Warranties: your warranty products, their terms, and which products each one covers – Records: every policy sold, filterable by status, customer and product – Claims: claims customers have filed, with status and your reply – Orders: warranty orders and customer details – Reports: sales performance over time – Settings: where cover is offered, claims, renewals, emails, checkout fields – Tools: CSV import, diagnostics and maintenance
FAQ
-
How do I set up my first warranty product?
-
- Open Products Add New (a regular WooCommerce product).
- Give it a title, description and price. Tick Virtual so the order completes automatically.
- Click the Warranty tab in the Product data box.
- Set Status: Enabled, Type: Main warranty, Duration: 1, Duration unit: years, and fill in Coverage details.
- Under Offer alongside, choose which products this cover is sold with — any product, chosen categories, or named products.
- Publish. The warranty now appears on the product page of everything it covers.
- Optionally create Additional service products the same way (set Type: Additional service and pick the main warranty under Associated warranty), and drop
[warranty_cart]on a page to sell cover separately as well.
-
How do I offer a warranty on the product page?
-
Open the warranty product, go to the Warranty tab, and set Offer alongside:
- Any product — the cover appears under Add to cart on everything in the shop.
- Products in chosen categories — and in any category beneath them, so a rule on «Appliances» covers «Appliances Kitchen».
- Chosen products only — naming a variable product covers all of its variations.
Under Warranty Cart Settings Storefront you can show the offer on the product page, in the cart, in both, or nowhere. Product page only is the default.
-
Can I price a warranty as a percentage of the product?
-
Yes. On the warranty product, set Price to Percentage of the covered product and enter the percentage — 10%, say. Optional Minimum and Maximum keep it sensible at both ends: 10% of a £40 kettle is not worth administering, and 10% of a £5,000 television asks for more than anybody will pay.
A fixed price works for a catalogue where everything costs about the same, and breaks immediately where it does not — £29 of cover is most of the value of a £40 item and a rounding error on a £2,000 one.
The price is worked out against the product being covered at the moment cover is added to the cart, and held there: if you reprice the product afterwards, a customer’s existing cart keeps the figure they were quoted. Rounding follows your store’s own currency settings.
On the
[warranty_cart]selector page there is no product to take a percentage of, so the warranty’s own price is shown, with a note saying what the rule is. -
Can customers file a warranty claim?
-
Yes. Customers see their cover under My Account Warranties and can file a claim against anything still active, describing what has gone wrong. Claims arrive on the Claims screen in the admin, where you move them through Pending, In progress, Approved, Rejected and Resolved — and the customer is emailed at every change, with whatever note you wrote.
-
Can customers renew a warranty before it expires?
-
Yes. A Renew button appears on their account page as cover approaches expiry, and for a grace period afterwards; both windows are settings, 30 days each by default. The expiry reminder email links straight to it.
Renewing goes through the cart, so it produces a real order and you are paid for it. Renewing early adds the new term to the time already left rather than restarting the clock — a customer with two months remaining who renews for a year ends up with fourteen months, not twelve.
Every warranty renewal is recorded against the policy: when it happened, how far the term moved, what it cost and which order paid for it.
-
Can I upsell a warranty in the cart as well as the product page?
-
Yes. Under Warranty Cart Settings Storefront, choose where the offer appears: the product page, the cart, both, or nowhere. Product page only is the default.
The product page catches the customer while they are still deciding what to buy; the cart catches the ones who skipped past it. An extended warranty upsell is pure margin either way — there is no stock to buy and nothing to ship.
-
Is this an RMA or returns plugin?
-
No. Warranty Cart sells product warranty cover and runs what follows it — claims, renewals, expiry and reminders. Whether a claim ends in a repair, a replacement or a refund is your decision to make; you record it as the claim’s resolution and the customer is emailed it. What the plugin does not do is issue return authorisations, print return labels or restock inventory, so if you need a returns workflow, an RMA plugin is the right tool and the two sit alongside each other.
-
Can I ask for a serial number or an install date?
-
Yes, that is what checkout fields are for. On the Checkout Fields screen you define what a warranty needs registering — serial number, model, install date, engineer’s name — and the answers are stored against the policy, so the product registration details are on the record when a claim arrives.
-
Does this work with variable products?
-
Yes. Naming a variable product under Offer alongside covers every one of its variations, so you set the rule once rather than per size or colour.
-
Will this work with my theme?
-
The offer renders through WooCommerce’s own template system and is styled in relative units, so it takes your theme’s type scale rather than fighting it. Every template can be overridden from your theme in the usual way — copy it into
yourtheme/warranty-cart/. -
How do I display warranty products?
-
Use the
[warranty_cart]shortcode on any page or post. The shortcode accepts one attribute,layout:[warranty_cart layout="grid"] or `[warranty_cart layout="list"]`To scope which products show (category, custom meta, etc.) use the
warranty_cart_shortcode_products_queryfilter. -
What payment methods are supported?
-
Whatever your store already takes. Warranty records are created when a WooCommerce order reaches Completed, so any gateway WooCommerce supports works — Stripe, PayPal, Square, Mollie, WooPayments, bank transfer, cash on delivery.
The plugin handles no payment itself and has no gateway-specific code. Warranty Cart Settings Payments lists every gateway on your store and what each one supports.
-
Do I need to do anything to support my payment gateway?
-
No. Warranties are created when an order is marked complete, which WooCommerce does whatever took the payment — card, PayPal, bank transfer, cash on delivery. Settings Payments lists every gateway on your store and what each one supports.
-
How do I access the admin dashboard?
-
After installation, click the top-level Warranty Cart menu in your WordPress admin sidebar (shield icon). This provides access to all warranty management features: dashboard, warranty product catalog, warranty records, orders, reports, settings, and tools.
-
What are the different admin sections for?
-
- Dashboard: sales metrics, recent orders and popular warranties
- Warranties: create warranty products, set their terms, choose what they cover
- Records: every warranty sold and its current status
- Claims: work through customer claims and reply to them
- Orders: warranty orders with customer details
- Reports: charts showing sales performance and trends
- Settings: offer placement, claims, renewals, emails, checkout fields
- Tools: import and export data, diagnostics, maintenance
-
How do warranty certificates work?
-
The plugin automatically generates PDF certificates for purchased warranties using DomPDF. They are attached to the order completion email and can be re-downloaded from Warranty Cart Orders. PDFs are stored under
wp-content/uploads/warranties/. Toggle the feature on or off under Warranty Cart Settings Enable PDF certificates. -
When are warranty records created?
-
When a WooCommerce order containing one or more warranty products reaches the Completed status. That is a WooCommerce core event, so it fires whatever took the payment. Each warranty product in the order produces a row in
wp_warranty_cart_warrantieswith statusactiveand anexpiration_datecalculated from the duration. -
How are the reminder and expiration emails scheduled?
-
Two daily WP-Cron events handle the lifecycle:
warranty_cart_check_expirations— marks active warranties asexpiredon or after theirexpiration_dateand sends the Warranty Expired email.warranty_cart_send_reminders— emails customers N days before expiration (default 30, filterable via thewarranty_cart_reminder_daysfilter).
If your host disables WP-Cron, set up a real system cron job (every 5–15 minutes hitting
wp-cron.php) and adddefine('DISABLE_WP_CRON', true);towp-config.php. -
How do I import warranty products in bulk?
-
Go to Warranty Cart Tools, download the sample CSV, fill it in, and upload via the Import CSV card. Each row creates a WooCommerce product with the Warranty tab pre-filled.
-
I activated the plugin but emails or PDFs aren’t sending — what now?
-
Common fixes:
- Make sure Warranty Cart Settings Enable email notifications and Enable PDF certificates are on.
wp_mail()is unreliable on default WordPress installs. Install an SMTP plugin (WP Mail SMTP, FluentSMTP) and connect a real transactional provider.- DomPDF needs the PHP
gdorimagickextension and ~128 MB memory. - Ensure
wp-content/uploads/warranties/exists and is writable by your web server user.
-
Is the plugin secure?
-
- All input is sanitized and validated, and REST requests are nonce-checked.
- Customers can only see, claim against and renew their own warranties. Ownership is enforced in the domain layer, so it holds however the request arrives.
- The plugin processes no payments and stores no card data — WooCommerce and your gateway handle that, so there is nothing sensitive here to leak.
- Uploads are validated and restricted to safe types.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Warranty Cart – Extended Warranty, Claims & Renewals for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Warranty Cart – Extended Warranty, Claims & Renewals for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.0
- Sell cover with a picture: choose a plan image from the media library, shown on the product-page offer and the selector
- A page per warranty in My Account, with cover terms, what was paid, claims and full renewal history
- Renewal history recorded and shown to both the shop and the customer
- Rewritten PDF certificate: what is covered, the term, cover dates and terms, issued in the shop’s name
- CSV export from every list, with filters carried through and figures a spreadsheet can add up
- Fixed: the warranty orders list showed an empty table while its pager reported rows
- Fixed: Reports showed no sales, ignored the date range, and counted cancelled orders
- Fixed: average warranty duration always read zero
- New: Our plugins screen, listing the author’s other plugins from the WordPress.org directory
1.0.2
- Add public CSV validation helpers and create_product_from_csv() on Import class
- Expose cart_has_warranty_products() as public on CheckoutFields
- Fix PHP unit test suite: DB credentials, Brain\Monkey migration, deprecated assertions
- Admin UI: dark mode and navbar improvements
1.0.1
- Admin UI redesign: horizontal navbar, dark mode toggle, Shadcn slate palette
- Build tooling: flat ESLint config, TypeScript strict checks, Stylelint
- CI/CD: fix SVN deploy workflow action versions
1.0.0
- Initial release with comprehensive warranty cart functionality
- Shortcode-based product display with dynamic pricing and responsive layouts
- Modular payment architecture with Stripe & PayPal integration
- Advanced admin dashboard with modern React interface and Shadcn UI components
- Comprehensive warranty management system with order tracking
- Custom checkout fields for warranty-specific information
- Bulk CSV import functionality for efficient product setup
- Analytics & reporting dashboard with interactive charts and key metrics
- PDF warranty certificate generation and automated email attachment
- Email notification system for order completion, reminders, and expiration
- Bundle management for main warranties and additional services
- Security hardening with input sanitization and nonce verification
- HPOS compatibility with WooCommerce High Performance Order Storage
- Modern UI/UX with Framer Motion animations and smooth transitions
- Comprehensive testing framework with PHP and E2E tests
- Code quality improvements and PHPCS compliance
