EDD EU Compliance
EU VAT compliance for Easy Digital Downloads — VIES validation, EN 16931 / UBL 2.1 XML invoices, and KSeF e-invoicing.
by Adam Chludziński (Leomatix) · github.com/leomatix/edd-eu-compliance · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/leomatix/edd-eu-compliance/archive/refs/heads/main.zipEU billing fields, VIES VAT validation, configurable invoice numbering, and EN 16931 / UBL 2.1 compliant XML invoices for Easy Digital Downloads — plus optional submission to the Polish KSeF national e-invoice system.
Free and open source (GPL-2.0-or-later). No license key, no activation, no phone-home.
Features
- EU billing fields on checkout — company name and VAT / NIP number fields on the EDD checkout form.
- VIES VAT validation — live validation of EU VAT numbers against the official EU VIES REST API as the customer types.
- Configurable invoice numbering — prefix, date component, separator, zero-padding, and monthly / yearly / never sequence reset, with a live preview of the next number in the settings screen.
- EN 16931 / UBL 2.1 XML invoices — enriches the XML produced by the EDD Invoices extension with supplier and buyer VAT identifiers, tax totals, invoice-line tax details, and payment terms, to bring it in line with the EN 16931 / UBL 2.1 requirements.
- KSeF submission — sends invoices to the Polish national e-invoice system through the ksef.eu API service, with automatic send on order completion and separate test / production environments.
- Buyer VAT in the invoice template — shows the buyer's Tax / VAT number in the EDD Invoices HTML invoice.
Requirements
- WordPress 6.0 or newer
- PHP 7.4 or newer
- Easy Digital Downloads — required
- The EDD Invoices extension — required for XML invoice generation, the EN 16931 / UBL output, and KSeF (it supplies the seller data and the buyer order meta). The checkout billing fields and VIES validation work without it.
- For KSeF only: a ksef.eu account and API key (a third-party service).
Installation
- Download the latest
edd-eu-compliance.zipfrom the Releases page. - In WordPress: Plugins → Add New → Upload Plugin, choose the zip, Install Now, then Activate.
- That's it — there is no license key to enter.
Configuration
Go to Downloads → Settings → Payments → EU Compliance and configure:
- EU Billing — enable the company / VAT fields and VIES validation.
- Invoice Numbering — enable custom numbering and set the format; the preview updates when you save.
- KSeF — enable auto-send, choose test or production, and enter your seller NIP and your ksef.eu API key.
Privacy / outbound connections
The plugin only ever contacts services you enable, with data you configure:
- the EU VIES API (
ec.europa.eu) to validate VAT numbers, when VIES validation is on; - the ksef.eu API to submit invoices, when KSeF is on.
It sends nothing to the author and contains no tracking or update-check calls.
Maintenance status
Released as-is. This plugin was built and used in production for the Leomatix store and is now open-sourced for anyone who finds it useful. It is not actively maintained — issues and pull requests are welcome, but a response or fix isn't guaranteed. Feel free to fork.
License
GPL-2.0-or-later. Easy Digital Downloads is GPL, so this add-on is too.
Author
Adam Chludziński (Leomatix) · leomatix.net · kontakt@leomatix.net
More from me
- raynet-mcp — a Model Context Protocol server for Raynet CRM (Claude Desktop and other MCP clients).
- raynet-lead-form — a WordPress contact form that creates leads directly in Raynet CRM.
- Custom automation, AI, and business-implementation work — see leomatix.net.