| Règle | Gravité | Texte de KoSIT | Ce qui manque |
|---|---|---|---|
| BR-DE-2 | fatal | Die Gruppe "SELLER CONTACT" (BG-6) muss übermittelt werden. | Tout le bloc de contact du vendeur. |
| BR-DE-3 | fatal | Das Element "Seller city" (BT-37) muss übermittelt werden. | La ville de votre entreprise. |
| BR-DE-4 | fatal | Das Element "Seller post code" (BT-38) muss übermittelt werden. | Le code postal de votre entreprise. |
| BR-DE-5 | fatal | Das Element "Seller contact point" (BT-41) muss übermittelt werden. | Une personne ou un service de contact. |
| BR-DE-6 | fatal | Das Element "Seller contact telephone number" (BT-42) muss übermittelt werden. | Un numéro de téléphone. |
| BR-DE-7 | fatal | Das Element "Seller contact email address" (BT-43) muss übermittelt werden. | Une adresse e-mail. |
| BR-DE-27 | warning | In BT-42 sollen mindestens drei Ziffern enthalten sein. | Un téléphone comportant au moins trois chiffres. |
| BR-DE-28 | warning | In BT-43 soll genau ein @-Zeichen enthalten sein, welches nicht von einem Leerzeichen, einem Punkt, aber mindestens zwei Zeichen auf beiden Seiten flankiert werden soll. Ein Punkt sollte nicht am Anfang oder am Ende stehen. | Une adresse e-mail bien formée : un seul @, sans espace ni point juste à côté, et sans point au début ni à la fin. |
Les textes sont ceux du Schematron de XRechnung 3.0.2 (version v2.6.0 de KoSIT), en allemand tels que les renvoie le validateur. Parmi les règles d'EN 16931, aucune n'exige le contact du vendeur ; parmi celles de XRechnung, si. C'est pourquoi elles n'apparaissent que lorsque la facture est une XRechnung.

Les deux avertissements ne rejettent pas la facture
BR-DE-27 et BR-DE-28 ont une gravité warning dans le Schematron, et non fatal. Le rapport les affiche, mais une XRechnung qui ne comporte que ces deux avertissements reste valide. Il vaut quand même la peine de les corriger : un téléphone du type « - » ou un e-mail contenant des espaces proviennent généralement d'une fiche remplie trop vite.
Ce que vérifie Odoo avant la génération
La XRechnung fournie avec Odoo vérifie deux de ces règles sur la fiche de votre société avant de générer le fichier, selon la version :
- Odoo 17 : elle demande un téléphone ou un mobile, avec le message « At least one of the following fields %s is required on %s. », et l'e-mail, avec « The field %s is required on %s. ».
- Odoo 18 : par défaut, elle ne vérifie ni le téléphone ni l'e-mail. Cette vérification se trouve dans l'ancien exporteur, et Odoo 18 utilise le nouveau, sauf si le paramètre système account_edi_ubl_cii.use_new_dict_to_xml_helpers vaut False. Le nouveau n'écrit comme téléphone (BT-42) que le champ Téléphone : si votre société n'a qu'un numéro de mobile, la XRechnung sort sans téléphone et le validateur renvoie BR-DE-6.
- Odoo 19 et 20 : ils demandent le téléphone et l'e-mail, et le message indique « The field %(field)s is required on %(record)s. » avec le nom du champ et celui de votre société.
La ville, le code postal et le point de contact n'ont pas de vérification préalable de ce type dans aucune version. Si la fiche de votre société ne les contient pas, vous le découvrirez avec le validateur de votre client ou avec le vôtre.
Avec notre module XRechnung et ZUGFeRD
Le module écrit le bloc BG-6 avec le nom de votre société comme point de contact (BT-41), son téléphone (BT-42) et son e-mail (BT-43). Avant la génération, il vérifie le téléphone et l'e-mail de la société, ainsi que l'e-mail du client, avec un message pour chacun.

Sur Odoo 18, 19 et 20, avec l'abonnement à FlexigoTech Cloud, chaque XRechnung est validée avec les règles de KoSIT, et ce qui échoue reste sur la facture, dans Validation Errors, une ligne par règle avec son niveau. Seule la facture qui passe est marquée Ready to send. Sur Odoo 17, la version publiée génère la XRechnung mais ne la valide pas.
Ce qu'il faut renseigner
- Fiche de votre société : adresse, ville et code postal complets.
- Un téléphone avec l'indicatif pays et au moins trois chiffres, dans le champ Téléphone : un mobile ne compte que dans la XRechnung d'Odoo 17.
- Une adresse e-mail de facturation lue par quelqu'un, avec un seul @ et sans espace.
- Régénérez la XRechnung et vérifiez le résultat avant de l'envoyer.
À lire aussi
Vérifié dans le code du module (version 17.0 et 20.0) et dans les sources citées
Sources
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- Code du module : flexigo_germany_xrechnung 20.0 (446f2f68): lib/generators/ubl_generator.py
- Code du module : flexigo_germany_xrechnung 20.0 (446f2f68): models/xrechnung_cloud.py
- Code du module : flexigo_germany_xrechnung 20.0 (446f2f68): models/account_move.py
- Code du module : flexigo_germany_xrechnung 17.0 (ad05de8f): __manifest__.py
- github.com/itplr-kosit/xrechnung-schematron/releases/tag/v2.6.0
- github.com/OpenPEPPOL/peppol-bis-invoice-3/releases/tag/3.0.22
