Select one or more tags, then press “Search Plugins”

Find Plugin with any / all of the selected criteria
Search Plugin

Harvify PDF Invoices For WooCommerce Wordpress Plugin - Rating, Reviews, Demo & Download

Harvify PDF Invoices For WooCommerce Preview Wordpress Plugin - Rating, Reviews, Demo & Download
No ratings yet
Free
Follow for free plugins, new theme releases and theme news

Plugin Description

Harvify PDF Invoices attaches a PDF invoice to the order emails WooCommerce already
sends, and issues a credit note whenever you refund.

The part that matters is not the PDF. It is the numbering.

Getting started

  1. Go to Harvify PDF Invoices. The Settings screen opens.
  2. Under Invoice numbering, set the number format: a prefix such as INV-{year}-
    and how many digits the number has.
  3. Under Attach to emails, tick the WooCommerce emails that should carry the
    invoice. Most shops choose the completed-order email.
  4. Fill in Your tax details so they print on every invoice, then click
    Save settings.
  5. Open Diagnostics to confirm nothing on your server needs attention.
  6. Complete an order: the invoice is attached to the email you chose, and the order
    screen’s Harvify documents section opens it. Refund the order and a credit note is
    issued.

If you are moving from another invoicing plugin, open Import first. It continues
your existing numbers instead of starting again at 1.

Every number is accounted for

  • Numbers are allocated so that two orders placed at the same moment can never
    receive the same one
    . The database itself enforces this, not a lucky read.
  • A number is never reused.
  • A number never silently disappears. If a document fails after its number was
    allocated, that number is recorded as void — with the reason and the time —
    and stays visible in your numbering audit.

That is a stronger promise than “gapless”, and unlike “gapless” it is one that
survives two customers checking out in the same second. The numbering audit
screen shows you the whole sequence, per period, with every void explained, and
exports it as CSV. It is the screen you show your accountant.

Switching from another invoicing plugin

Most people never move invoicing plugins, because restarting numbering at #1
breaks the sequence their accountant and tax authority expect.

So this one continues your existing numbers. The importer reads your current
plugin, shows you a dry run first — “after import your next invoice will be
INV-2026-0004, the same number you would get today”
— and only then writes
anything. Your historical numbers are preserved exactly as they were, your number
format is adopted, and the old plugin is never modified, so you can compare the two
side by side or back out entirely.

Imports from WooCommerce PDF Invoices & Packing Slips, from WebToffee
(beta)
, or from a CSV file of order_id,invoice_number,invoice_date — so you
can move from a plugin nobody has mapped, from a spreadsheet, or from a paper book.
If any line of the file cannot be read, nothing at all is imported and every problem
is listed: a half-imported invoice history is worse than none.

The WebToffee route is marked beta because it is newly verified: we checked it
against WebToffee 5.0.1 by having that plugin issue real invoice numbers and then
importing them, so we know it reads what WebToffee actually stores. Older WebToffee
versions we have not tested. The dry run protects you either way — it shows the
numbers you will end up with before anything is written, and the import can be
rolled back afterwards.

Dual run — try it without your customers seeing anything

Importing your history is one thing; trusting the next real order is another. Turn
on dual run and this plugin produces and numbers every document exactly as it
will in production — and attaches none of them to your customers’ emails. Your old
plugin carries on sending its own, so customers see no change at all, while you get
a side-by-side table of its invoice number and ours for every order placed since you
started.

It never ends on a timer. When the period you chose is up you are simply told;
nothing reaches a customer until you press the button yourself.

What you get

  • PDF invoices, attached to the WooCommerce emails you choose
  • Credit notes on refund — one per refund, on their own separate sequence
  • Prefix, suffix and zero-padding, with {year} and {month} tokens
  • Yearly or monthly restart — and earlier periods are never renumbered
  • Numbering audit — with CSV export
  • Numbers are immutable once issued — an order edit, a status change or a
    refund never renumbers a document that has already been issued.
  • VOID tracking — a number is never reused and never silently disappears; a
    failure records a VOID with its reason and timestamp.
  • Import your existing numbers — from WooCommerce PDF Invoices & Packing
    Slips, WebToffee (beta) or a CSV file — with a dry run, a rollback and a
    dual-run mode
  • Multiple tax rates per document, VAT number, reverse-charge note
  • Diagnostics screen — a live test render, memory headroom, storage,
    numbering health, the language a given order’s document will be produced in,
    and font coverage checked against your own recent orders, each with the fix
    stated
  • Fonts for non-Latin invoices — one-click download of the matching Noto
    font, or upload your own
  • Bulk generate and bulk ZIP download — straight from the Orders list
  • Customer self-service — your buyers download their own invoice from My
    Account
  • WP-CLI — regenerate a document, export the numbering audit, check sequence
    status

Pro — the Harvify Pro Bundle

  • Visual template designer — logo, colours, type sizes, page margins, the
    order of the blocks on the page, and your own CSS, with a live preview that
    is real PDF output
    rather than an HTML approximation of one. A save is only
    accepted if it renders: if the candidate template throws, the save is
    refused and the documents your customers receive are left exactly as they
    were.
  • More document types — proforma invoices, delivery notes and
    dunning (payment reminder) letters, plus packing-slip customisation:
    retitle it, drop the SKU column, hide the customer note or the shipping
    method, add a footer line of your own. The basic packing slip stays free. The
    three new documents are deliberately unnumbered — a quotation that never
    becomes a sale must not consume an invoice number, because a number is never
    reused and a gap is permanent.
  • Bulk generation at scale, and automation — Pro does not raise the free
    bulk limit, it queues the work on Action Scheduler, one order per job, so
    nothing renders inside the request and a run across thousands of orders cannot
    time out. Plus per-status auto-attach rules — choose which of
    WooCommerce’s own emails carry a document for orders in a given status. Rules
    are evaluated at send time, so switching one off takes effect on the very next
    email rather than after a queue drains.
  • Scheduled accountant export — a weekly, monthly or quarterly package of
    the numbering audit CSV and that period’s documents, delivered to an email
    address or an FTP server
    . Consecutive delivery failures pause the
    schedule
    and say why, on the screen and in Diagnostics — because a monthly
    export bouncing off a dead mailbox for a year is exactly the sort of thing
    nobody notices.
  • Multi-language documents — the language follows the customer, not the
    admin.
    — German, French, Spanish, Italian, Dutch, Portuguese and Polish ship
    with the plugin, so documents translate on a shop with nothing else installed;
    WPML and Polylang are honoured when present and never required. A language is
    used only if it can translate every string on the document: a page reading
    “Rechnung” above “Subtotal” is worse than English throughout, so the fallback
    is the whole document rather than the missing phrase. The same order produces
    the same language from the order screen, from WP-CLI and from the customer’s
    own My Account download.
  • Per-document-type sequences and per-country legal blocks — where your
    jurisdiction requires sequentially numbered delivery notes, give that type
    its own series: it starts at 1 and never draws a number from the invoice
    sequence. And attach the legal wording a given billing country requires,
    printed in the document’s notice box rather than buried in footer grey.

Harvify Pro Bundle

One subscription unlocks the Pro features of every Harvify plugin. Install only
the tools your store needs.

What we translate, and what we do not

The seven bundled languages cover the wording of the document itself — its
headings, its column titles, its totals and its notices. The country name in the
customer’s address and WooCommerce’s own tax labels come from the WordPress and
WooCommerce language packs, so on a shop that has never installed the German pack
they stay in English however complete our translation is. The Languages screen
tells you which packs this site has. The date is the one thing we handle
ourselves: when a pack is missing it is printed numerically, so it never appears
in the wrong language.

Non-Latin invoices are refused, not mangled

The bundled font covers Latin, Greek and Cyrillic. If an order contains Japanese,
Arabic, Hebrew, Thai or Devanagari characters, most plugins render a document full
of empty boxes and nobody notices until a customer complains.

This one refuses to produce that document, names the script, and offers you the
font — one click to download it to your own server, or upload your own .ttf.

We never email your customers

Invoices reach buyers by being attached to WooCommerce’s own order emails. This
plugin has no path of its own for sending anything to a customer, so your
existing mail setup keeps working exactly as it does, and a delivery problem
stays a mail-configuration question rather than becoming ours.

There is exactly one thing this plugin sends, and it is not to a customer: the
Pro accountant export, which mails your own records to the address you type
in yourself. Nothing about what your customers receive changes.

What this does not claim

We generate invoices containing the fields commonly required for VAT and GST.
We do not claim to make you tax compliant, and you should confirm with your
accountant that the documents meet the requirements in your jurisdiction.

External services

This plugin connects to Freemius, the licensing and update service Harvify uses to
sell and deliver the Pro tier of its plugins.

Nothing is sent to Freemius unless you choose to send it. On activation you are shown
Freemius’s standard opt-in screen. Until you answer it a fresh install makes no
outbound request at all, and if you choose Skip the free tier stays fully usable
and still sends nothing. Data is transmitted only when you take one of these
actions:

  • You click “Allow & Continue” on the Freemius opt-in screen. This sends your
    site address, your administrator email address, and your WordPress, PHP and active
    plugin/theme details, so Harvify can provide support and know which environments to
    test against. Skipping that screen sends nothing and leaves the plugin working
    normally.
  • You enter a Pro Bundle licence key. This sends the key together with your site
    address so the licence can be activated for that site. While a licence is active the
    site also re-checks periodically that it is still valid and whether a Pro update is
    available.

Service provided by Freemius, Inc. – https://freemius.com/
Terms of service: https://freemius.com/terms/
Privacy policy: https://freemius.com/privacy/

Font downloads (optional, one click per script)

Invoices render in Latin scripts using fonts bundled with the plugin. If you need
Japanese, Arabic, Hebrew, Thai or Devanagari, the Fonts screen offers to download the
matching Noto font, and that download runs only when you click install for that
specific script.

Sent: a request to raw.githubusercontent.com for the font file itself. Like every
request WordPress makes, it carries WordPress’s standard User-Agent header, which
names your WordPress version and your site address, and GitHub sees your server’s
IP address. Nothing about your orders or your customers is included.

Fonts are the Noto family, hosted on GitHub – https://github.com/notofonts
Terms: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service
Privacy: https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement

Accountant export

The Pro accountant export can upload documents to an FTP server that you configure.
It is part of the Pro tier and is not included in this free download.

Credits

This plugin bundles the following open-source libraries. Each ships with its own
licence file inside the plugin’s vendor directory.

  • Dompdf (LGPL-2.1) — HTML to PDF rendering. https://github.com/dompdf/dompdf
  • php-font-lib (LGPL-2.1-or-later) and php-svg-lib (LGPL-3.0-or-later),
    by the Dompdf project
  • Masterminds HTML5 (MIT) — HTML parsing
  • Sabberworm PHP CSS Parser (MIT) — CSS parsing
  • DejaVu Sans — bundled font, released under a permissive
    Bitstream Vera / Arev derived licence

Noto fonts, offered as an optional one-click download, are published by Google
under the SIL Open Font License 1.1 and are downloaded to your own server. They are
not bundled with this plugin.

Screenshots

  1. Invoice numbering: prefix, padding and restart rules, with the next number
shown before it is used.

    Invoice numbering: prefix, padding and restart rules, with the next number
    shown before it is used.

  2. The numbering audit — every number accounted for, exportable as CSV.

    The numbering audit — every number accounted for, exportable as CSV.

  3. Diagnostics: a live test render, font coverage checked against your own
recent orders, and the fix for anything that is wrong.

    Diagnostics: a live test render, font coverage checked against your own
    recent orders, and the fix for anything that is wrong.

  4. Free and Pro, side by side.

    Free and Pro, side by side.

  5. Customers download their own invoice from My Account, without emailing you
for it.

    Customers download their own invoice from My Account, without emailing you
    for it.


Reviews & Comments