Check your e-invoice before your customer's software rejects it.

Upload an invoice file. Get rule-level validation against the official EN 16931, Peppol BIS 3.0, XRechnung 3.x and Factur-X rulesets. No login. No storage.

πŸ‡«πŸ‡· France: every business must be able to receive compliant e-invoices from 1 September 2026.

Drop your invoice XML or PDF here

or click to choose a file β€” .xml (UBL / CII / XRechnung) or Factur-X PDF

Files are validated in memory and discarded. Nothing is stored, logged, or kept.

Pricing

Free

$0

Web validator, unlimited files, every format above. No account needed.

Starter

€19/mo

500 API calls/month, all formats, email support.

Subscribe

Pro

€99/mo

5,000 API calls/month, webhooks, priority format support.

Subscribe

Launch offer: mandate-ready in one afternoon, or we work with you free until you are.

API

Same engine, for your pipeline. One key, three endpoints.

EndpointWhat it does
POST /v1/validateValidate XML or Factur-X PDF; returns rule-level errors with ids like BR-S-08
POST /v1/convert?target=…Convert between UBL, CII, JSON and Factur-X
GET /v1/formatsList supported formats and profiles
curl -X POST https://billxml.com/v1/validate \
  -H "Authorization: Bearer bx_YOUR_KEY" \
  -H "Content-Type: application/xml" \
  --data-binary @invoice.xml

Full spec: openapi.json. Docs: API reference.

What we check

RulesetVersionCovers
EN 16931 (CII + UBL)1.3.16Core EU semantic rules
Peppol BIS 3.0currentPeppol-specific constraints + CEN layer
XRechnung3.0.2German federal profile (KoSIT)
Factur-X / ZUGFeRDβ€”PDF/A-3 embedded CII, French/German hybrid