Le XML Factur-X : structure et profils
Le fichier factur-x.xml est la partie de la facture que lisent les machines. Comprendre son organisation aide à interpréter les erreurs de validation.
Une syntaxe : UN/CEFACT Cross Industry Invoice
Factur-X n’a pas inventé son propre XML. Il utilise la syntaxe CII (Cross Industry Invoice) de l’UN/CEFACT, l’une des deux syntaxes retenues par la norme européenne EN 16931. L’élément racine est rsm:CrossIndustryInvoice et le document s’organise en trois blocs :
ExchangedDocumentContext: le contexte, dont l’identifiant du profil ;ExchangedDocument: le numéro, le type et la date de la facture, les notes ;SupplyChainTradeTransaction: les lignes, puis les blocs accord (vendeur, acheteur), livraison et règlement (TVA, totaux, paiement).
L’ordre des éléments est imposé par le schéma. Un élément juste mais mal placé provoque une erreur de validation XSD.
Les cinq profils et leur identifiant
Le profil est déclaré dans GuidelineSpecifiedDocumentContextParameter/ID (terme BT-24). C’est cette valeur qui détermine le schéma et les règles appliqués.
| Profil | Identifiant (BT-24) | Contenu |
|---|---|---|
| MINIMUM | urn:factur-x.eu:1p0:minimum | En-tête et totaux seulement. |
| BASIC WL | urn:factur-x.eu:1p0:basicwl | Données d’en-tête et de pied, sans lignes. |
| BASIC | urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic | Sous-ensemble de la norme, avec lignes. |
| EN 16931 | urn:cen.eu:en16931:2017 | La norme européenne complète. |
| EXTENDED | urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended | La norme et des données supplémentaires. |
MINIMUM et BASIC WL ne contiennent pas toutes les mentions d’une facture : ils servent surtout à l’aide à la saisie comptable. Pour une facture électronique complète, visez BASIC au minimum, EN 16931 de préférence.
BT et BG : le vocabulaire des erreurs
La norme EN 16931 nomme chaque donnée par un terme métier : BT (Business Term) pour une valeur, BG (Business Group) pour un bloc. BT-1 est le numéro de facture, BT-2 sa date, BT-27 le nom du vendeur, BT-112 le total TTC, BG-23 la ventilation de TVA. Les règles portent des identifiants du même type : BR-02 exige la présence de BT-1, BR-CO-15 vérifie que le total TTC est égal au total HT plus la TVA.
Ces codes sont identiques dans tous les outils et tous les pays. Les citer à votre éditeur de logiciel lève toute ambiguïté.
Formats à respecter
- Dates :
AAAAMMJJavec l’attributformat="102". - Montants : point décimal, deux décimales au plus pour les totaux, sans séparateur de milliers.
- Codes : devise ISO 4217, pays ISO 3166-1, unités UN/ECE Rec. 20, type de document UNTDID 1001 (380 pour une facture, 381 pour un avoir).
- Pas de déclaration
DOCTYPE: elle est inutile et refusée par les validateurs sérieux.
Un doute sur un fichier ? Le contrôle est gratuit et le fichier n’est pas conservé.
Vérifier une facture