| 开发者 | bycrik |
|---|---|
| 更新时间 | 2026年10月26日 21:32 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp paperwork gaps says which, and why, from the audit trail.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.
Built to be checked
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.
Yes. Paperwork declares HPOS compatibility and reads orders through the WooCommerce order API, never through post meta, so it behaves the same with the legacy tables or with HPOS.
Not from Paperwork's side. Numbers are allocated atomically, so concurrent orders cannot collide or
skip, and a voided document keeps its number, so voiding leaves no gap either. A gap can still
appear when a render fails after its number was drawn; the audit trail records that as an orphaned
allocation. The Status page counts the gaps of every sequence, and wp paperwork gaps lists each
missing number with the reason from the audit trail, which is the answer an auditor is actually
asking for.
Nothing. Switching a type off stops new documents of that type being created. Every document already issued stays in the archive, stays downloadable from My Account, stays attached to the emails your customers have already received, and stays in bulk export. Disabling is not deletion.
Not in place, deliberately — that is the point of an archive. You can regenerate a document, which issues a new version and retires the old one while keeping both, and you can void one with a reason. Both are recorded in the audit trail.
E-invoicing is part of the premium version. There, Factur-X and ZUGFeRD embed their XML in a PDF/A-3, which needs an optional second PDF engine the premium version can install on request; without it, the XML is produced alongside the PDF and a warning is recorded, and an ordinary PDF is never labelled as Factur-X.
Peppol delivery is part of the premium version, and requires an account with an access point provider: Paperwork builds and signs the request and hands it over. It is not a Peppol access point itself, and it will tell you it is not connected until you have configured one.
No. Documents are stored outside the web root's reach with directory listing and direct access blocked, and customer links are signed and time-limited.
Yes. Copy a template out of the plugin's views/frontend/ directory into
your-theme/paperwork-for-woocommerce/ and edit it there. Everything a template needs is passed to it
explicitly, so a template never has to query anything.
Yes: generating, regenerating, voiding, listing, exporting, renumbering and a gap report, plus
wp paperwork doctor, which runs every diagnostic check and exits non-zero if one fails.