Factur-X est un standard de facture électronique qui offre à la fois une facture lisible au format PDF, et un fichier XML contenant les données de la facture nécessaires à son traitement informatisé.

 

Voici un rappel, avec le code utile, de tous les points importants pour la génération du PDF et du XML qu'il intègre. Le code se base sur l'exemple standard "WD Factur-X" proposé avec WINDEV 2025. L'exemple est accessible par le choix "Ouvrir un exemple".

 

1. Génération du PDF au format PDF/A-3b
Le type de génération du PDF est important, il est nécessaire que le PDF soit généré au format PDF/A-3b.

 

// Préparation de la création du PDF
PDFParams est un pdfParamètre
PDFParams.Protection = iPDFA3b
iParamètrePDF(PDFParams)
iDestination(iPDFGénérique,gsFichierFacture)


2. Importation des xsd dans le projet
Le projet doit contenir le xsd de description des données XML à générer pour la facture selon le profil (Minimum, Basic WLangage, Basic, EN 16931, Extended) choisi :


3. Génération du XML
La classe CDocumentFacturX de l'exemple permet de simplifier la création du document XML et de le valider :

 

// Déclaration du profil et association du vendeur
clFacturX est un CDocumentFacturX(PROFIL_MINIMUM)
clFacturX.stInfosVendeur = stInfosVendeur

// Génération du XML qui sera intégré à la facture
clFacturX.GénérationXMLFacture(stFacture)

// Validation et sauvegarde du XML au format Factur-X
clFacturX.ValideEtSauve(Vrai)


// Ajout des propriétés Factur-X
sPropriétésXMP est une chaîne = CDocumentFacturX.ProprietesFacturX(PROFIL_MINIMUM)
iDéfinitXMPSupplémentaire(sPropriétésXMP)


4. Ajout du XML dans le PDF

Pour la pièce jointe il est impératif de respecter les points suivants :

  • le nom du document XML est fixé par la norme Factur-X. Il doit être "factur-x.xml".
  • il faut indiquer que le XML en pièce jointe est la source des données présentées dans le PDF. Cela correspond à la valeur de AFRelationship dans le XML. C'est permis par la nouvelle constante RelationSource de la fonction iAjoutePièceJointe (disponible à partir de la version 2025). Elle permet de préciser la relation entre le document PDF et la pièce jointe.

iAjoutePièceJointe(sFichierXML, "factur-x", typeMimeTexteXML, RelationSource)
iImprimeEtat(ETAT_Facture)

 


5. Validation
Pour être sûr de la validité de la facture au format Factur-X et de son bon respect du standard, il est possible de faire valider le document :

  • créer un compte de validation sur le site https://services.fnfe-mpe.org/register.
  • envoyer un fichier PDF à valider sur le site.
    En cas d'erreur, les éléments manquants ou erronés seront indiqués.

Liens utiles sur le sujet :

 

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée