Validate your e-invoices in CI — XRechnung, Peppol BIS, Factur-X. FatturaPA on the roadmap.
Compliance-as-code for EU electronic invoicing: a REST API, a CLI and a GitHub Action that run the published Schematron rules for Peppol BIS, XRechnung, Factur-X, UBL and CII. Every error comes with a plain-English explanation and the fix. FatturaPA (Italy / SdI) is on the roadmap.
We're explicit about coverage: see exactly what validates today and what's next. Built on the open Mustang / phive Schematron engines — the value here is the CI packaging, the error→fix mapping, and the planned FatturaPA coverage (on the roadmap).
Free tier: 20/hour on the web validator, 500/day & 5,000/month with a free API key. No credit card.
Never ship a broken invoice.
Add the Action to your workflow; the build fails — with the rule ID, the explanation and the suggested fix — before a rejected invoice (a scarto from the SdI, a refusal from Chorus Pro, a KSeF error) ever happens.
- ✓ REST API (free key) · CLI (
npx @eleata/validate-einvoice) · GitHub Action - ✓ Factur-X / ZUGFeRD PDF/A-3 accepted directly — the embedded CII XML is extracted and the profile detected
- ✓ Error → fix mapping for XRechnung
BR-DE-*codes (FatturaPA00xxxin beta) - ✓ Open-source CLI & Action (MIT) · open test fixtures
# .github/workflows/einvoices.yml
- uses: hernaninverso/validate-einvoice-action@v1
with:
files: invoices/**/*.xml
format: auto # or fatturapa / xrechnung-ubl / peppol-bis-3 / factur-x ...
api-key: ${{ secrets.EINVOICE_API_KEY }}
# or from the shell
$ npx @eleata/validate-einvoice validate fattura.xml --format fatturapa
✓ fattura.xml (fatturapa)
3/3 valid.What validates today
No vague "EU invoice validator" claim — here's the explicit list. Each response tells you which ruleset checked your file.
- GAPeppol BIS Billing 3.0peppol-bis-3
- GAEN 16931 (UBL & CII)en16931-ubl / -cii
- GAXRechnung 3.0.x (UBL & CII)xrechnung-ubl / -cii
- GAFactur-X 1.08 / ZUGFeRD 2.4 — incl. PDF/A-3all profiles; embedded CII XML extracted automaticallyfactur-x
- Coming soonFatturaPA (Italy / SdI) — planneddedicated phive sidecar + curated SdI 00xxx controls. Email hello@eleata.io to register your interest.fatturapa
- GAOASIS UBL 2.1 · UN/CEFACT CII (schema)ubl / cii
Roadmap: Poland FA(3) / KSeF (Q1 2026), FatturaPA v1.1 (deeper SdI rules + .p7m), an MCP server for AI agents, and more error-code & mandate pages driven by what people actually search for.
Mandates, explained
Sample invoices
Error codes
Every common FatturaPA 00xxx and XRechnung BR-DE-* error, with the fix.
Pricing
Self-serve subscription. Start free, scale when you ship. EU VAT handled automatically by Paddle (our MoR). Cancel any time.
Checkout opens in a few days
We're finishing Paddle Vendor verification. Paid plans go live within 1–3 business days. Drop your email and we'll send the checkout link the moment it opens.
We use this email only to notify you about checkout going live. You can request deletion anytime via our privacy policy.
- 200 validations / month
- 20 / hour on the web validator
- API · CLI · GitHub Action
- Error → fix mapping
- 2,500 validations / month
- All formats (Peppol BIS · XRechnung · Factur-X · FatturaPA)
- Email support · 48h SLA
- Webhooks
- 12,000 validations / month
- Async batch endpoint
- 5 seats
- Priority email · 24h SLA
- 60,000 validations / month
- SLA 99.9% contractual
- 20 seats · DPA pre-signed
- Audit logs export
Higher volume (>60k/mo), on-prem, dedicated SLA or custom integrations? Contact us.