Le wedge produit

Le repair engine Factur-X qui manquait à votre pipeline

Votre ERP produit un XML imparfait ou un PDF dégradé ? On diagnostique champ par champ, on répare ce qui est récupérable, on trace chaque correction. Pas d'IA hallucinante — des règles déterministes EN16931.

Le problème que personne ne résout publiquement

Valider, convertir, transporter : tous les acteurs savent le faire. Le vide du marché est sur l'étape d'entre-deux : le document reçu est presque bon mais pas tout à fait conforme. Les outils existants échouent en silence ou rejettent tout. Nous, on répare.

❌ Outils classiques
  • — "Validation failed" sans indication du champ
  • — Rejet complet pour une erreur récupérable
  • — Pas de distinction entre erreur fatale et erreur réparable
  • — Logs applicatifs illisibles pour le support
✅ Repair engine
  • — Diagnostic machine-readable par champ (BT-XX)
  • — Classification : récupérable vs bloquant
  • — Correction appliquée uniquement si déterministe
  • normalizations_applied[] dans la réponse pour audit

Ce qu'on répare automatiquement

Règles déterministes, aucune inférence statistique. Chaque correction est traçable.

Codes d'unité non conformes UN/ECE Rec 20

Déterministe

"For" (VISIOpaie), "Forfait", "pièce", "jour"… ces codes cassent la règle Schematron BR-CL-23. On les normalise vers le code UN/ECE valide correspondant (C62, H87, DAY, HUR, …).

unitCode="For"unitCode="C62" // logged in normalizations_applied

Source de vérité embarquée ignorée

Déterministe

Votre PDF Factur-X contient déjà un XML CII structuré, mais votre outil re-parse le texte visuel et perd de l'information ? Notre pipeline détecte et privilégie le XML embarqué (source_type=embedded_xml) avant toute extraction texte ou OCR.

Incohérences arithmétiques mineures (BR-CO-10, BR-CO-15)

Réparable conditionnel

Écart de 0,01 € entre HT + TVA et TTC à cause d'un arrondi : on recalcule et on aligne. Au-delà d'un écart significatif : diagnostic renvoyé, pas de correction silencieuse.

Champs profils EN16931 manquants mais inférables

Réparable conditionnel

TypeCode manquant pour une facture standard (380), profil Factur-X non déclaré dans les métadonnées PDF, GuidelineSpecifiedDocumentContextParameter absent. Si déterministe : on complète. Sinon : diagnostic.

Métadonnées PDF/A-3 non conformes

Déterministe

XMP manquant, Relationship incorrect, AFRelationship absent : le packager Ghostscript + post-traitement corrige la structure pour passer les 146 règles veraPDF.

Ce qu'on ne répare pas (franchise)

On ne réparera jamais ce qui nécessite une décision métier. Dans ces cas-là, on renvoie un diagnostic clair avec le champ concerné, pour que votre produit puisse demander l'info à l'utilisateur.

🚫
SIRET / numéro de TVA manquant ou invalide

Donnée de référentiel, vérifiable mais pas inférable.

🚫
IBAN du vendeur absent

Information de paiement sensible, jamais inventée.

🚫
Adresse de l'acheteur structurellement absente

Obligatoire EN16931. Diagnostic renvoyé avec suggestion de zone de saisie.

🚫
Taux de TVA incohérent avec le pays

On signale mais on ne corrige pas — pourrait masquer une fraude ou une erreur de catégorisation métier.

🚫
Lignes de facturation entièrement absentes

Pas de reconstruction depuis le texte sans source structurée fiable.

Traçabilité audit-ready

Chaque appel à l'API retourne la liste exacte des normalisations appliquées. Vous pouvez rejouer, auditer, contester, versionner.

POST /api/v1/convert — réponse (extrait)
{
  "conversionSuccessful": true,
  "extraction": {
    "sourceType": "embedded_xml",
    "pipelinePath": "embedded_xml",
    "normalizationsApplied": [
      "unitCode: \"For\" → \"C62\" (BR-CL-23)",
      "pdfa3: added AFRelationship=Data"
    ]
  },
  "validation": {
    "valid": true,
    "stages": {
      "pdfA3": "pass",
      "facturX": "pass",
      "xsd": "pass",
      "schematron": "pass"
    }
  }
}

Aucun contenu PII (numéros clients, montants, noms) n'est loggé côté serveur. Seules les métadonnées techniques sont conservées pour observabilité.

Coût : sur les plans payants, un appel /repair consomme 2 crédits. Une /convert qui inclut le repair en consomme 5 à 15 selon le PDF source. Voir le pricing détaillé.

Prêt à tester sur votre cas réel ?

Déposez un PDF ou un XML. En moins d'une seconde, vous voyez le diagnostic, les corrections appliquées, et le résultat conforme.