Validate Factur-X, ZUGFeRD and XRechnung against the official veraPDF and KoSIT engines — and generate compliant hybrid PDFs. Honest attestation: an engine that did not run returns null, never a fabricated pass.
Rate-limited per IP. For volume, an API key or your pipeline, see the API.
Most tools stop at the XML schema. A compliant e-invoice must also be a valid PDF/A-3 and satisfy the EN 16931 business rules — and an auditor cares about all three.
veraPDF for PDF/A-3 and KoSIT for the EN 16931 schematron — the same tools an auditor trusts, not a re-implementation.
An engine that could not run returns null — never a green tick we cannot stand behind. Your attestation means exactly what it says.
Check incoming invoices, or build a byte-stable hybrid Factur-X PDF/A-3 from EN 16931 JSON — self-verified before it is returned.
From 1 September 2026 every French business must be able to ACCEPT e-invoices — legally through an approved platform, or a compatible solution connected to one. FacturProof is not an approved platform and does not replace that connection: it reads and checks the invoices you receive. /v1/extract reads a hybrid Factur-X/ZUGFeRD PDF, raw CII XML, or a UBL invoice into clean header JSON — number, dates, parties, VAT ids, totals, tax breakdown.
Paste or upload an invoice in the free viewer and see every field rendered as a readable table, right in your browser.
Open the invoice viewerPOST /v1/extract for 1 credit — the identical parser the viewer uses, wired into your pipeline, MCP agent or n8n workflow.
/v1/convert reads an inbound CII/UBL XML or hybrid PDF and re-emits a self-checked, MINIMUM-profile Factur-X PDF/A-3 — validated by the same veraPDF and KoSIT engines before it is returned.
# Convert an inbound invoice to Factur-X curl -X POST https://www.facturproof.com/v1/convert \ -H "X-API-Key: ek_live_…" \ -F "file=@inbound.xml" -o converted.pdf
/v1/vat/verify checks a VAT id against the official EU VIES service and returns a signed Ed25519 evidence certificate — a proof a tax auditor or your buyer's system can verify offline, without trusting us or re-querying VIES. Honest on failure: if VIES is down we return a service-unavailable signal, never a fabricated "valid".
# Add requester_vat (your EU VAT) for an OFFICIAL # VIES consultation number — the EU's own dated reference curl -X POST "https://www.facturproof.com/v1/vat/verify?vat=LU26375245&requester_vat=FR…" \ -H "X-API-Key: ek_live_…" # => { "valid": true, "name": "AMAZON EUROPE…", # "consultation_number": "WAPIAAAA…", # "attestation": { "alg": "Ed25519", # "key_id": …, "signature": … } } # Anyone can re-check it at https://www.facturproof.com/verify
Prepaid credits, billed per call — a run that produces no verdict is never charged. Drop it into any stack, into an AI agent via Model Context Protocol, or into an n8n workflow with no code.
# Validate an invoice — honest attestation back curl -X POST https://www.facturproof.com/v1/validate \ -H "X-API-Key: ek_live_…" \ -F "file=@invoice.pdf" # => { "pdfa_pass": true, "schematron_pass": true, # "profile_detected": "EN16931", # "engines": { "verapdf": …, "kosit": … } } # EUDR geolocation pre-flight (keyless) — is the GeoJSON TRACES-valid? curl -X POST https://www.facturproof.com/v1/eudr/geojson/try \n -H "Content-Type: application/json" \n --data-binary "@plots.geojson" # => { "valid": true, "feature_count": 3, # "total_area_ha": 12.4, "findings": [] }
validate = 1 credit · extract = 1 credit · vat-verify = 1 credit · render = 2 credits · convert = 2 credits · credits never expire. Prices exclude VAT.
Enter your email — we create a free account and show your key once. No card required.
Rate-limited per IP.