Docs Peppol and XRechnung E-Invoices

Requirements, privacy, validation and FAQ

Requirements

  • WordPress 6.2 or later, PHP 7.4 or later, WooCommerce 8.0 or later.
  • Works with High Performance Order Storage and the posts table, the Checkout block and the classic checkout.
  • Pro: the PHP zip extension for exports.

Privacy

The free plugin stores the buyer’s VAT number, Peppol ID and reference with the order and writes the XML to a protected uploads folder that is served only to the shop manager or the order’s customer. It contacts no outside service. Pro contacts VIES and the Peppol Directory only when those features are on, and your own access point when sending is on. Buyer fields are part of the WordPress personal data export.

How the output was validated

Test invoices and credit notes for domestic, intra-community, reverse charge, export, paid, unpaid and refunded orders were checked with the official OpenPeppol BIS 3.0 rules, the CEN EN 16931 rules and the KoSIT validator with the XRechnung 3.0 configuration, including the UBL schema. All passed.

FAQ

Does the free plugin send invoices over Peppol? No. It creates the file and emails it. Sending through an access point is part of Pro.

Can I change an invoice after it was created? Fix the order and press Recreate: same number and date. For a change in amounts, make a refund, so a credit note is issued as invoice law expects.

What about Factur-X, ZUGFeRD and Poland’s KSeF? They are planned for a later Pro release. The inbox already reads Factur-X and ZUGFeRD XML.

Are files deleted when I remove the plugin? No. Invoices must be kept for years, so XML files always stay. Settings and counters are removed only if you ask for it in the settings.

For developers

Free filters: wfei_formats, wfei_document_format, wfei_order_eligible, wfei_invoice_data, wfei_validation_errors, wfei_checkout_errors, wfei_customization_ids, wfei_series_start, wfei_delete_replaced_file. Actions: wfei_loaded, wfei_document_created, wfei_document_failed. Pro: wfeip_send_request, wfeip_inbox_received.