API Factur-X : valider une facture électronique en une requête
Envoyez un PDF Factur-X ou un XML, recevez le verdict et chaque erreur en JSON, avec les règles officielles de la réforme et des autres pays. Le même moteur que le site, pour contrôler chaque facture avant de l'envoyer à la plateforme agréée.
Mis à jour le
Démarrer en deux minutes
- Ouvrez Mon espace et connectez-vous avec votre e-mail (lien de connexion, sans mot de passe).
- Créez une clé API. Sans abonnement, elle donne 30 appels par mois pour essayer.
- Envoyez votre facture :
curl -X POST "https://verifier-factur-x.com/api/v1/valider?regles=auto" \ -H "Authorization: Bearer vfx_votre_cle" \ -H "Content-Type: application/pdf" \ --data-binary @facture.pdf
En JavaScript (Node 18+ ou navigateur) :
const r = await fetch("https://verifier-factur-x.com/api/v1/valider", {
method: "POST",
headers: { Authorization: "Bearer " + process.env.VFX_CLE },
body: await fs.promises.readFile("facture.xml"),
});
const resultat = await r.json();
if (resultat.verdict === "non-conforme") {
for (const e of resultat.erreurs.filter((e) => e.gravite === "bloquant")) console.log(e.code, e.titre);
}En Python :
import requests
with open("facture.pdf", "rb") as f:
r = requests.post("https://verifier-factur-x.com/api/v1/valider",
headers={"Authorization": "Bearer vfx_votre_cle"}, data=f)
print(r.json()["verdict"])La réponse
Toujours un JSON, même pour une facture non conforme : verdict, resume, la liste erreurs (code de règle, gravité, titre en français, message officiel, emplacement, correction, fiche explicative), la facture lue et les versions exactes des règles appliquées. Les en-têtes x-quota-limite et x-quota-restant donnent votre consommation du mois.
{
"verdict": "non-conforme",
"resume": "3 règles françaises ne sont pas respectées : la facture sera refusée…",
"syntaxe": "CII",
"profil": { "code": "EN16931", "libelle": "EN 16931", "identifiant": "urn:cen.eu:en16931:2017", "reforme": "admis" },
"regles_appliquees": "FR",
"erreurs": [
{
"code": "BR-FR-10",
"identifiant": "BR-FR-10_BT-30",
"gravite": "bloquant",
"etape": "france",
"titre": "SIREN du vendeur absent ou mal codé",
"message_officiel": "[BR-FR-10/BT-30] …",
"correction": "Déclarez le SIREN (9 chiffres) avec le schéma 0002…",
"emplacement": "Vendeur › Immatriculation (BT-30)",
"occurrences": 1,
"bloquante_le": "2026-10-01",
"fiche": "https://verifier-factur-x.com/erreurs/…"
}
],
"facture": { "numero": "F2026-0042", "date": "2026-09-23", "totalTTC": "1200.00", … },
"composants": ["Paquet FNFE-MPE v1.4.0.04 (04/09/2026)", "…"],
"duree_ms": 412
}Formats et règles
Le format est reconnu automatiquement : Factur-X et ZUGFeRD (PDF/A-3), CII et UBL EN 16931 avec les règles françaises BR-FR, messages de statut CDAR, XRechnung, Peppol BIS 3.0, NLCIUS, CIUS-RO, UBL.BE, FatturaPA, Facturae, ebInterface, KSeF FA(3) et Finvoice. Le paramètre regles force un jeu de règles pour les factures EN 16931 : FR, DE (XRechnung), PEPPOL, NL, RO, BE ou EN16931 seule. Détail : formats internationaux, versions des règles.
Quotas
| Offre | Appels API par mois | Plans de correction IA |
|---|---|---|
| Gratuit (compte) | 30 | — |
| Pro | 1 000 | 300 |
| Cabinet et éditeur | 10 000 | 1 500 |
Au-delà, ou pour une licence annuelle avec facture et bon de commande : demandez un devis.
Gratuit
0 € sans compte
- Une analyse détaillée par jour : toutes les erreurs expliquées, extrait XML et correction
- Ensuite, le verdict et les deux premières erreurs de chaque facture
- Factur-X, UBL, CII, XRechnung, Peppol, FatturaPA, KSeF…
- API : 30 appels par mois pour essayer
Pass 24 heures
4,90 € TTC (4,08 € HT), une fois
- Analyses détaillées illimitées pendant 24 heures
- Plan de correction par IA (30 analyses) : causes regroupées, XML corrigé, e-mail prêt pour votre éditeur
- Rapport de conformité PDF daté pour chaque facture
- Vérification par lots (PDF, XML, ZIP) avec export CSV
4,08 € HT · paiement par carte sur la page sécurisée de Stripe · facture avec TVA sur demande. Vente réservée aux professionnels : payer vaut acceptation des conditions générales de vente.
Le plus choisi par les entreprises
Pro
19 € HT (22,80 € TTC) par mois
- Tout le pass, sans limite de durée
- 300 plans de correction IA par mois
- API de validation : 1 000 appels par mois
- Sur tous vos appareils, sans engagement, résiliation en un clic
19 € HT · paiement par carte sur la page sécurisée de Stripe · facture avec TVA sur demande. Vente réservée aux professionnels : payer vaut acceptation des conditions générales de vente. Sans engagement, résiliable en ligne.
Cabinet et éditeur
49 € HT (58,80 € TTC) par mois
- 10 000 appels API par mois, pour contrôler chaque facture avant envoi
- 1 500 plans de correction IA par mois
- Rapports PDF au nom de votre cabinet
- Sans engagement
49 € HT · paiement par carte sur la page sécurisée de Stripe · facture avec TVA sur demande. Vente réservée aux professionnels : payer vaut acceptation des conditions générales de vente. Sans engagement, résiliable en ligne.
Plus de volume, paiement par virement, bon de commande, licence annuelle ? Cabinets, éditeurs et structures publiques : devis sous deux jours ouvrés.
Demander un devisQuestions fréquentes
Les factures envoyées à l'API sont-elles conservées ?
Non. Le fichier est validé en mémoire puis oublié à la fin de la requête ; ni la facture ni le résultat ne sont enregistrés. Nous gardons seulement un compteur d'appels par mois et par compte, pour le quota.
Les résultats sont-ils identiques à ceux du site ?
Oui : l'API exécute exactement le même moteur et les mêmes règles officielles que l'outil en ligne. Au lancement, le 23 septembre 2026, les deux donnaient le même verdict et les mêmes erreurs sur 228 factures d'exemple sur 228, françaises et étrangères.
Une facture non conforme renvoie-t-elle une erreur HTTP ?
Non. Une facture analysée renvoie toujours 200, avec le verdict et la liste des erreurs. Les codes 4xx signalent un problème d'appel : clé absente (401), fichier trop gros (413), quota atteint (429).
Et si le service ne répond pas ?
L'appel renvoie 502 et n'est pas décompté de votre quota. Réessayez après quelques secondes ; pour un traitement en masse, enchaînez les appels plutôt que de les lancer tous en même temps.
Votre facture passe-t-elle ? Une analyse détaillée offerte chaque jour, avec les règles officielles, dans votre navigateur.
Vérifier une facture