En bref
- Les dates métier Factur-X CII utilisent
DateTimeString format="102"avec une valeurCCYYMMDD(yyyymmdd sur 8 chiffres, sans tirets). - Le code
102est défini dans UN/EDIFACT 2379 et correspond au formatCCYYMMDD. - Erreur la plus fréquente : export ISO 8601 (
2026-04-01) conservé tel quel au lieu de20260401. - S’applique à toutes les dates métier : émission, échéance, période.
- Réparable automatiquement par
/repair(conversion ISO 8601 → format 102).
Ce que l’erreur veut dire
Les dates dans Factur-X (basé sur CII / UN/CEFACT) utilisent un format spécifique : un attribut format qui désigne le standard EDIFACT ("102" = CCYYMMDD, soit yyyymmdd sur 8 chiffres consécutifs). La valeur ne doit PAS contenir de tirets, de slashs ni d’espace. C’est différent du format ISO 8601 (2026-04-01) que beaucoup d’ERP exportent par défaut.
Quand cette erreur arrive
Cause #1 : ERP exporte la date en ISO 8601 ; Cause #2 : format européen dd/mm/yyyy ou anglais mm/dd/yyyy ; Cause #3 : oubli de l’attribut format ou valeur non conforme — selon le champ et l’artefact utilisé, l’échec se produit dès la validation syntaxique / CII ; Cause #4 : confusion entre format="102" (date seule) et format="610" (mois calendaire YYYYMM).
Exemple XML qui déclenche l’erreur
<ram:IssueDateTime>
<udt:DateTimeString format="102">2026-04-01</udt:DateTimeString> <!-- ❌ tirets -->
</ram:IssueDateTime>
Exemple XML corrigé
<ram:IssueDateTime>
<udt:DateTimeString format="102">20260401</udt:DateTimeString>
</ram:IssueDateTime>
Correction manuelle
Convertir toute date ISO 8601 (YYYY-MM-DD) en YYYYMMDD avant export : '2026-04-01'.replace(/-/g, ''). Toujours déclarer format="102". S’applique à IssueDateTime (BT-2), DueDateDateTime (BT-9), BillingSpecifiedPeriod/StartDateTime (BT-73), OccurrenceDateTime (BT-72), etc.
Réparable automatiquement par /repair ?
Oui — l’endpoint /repair corrige automatiquement cette erreur dans la majorité des cas.
Et maintenant ?
Réparer mon Factur-X →
curl -X POST https://api.facturxapi.com/api/v1/repair \
-H "Authorization: Bearer VOTRE_CLE" \
-F "[email protected]"