Dans ce chapitre de notre manuel, nous vous montrons comment générer des factures PDF conformes à ZUGFeRD (Factur-X) à l’aide de notre imprimante PDF.

L’application principale est notre imprimante PDF, car elle permet de générer des fichiers PDF/A-3b en tant que base pour des documents PDF conformes à ZUGFeRD. Cette spécification PDF constitue la base permettant de joindre d'autres fichiers à des documents PDF – dans le cas de ZUGFeRD, ce sont des fichiers XML.

7-PDF Printer et 7-PDF Attach Extract & Remove

Voici comment se déroule l’ajout de ce que l’on appelle des factures XML (eInvoices) à des fichiers PDF : 7-PDF Printer imprime d’abord le document de facture PDF/A-3b requis au format PDF 1.7, puis avec 7-PDF Attach Extract and Remove (PDFAttachExtractAndRemoveFiles.exe), notre logiciel de gestion des pièces jointes dans les fichiers PDF, nous joignons (attach) le fichier de facture XML souhaité au PDF. 7-PDF Attach Extract and Remove peut être utilisé de manière classique par une interface utilisateur (GUI), mais aussi comme application console (mode CLI) pour l'automatisation. C’est précisément cette option que nous allons utiliser. Grâce au framework VBScript de 7-PDF Printer, nous programmons une macro de quelques lignes qui exécute automatiquement PDFAttachExtractAndRemoveFiles.exe via une commande console et joint le fichier XML de la facture électronique directement lors de l’impression du document PDF ZUGFeRD. La macro et tous les autres fichiers nécessaires se trouvent dans le tableau de téléchargement tout en bas de cette page.

7-PDF Invoice Extractor – Service d’analyse basé sur l’IA

Avec notre nouveau service d’analyse basé sur l’IA, 7-PDF Invoice Extractor, vous pouvez convertir vos factures PDF classiques créées dans Word ou Excel, ou issues d’anciens systèmes ERP ou d’autres systèmes/applications (DMS), en factures électroniques ZUGFeRD valides (conformes à la norme DIN EN 16931), et ce sans logiciel supplémentaire complexe. La solution est entièrement intégrée à 7-PDF Attach Extract and Remove à partir de la version 2.0. La fonction « Facture PDF vers PDF ZUGFeRD » est disponible dans l’onglet du même nom dans 7-PDF Attach Extract and Remove. Cette partie de la programmation est également incluse dans la macro VBScript. Cela signifie que nous pouvons générer automatiquement, et avec le soutien de l’IA, des factures ZUGFeRD au format PDF à partir de (presque) toutes les applications de facturation ! Nous allons maintenant vous illustrer en détail les étapes nécessaires à cette solution esquissée.

La capture d’écran suivante est fournie à titre purement informatif et montre les paramètres possibles pour contrôler l’outil d’attachement PDF "7-PDF Attach Extract and Remove" en mode CLI via PDFAttachExtractAndRemoveFiles.exe comme application console :

Exécuter PDFAttachExtractAndRemoveFiles.exe dans l’invite de commande Windows 11 en tant qu’application console
Exécuter 7-PDF Attach Extract and Remove dans l’invite de commande Windows 11 en tant qu’application console. Utilisez le paramètre /? pour afficher l’aide du programme

Utiliser "7-PDF Attach Extract and Remove" avec 7-PDF Printer

Pour imprimer désormais automatiquement des factures PDF conformes à ZUGFeRD avec notre imprimante PDF 7-PDF Printer, l’application PDFAttachExtractAndRemoveFiles.exe doit d’abord être installée. Cette installation est automatiquement effectuée par notre macro ZUGFeRD.vbs. En tant que plug-in, l’application est ensuite exécutée de manière "cachée/hidden" lors de l’impression des données de facture par 7-PDF Printer afin d’attacher le fichier XML de la facture de manière conforme.

Créer automatiquement un PDF ZUGFeRD avec 7-PDF Printer

Si PDFAttachExtractAndRemoveFiles.exe est disponible en tant qu’application plug-in via l’installation (ce qui est fait automatiquement), nous avons encore besoin de la macro ZUGFeRD.vbs nécessaire pour l’impression entièrement automatisée de fichiers PDF conformes à ZUGFeRD avec 7-PDF Printer.

Vous trouverez dans le tableau de téléchargement ci-dessous une archive ZIP nommée PlugIn_ZUGFeRD_7PDF_Printer.zip qui contient cette macro ainsi que d’autres fichiers nécessaires. Comme d’habitude avec notre imprimante PDF, la macro ZUGFeRD.vbs doit être placée dans le dossier Macros. Copiez donc le fichier VBS dans ce répertoire.

La macro ZUGFeRD.vbs doit être placée dans le dossier Macros de 7-PDF Printer
La macro ZUGFeRD.vbs doit être placée dans le dossier Macros de 7-PDF Printer. Le script VB est fourni gratuitement par nos soins.

Après l’impression du document de facture PDF/A-3b requis, la macro appelle automatiquement PDFAttachExtractAndRemoveFiles.exe et ajoute automatiquement le fichier XML de facture conforme à ZUGFeRD correspondant à la facture imprimée. Le service basé sur l’IA 7-PDF Invoice Extractor fournit le fichier XML de facture valide requis.

La macro ZUGFeRD.vbs doit être placée dans le dossier Macros de 7-PDF Printer
La ligne vraiment importante ici est celle marquée (flèche rouge) dans le script VB. C’est ici que PDFAttachExtractAndRemoveFiles.exe est appelé par 7-PDF Printer en mode caché (Hidden Mode) avec tous les paramètres nécessaires pour attacher le fichier XML. Le chemin peut devoir être adapté sous les versions plus anciennes de Windows.

Impression de facture simulée

À titre d’exemple de simulation d’impression de facture, nous utilisons simplement l’exemple de facture ci-dessous (également disponible en téléchargement). Pour ce test ou exemple, l’impression se fait depuis MS Word. Nous souhaitons d’abord vérifier si la génération de PDF ZUGFeRD fonctionne techniquement.

Ensuite, vous pouvez utiliser votre propre modèle de facture Word ou Excel et continuer à tester notre 7-PDF Invoice Extractor en détail. Ou bien vous envoyez un travail d’impression de facture depuis votre ancien système ERP, qui ne prend peut-être pas encore en charge le format PDF ZUGFeRD, vers notre imprimante PDF et 7-PDF Invoice Extractor ?

Exemple de facture avec numéro de facture marqué en rouge
Exemple de facture avec numéro de facture marqué en rouge.
Remarque : l’exemple de facture est également disponible en téléchargement ci-dessous.

Lancer la simulation

Récapitulons : PDFAttachExtractAndRemoveFiles.exe est installé dans son chemin standard, ZUGFeRD.vbs est placé dans le répertoire Macros de 7-PDF Printer. Nous allons maintenant imprimer notre exemple de facture depuis Word avec l’imprimante 7-PDF Printer pour la simulation.

Exemple de facture avec numéro de facture marqué en rouge
Exemple de facture avec numéro de facture marqué en rouge.

La boîte de dialogue d’impression de notre imprimante PDF s’affiche. Après avoir sélectionné l’emplacement d’enregistrement du fichier PDF/A-3b à créer, nous cliquons sur le bouton "Enregistrer".

Conseil : après avoir soumis le travail d'impression, il est préférable de réduire MS Word et, si nécessaire, toutes les autres fenêtres afin de pouvoir voir toutes les boîtes de dialogue de message de l'imprimante PDF lorsque vous l'exécutez pour la première fois. Si 7-PDF Printer doit installer des programmes supplémentaires tels que 7-PDF Attach Extract and Remove, il peut vous être demandé de soumettre à nouveau le travail d'impression. Cela ne se produit que lors de la configuration initiale et est tout à fait normal. Vous devez également confirmer la notification unique indiquant que les données de facture sont transférées à nos services de validation et de génération. Les données sont supprimées de notre serveur immédiatement après le traitement et transférées en utilisant la sécurité SSL !

La boîte de dialogue d’impression de 7-PDF Printer apparaît
La boîte de dialogue d’impression de 7-PDF Printer apparaît

Le résultat

Le résultat est un document de facture au format PDF/A-3b avec un fichier XML conforme à ZUGFeRD annexé, comme le montre clairement Adobe Acrobat Reader.

Facture PDF conforme ZUGFeRD dans Adobe Acrobat Reader
Facture PDF conforme ZUGFeRD dans Adobe Acrobat Reader

Notre solution : le validateur 7-PDF

Validateur 7-PDF de facture électronique en tant qu'application de bureau

Mais le résultat est-il vraiment valide ? Le fichier XML ZUGFeRD (factur-x.xml) contient-il vraiment toutes les données de facturation pertinentes ? C’est ici que notre outil entre en jeu : il permet la vérification des factures électroniques aux formats XRechnung et PDF ZUGFeRD. Le contrôle de vos factures entrantes et sortantes s’effectue selon le schéma DIN EN 16931. De plus, le validateur vérifie si le document de facture électronique est conforme aux règles de TVA et peut donc être légalement accepté par vous ou par le destinataire de votre facture.

Points particulièrement importants :

  • Le document PDF doit être conforme à la norme PDF/A-3 (archivage à long terme).
  • Le fichier XML de la facture électronique doit être correctement intégré. (Remarque : notre outil 7-PDF Attach Extract and Remove intègre les factures XML de manière conforme dans un document PDF/A-3.)

Validation automatique et manuelle

Notre validateur vérifie toutes ces exigences automatiquement en mode console (CLI) et fournit des retours d’information adaptés auxquels vous ou notre imprimante PDF pouvez réagir. Pour une intégration facile, nous avons déjà intégré le validateur dans notre macro ZUGFeRD.vbs. Si nécessaire, il est installé et configuré automatiquement sur votre système. Vous pouvez également vérifier les factures électroniques manuellement via l’interface utilisateur.

Configuration et utilisation de nos services en ligne

Lors de la configuration, vous serez invité à accepter la génération et la validation via nos services en ligne. Pour cet exemple, vous pouvez confirmer par "Oui".

Remarque importante pour une utilisation en production :

Si vous souhaitez utiliser le Invoice Extractor et le Validator en production, veuillez noter que vos données de facturation sont transmises à nos deux services en ligne pour la génération/validation XML. Ces services sont hébergés sur un serveur situé en Allemagne (STRATO).

🔒 Sécurité et protection des données :

  • Vos données ne sont stockées, traitées et vérifiées que pendant la durée de la génération et de la validation.
  • Ensuite, elles sont automatiquement supprimées.
  • La transmission est exclusivement cryptée SSL.

Dans la capture d’écran suivante, la ligne de code VBScript déclenchant le processus de validation est mise en évidence.

La macro ZUGFeRD.vbs doit être placée dans le dossier Macros de 7-PDF Printer
Ligne importante dans le script VB. Ici, SevenPDFValidator.exe est exécuté par 7-PDF Printer en mode caché (Hidden Mode) avec tous les paramètres nécessaires à la validation de la facture électronique.

Retour automatique dans l’imprimante PDF

Si votre facture électronique n’est pas valide, notre imprimante PDF affichera un message d’avertissement approprié. Cela se produit parce que le code de sortie du validateur n’était pas 0 (OK), mais 1 (Erreur).

📌 Informations supplémentaires & téléchargement

Vous êtes intéressé par notre validateur de facture électronique 7-PDF ? Vous trouverez plus d’informations sur la page produit :

👉 Accéder au validateur de facture électronique 7-PDF !

Si vous êtes intéressé par l’utilisation de notre validateur ou souhaitez obtenir plus d’informations sur notre outil, vous pouvez consulter la page produit du validateur 7-PDF via ce lien.

La boîte de dialogue d’impression de 7-PDF Printer apparaît
La boîte de dialogue d’impression de 7-PDF Printer apparaît

Seule une instance spécifique de l'imprimante PDF doit générer des documents PDF ZUGFeRD

7-PDF Printer prend en charge l'installation de plusieurs instances d’imprimantes PDF via le paramètre de configuration /PRINTERNAME="[NOM DÉSIRÉ DE L’IMPRIMANTE PDF]". Pour chaque instance, des paramètres PDF distincts peuvent être définis. Toutefois, les macros telles que ZUGFeRD.vbs sont placées globalement dans le dossier des macros et s’appliquent en principe à chaque instance d’imprimante installée. En d'autres termes, la programmation affecte chaque instance basée sur 7-PDF Printer.

Mais dans le code VBScript, il est possible d'interroger la variable PrinterName (ligne 15), et ainsi d’exécuter le code du fichier ZUGFeRD.vbs uniquement pour une instance spécifique. Dans l’extrait de code ci-dessous, il s’agit de l’instance standard nommée "7-PDF Printer". Tout le code est simplement placé dans une condition IF VBScript. Ainsi, le traitement ZUGFeRD ne s’exécute que lorsqu'une impression est effectuée via 7-PDF Printer.

Le code ZUGFeRD est exécuté uniquement via l’imprimante 7-PDF Printer
Les documents ZUGFeRD ne sont créés que via l’instance d’imprimante 7-PDF Printer.

Vérifiez le pilote d'impression

En plus d'une installation classique en tant qu’application de bureau ou installation locale, 7-PDF Printer peut aussi être configurée en tant qu’imprimante PDF réseau. Le paramètre d’installation correspondant est /SHARE.

Après avoir configuré l’imprimante comme imprimante PDF réseau, il peut être nécessaire de modifier le pilote sélectionné pour 7-PDF Printer (comme illustré dans la capture ci-dessous) afin de générer correctement les documents PDF ZUGFeRD. Pour des raisons de compatibilité, un pilote Postscript du système d’exploitation est parfois utilisé. Mais pour ZUGFeRD, un accès direct aux données d’impression est requis, ce qui n’est possible que si l’instance réseau (dans la capture nommée "PDF-EXP-Prt") utilise le pilote 7-PDF Printer. Il est donc important de vérifier que l’instance d’imprimante utilise bien le bon pilote.

Le bon pilote doit être utilisé pour ZUGFeRD !
Pour ZUGFeRD, le bon pilote 7-PDF Printer doit être utilisé !

Remarque : À partir de Windows 10, vous devez désactiver temporairement le partage d’imprimante avant de modifier le pilote, sinon un message d’erreur du système peut apparaître.

Conclusion

Imprimer des factures électroniques est vraiment facile grâce à nos composants logiciels, 7-PDF Printer en tant que fournisseur PDF/A3, 7-PDF Attach Extract and Remove en tant qu'interface avec notre service 7-PDF Invoice Extractor pris en charge par l'IA et notre validateur de factures électroniques 7-PDF pour la validation. Même avec Word, Excel ou des programmes de facturation et des solutions ERP existants qui ne sont peut-être pas encore « adaptés » à la facturation électronique, « l'exigence de facturation électronique » peut être mise en œuvre.

Versions ZUGFeRD et Factur-X 1.0 prises en charge

PDFAttachExtractAndRemoveFiles.exe prend en charge l’annexion de fichiers XML déjà conformes à ZUGFeRD selon la norme européenne EN 16931. Cela inclut ZUGFeRD versions 1.0, 2.0, 2.1 ainsi que Factur-X 1.0 (France). ZUGFeRD est l’abréviation de "Zentraler User Guide des Forums elektronische Rechnung Deutschland" – un format pour l’échange de factures électroniques.

Joindre d'autres types de fichiers à un PDF/A-3b

En mode bureau, notre outil 7-PDF Attach Extract and Remove – Version 1.0.0.174 (PDFAttachExtractAndRemoveFiles.exe) permet d’ajouter non seulement des fichiers XML, mais aussi d’autres types de fichiers valides à un document PDF/A-3b. Par exemple : *.pdf, *.docx, *.xlsx, *.pptx, *.rtf, etc. L’outil prend en charge l’annexion de ces fichiers en mode graphique (GUI) mais aussi en ligne de commande (CLI), ce qui peut s’avérer très utile pour automatiser vos processus de facturation électronique !

Top