E-Invoice Validator: XRechnung, ZUGFeRD, Factur-X, Peppol avatar

E-Invoice Validator: XRechnung, ZUGFeRD, Factur-X, Peppol

Pricing

$4.00 / 1,000 e-invoice validateds

Go to Apify Store
E-Invoice Validator: XRechnung, ZUGFeRD, Factur-X, Peppol

E-Invoice Validator: XRechnung, ZUGFeRD, Factur-X, Peppol

Validate e-invoices against the official EN 16931, Peppol BIS 3.0 and XRechnung 3.0 rules: UBL, CII and Factur-X/ZUGFeRD PDFs. ALLOW / REVIEW / BLOCK verdict, every error with its rule ID, plus the invoice summary. For AP automation and AI agents.

Pricing

$4.00 / 1,000 e-invoice validateds

Rating

0.0

(0)

Developer

Lerider Technologies

Lerider Technologies

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Security

Limited permissions

Share

Open source (Apache-2.0): read the code on GitHub: see exactly what this Actor does with your data, run the tests, or host it yourself.

Is this e-invoice valid, and will the receiver accept it? This Actor checks e-invoices against the official validation rules: the European standard EN 16931 (CEN/TC 434 rules, as published by the European Commission), Peppol BIS Billing 3.0 and XRechnung 3.0, plus the UBL 2.1 and UN/CEFACT CII XML schemas. It returns one verdict per invoice, ALLOW, REVIEW or BLOCK, every error and warning with its official rule ID, and a summary of the invoice (number, dates, seller, buyer, totals, IBAN).

Built for AI agents and automations in accounts payable and receivable: check an invoice before you send it to Peppol or a German public portal, or before you book and pay one you received; and for e-invoicing projects that need a quick, current validator in a pipeline.

Formats

FormatHow it is recognisedRules applied
UBL 2.1 Invoice / CreditNoteroot elementXML schema + EN 16931
UN/CEFACT CII D16Broot elementXML schema + EN 16931
Peppol BIS Billing 3.0CustomizationID …poacc:billing:3.0+ Peppol rules
XRechnung 3.0 (UBL or CII)CustomizationID …kosit:xrechnung_3.0+ XRechnung rules (e.g. Leitweg-ID)
Factur-X / ZUGFeRD 2.x PDFembedded factur-x.xml / zugferd-invoice.xml / xrechnung.xmlXML rules for its profile; PDF metadata cross-checked

Use profile to apply rules the invoice doesn't declare, e.g. check a plain EN 16931 invoice against XRechnung before sending it to a German public authority.

Verdicts

VerdictWhen
ALLOWNo errors against any applicable rule set (warnings are listed; they don't make an invoice invalid)
REVIEWNo errors, but not a full e-invoice under the mandates: Factur-X/ZUGFeRD MINIMUM or BASIC WL (no line items, so not a complete EN 16931 invoice), or an outdated XRechnung 1.x/2.x identifier
BLOCKErrors: wrong totals or VAT breakdown, missing mandatory fields, invalid codes, XML schema errors; or the file is not an e-invoice (plain PDF, other XML, ZUGFeRD 1.0, Order-X)

valid is true only for ALLOW.

Pricing

EventPriceWhen
invoice-validation$0.004An e-invoice was validated (any verdict: errors found are an answer)
(free)$0Not an e-invoice (plain PDF, other XML, unreadable file), download failed, malformed input

Input

{"url": "https://example.com/invoices/INV-2026-001.xml"}
{"xml": "<Invoice xmlns=\"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2\" ...>...</Invoice>", "profile": "xrechnung"}
{"invoices": [{"url": "https://example.com/a.pdf"}, {"file_base64": "PD94bWwg...", "name": "INV-7.xml"}]}

Up to 100 invoices per run; files up to 25 MB (invoice XML up to 10 MB). profile: auto (default), en16931, peppol, xrechnung, all.

Output (one item per invoice; the Peppol BIS example invoice with its amount due changed to 9999.00, shortened)

{
"index": 0,
"source": "base-example.xml",
"verdict": "BLOCK",
"valid": false,
"status": "checked",
"syntax": "UBL 2.1 Invoice",
"customization_id": "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0",
"standards": ["EN 16931", "Peppol BIS Billing 3.0"],
"reasons": ["1 error(s) against EN 16931, Peppol BIS Billing 3.0; first: BR-CO-16 [BR-CO-16]-Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) +Rounding amount (BT-114)."],
"error_count": 1,
"warning_count": 0,
"errors": [{"rule": "BR-CO-16", "severity": "error", "message": "[BR-CO-16]-Amount due for payment (BT-115) = …",
"location": "/*:Invoice[…]/*:LegalMonetaryTotal[1]", "rule_set": "en16931-ubl"}],
"warnings": [],
"summary": {"number": "Snippet1", "type_code": "380", "issue_date": "2017-11-13", "currency": "EUR",
"seller": {"name": "SupplierOfficialName Ltd", "vat_id": "GB1232434", "country": "GB"},
"buyer": {"name": "Buyer Official Name", "vat_id": "SE4598375937", "reference": "0150abc"},
"totals": {"net": "1325", "tax": "331.25", "gross": "1656.25", "payable": "9999.00"},
"due_date": "2017-12-01", "ibans": ["IBAN32423940"], "lines": 2},
"rules_version": {"en16931": "1.3.17", "xrechnung": "XRechnung 3.0.2 / config 2026-08-31", "peppol_bis_billing": "3.0.21", "ubl": "2.1", "cii": "D16B"}
}

For a Factur-X / ZUGFeRD PDF the item also has facturx (profile) and container (embedded file name, the PDF's XMP ConformanceLevel, attachments). A mismatch between the PDF metadata and the XML profile is a warning.

Scope and limits

  • Official rules, current versions: EN 16931 validation artefacts 1.3.17, Peppol BIS Billing 3.0.21, XRechnung 3.0.2 (KoSIT configuration 2026-08-31). Each result shows the versions in rules_version. The rules are pinned and checksum-verified when the Actor is built; nothing is downloaded during your run.
  • Factur-X/ZUGFeRD EXTENDED is a declared superset of EN 16931: the CII rules that only restrict elements to the EN 16931 core (CII-DT-*, CII-SR-*) are shown as warnings for EXTENDED; business rules still apply.
  • PDF/A-3 conformance of a Factur-X PDF is not checked (container.pdfa_checked: false), and the visible PDF is not compared with the XML: the XML is the legal invoice.
  • Not checked here: whether the seller's VAT number is registered, the IBAN belongs to the seller, or the buyer is reachable on Peppol. Payee Check does that (IBAN, VIES, Peppol, invoice maths) in one call.
  • Validation follows the published rules; it is not tax or legal advice.

Files are processed in memory for your run only; nothing is stored beyond your run's dataset.

Made by Lerider Technologies (lerider.com).