Valider une facture

Le validateur gratuit eConnect : vérifiez si votre XML est conforme aux normes UBL, BIS Billing et NLCIUS.

Avant d'envoyer une e-facture, vous souhaitez vous assurer que le fichier XML est techniquement correct. Le validateur eConnect contrôle votre facture sur les schémas XML, les règles Schematron et les validations spécifiques par pays. L'outil est disponible gratuitement en tant que validateur en ligne.

Que vérifie le validateur ?

Le validateur eConnect effectue plusieurs contrôles sur votre fichier d'e-facture :

Validation du schéma XML. La structure de base du fichier est-elle correcte ? Tous les éléments XML obligatoires sont-ils présents et correctement imbriqués ?

Validation Schematron. La facture respecte-t-elle les règles métier du profil choisi ? Pensez aux règles de calcul de TVA, aux champs obligatoires et aux listes de codes.

Contrôle du profil. Le système reconnaît automatiquement quel profil suit votre facture (BIS Billing V3, NLCIUS, PINT, XRechnung) et applique les règles de validation correspondantes.

Règles spécifiques par pays. Des règles de validation supplémentaires s'appliquent par pays. Pour les Pays-Bas, ce sont les règles NL-R, pour l'Allemagne les règles DE-R, pour le Danemark les règles DK-R, etc. Le validateur les applique automatiquement en fonction du code pays dans la facture.

Formats supportés

Le validateur supporte tous les formats d'e-factures courants :

FormatDescriptionPeppol BIS Billing V3Le standard Peppol pour les factures et notes de créditNLCIUS / SI-UBL 2.0L'implémentation néerlandaise de EN 16931PINT (toutes variantes)Peppol International Invoice (EU, A-NZ, Japon, Singapour, Malaisie, EAU)XRechnungImplémentation allemandeCII (Cross-Industry Invoice)Syntaxe XML alternative, y compris Factur-X
Comment utiliser le validateur ?

Le validateur en ligne est disponible sur /fr/validator. Vous n'avez pas besoin de créer un compte.

  1. Ouvrez le validateur de documents.
  2. Téléchargez votre fichier XML ou collez le contenu XML.
  3. Le validateur reconnaît automatiquement le format et applique les règles appropriées.
  4. Consultez le résultat : par règle, vous voyez si le contrôle a réussi, génère un avertissement ou contient une erreur.

En cas d'erreurs, le validateur fournit le code d'erreur exact, une description du problème et l'emplacement dans le fichier XML (XPath). Vous savez ainsi précisément ce qu'il faut corriger.

Interpréter les erreurs

Le validateur donne trois types de messages :

  • Erreur (error) : la facture ne respecte pas la spécification et sera rejetée sur le réseau Peppol. Vous devez corriger cela avant l'envoi.
  • Avertissement (warning) : la facture ne sera pas rejetée, mais il y a un point d'attention. Les avertissements peuvent devenir obligatoires dans une future version.
  • Informatif : une remarque sans conséquence sur l'envoi.

Les codes d'erreur courants commencent par un préfixe indiquant le domaine : PEPPOL- pour les règles Peppol générales, NL-R- pour les règles néerlandaises, BR- pour les règles de base de EN 16931. La description de l'erreur indique toujours le comportement attendu.

Erreurs de validation courantes pour les notes de crédit

Lors de l'envoi d'une note de crédit, certaines erreurs de validation spécifiques reviennent régulièrement. L'erreur apparaît au niveau Peppol (pour les envois via API, par exemple sous la forme [API400.AT04] Invalid payload). Par règle, la cause et la solution :

Code d'erreurCauseSolutionBR-IC-02 (EN 16931 : BR-IC-2)Ligne de facture (BG-25) avec catégorie de TVA Intra-community supply / K (BT-151) sans party-VAT obligatoire : seller VAT (BT-31) ou seller tax representative VAT (BT-63), et buyer VAT (BT-48). Ne pointe pas vers un numéro de ligne précis ; données manquantes dans les détails de la partie.Renseignez seller VAT (ou tax rep) et buyer VAT avec préfixe pays, sans espaces/points. Vérifiez toutes les lignes avec catégorie K.BR-IC-11Pour une livraison intracommunautaire (catégorie de TVA « Intra-community supply »), la date de livraison BT-72 est manquante.Renseignez la date de livraison réelle (BT-72, cac:Delivery/cbc:ActualDeliveryDate), ou indiquez une période de facturation (BG-14). L'un des deux est obligatoire.BR-IC-12Pour une livraison intracommunautaire, le code pays BT-80 de l'adresse de livraison est manquant.Renseignez le code pays « deliver to » (BT-80, cac:Delivery/cac:DeliveryLocation/cac:Address/cac:Country/cbc:IdentificationCode) avec un code ISO 3166-1 alpha-2.BR-27Le prix unitaire de l'article (PriceAmount, BT-146) est négatif (« Item net price shall NOT be negative » ; entre autres, Maventa/Peppol signale ceci comme « XML Invalid »).Le prix unitaire doit toujours être positif. Non désactivable -- ce n'est pas un paramètre de tenant eConnect, c'est une règle EN 16931/Peppol. Créditez via une quantité négative (TypeCode 380) ou via le schéma CreditNote (381, prix et quantité positifs). Corrigez l'export dans le logiciel source ; renvoyer le même XML ne résout pas BR-27. Voir aussi Variantes de note de crédit et auto-facturation.NL-R-001La référence de facture obligatoire est manquante sur une note de crédit d'un fournisseur NL.Renseignez cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID avec le numéro de la facture d'origine. Obligatoire pour les notes de crédit. Voir aussi Variantes de note de crédit.

BR-IC-11 et BR-IC-12 sont des règles de base EN 16931 qui ne s'appliquent que lorsque la note de crédit contient une catégorie de TVA intracommunautaire ; elles ne se produisent pas pour les livraisons nationales.

Erreurs de validation pour les périodes de facture et de ligne

Une facture peut contenir une période à deux niveaux : une période de facture au niveau du document (BG-14) et une période de ligne par ligne de facture (BG-26, pour les services récurrents ou les abonnements au niveau de la ligne). Lorsque les deux sont utilisées, Peppol exige que chaque période de ligne se situe dans la période de facture englobante. Les erreurs suivantes apparaissent si cette condition n'est pas respectée :

Code d'erreurMessageCauseSolutionPEPPOL-EN16931-R110Start date of line period MUST be within invoice period.La date de début d'une période de ligne (BT-134) est antérieure à la date de début de la période de facture (BT-73).Assurez-vous que BT-134 (cac:InvoiceLine/cac:InvoicePeriod/cbc:StartDate) est égale ou postérieure à la date de début de la période de facture BT-73 (cac:InvoicePeriod/cbc:StartDate au niveau du document).PEPPOL-EN16931-R111End date of line period MUST be within invoice period.La date de fin d'une période de ligne (BT-135) est postérieure à la date de fin de la période de facture (BT-74).Assurez-vous que BT-135 (cac:InvoiceLine/cac:InvoicePeriod/cbc:EndDate) est égale ou antérieure à la date de fin de la période de facture BT-74 (cac:InvoicePeriod/cbc:EndDate au niveau du document).BR-30If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134).La date de début (BT-134) et la date de fin (BT-135) d'InvoiceLinePeriod sont toutes deux présentes, et BT-135 est antérieure à BT-134.Renseignez des dates valides (YYYY-MM-DD) : date de fin supérieure ou égale à la date de début. Si aucune période de ligne n'est nécessaire, omettez tout le bloc cac:InvoiceLine/cac:InvoicePeriod (BG-26), pas seulement les dates. Un champ de date vide ou invalide compte toujours comme présent. Renseignez au moins la date de début ou de fin si le groupe est utilisé (BR-CO-20).

Le contrôle sous-jacent de R110 consiste à vérifier que la date de début de la période de ligne est égale ou postérieure à la date de début de la période de facture. Si l'erreur persiste alors que la période de ligne semble correcte, vérifiez si le problème se situe au niveau du document : soit la période de facture (BT-73) est fixée trop tard, soit la période de ligne est involontairement plus large que prévu. Les deux périodes doivent s'englober mutuellement : la période de facture constitue la limite extérieure, chaque période de ligne doit s'y inscrire.

BR-30 (EN 16931) est une règle différente de R110/R111 : R110/R111 vérifient si la période de ligne se situe dans la période de facture, tandis que BR-30 vérifie uniquement l'ordre de deux dates de période de ligne présentes (BT-135 supérieure ou égale à BT-134).

Règles de période supplémentaires pouvant survenir dans le même contexte :

  • BR-CO-19 / BR-CO-20 : si une période de facture (BG-14) ou une période de ligne (BG-26) est utilisée, au moins la date de début ou la date de fin doit être renseignée (l'une des deux suffit, les deux sont également autorisées).
  • PEPPOL-EN16931-F001 : toutes les dates doivent être au format YYYY-MM-DD.

Ces règles s'appliquent aussi bien aux factures (ubl:Invoice) qu'aux notes de crédit (ubl:CreditNote).

Validation lors de l'envoi

En plus du validateur manuel, la plateforme eConnect effectue également une validation automatique au moment de l'envoi. Si une facture ne répond pas aux exigences, l'envoi est bloqué et vous recevez un message d'erreur avec la règle de validation concernée.

Pour les utilisateurs de l'API : la PSB valide chaque facture au moment de la soumission et retourne les résultats de validation dans la réponse API. Vous pouvez ainsi intégrer la validation dans votre propre processus logiciel.

Suivre les nouvelles versions

Les règles de validation sont mises à jour à chaque nouvelle version de la spécification Peppol BIS Billing. eConnect met à jour les artefacts Schematron et les listes de codes dès qu'une nouvelle version devient obligatoire. Le validateur en ligne valide toujours par rapport à la version en vigueur.

Conseil : après une mise à jour de la spécification, vérifiez si vos factures sont toujours valides. De nouvelles règles peuvent imposer des exigences plus strictes sur des champs qui étaient auparavant optionnels.

Questions fréquentes
Que faire si ma facture contient une erreur lors de la validation ?

Pour chaque erreur, le validateur affiche le code d'erreur exact, une description du problème et l'emplacement dans le fichier XML (XPath). Les erreurs doivent être corrigées avant l'envoi, sinon la facture sera rejetée sur le réseau Peppol. Les avertissements sont des points d'attention mais ne bloquent pas l'envoi.

Quels formats le validateur peut-il contrôler ?

Le validateur supporte Peppol BIS Billing V3, NLCIUS/SI-UBL 2.0, toutes les variantes PINT, XRechnung et CII (Cross-Industry Invoice, y compris Factur-X). Le format est détecté automatiquement lors du téléchargement de votre fichier XML.

Ma facture est-elle également validée automatiquement lors de l'envoi ?

Oui. La plateforme eConnect effectue automatiquement une validation au moment de l'envoi. Si une facture ne répond pas aux exigences, l'envoi est bloqué avec un message d'erreur. Les utilisateurs de l'API reçoivent les résultats de validation dans la réponse API.


Vous souhaitez consulter des fichiers d'exemple pour vérifier la structure de votre propre XML ? Téléchargez des fichiers d'exemple.

Validez votre facture

Articles connexes