Valider XRechnung : validateur KoSIT, erreurs Schematron et leur signification
Comment le validateur KoSIT vérifie les XRechnungen, ce que signifient les erreurs Schematron et comment automatiser le contrôle.

Le validateur KoSIT est le logiciel de référence qui vous permet de vérifier qu'une XRechnung est réellement conforme aux normes avant qu'elle n'arrive chez le destinataire ou ne soit rejetée par un service d'approvisionnement public. Il combine une vérification par rapport au schéma XML avec des règles Schematron de la spécification XRechnung et signale les erreurs structurelles ainsi que les violations de contenu contre la logique de facturation. Quiconque génère des XRechnungen à partir d'une facturation propre ou d'un workflow d'automatisation devrait planifier cette vérification avant l'envoi, et non pas seulement quand une facture revient. Statut : août 2026.
Que vérifie vraiment le validateur KoSIT ?
Le validateur KoSIT selon sa propre documentation, parcourt plusieurs étapes : il reconnaît le format XML existant, valide le fichier par rapport au schéma XML et aux règles Schematron, génère un rapport individuel et calcule un statut d'acceptation. Le validateur ne fournit pas lui-même les véritables règles de vérification, mais une configuration séparée, le soi-disant fichier de scénario. Pour XRechnung, c'est la configuration du validateur XRechnung, qui regroupe les règles Schematron d'EN16931 et l'extension CIUS allemande XRechnung ainsi que les schémas XML appropriés pour les factures UBL et UN/CEFACT. Sans cette configuration, le validateur ne vérifie rien, il est volontairement construit comme un outil générique.
Comment démarrer une vérification via la ligne de commande ?
Vous appelez le validateur en tant que programme Java et lui transmettez la configuration du scénario ainsi que le fichier à vérifier. Concrètement, cela signifie :
- Appel : java -jar validator-Version-standalone.jar -s Szenario-Konfigurationsdatei -r Repository-Pfad Dateiname, optionnellement avec d'autres paramètres.
- Aide : Le paramètre --help affiche toutes les options disponibles directement dans le terminal.
- Alternatives : Le validateur peut également être intégré en tant que bibliothèque Java dans vos propres logiciels ou exploité en mode démon avec une interface HTTP, via le paramètre -D.
Pour un workflow d'automatisation, le mode démon est particulièrement intéressant car la vérification peut alors être intégrée dans un pipeline via un appel HTTP, au lieu de démarrer un nouveau processus à chaque fois.
Qu'est-ce qui distingue les erreurs de schéma des erreurs Schematron ?
Une erreur de schéma signifie que le fichier XML ne correspond pas à la structure prescrite, par exemple un champ obligatoire manque complètement ou un élément se trouve au mauvais endroit. Ce sont généralement des erreurs techniques difficiles qui doivent être corrigées avant toute vérification de contenu. Une erreur Schematron, en revanche, signifie que le fichier est structurellement valide, mais viole une règle métier de la spécification XRechnung, par exemple un calcul de somme qui ne s'équilibre pas, ou un taux fiscal qui ne correspond pas à la catégorie choisie. Les deux types d'erreurs se retrouvent dans le même rapport XML et contribuent ensemble au statut d'acceptation final que le validateur émet à la fin.
Comment automatiser la vérification avant l'envoi ?
Le plus fiable est une vérification qui s'exécute automatiquement avant qu'une facture ne quitte même pas l'entreprise. Dans un workflow n8n, cela peut être mis en œuvre en envoyant la XRechnung-XML générée par une requête HTTP à une instance du validateur en cours d'exécution en mode démon et en évaluant le rapport retourné avant que l'étape d'envoi ne commence. Si la vérification échoue, le workflow s'arrête et signale l'erreur à la comptabilité, au lieu d'envoyer une facture invalide. C'est exactement ce type d'étapes de vérification et d'approbation préalables qui fait partie des automatisations que nous mettons en place chez NordFlux pour les clients disposant de leur propre facturation.
Questions fréquemment posées sur la validation de XRechnung
La vérification avec le validateur KoSIT suffit-elle comme seul contrôle avant l'envoi ?
Oui, pour la conformité technique et métier selon EN16931 et XRechnung-CIUS, car c'est précisément pour cela que le validateur est conçu. Cependant, il ne vérifie pas si les données métier contenues, telles que les coordonnées bancaires ou la description des services, sont correctes en termes de contenu, cela reste votre responsabilité.
Ai-je besoin d'une configuration séparée pour chaque type de facture ?
Oui, la configuration du scénario est liée au format respectif. Pour XRechnung, vous utilisez la configuration du validateur XRechnung, pour d'autres manifestations d'EN16931 comme ZUGFeRD, il existe d'autres fichiers de configuration correspondants avec leurs propres règles Schematron.
Puis-je utiliser le validateur sans connaissances en Java ?
Les connaissances de base de la ligne de commande suffisent pour un simple appel par rapport à des fichiers individuels, vous n'avez pas besoin d'un environnement de développement Java pour cela. Pour l'intégration dans un workflow automatisé, par exemple via le mode démon, une compréhension technique des appels HTTP est utile.
Que se passe-t-il si les règles Schematron changent ?
Les règles Schematron de XRechnung suivent un versioning sémantique : les versions majeures apportent des changements de règles incompatibles, les versions mineures étendent le contenu valide comme les nouvelles listes de codes, et les versions de patch corrigent les erreurs rétro-compatibles. Il est judicieux de garder un œil sur la version de configuration utilisée et de tester à nouveau les workflows de validation existants lors des changements de version majeure.
NordFlux UG (haftungsbeschränkt)
NordFlux construit des employés numériques pour les organisations : des automatisations et des agents KI qui prennent en charge le travail répétitif. Vous gardez le contrôle.
Des questions concrètes sur l’automatisation ou l’IA ?
Lors d’une analyse initiale gratuite, nous discutons directement de votre cas. Sans engagement.