

The order panel: documents for an order, with download, regenerate and void.
Paperwork issues the documents a WooCommerce shop is required to keep, and keeps them the way an
auditor expects to find them: numbered without gaps, stored as issued, and explainable months later.
A default install does one thing — an invoice on a paid order — and stays out of the way. Five
further document types are there when a shop needs them and switched off until then, and ten more
come with the premium version.
For shops that have to file electronically, the premium version serialises one EN 16931 semantic model into
UBL 2.1, Peppol BIS 3.0, CII D16B, Factur-X and ZUGFeRD, and XRechnung. Each document is validated
against a shipped XSD before it is allowed out, and the report says which business rules were
checked rather than implying an official rule set was run.
E-invoicing is off by default and stays off until you review 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.
Everything above is free except where the premium version is named. Premium adds the fulfilment,
sales, automation and compliance capabilities: shipping labels, pick lists, per-shipment documents,
returns, quotes, statements, deposit and balance invoices, the export centre, cloud backups,
automatic printing, the REST API, the payment helpers, VAT validation, e-invoicing and Peppol
delivery.
The plugin in the WordPress.org directory is the free version and contains none of the premium
code. The premium version is a separate download from https://paperwork.u2code.com/, and a shop
that stops paying for it keeps every document it has ever issued: losing access stops new documents
being made, it never removes old ones.
Paperwork does not need an account or an API key for anything it does. Two connections can exist,
both of them yours to make:
The template designer is a React application. It ships compiled, in assets/designer/, and as
source, in js-source/. To rebuild it from source:
cd js-source && npm install && npm run build
Everything else is plain PHP, CSS and JavaScript, shipped as written. The PHP libraries in
vendor-prefixed/ are unmodified copies of their upstream releases, namespaced to avoid clashes.
This plugin is developed against acceptance scripts that run on a real shop rather than only against
unit tests: a thousand numbers pulled by twenty parallel workers, five hundred orders exported at
once, and every admin screen opened over real HTTP. Where something cannot be verified — a service
with no account, a format whose official validator will not run on PHP — the plugin says so in its
own diagnostics rather than claiming otherwise.