Skip to content

For WooCommerce

The documents your shop is required to keep.

Paperwork issues invoices, packing slips and fourteen other document types — numbered without gaps, stored as issued, and explainable months later. A default install does one thing and stays out of the way.

Free on WordPress.org. No account or API key for anything in the free plugin.

Archived as issued
16
document types
10
modules, all optional
5
e-invoice formats
0
numbers skipped

How it works

From a paid order to a filed invoice

Four things happen to every invoice this plugin issues, in this order, without you doing any of them.

  1. 1

    An order is paid

    Paperwork issues the invoice, attaches it to the emails you chose, and puts it in the customer's My Account. A fresh install does this and nothing else.

  2. 2

    It takes the next number

    Allocated atomically, so two orders completing in the same second cannot take the same one. When a number genuinely goes unused, the gap report says which and why.

  3. 3

    It is rendered once and kept

    The file is written at the moment of issue, and every later download serves that same file. Change your logo tomorrow and yesterday's invoice still looks like yesterday's.

  4. 4

    And filed electronically, if you must

    One EN 16931 model becomes UBL, Peppol, Factur-X or XRechnung — validated against a shipped XSD before it is allowed out.

    The formats, and what happens when the tax mapping is wrong
Meridian Supply Co.
San Francisco, CA 94103
INVOICE
Hoodie with Logo4$180.00
Beanie6$108.00
Total$342.40
  • INV-2026-00044
  • Attached to the Processing email
  • Rendered once, kept 10 years

An example invoice, drawn in markup. Real captures of the plugin are further down.

Also in the free plugin

A visual template designer

Arrange the blocks each document type is made of, with your own logo, colours and wording. Templates are data, so they survive updates.

Documents in bulk

Create, merge or zip documents for a page of orders at once, with a job that reports what it skipped.

Yours to extend

139 documented hooks, and every view the renderer uses is overridable from your theme.

Built for real installs

HPOS-compatible, multilingual-aware and RTL-aware, with no external service or API key.

E-invoicing

One model, five formats, validated before it leaves

Paperwork builds a single EN 16931 semantic model from the order and serialises that, rather than writing each format by hand. Every document is checked against a shipped XSD before it is allowed out.

<Invoice
xmlns="urn:oasis:names:…:Invoice-2"
<cbc:ID>INV-2026-00044
<cbc:IssueDate>2026-09-18
<cac:AccountingSupplierParty>
<cbc:CompanyID>GB123456789
<cbc:TaxExclusiveAmount>1006.15
<cbc:PayableAmount>1197.32
Valid against UBL-Invoice-2.1.xsd — 0 errors

Off by default, and it stays off until you have reviewed your VAT categories. A wrong VAT category is a filing error rather than a rendering glitch, so an unmapped tax rate produces no document and names the rate instead of guessing one.

  • UBL 2.1

    The OASIS universal business language, and the syntax most European networks read.

  • Peppol BIS Billing 3.0

    The Peppol network profile, for shops whose customers receive over an access point.

  • UN/CEFACT CII D16B

    The cross-industry invoice, and the syntax underneath Factur-X.

  • Factur-X 1.07 / ZUGFeRD 2.3

    A PDF/A-3 with the XML inside it, so one file is both readable and machine-readable.

  • XRechnung 3.0

    The German public-sector profile, required for invoicing federal authorities.

  • EN 16931

    Not a format but the model all five are built from, which is why they cannot disagree with each other.

Cloud storage

A copy that does not live on your server

Every document is uploaded to a folder you choose as it is issued. An archive kept only on the machine running the shop is one hosting incident away from being no archive at all.

  • As each document is issued

    The upload is queued rather than done inline, so a slow provider never holds up an order completing or an email going out.

  • Three attempts, then it says so

    Each retry waits longer than the last. A document that never made it is reported as not uploaded rather than quietly assumed to be safe.

  • Written into the audit trail

    Reaching a destination is recorded against the document, so months later you can say which copies exist and where they went.

Dropbox / Paperwork / Invoices / 2026 / 09
  • INV-2026-00044.pdf84 KB
  • INV-2026-00045.pdf61 KB
  • CN-2026-00002.pdf24 KB
Uploaded as each one was issued. Three attempts, then it says so.

Six destinations

  • Dropbox Connected once, by OAuth
  • Google Drive Connected once, by OAuth
  • OneDrive Connected once, by OAuth
  • S3-compatible storage Amazon S3, and anything that speaks its API
  • WebDAV Nextcloud, ownCloud, or your own server
  • SFTP Somewhere you already back up

Modules

Ten modules, all of them off to begin with

Everything past the invoice is a switch. Turning one off hides its settings without changing them, so turning it back on finds everything as you left it — and a shop that only wants invoices never sees the rest. E-invoicing and cloud storage are two of the ten; here are the other eight.

VAT & compliance

Check the customer's VAT number, decide the treatment from it, and print the sentence the country requires.

  • VIES and HMRC number checks, with the result kept on the document
  • Reverse charge, intra-community supply, export and OSS wording
  • A hashed legal archive, and a retention period you set
Bill to
Müller Maschinenbau GmbH
Hauptstraße 5
10115 Berlin
VIES
DE123456789
Net€1,006.15
VAT€0.00
Total€1,006.15

Reverse charge — Article 196 of Directive 2006/112/EC

Fulfilment

Everything the warehouse needs: labels with a scannable barcode, pick lists across orders, gift receipts, returns forms, and a packing slip per parcel.

Deliver to
Jürgen Müller
Industriestraße 118
21079 Hamburg
PARCEL 1 / 2
1Z 999 AA1 01
Packing slipPick listReturns form

Quotes & statements

Documents that need no order behind them — a quote the customer accepts by signed link, deposit and balance invoices, statements and recurring invoices.

QUOTE
QUO-2026-00007
Valid until 30 Sep 2026
Site survey£450.00
Installation, 2 days£1,200.00
Total£1,650.00
Accept this quotesigned link, no account needed

Accounting exports

The file your accountant asked for, in the shape they asked for it: CSV and XLSX for a spreadsheet, DATEV, JPK and SAF-T for an audit.

paperwork-2026-09.csv412 rows
NumberNetVAT
INV-2026-000441,006.15191.17
INV-2026-0004548.833.83
CN-2026-00002-21.42-4.07
INV-2026-0004342.008.40
CSVXLSXDATEVJPKSAF-T

Also in the box

Printing

Print straight from the browser, or send a document to a cloud print service so it comes out in the warehouse.

PDF engine

A second renderer, for right-to-left scripts, CJK text, and the PDF/A-3 files Factur-X and ZUGFeRD have to be.

Extra email files

Send the same file with every email — your terms, a returns policy, a price list — attached after the documents.

Renumbering tool

Renumber a run of documents in bulk, for the day you discover the sequence was set up wrongly.

Document types

Sixteen of them, and you meet one

A fresh install issues an invoice on a paid order. Six are there whether you use them or not; the other ten arrive with the module that makes them, and nothing already issued is affected by switching one off.

Billing

In the free plugin

Invoice
The tax document for a paid or payable order. Always on.
Credit note
Corrects an invoice after a refund, with its own number series.
Proforma invoice
A quotation-style bill sent before payment; not a tax document.
Receipt
A simple proof of payment, for shops that do not issue invoices.

Fulfilment

Two free, three with the module

Packing slip
What is in the box, with no prices, for the person packing it.
Delivery note
Travels with the goods and records what was delivered.
Pick list Fulfilment
One sheet covering several orders, grouped for walking the shelves.
Shipping label Fulfilment
A carrier label with the address and a scannable tracking barcode.
Address label Fulfilment
Just the address, sized for a label printer.

Retail

With the Fulfilment module

Gift receipt Fulfilment
Proof of purchase with every price removed, for a present.
Returns form Fulfilment
A returns slip carrying an RMA number the customer sends back.

Sales

With the Quotes & statements module

Quote Quotes
An offer with no order behind it, which the customer can accept by link.
Order confirmation Quotes
Confirms what was ordered, before anything is invoiced.
Deposit invoice Quotes
Bills the deposit half of an order paid in two parts.
Balance invoice Quotes
Bills what is left after a deposit, and says what the deposit covered.
Statement Quotes
A period summary of a customer's documents. Not a tax document.

Inside the plugin

Seven screens, and the page one of them printed

Captured from a WooCommerce install with Paperwork running on it. The shop is invented; the numbers, the tax and the wording are whatever the plugin actually produced.

Blocks, document, block settings
The Paperwork document designer with the Line items block selected, showing its column list beside a live invoice preview.

The blocks a document is made of on the left, the document in the middle, and what the selected block shows on the right. The style presets sit in the header.

The blocks a document is made of on the left, the document in the middle, and what the selected block shows on the right. The style presets sit in the header.

Pricing

Free to start, paid where it pays for itself

Every document type a shop needs to invoice is free. The paid tiers add fulfilment, automation and electronic filing.

Free

Everything a shop needs to issue and keep its invoices.

Free on WordPress.org

  • Invoices, credit notes, packing slips and eleven more types
  • Gap-free numbering and the gap report
  • The document archive
  • The visual template designer
  • Email attachment and My Account downloads
  • Bulk actions from the orders list
Download free
Most shops

Pro

For shops that pick, pack and ship — and want it automated.

Price not set yet

  • Everything in Free
  • Shipping and address labels, pick lists
  • Per-shipment documents and returns
  • Gift receipts and multi-vendor
  • The export centre and cloud backups
  • Automatic printing, the REST API and payment helpers
Get Pro

Compliance

For shops filing electronically, through Peppol or a national platform.

Price not set yet

  • Everything in Pro
  • UBL 2.1, Peppol BIS 3.0 and CII D16B
  • Factur-X, ZUGFeRD and XRechnung
  • XSD validation before a document leaves
  • Peppol delivery
  • VAT number validation
Get Compliance

Questions

Does it work with High-Performance Order Storage?
Yes. Paperwork declares HPOS compatibility and reads orders through the WooCommerce order API rather than through post meta, so it behaves the same with the legacy tables or with HPOS.
Will my invoice numbers have gaps?
Not from Paperwork. Numbers are allocated atomically, so concurrent orders cannot collide or skip. A gap can still appear for an ordinary business reason — an order was deleted, a document was voided — and the gap report under Tools lists every missing number with the reason from the audit trail.
What happens to documents if I stop paying?
You keep every document you have ever issued. Losing access stops new paid-tier documents being made; it never removes old ones.
What does it need to run?
WordPress 6.5 or newer, PHP 8.1 or newer, and WooCommerce 8.0 or newer. Paperwork declares WooCommerce as a required plugin and will not run without it. No external service, account or API key is needed for anything in the free plugin.
Is e-invoicing switched on by default?
No, and deliberately. It stays off until you have reviewed your VAT categories, because a wrong VAT category is a filing error rather than a rendering glitch. An unmapped tax rate produces no document and names the rate instead of guessing.
Can I change how the documents look?
Yes. The designer lets you arrange the blocks each document type is made of, with your own logo, colours, page rules and wording. Templates are stored as data, so an update does not overwrite your design, and every template is also overridable from your theme.

Everything else is written down: the user guide and the developer reference.

Start with an invoice

Install it, answer seven short questions, and your next paid order has an invoice attached to its email. Switch the rest on when you need it.

Get Paperwork