Découvrez pourquoi votre facture électronique est rejetée

Déposez un PDF Factur-X ou un XML UBL/CII et voyez quelles règles fondamentales EN 16931 échouent, expliquées en langage clair avec le champ en cause. Gratuit, dans votre navigateur.

Factur-X ZUGFeRD XRechnung UBL 2.1 UN/CEFACT CII

Vrai résultat du moteur sur l'exemple invalide fourni, généré au moment du build. Rien n'est envoyé : la validation s'exécute dans votre navigateur.

Validateur gratuit

Vérifiez une facture en quelques secondes

Déposez un PDF Factur-X / ZUGFeRD ou une facture XML (UBL ou CII, y compris XRechnung). Nous extrayons le XML embarqué si nécessaire, détectons la syntaxe et vérifions les règles de gestion fondamentales d'EN 16931 : chaque échec est expliqué en langage clair avec sa référence BT. Tout s'exécute dans votre navigateur ; votre facture ne quitte jamais votre machine.

Déposez une facture ici ou cliquez pour choisir un fichier

.xml (UBL, CII, XRechnung) ou .pdf (Factur-X / ZUGFeRD), validé localement dans votre navigateur, rien n'est envoyé.

Pas de facture sous la main ? Essayez un exemple :

Aperçu de l'API

Le même moteur, depuis votre code bientôt disponible

Validez, générez et analysez Factur-X, XRechnung, UBL et CII sans toucher vous-même au XML ni au schematron. Ces endpoints sont en développement, les exemples ci-dessous constituent le contrat prévu. Rejoignez la liste d'attente pour un accès anticipé et le tarif de lancement.

POST /v1/validate bientôt disponible

Validez un PDF Factur-X ou un XML UBL/CII contre le jeu de règles EN 16931 complet (plus les règles CIUS XRechnung). Renvoie chaque règle en échec avec sa référence BT.

Requête
curl https://api.einvoicekit.com/v1/validate \
  -H "Authorization: Bearer eik_live_..." \
  -F "file=@invoice.pdf"
Réponse
{
  "valid": false,
  "syntax": "cii",
  "profile": "urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:en16931",
  "errors": [
    {
      "rule": "BR-CO-15",
      "bt": "BT-112",
      "message": "Total with VAT (115.00) should be 120.00",
      "path": "//ram:GrandTotalAmount"
    }
  ],
  "warnings": []
}
POST /v1/generate bientôt disponible

Construisez une facture électronique conforme à partir de simple JSON. Sortie en UBL, CII (XRechnung) ou PDF/A-3 Factur-X avec le XML embarqué.

Requête
curl https://api.einvoicekit.com/v1/generate \
  -H "Authorization: Bearer eik_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "format": "factur-x",
    "profile": "en16931",
    "invoice": {
      "number": "INV-2026-001",
      "issueDate": "2026-07-15",
      "currency": "EUR",
      "seller": { "name": "Acme SARL", "vatId": "FR40123456824",
                  "address": { "country": "FR" } },
      "buyer":  { "name": "Beispiel GmbH",
                  "address": { "country": "DE" } },
      "lines": [
        { "name": "Consulting", "quantity": 2,
          "unitPrice": 50.00, "vatRate": 20 }
      ]
    }
  }'
Réponse
{
  "id": "gen_9f2c1a",
  "format": "factur-x",
  "valid": true,
  "download": {
    "pdf": "https://api.einvoicekit.com/v1/files/gen_9f2c1a.pdf",
    "xml": "https://api.einvoicekit.com/v1/files/gen_9f2c1a.xml"
  }
}
POST /v1/extract bientôt disponible

Analysez toute facture électronique en JSON normalisé, la même structure que l'entrée soit UBL, CII ou un PDF Factur-X.

Requête
curl https://api.einvoicekit.com/v1/extract \
  -H "Authorization: Bearer eik_live_..." \
  -F "file=@invoice.xml"
Réponse
{
  "syntax": "ubl",
  "invoice": {
    "number": "INV-2026-001",
    "issueDate": "2026-07-15",
    "currency": "EUR",
    "seller": { "name": "Acme SARL", "vatId": "FR40123456824" },
    "buyer":  { "name": "Beispiel GmbH" },
    "totals": { "net": 100.00, "vat": 20.00, "due": 120.00 },
    "lines": [
      { "name": "Consulting", "quantity": 2, "net": 100.00 }
    ]
  }
}

L'API arrive

Le moteur de ce validateur, sous forme d'endpoints à appeler : validez, générez et analysez Factur-X, XRechnung, UBL et CII depuis votre propre code. Dites-nous ce que vous construisez et vous orientez ce qui sortira en premier.

Rejoignez la liste d'attente de l'API

Un seul e-mail à l'ouverture de l'API, avec le tarif de lancement. Pas de newsletter.