- 3 invoice formats live: PDF (all 11 country profiles), XRechnung 3.0 (Germany B2G/B2B, EN 16931 / Peppol BIS Billing 3.0), ZUGFeRD 2.3/2.4 (Germany/Austria, hybrid PDF/A-3 with embedded XML).
- Auto-generation on order status change via the
actionOrderStatusUpdatehook. Trigger states:off,on_pending,on_processing(default),on_completed. Status mapping reads PS's native OrderState flags (paid,shipped,delivered) — no language dependency. - Manual "Generate now" button in the module's Configure page — pick any order, regenerate fresh on demand. History table tracks every artefact with format, byte size, timestamp, template UUID and API content hash.
- §14 UStG-compliant invoice numbering via dedicated DB sequence table — gap-free under concurrent generations when using the
{seq:0000}token format. - Custom PDF templates — create in console.invoice-api.xhub.io/pdf/templates, paste UUID into module config (global default or per-order override via meta table).
- Diagnostic visibility — Template column + API hash column in the History table; success card after Generate-now shows the exact UUID sent and API hash for run-to-run comparison.
- Idempotency cache (template-aware) — the auto-trigger reuses the cached file when format AND templateId match; a templateId change in config invalidates the cache and forces a fresh render.
- Local file storage — invoices stored under
modules/prestashop_invoice_api_xhub/files/<orderID>/. No third-party storage; nothing leaves your server except the API call to invoice-api.xhub.io itself. - GDPR-friendly uninstall — both
ps_xhubio_invoice_api_xhub_seq+ps_xhubio_invoice_api_xhub_metatables and all generated files are removed when the module is uninstalled with "delete data". - PrestaShop 8.0.0+ compatible · PHP 8.1+ required.