7 Best WooCommerce PDF Invoice Plugins (2026 Compared)

We tested 7 PDF invoice plugins on a WooCommerce store with HPOS and Block Checkout enabled. Most charge for credit notes and extra templates. Here's what each one actually includes.

7 Best WooCommerce PDF Invoice Plugins (2026 Compared)

WooCommerce doesn’t ship with PDF invoices. Your customers get order confirmation emails with an HTML table, and that’s it. No proper invoice with your logo and company details. No receipt that says “PAID”. No credit note when you process a refund. No packing slip for the warehouse.

So you install a plugin. And that’s where the pricing games start.

Most free invoice plugins give you a basic invoice and a packing slip, then gate credit notes, extra templates, sequential numbering formats, and bulk operations behind a $49–99/year premium tier. Some bundle three separate PDF libraries and ship at 50MB+. Others haven’t updated their codebase for HPOS and still query the wp_posts table for order data.

We build WooCommerce plugins, so we deal with PDF generation, order hooks, and HPOS compatibility constantly. We set up a staging store with WooCommerce 9.8, HPOS enabled, Block Checkout active, and Stripe connected. Then we installed each invoice plugin one at a time and tested the same scenarios: generate an invoice on order creation, check the receipt after payment, process a partial refund, download a packing slip, and run a bulk export.

Here’s what we found.

What a WooCommerce invoice plugin actually needs to do#

Before the plugin breakdown, here’s what matters once you’re running a real store and dealing with accountants, tax filings, and customer requests:

  1. Invoice vs receipt distinction. An invoice is a request for payment. A receipt confirms payment was made. This is the single most common confusion point in WooCommerce invoicing support tickets: customers receive an “Invoice” after paying and think they still owe money. Most plugins generate the same document regardless of order status. Accountants care about this distinction. Tax authorities in many jurisdictions require it.
  2. Credit notes for refunds. When you refund an order, the original invoice number shouldn’t be voided or reused. A proper credit note references the original invoice and shows the refund amount. Many plugins skip this entirely or gate it behind premium.
  3. Sequential numbering that survives concurrency. Two orders placed at the same second shouldn’t share an invoice number. This sounds basic, but plugins that use get_option() / update_option() for their counter have a race condition under concurrent load. At least one popular paid plugin has a known bug where numbering gets stuck at 1. Database-level locking or atomic increments are the correct approach.
  4. Auto-attach to the right emails. Invoice on the processing email. Receipt on the completed email. Credit note on the refunded email. Not the same document on every email.
  5. Customer self-service. A download button on the My Account orders page and the Thank You page. Guests should get access too, authenticated by the WooCommerce order key.
  6. HPOS compatibility. WooCommerce’s High-Performance Order Storage is the current standard. Plugins that call get_post_meta() on orders or run WP_Query against shop_order are using a deprecated path. If you’re not sure where your store stands on this, our HPOS and Block Checkout guide covers the details.
  7. Reasonable disk footprint. A PDF invoice plugin doesn’t need three rendering engines. DOMPDF handles 95% of use cases. One paid plugin bundles DOMPDF, mPDF, and TCPDF together, pushing its zip past 50MB. Most stores never use the extra libraries.

Quick comparison table#

PluginPriceTemplatesCredit NotesReceipts (PAID)Packing SlipsSequential NumberingHPOS
WP OvernightFree + €89/yr1 free, 2 paidPremiumPremiumFreeFreeYes
WebToffee$69/yrDrag-and-dropYesYesYesYesYes
YITH$79.99/yrVisual editorYesNoYesYesYes
Acowebs$43/yrDrag-and-dropYesNoYesYesYes
Andrew Benbow€69/yr1NoNoNoYesPartial
WPFactoryFree + PremiumShortcode-basedYesNoYesYesYes
Emboss (Themology)Free forever4 includedFreeFree (auto)FreeYes (DB-locked)Yes

Plugin-by-plugin breakdown#

1. PDF Invoices & Packing Slips for WooCommerce (WP Overnight)#

DeveloperWP Overnight
PriceFree + €89/yr (Plus Bundle)
Active Installs300,000+
Rating4.9/5 (1,800+ reviews)

This is the market leader by a wide margin. 300,000+ active installs, a decade of development history, and a mature extension ecosystem. If you search “WooCommerce PDF invoices”, WP Overnight dominates the results.

What worked well. The free plugin covers invoices and packing slips with customizable HTML/CSS templates. Sequential invoice numbering works out of the box. E-invoicing formats (UBL, Peppol BIS, Factur-X, ZUGFeRD) are included in the free version, which is genuinely generous and important for EU compliance. Bulk PDF generation, multi-language support via WPML and Polylang, and a clean settings interface. The codebase is open source on GitHub, actively maintained, and HPOS compatible. Last updated May 2026.

Where we ran into limitations. The free version gives you one template (Simple). If you want a different look, the Premium Templates extension (part of the €89/yr Plus Bundle) adds two more with a drag-and-drop customizer. Credit notes and proforma invoices require the Professional extension, also in that bundle. There’s no automatic invoice/receipt distinction. The plugin generates the same “Invoice” document whether the order is pending payment or fully paid. Bulk export by date range is a premium feature. No REST API.

Our take. If you need a proven, widely-tested invoice plugin and you’re willing to pay €89/year for credit notes and better templates, WP Overnight is the safest choice in the ecosystem. The 300K+ install base means edge cases get caught fast. The free version alone covers a lot of ground for stores that only need basic invoices and packing slips.


2. WooCommerce PDF Invoices & Packing Slips (WebToffee)#

DeveloperWebToffee
Price$69/yr (single site)
Downloads90,000+
Rating4.9/5 (210 reviews)

WebToffee is a premium-only plugin (no free version on WordPress.org) with a strong focus on template customization. Their drag-and-drop PDF editor is one of the better ones in this space.

What worked well. Full document coverage: invoices, packing slips, credit notes, shipping labels, delivery notes, and proforma invoices in a single plugin. The drag-and-drop template builder lets you rearrange every element without touching code. Tax compliance fields for VAT, GST, and ABN are built in. UBL/XML e-invoicing for European compliance. QR code support on invoices. WPML compatible with RTL layout support. HPOS compatible. Bulk export and printing. Customers can download from My Account and the Thank You page.

Where we ran into limitations. No free version. The $69/yr starting price means you’re paying before you can test it on your store (though there’s a 30-day money-back guarantee). No automatic invoice/receipt distinction based on payment status. Remote printing requires configuration. The plugin doesn’t expose a REST API for headless setups.

Our take. If you want a premium all-in-one solution with the best template customization, WebToffee delivers. The drag-and-drop builder saves real time compared to editing HTML/CSS templates. The $69/yr price is reasonable for what you get, especially if you need shipping labels and delivery notes alongside invoices.


3. YITH WooCommerce PDF Invoice and Shipping List#

DeveloperYITH
Price$79.99/yr
Rating4.5/5 (93 reviews)

YITH is one of the largest WooCommerce extension developers, and their invoice plugin fits into a broader ecosystem of 100+ YITH plugins. If you already use other YITH products, the integration is tighter.

What worked well. Visual template editor with customizable colors, fonts, and layouts. Automatic PDF invoice generation based on order status. Credit note management included. Automatic backup to Dropbox or Google Drive, which is a feature most competitors skip. SSN and VAT number collection at checkout for EU compliance. Sequential numbering with configurable prefixes and suffixes. HPOS compatible. Customers can download from their account page.

Where we ran into limitations. No automatic invoice/receipt distinction. The plugin generates “Invoice” documents regardless of payment status. No packing slip QR codes. The template editor is less flexible than WebToffee’s drag-and-drop approach. At $79.99/yr, it’s one of the pricier options without a clear feature advantage over WebToffee at $69/yr. No free version to test before buying. No REST API.

Our take. A solid mid-range choice, especially if you’re already in the YITH ecosystem. The cloud backup feature (Dropbox, Google Drive) is genuinely useful and something most competitors charge extra for or don’t offer. For stores that need EU VAT compliance with SSN/VAT collection at checkout, YITH handles that well.


4. PDF Invoices and Packing Slips (Acowebs)#

DeveloperAcowebs
Price$43/yr
Active InstallsListed on WooCommerce Marketplace

Acowebs is the budget option among premium plugins. At $43/yr for a single site, it undercuts every other paid competitor.

What worked well. Invoices, packing slips, shipping labels, delivery notes, and dispatch labels. Drag-and-drop template customizer with multiple starting templates. Credit notes for refunds. Paid stamp and signature support on invoices. Individual item packing slips for stores with complex fulfillment. Multi-language with WPML compatibility and RTL support for Arabic and Hebrew. Role-based access control for invoice downloads. HPOS compatible.

Where we ran into limitations. No automatic invoice/receipt distinction. The template customizer, while functional, felt less polished than WebToffee’s. Documentation is thinner than WP Overnight or WebToffee. The plugin isn’t on WordPress.org (WooCommerce Marketplace only), so you can’t browse reviews the same way. No REST API. No cloud backup integration.

Our take. If budget is the primary concern and you need more than a free plugin offers, Acowebs at $43/yr is the cheapest paid option with a reasonable feature set. Credit notes, multiple document types, and RTL support at that price point is competitive. Test it within the 30-day refund window before committing.


5. PDF Invoices (Andrew Benbow)#

DeveloperAndrew Benbow
Price€69/yr
Active Installs5,000+
Rating2.4/5

This plugin has been on the WooCommerce Marketplace for years. It generates PDF invoices and attaches them to order emails. We’re including it because it still has 5,000+ active installs and shows up in Marketplace searches, but the story here is mostly cautionary.

What worked well. Straightforward initial setup. One template that covers the basics: logo, company details, line items, totals. Sequential numbering. Customers can download from My Account. Invoice column on the orders list. Filter hooks for developers who want to customize columns.

Where it fell short. The problems run deeper than missing features. The plugin bundles three PDF libraries (DOMPDF + mPDF + TCPDF/PDFMerger), pushing the zip to roughly 60MB. Recent reviews from late 2025 cite blank PDFs being generated and attached to customer emails, sequential numbering getting stuck at 1 (breaking tax compliance), and the settings tab disappearing entirely after installation. Support requests have gone unanswered for weeks at a time. The 2.4/5 star rating on the WooCommerce Marketplace reflects all of this.

Beyond the bugs: no credit notes, no packing slips, no receipt distinction, one template with limited customization. HPOS support is partial, with get_post_meta() calls still present in the codebase. No WPML support, no bulk operations, no REST API. At €69/yr, it’s priced like a full-featured plugin but delivers less than free alternatives.

Our take. Hard to recommend at any price in its current state. If you’re currently paying for this plugin and experiencing blank PDFs or numbering issues, the free version of WP Overnight does more and has 300,000 stores behind it. The combination of unresolved bugs, absent support, and a subscription fee is a bad deal for store owners.


6. PDF Invoices & Packing Slips Generator (WPFactory)#

DeveloperWPFactory
PriceFree + Premium
Active Installs160+
Rating5.0/5

WPFactory’s entry is newer and takes a different approach to template customization: shortcodes and a rich text editor instead of drag-and-drop.

What worked well. Invoices, packing slips, and credit notes. Automatic or manual document generation triggered by order status changes. Customizable numbering with sequential, date-based, or custom formats. HPOS compatible. The shortcode-based template system is flexible for developers who prefer code over visual builders.

Where we ran into limitations. 160 active installs. That’s not a typo. The plugin is functional but hasn’t gained traction. The shortcode-based template approach has a steeper learning curve than drag-and-drop alternatives. Documentation is basic. No automatic invoice/receipt distinction. No bulk ZIP download. No REST API. The premium pricing isn’t clearly listed on their site.

Our take. A technically capable plugin that hasn’t found its audience yet. The low install count means fewer community reports on edge cases and less battle-testing across different hosting environments. If you’re a developer who prefers shortcode-based templating over visual builders, it’s worth a look. For most store owners, the install count is a concern.


7. Emboss — PDF Invoices and Packing Slips for WooCommerce (Themology)#

DeveloperThemology
PriceFree (forever)
Active InstallsNew

Full disclosure, this is our plugin. We’ll cover it the same way as the others, but factor in that we’re naturally biased. We built it because we work in WooCommerce support and kept seeing the same complaints: customers confused by invoices that don’t show payment status, sequential numbering that breaks under load, and paid plugins shipping blank PDFs with no support response. The invoice/receipt distinction and database-locked numbering aren’t marketing features. They came directly from support ticket patterns.

What it does differently. Two things. First, a three-step setup wizard gets you from activation to working invoices in under 60 seconds: upload a logo, confirm company details (pre-filled from WooCommerce settings), add a VAT number if you have one. Skip any step. The wizard is dismissible and never returns. If you skip the wizard entirely, the plugin still works because every setting has a sensible default.

Second, the plugin reads $order->is_paid() and generates the right document type automatically. Unpaid orders get an invoice showing the amount due. Completed orders get a receipt with a PAID badge showing payment date and method (e.g., “PAID on March 15, 2026 via Stripe”). Refunds generate a credit note referencing the original invoice number. You don’t configure this. It happens based on order status.

What we think works well. Four template variants included free: Modern (Stripe-inspired), Classic (serif, formal), Minimal (accountant-friendly), and Thermal (80mm POS receipt layout). Sequential numbering uses database row-level locking (SELECT ... FOR UPDATE) instead of get_option(), so two simultaneous orders never share a number. Date placeholders in prefix/suffix ({YYYY}, {MM}) with annual reset support. Auto-attaches the right document to the right WooCommerce email: invoice on processing, receipt on completed, credit note on refunded. Customer downloads from My Account, the Thank You page, and optionally in the email body. Guest access authenticated via WooCommerce order key with rate limiting.

Admin tools: bulk regenerate, bulk ZIP download (up to 200 orders), bulk email to customers, backfill tool for past orders via Action Scheduler, CSV export with date range filter. REST API with three endpoints for headless setups. Single PDF library (DOMPDF), one bundled font (DejaVu Sans), plugin zip under 5MB. PHP 8.1+ strict types, PHPStan level 8, zero WPCS errors. HPOS native, Block Checkout compatible, WooCommerce Subscriptions compatible (renewal orders get fresh invoice numbers). WPML and Polylang support. Multi-currency aware.

Where it falls short. It’s brand new. No install base, no community track record, no years of edge-case reports from 300,000 stores. WP Overnight has a decade of production battle-testing that can’t be replicated overnight. No drag-and-drop template builder; customization is through theme template overrides (copy PHP files to your theme). No e-invoicing formats (UBL, Peppol, ZUGFeRD) yet. No cloud backup to Dropbox or Google Drive. RTL and CJK support requires a companion plugin (Emboss mPDF) that swaps the rendering engine, because we kept DOMPDF as the default to keep the zip size down. No SSN/VAT collection at checkout (use a dedicated EU VAT plugin for that).


Full feature comparison#

The quick table above covers the basics. These tables cover everything we tested, grouped by category so you can compare what matters to your store.

Document types and pricing#

FeatureEmboss (Ours)WP OvernightWebToffeeYITHAcowebs
Price (1 site)FreeFree + €89/yr$69/yr$79.99/yr$43/yr
InvoiceFreeFreeYesYesYes
Receipt (PAID badge)Free (auto)NoNoNoNo
Credit noteFree€89/yrYesYesYes
Packing slipFreeFreeYesYesYes
Proforma invoiceNo€89/yrYesNoNo
Shipping labelsNoNoYesNoYes
Smart document typeYes (auto)NoNoNoNo

Andrew Benbow (€69/yr) only generates invoices. No credit notes, no packing slips, no receipts. WPFactory (free + premium) covers invoices, packing slips, and credit notes but has only 160 installs.

Templates and customization#

FeatureEmboss (Ours)WP OvernightWebToffeeYITHAcowebs
Free templates41 (Simple)N/A (paid)N/A (paid)N/A (paid)
Customizer typeTheme overridesHTML/CSS (free), drag-and-drop (paid)Drag-and-dropVisual editorDrag-and-drop
Thermal / POS layoutYesNoNoNoNo

Numbering and email#

FeatureEmboss (Ours)WP OvernightWebToffeeYITHAcowebs
Sequential numberingYesYesYesYesYes
Date placeholdersYesYesYesYesYes
Annual resetYesUnknownYesUnknownUnknown
DB-level lockingYesUnknownUnknownUnknownUnknown
Auto-attach to emailsYesYesYesYesYes
Per-email togglesYesYesYesYesUnknown
Right doc on right emailAutomaticManualManualManualManual

Admin tools#

FeatureEmboss (Ours)WP OvernightWebToffeeYITHAcowebs
Bulk download (ZIP)Free€89/yrYesUnknownYes
Bulk regenerateFreeYesYesUnknownUnknown
Bulk emailFreeYesYesUnknownUnknown
Backfill past ordersFreeUnknownUnknownUnknownUnknown
CSV exportFreeNoNoNoNo
REST APIFreeNoNoNoNo

Compatibility#

FeatureEmboss (Ours)WP OvernightWebToffeeYITHAcowebs
HPOS nativeYesYesYesYesYes
Block CheckoutYesYesYesYesYes
WC SubscriptionsYesUnknownUnknownUnknownUnknown
WPML / PolylangYesYes (+ more)YesYesYes
RTL supportVia companionUnknownYesUnknownYes
E-invoicing (UBL, etc.)NoFreeYesNoNo
Cloud backupNo€89/yr (Dropbox/FTP)DropboxDropbox / Google DriveNo

Code quality#

FeatureEmboss (Ours)WP OvernightWebToffeeAndrew Benbow
Plugin zip size< 5 MB~8 MB~12 MB~60 MB
PHP strict typesYesNoNoNo
PHPStan level 8YesUnknownUnknownUnknown
PDF libraries bundled1 (DOMPDF)1 (DOMPDF)1 (DOMPDF)3 (DOMPDF + mPDF + TCPDF)

Choosing the right one#

For most WooCommerce stores. Emboss (ours, so factor in our bias) is the only plugin where invoices, receipts with PAID badges, credit notes, packing slips, four templates, sequential numbering with database locking, REST API, CSV export, and bulk tools are all free. No premium tier, no upsell. The smart document type, where the plugin reads order status and generates the right document automatically, solves the #1 complaint in WooCommerce invoicing. It’s new and doesn’t have the install base of established competitors, but every feature that others charge $43–89/year for ships free from day one.

If you need EU e-invoicing compliance. WP Overnight is the only plugin with UBL, Peppol BIS, Factur-X, and ZUGFeRD formats in the free version. If your business requires structured e-invoicing for tax authorities, WP Overnight covers that and nobody else does. The 300,000+ install base also means a decade of edge-case reports across every hosting environment. For basic invoices and packing slips without credit notes, the free version is solid.

If you need a drag-and-drop template builder. WebToffee at $69/yr has the best visual editor. Full document coverage including shipping labels and delivery notes in one plugin.

If you’re already in the YITH ecosystem. YITH at $79.99/yr integrates with their other 100+ plugins. The Dropbox/Google Drive auto-backup is a feature worth paying for if automated offsite storage matters to you.

If budget is the primary concern and you still need credit notes. Acowebs at $43/yr is the cheapest paid option with credit notes, multiple document types, and RTL support. Though at this point, Emboss does more for free.

Other plugins worth knowing about#

A few more that didn’t make the main comparison but come up in searches:

  • Print Invoice & Delivery Notes (30,000+ installs, free). Lightweight and free, generates basic invoices and delivery notes. No credit notes, limited customization, slow development pace. Fine for stores that need the bare minimum.
  • Challan by WebAppick (3,000+ installs, free + premium). HPOS compatible, clean interface, multiple templates in premium. Worth a look if the main seven don’t fit.
  • Checkmate PDF Invoices (1,000+ installs, free). Launched March 2026 with a visual drag-and-drop editor and HPOS support. Too early to judge reliability or longevity, but the feature set is promising for a free plugin.
  • Invoices for WooCommerce by Bas Elbers (10,000+ installs, free). Cloud storage integration was a differentiator, but development appears stalled. Last tested with WordPress 6.7. Not recommended for new installations until maintenance resumes.

Frequently asked questions#

Why do I need a separate plugin for invoices?#

WooCommerce sends order confirmation emails with an HTML order summary, but it doesn’t generate PDF documents. PDF invoices are important for tax compliance, customer records, and professional branding. Many jurisdictions require businesses to provide formal invoices with sequential numbering and company registration details.

What’s the difference between an invoice and a receipt?#

An invoice is a request for payment, generated when an order is placed but not yet paid. A receipt confirms that payment was made and typically includes a “PAID” indicator with the payment date and method. Most invoice plugins generate the same document regardless. Tax-conscious stores need both.

Do these plugins work with WooCommerce Subscriptions?#

Emboss handles Subscriptions in the free version by stripping inherited PDF meta from renewal orders so each renewal gets a fresh invoice number. WP Overnight supports it in the paid version (€89/yr). For the others, check their documentation; subscription support varies.

Can I customize the invoice template?#

Every plugin offers some level of customization. WebToffee and Acowebs have drag-and-drop builders. YITH has a visual editor. WP Overnight uses HTML/CSS templates (free) or a drag-and-drop customizer (paid). Emboss uses PHP template overrides in your theme, which is more flexible but requires code.

Which plugin supports RTL languages?#

WebToffee and Acowebs both include RTL support. Emboss supports RTL through a companion plugin that swaps to mPDF for proper right-to-left rendering. WP Overnight handles RTL through CSS customization. YITH’s RTL support varies by template.

Is sequential invoice numbering legally required?#

In many EU countries, yes. Sequential numbering with no gaps is a tax compliance requirement. In the US and UK, it’s not legally required but is considered best practice by accountants. If you sell internationally, set up sequential numbering regardless.

Can customers download their own invoices?#

All plugins except Andrew Benbow’s plugin (which limits this in certain configurations) let customers download invoices from the My Account > Orders page. Emboss and WebToffee also provide downloads on the Thank You page and optionally in the email body.

What about HPOS compatibility?#

All plugins in this comparison except Andrew Benbow’s support HPOS fully. If you’ve enabled High-Performance Order Storage (and you should, it’s the current WooCommerce standard), verify your invoice plugin supports it before installing.

What we’d pick for different store types#

A solo store owner running 50 orders a month who wants invoices that just work? Emboss. Install it, run the 60-second wizard, and your next order gets a proper invoice with your logo. Credit notes, receipts with PAID badges, and packing slips are all there from day one. No upgrade prompt, no hidden limits.

A growing store doing 500+ orders a month with an accountant who needs CSV exports and sequential numbering they can trust? Emboss for the database-locked numbering and CSV export. WebToffee at $69/yr if drag-and-drop templates and shipping labels are part of the workflow.

An EU store that needs e-invoicing compliance with UBL or ZUGFeRD? WP Overnight. It’s the only option that includes structured e-invoicing formats in the free version. Nobody else comes close on this specific requirement.

A developer setting up stores for clients? Emboss at 5MB with strict types and PHPStan level 8 is easier to maintain and audit. The REST API and hook system (14 filters, 5 actions) give you full control over document generation.

Test on staging before going live. Generate a few invoices. Process a refund and check the credit note. Download a packing slip. If the output matches what your accountant expects, you’ve found the right plugin.

For a deeper look at the smart invoice/receipt distinction and why it matters for tax compliance, we’ll be publishing a separate post on that topic. And if you want to understand how sequential numbering with database locking prevents duplicate numbers under load, that post is coming too.

If you want every document type, four templates, smart status-based generation, and a REST API without paying anything, Emboss — PDF Invoices and Packing Slips for WooCommerce is free on WordPress.org. Full documentation is here.

We didn't just write about it. We built something for it.