Pipeline de validation
Chaque appel /api/v1/validate déclenche une suite de contrôles déterministes. Le fichier est d'abord inspecté (PDF/A-3 + XML embarqué), puis validé sur les schémas XSD et enfin sur les règles Schematron EN16931.
- Étape 1 — PDF/A-3 (veraPDF) pour garantir l'archivage long terme
- Étape 2 — XSD (structure, datatypes, cardinalités)
- Étape 3 — Schematron (règles métier BR-CO, BR-CL, BR-S, BR-Z et extensions nationales)
- Étape 4 — Détection du profil et conseils correctifs
Réponse API annotée
Notre API renvoie un JSON stable. Chaque erreur contient un code EN16931, un XPath et une suggestion humaine.
{
"valid": false,
"profile": "EN16931",
"errors": [
{
"code": "BR-CO-17",
"message": "Le montant TVA (BT-117) doit être égal au montant HT taxable (BT-116) × taux (BT-119) / 100, arrondi à 2 décimales.",
"field": "BT-117",
"severity": "error"
}
],
"warnings": [
{ "code": "BR-CO-26", "message": "Aucun identifiant vendeur trouvé (BT-29, BT-30 ou BT-31 requis).", "severity": "warning" }
],
"request_id": "fx_01J123ABCDEF"
} Profils Factur-X
Le validateur détecte automatiquement le profil en fonction des blocs renseignés. Cela permet d'imposer un niveau de données minimal et d'anticiper les retours Chorus Pro.
- Basic WL : facture simplifiée (moins de champs fiscaux)
- EN16931 : profil complet obligatoire pour Chorus Pro
- Extended : usage B2B spécifique (logistique, promotions)