← Back to all articles

Automatic EU-compliant invoices for every WooCommerce order

SealDoc Team · · 4 min read

Selling to European businesses from a WooCommerce store carries a compliance obligation that most shop owners only discover when an auditor or a large buyer raises it: structured, machine-readable invoices. A standard PDF is not sufficient for B2B transactions once national e-invoicing mandates apply. France requires every business established there to receive e-invoices from September 2026, with issuing phased in through September 2027. Belgium has required B2B e-invoicing since 1 January 2026 from all VAT-registered businesses established there, without a phase-in by size. Germany has required structured e-invoices for public-sector suppliers since 2020; since 1 January 2025 every business in Germany must be able to receive e-invoices from other German businesses, and issuing them becomes mandatory on 1 January 2027 for businesses with prior-year turnover above €800,000 and on 1 January 2028 for all.

SealDoc Compliance Invoices for WooCommerce handles this automatically, without replacing your existing PDF invoice plugin or changing your checkout flow.

What the plugin does

Every time a qualifying order reaches the configured trigger status (paid or completed, your choice), the plugin:

  1. Checks whether the buyer is a business, by reading the VAT number stored in the order billing fields
  2. Uses the compliance format you chose: ZUGFeRD / Factur-X or XRechnung
  3. Sends the order data to the SealDoc compliance engine, which builds and validates the structured invoice
  4. Writes a download link back to the WooCommerce order admin, and optionally attaches the invoice to the order confirmation email

The merchant does nothing after setup. The buyer receives a compliant invoice without having to ask for one.

Why WooCommerce stores need this now

The EU e-invoicing landscape is moving fast. Key dates to know:

  • Germany: B2B e-invoicing mandatory for receiving structured invoices from January 2025; obligation to issue them from January 2027 for businesses above €800,000 prior-year turnover and from January 2028 for all
  • France: B2B e-invoicing mandatory from September 2026, with UBL, CII and Factur-X accepted on equal terms
  • Belgium: B2B e-invoicing mandatory since January 2026 for all VAT-registered businesses established in Belgium, for both issuing and receiving
  • Poland: Mandatory B2B e-invoicing via the KSeF system since February 2026 for the largest taxpayers and since April 2026 for all others

These obligations apply to businesses established in the country concerned. A WooCommerce store established in Germany, France, Belgium, or Poland that serves business customers there needs to issue compliant invoices as these dates apply, or risk rejected payments and audit exposure. The plugin issues EN 16931-validated e-invoices automatically.

Supported formats

The plugin supports two EU e-invoice formats:

  • ZUGFeRD / Factur-X: A hybrid PDF with embedded XML, accepted across France, Belgium, the Netherlands, and Austria. France accepts it for domestic B2B on equal terms with UBL and CII.
  • XRechnung: The German XML standard required for all public-sector invoices in Germany. Also accepted in Austria and other German-speaking markets.

Both formats implement the European standard EN16931, so a valid invoice in either of them satisfies the legal requirements in every EU member state that has adopted that standard.

B2B detection: no checkout changes needed

Not every WooCommerce order is a business order. The plugin reads the VAT number from the billing company fields in the order. If a VAT number is present, the order is treated as B2B and receives a full structured invoice. Orders without a VAT number are treated as consumer orders. You choose whether to skip them or generate a Factur-X BASIC invoice anyway.

If you already collect VAT numbers at checkout via a WooCommerce extension or a custom field, the plugin picks them up automatically. No checkout changes are required.

Security: AES-256 encrypted API key storage

Your SealDoc API key is stored using AES-256 encryption in the WordPress options table. It is never written to log files or exposed in the admin UI after initial entry. The plugin communicates with the SealDoc API over HTTPS only.

Retry from the order admin

If the SealDoc API is temporarily unavailable when an order is placed, the invoice is not lost. A retry button appears on the WooCommerce order detail page. One click resends the invoice request without editing or re-creating the order.

How to install

  1. Upload the plugin ZIP via Plugins > Add New > Upload Plugin in your WordPress admin
  2. Create an API key in your SealDoc dashboard under Settings > API Keys
  3. Paste the key into the plugin settings and click Validate
  4. Choose your compliance profile (ZUGFeRD / Factur-X or XRechnung), your trigger status, and your B2C handling preference
  5. Save. Your first compliant invoice is generated on the next qualifying order

A SealDoc Starter plan or higher is required. The Starter plan covers Factur-X generation and is sufficient for most WooCommerce stores.

Check whether a VAT number is registered on Peppol →
← Back to all articles