Erreur CII-DT-097 : une date n'est pas écrite au format AAAAMMJJ
Message d'origine
[CII-DT-097] - Date time string with format attribute 102 shall be YYYYMMDD.
Autres formulations selon le format ou le profil
[CII-DT-097]-Date time string with format attribute 102 shall be YYYYMMDD.
Ce message est celui des règles officielles, reproduit tel quel. Les codes BT et BG désignent les données de la norme EN 16931.
Ce que vérifie la règle
En syntaxe CII, celle de Factur-X, une date s'écrit dans une balise udt:DateTimeString accompagnée de l'attribut format="102". Ce code annonce une date de huit chiffres, sans séparateur : l'année, le mois, puis le jour.
La règle est enfreinte quand la valeur de la balise ne suit pas ce format. Le message technique et l'emplacement indiquent la date en cause : date de la facture, d'échéance, de livraison.
Causes fréquentes
- La date est écrite avec des tirets (2026-11-30), comme en syntaxe UBL.
- La date est écrite à la française (30/11/2026 ou 30112026).
- La valeur contient aussi une heure.
Comment corriger
- Écrivez la date sur huit chiffres, dans l'ordre année, mois, jour : 20261130 pour le 30 novembre 2026.
- Si le défaut touche toutes vos factures, il vient du paramétrage de l'export : signalez-le à l'éditeur du logiciel.
Exemple
Une facture datée du 30 novembre 2026.
XML fautif
<ram:IssueDateTime> <udt:DateTimeString format="102">2026-11-30</udt:DateTimeString> </ram:IssueDateTime>
XML corrigé
<ram:IssueDateTime> <udt:DateTimeString format="102">20261130</udt:DateTimeString> </ram:IssueDateTime>
L'exemple est en syntaxe CII, celle de Factur-X, réduit aux balises utiles. Cette règle ne concerne que la syntaxe CII. En UBL, une date s'écrit au format AAAA-MM-JJ.
Où s'applique cette règle
La règle figure dans les jeux de règles officiels suivants, exécutés par le validateur :
- EN 16931, syntaxe CII
- Factur-X EXTENDED
- EXTENDED-CTC-FR, syntaxe CII