Connection check
verified live · 20h ago
en16931
EN 16931: validate invoice data or a UBL/CII file, emit UBL or CII XML. XRechnung, Peppol. Not PDF.
Tools
9
GitHub stars
—
Installs / wk
78
Licence
—
Transport
streamable-http, stdio
Last checked
20h ago
Tools & capabilities
9 toolsRead from the running server on 20h ago.
check_french_readiness
read-only
query*
Look up a French company by SIREN, SIRET or name in INSEE SIRENE open data, for the 2026-2027 French e-invoicing mandate. Confirms the company exists and is active. It CANNOT confi… Look up a French company by SIREN, SIRET or name in INSEE SIRENE open data, for the 2026-2027 French e-invoicing mandate. Confirms the company exists and is active. It CANNOT confirm whether the company has registered with an approved platform — that lives only in the CAPTCHA-protected DGFiP annuaire, which has no open API — and the result says so. FREE and needs no API key.
check_vies_status
read-only
country
Current availability of VIES, the European Commission service that validates EU VAT numbers. Per-member-state status, latency and 24h/7d uptime, from a monitor that polls all membe… Current availability of VIES, the European Commission service that validates EU VAT numbers. Per-member-state status, latency and 24h/7d uptime, from a monitor that polls all member states every 5 minutes. Use this when EU VAT number validation is failing, to tell "their VAT number is wrong" apart from "that member state's VIES endpoint is down". FREE and needs no API key.
explain_rule
read-only
rule_id*
Explain one EN 16931 / XRechnung / Peppol BIS rule in plain English: what it requires, why, the business term it constrains, a concrete fix and an example. 270 rules explained — BR… Explain one EN 16931 / XRechnung / Peppol BIS rule in plain English: what it requires, why, the business term it constrains, a concrete fix and an example. 270 rules explained — BR-*, BR-CO-*, BR-<category>-*, BR-DE-* and PEPPOL-EN16931-*. That is most, not all, of what the validator checks: a few arithmetic/decimal rules have no write-up yet, and for those it says so and links the rule reference rather than pretending the rule does not exist. FREE and needs no API key.
generate_invoice
read-only
invoice*
Generate compliant e-invoice XML from a JSON invoice, in either EN 16931 syntax. Profiles: en16931, xrechnung-ubl, peppol-bis-3, xrechnung-cii, facturx-en16931 — the profile choose… Generate compliant e-invoice XML from a JSON invoice, in either EN 16931 syntax. Profiles: en16931, xrechnung-ubl, peppol-bis-3, xrechnung-cii, facturx-en16931 — the profile chooses the syntax, and xrechnung-cii and facturx-en16931 come back as CII. The invoice is validated first and generation is refused if it fails, because emitting XML for an invalid invoice produces a file that passes nothing. CREDIT NOTES GENERATE TOO, from the same object: invoiceTypeCode "381" emits a UBL CreditNote document under the UBL profiles and ram:TypeCode 381 under the CII ones, since CII has one document for both. XML ONLY, NEVER A PDF: Factur-X and ZUGFeRD files are CII XML inside a PDF/A-3 container, and this build writes no container, so a facturx-en16931 result is the payload and not a Factur-X document — do not tell the user otherwise. On xrechnung-cii the generator's own FIXTURE documents were run through the official KoSIT validator on release and accepted; on facturx-en16931 they were not, because that profile's BT-24 matches no XRechnung scenario for the validator to judge. Neither is a verdict on the document you just generated — nothing is sent to KoSIT at call time. REQUIRES AN API KEY and costs 1 document.
get_upgrade_link
keyplan*
Return a hosted checkout URL for upgrading an Attestwire key to a paid plan (starter: 2,500 documents/month at $49; scale: 25,000 at $199). THIS DOES NOT BUY ANYTHING. It creates a… Return a hosted checkout URL for upgrading an Attestwire key to a paid plan (starter: 2,500 documents/month at $49; scale: 25,000 at $199). THIS DOES NOT BUY ANYTHING. It creates a checkout link and charges nothing; a human must open the link, enter their own card and confirm the recurring charge on the payment provider's page. You cannot complete the purchase and must not report it as completed. Use this when a key has hit its quota or the user asks to upgrade. Costs no documents.
issue_api_key
email*
Mint a free Attestwire API key (100 documents/month, no signup flow, no card) so validate_invoice and generate_invoice can be used. THE KEY IS RETURNED ONCE AND CANNOT BE RECOVERED… Mint a free Attestwire API key (100 documents/month, no signup flow, no card) so validate_invoice and generate_invoice can be used. THE KEY IS RETURNED ONCE AND CANNOT BE RECOVERED — only its SHA-256 hash is stored — so show it to the user verbatim and tell them to save it before doing anything else. One key per email address.
list_approved_platforms
read-only
query
The official list of Plateformes Agréées (PA, formerly PDP) that DGFiP has approved to transmit invoices under the French e-invoicing mandate, from the published open dataset. Opti… The official list of Plateformes Agréées (PA, formerly PDP) that DGFiP has approved to transmit invoices under the French e-invoicing mandate, from the published open dataset. Optionally filtered by name or SIREN. FREE and needs no API key.
validate_invoice
read-only
invoice*
Validate an invoice against EN 16931 and its national CIUS rule sets (XRechnung UBL/CII, Peppol BIS 3.0, Factur-X). Returns every failure as a "teaching error": the official rule i… Validate an invoice against EN 16931 and its national CIUS rule sets (XRechnung UBL/CII, Peppol BIS 3.0, Factur-X). Returns every failure as a "teaching error": the official rule id, the business term (BT-/BG-) it constrains, what the regulation actually requires, and a concrete fix. REQUIRES AN API KEY and costs 1 document against the monthly quota — call issue_api_key first if you do not have one. For explaining a rule id you already have, use explain_rule instead: it is free.
validate_invoice_xml
read-only
xml*