Windev et Factur-X : générer vos factures électroniques en 3 étapes

L'échéance approche, il faudra au plus tard le 1ᵉʳ septembre 2027 pour les PME, passer à la facture électronique, en émission. Mais, avant, on vous demandera peut-être de fournir des factures au format Factur-X, surtout si vous travaillez avec de grandes entreprises. Si vous avez développé une application spécifique avec Windev pour générer des factures, vous devrez adapter votre application.

Le principe général, c'est de générer un fichier XML contenant les données de votre facture en l'intégrant dans votre impression PDF de votre facture. Toute la difficulté réside dans la génération du contenu XML qui doit respecter la norme, d'une part pour les informations qu'il doit contenir et d'autre part pour les calculs des données chiffrées fournies.

Voici en quelques étapes, comment procéder :

Étape 1  : récupérer un exemple de projet Windev

Le plus simple pour démarrer, c'est de partir d'un exemple. Il y a celui de PCSOFT, relativement récent, que l'on peut trouver dans la LST n°137. Cet exemple est programmé partiellement en objet et intègre dans le projet le fichier XSD de validation du XML joint au PDF de la facture électronique.

Il existe aussi des projets disponibles sur le dépôt de PCSOFT : https://bit.ly/4k6HNOK 

Personnellement, j'ai testé plusieurs exemples. Celui de la LST est très bien structuré et peut facilement être amélioré et adapté. C'est celui que je retiens pour les étapes à suivre.

Étape 2 : Faire fonctionner l'exemple sur des données exemples et l'adapter au profil EN16931

L'exemple de PCSOFT fonctionne pour le profil MINIMUM de Factur-X. Il faudra d'abord mettre à jour le XSD du projet en récupérant la dernière version sur le site du Forum National de la Facture Électronique et des Marchés Publics Électroniques (FNFE-MPE) : https://bit.ly/4hFhaic. Par la suite, penser à le mettre à jour régulièrement en fonction des évolutions de la norme, qui évolue souvent.

ATTENTION : il y a plusieurs pièges dans le fonctionnement de l'exemple. L'entête du fichier XML doit être adapté au profil EN16931, ainsi que le paramètre de création du fichier PDF. Le mieux c'est de vous référer à la documentation fournie par FNFE-MPE. Le document principal est le suivant : 1. FACTUR-X 1.07.2 2024 11 15 FR VF.pdf. Il faut absolument lire cette documentation pour comprendre comment générer le fichier XML.

Pour générer une facture valide, vous devrez rajouter les données minimales nécessaires pour le profil EN16931. Vous trouverez la liste des données minimales en consultant le fichier 3. FACTUR-X 1.07.2 - 2024 11 15 - EN FR VF.xlsx fourni par FNFE-MPE. Il faut prendre les lignes dont les cardinalités sont 1..1 ou 1..n.
Chaque donnée devra être affectée à un élément du fichier XML que vous trouverez décrit dans le fichier Excel. Pour vous faciliter la tâche, vous pouvez ouvrir un exemple de fichier XML validé (FNFE-MPE en fournit) avec un éditeur type VSCode et suivre à la lettre l'exemple.

Quand vous exécutez l'exemple, un premier contrôle est réalisé par rapport au schéma XSD. Vous devez renseigner les données du XML dans l'ordre exact prévu par le schéma. Ensuite, la validation complète doit être effectué avec un outil de test du fichier. Celui de FNFE-MPE est disponible à l'adresse suivante : https://bit.ly/3X8Erkh (vous devrez vous créer un compte sur le site FNFE-MPE).

Étape 3 : importer dans votre projet les éléments de l'exemple

Dans votre projet Windev (ou Webdev), vous devrez importer le schéma XSD, la classe CDocumentFacturX et la collection COL_FACTUR_X_BASE.

Vous pouvez créer une fonction de génération du fichier Factur-X à appeler juste avant votre impression en PDF de votre facture. Cette fonction contiendra tout le code nécessaire à la génération de la facture au format Factur-X de profil EN16931.

Vous devrez ensuite alimenter les éléments du fichier XML avec les données de votre facture. La mise au point nécessite de réaliser des tests de validation de votre facture. En effet, même si le format XML passe la première étape de la validation avec le schéma XSD, il faut passer la seconde étape de validation sur un outil dédié. Celui du FNFE-MPE est très bien, mais ne montre pas la facture décodée. Il existe d'autres outils plus intéressants. En voici 2 :
  • https://bit.ly/4174hq2 cet outil gratuit du site b2brouter vous affiche les erreurs de manière compréhensible et affiche la facture reconstituée à partir des données du XML
  • l'application QUBA Viewer (https://bit.ly/3EWWqnk) est une application à installer sur votre poste. Elle donne un résultat comparable à b2brouter, en local, mais dans certains cas donne des erreurs que b2brouter n'a pas vue.
Les erreurs sont toujours indiquées en faisant référence aux données du XML sous la forme de code BR-nnn ou BG-nnn. Je conseille de commenter votre code avec ces références pour pouvoir retrouver rapidement les éléments XML à corriger. En général, les messages d'erreurs indiquent la règle de calcul qui n'a pas été respectée en rappelant ces codes.

Si vous avez besoin d'aide pour générer vos factures électroniques, n'hésitez pas à nous contacter sur info@sealog.info.

Commentaires