En bref
- Les identifiants d’organisation en CII utilisent un
schemeIDissu de la liste ISO 6523 ICD. 0002= SIREN.0009= SIRET.0088= GLN.0060= DUNS.- Pour le numéro de TVA (
BT-31) :schemeID="VA"surSpecifiedTaxRegistration/ID. - BT-84 (compte bancaire / IBAN) n’utilise PAS ce mécanisme — il passe par
IBANIDouProprietaryIDdédiés (voir l’article BT-84). - Réparable automatiquement par
/repairquand le format de la valeur est reconnaissable (14 chiffres = SIRET, 13 chiffres = GLN).
Ce que l’erreur veut dire
Plusieurs identifiants d’organisation dans Factur-X portent un attribut XML schemeID qui désigne le registre/standard d’identification. Cet attribut doit valoir un code ISO 6523 ICD (International Code Designator) valide. Sans schemeID ou avec un code inconnu, le validateur Schematron rejette le champ. Concerne : BT-29 (GlobalID, identifiant vendeur), BT-30 (SpecifiedLegalOrganization/ID, identifiant légal), BT-46 (identifiant acheteur), et BT-31 (VAT ID via SpecifiedTaxRegistration/ID avec schemeID="VA"). Note importante : BT-84 (compte bancaire IBAN) n’utilise PAS schemeID — il a ses propres éléments IBANID et ProprietaryID.
Quand cette erreur arrive
Très fréquent quand : (a) ERP qui exporte le SIRET en valeur seule sans schemeID="0009" ; (b) ERP qui invente un code maison comme schemeID="FR-SIRET" au lieu du code ISO ; (c) code GLN (logistique) confondu avec SIRET ; (d) tentative d’exposer l’IBAN via un GlobalID avec schemeID="IBAN" — mauvais mécanisme.
Exemple XML qui déclenche l’erreur
<ram:SellerTradeParty>
<ram:ID>78495023600015</ram:ID> <!-- ❌ pas de schemeID -->
<ram:GlobalID schemeID="FR-SIRET">78495023600015</ram:GlobalID> <!-- ❌ schemeID non-ISO -->
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="FR">FR12345678901</ram:ID> <!-- ❌ schemeID doit être "VA" -->
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
Exemple XML corrigé
<ram:SellerTradeParty>
<ram:GlobalID schemeID="0009">78495023600015</ram:GlobalID>
<ram:SpecifiedLegalOrganization>
<ram:ID schemeID="0002">784950236</ram:ID>
</ram:SpecifiedLegalOrganization>
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="VA">FR12345678901</ram:ID>
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
Correction manuelle
Utiliser les codes ISO 6523 ICD canoniques : 0002 SIREN, 0009 SIRET, 0088 GLN, 0060 DUNS. Pour le numéro de TVA : schemeID="VA". Ne JAMAIS inventer un code maison (FR-SIRET, FR-SIREN). Pour l’IBAN bancaire, voir l’article dédié BT-84 — mécanisme totalement différent.
Réparable automatiquement par /repair ?
Oui, sous conditions — l’endpoint /repair corrige automatiquement cette erreur quand les données structurées sont récupérables. Dans les cas ambigus, une décision humaine reste nécessaire.
Et maintenant ?
Réparer mon Factur-X →
curl -X POST https://api.facturxapi.com/api/v1/repair \
-H "Authorization: Bearer VOTRE_CLE" \
-F "file=@facture.xml"