Dans ce chapitre de notre manuel, nous vous montrerons comment créer des factures PDF conformes à ZUGFeRD (France Factur-X) avec notre imprimante PDF.

L'application principale est, comme toujours, notre imprimante PDF, car elle offre la génération de fichiers PDF/A-3b comme base pour les documents PDF conformes à ZUGFeRD. Cette spécification PDF est la base pour joindre des fichiers supplémentaires aux documents PDF, dans le cas de ZUGFeRD, il s'agit de fichiers XML.

7-Outil PDF Attach Extract and Remove (ZUGFeRD)

Le processus d'ajout de ce que l'on appelle des pièces jointes aux fichiers PDF est le suivant : 7-PDF Printer imprime d'abord le document PDF/A-3b requis au format PDF 1.7, et notre logiciel PDFAttachExtractAndRemoveFiles.exe, qui est utilisé ici comme une application plug-in. Et ajoute enfin la pièce jointe souhaitée au document PDF/A-3b précédemment imprimé.

L'outil "7-PDF Attach Extract and Remove PDF Tool" »" (PDFAttachExtractAndRemoveFiles.exe), comme nous appelons officiellement notre logiciel, et peut être téléchargé ici sur cette page téléchargé séparément de la configuration de l'imprimante PDF et pour la génération de PDF ZUGFeRD (eInvoices) peut être installé et utilisé en conjonction avec notre imprimante PDF. L'outil vous aide également à joindre d'autres fichiers pertinents pour la facture, tels que les conditions générales, les confirmations de commande, etc. à la facture électronique PDF après sa génération. Cela vaut donc la peine d'examiner l'outil de plus près !

7-PDF Attach Extract and Remove PDF Tool -> PDFAttachExtractAndRemoveFiles.exe démarré en tant qu'application de bureau
7-PDF Attach Extract and Remove PDF Tool -> PDFAttachExtractAndRemoveFiles.exe démarré en tant qu'application de bureau

« PDFAttachExtractAndRemoveFiles.exe » comme application de bureau ou de console

"PDFAttachExtractAndRemoveFiles.exe", l'outil d'extraction et de suppression de 7-PDF Attach, est une application hybride spéciale, c'est-à-dire qu'elle peut être utilisée comme une pure application de bureau (double-cliquez sur PDFAttachExtractAndRemoveFiles. exe ), mais offre également une Console et un Mode caché pour l'exécution cachée et entièrement automatique du programme. Vous pouvez également utiliser l'application via une boîte DOS ou dans l'invite de commande Windows comme une application DOS.

La capture d'écran suivante montre les paramètres possibles pour contrôler le programme en tant qu'application console:

Exécutez PDFAttachExtractAndRemoveFiles.exe dans l'invite de commande Windows 11 en tant qu'application console
Exécutez PDFAttachExtractAndRemoveFiles.exe dans l’invite de commande Windows 11 en tant qu’application console. Le paramètre /? fournit de l'aide pour le programme

Cependant, la condition préalable pour joindre avec succès des fichiers à des documents PDF est que votre PDF soit conforme à la norme PDF/A-3b et à la version 1.7. Comme déjà décrit, ce format peut être généré par notre imprimante PDF.

Utilisez "PDFAttachExtractAndRemoveFiles.exe" avec 7-PDF Printer comme plug-in

Pour imprimer des factures PDF conformes à ZUGFeRD de manière entièrement automatique avec notre imprimante PDF 7-PDF Printer, l'application PDFAttachExtractAndRemoveFiles.exe doit d'abord être installé devenir. La capture d'écran suivante montre l'exécution de la configuration de notre outil et le chemin d'installation standard. En tant que plug-in, l'application est appelée ultérieurement par 7-PDF Printer lors de l'impression de la facture et s'exécute en mode caché par défaut.

Après l'installation, PDFAttachExtractAndRemoveFiles.exe peut être utilisé comme une application plug-in directement depuis notre imprimante PDF.
Après l'installation, PDFAttachExtractAndRemoveFiles.exe peut être utilisé comme une application plug-in directement depuis notre imprimante PDF.

Créez automatiquement un PDF ZUGFeRD avec l'imprimante 7-PDF

Si PDFAttachExtractAndRemoveFiles.exe est copié dans le répertoire d'installation en tant qu'application plug-in, nous avons besoin de la macro ZUGFeRD.vbs pour la création entièrement automatique de fichiers PDF compatibles ZUGFeRD avec 7-PDF Imprimante.

Vous trouverez une archive ZIP nommée PlugIn_ZUGFeRD_7PDF_Printer.zip dans le tableau de téléchargement ci-dessous, qui contient cette macro et d'autres fichiers requis. Comme d'habitude avec notre imprimante PDF, la macro ZUGFeRD.vbs appartient au dossier Macros. Copiez donc le fichier VBS dans ce répertoire.

La macro ZUGFeRD.vbs doit être placée dans le dossier macros de l'imprimante 7-PDF.
La macro ZUGFeRD.vbs doit être placée dans le dossier macros de l'imprimante 7-PDF.

Après avoir imprimé le document PDF/A-3b requis, la macro appelle automatiquement PDFAttachExtractAndRemoveFiles.exe et joint automatiquement le fichier de facture XML compatible ZUGFeRD correspondant à la facture au PDF imprimé.

La macro ZUGFeRD.vbs doit être placée dans le dossier macros de l'imprimante 7-PDF.
La ligne vraiment importante est l’avant-dernière ligne de la macro de script VB. Ici, PDFAttachExtractAndRemoveFiles.exe est appelé par l'imprimante 7-PDF en mode caché et tous les paramètres nécessaires pour joindre le fichier XML. Le chemin devra peut-être être ajusté pour les anciennes versions de Windows.

Impression de facture simulée

À titre d’exemple de simulation, nous utilisons l’exemple de calcul suivant (téléchargeable ci-dessous). Pour ce test ou exemple, l'impression est effectuée à partir de Word, normalement l'impression est effectuée à partir d'un système ERP ou d'un système de gestion des stocks vers l'imprimante 7-PDF.

Exemple de facture avec le numéro de facture marqué en rouge
Exemple de facture avec le numéro de facture marqué en rouge.
Note: L'exemple de calcul est également disponible en téléchargement ci-dessous.

Le numéro de facture est marqué en rouge dans le document de facturation pour votre commodité, car cette partie des données d'impression extrait la macro ZUGFeRD.vbs placée ci-dessus pour créer le fichier XML ZUGFeRD adapté à l'impression données générées par le système ERP précédemment stockées sous C:\einvoices vers PDFAttachExtractAndRemoveFiles.exe afin qu'il joigne le XML au fichier PDF/A-3b généré. Il y a donc un fichier XML compatible ZUGFeRD dans ce répertoire avec le nom 2021-09-1911.xml

Dans l'archive ZIP mentionnée ci-dessus avec le nom PlugIn_ZUGFeRD_7PDF_Printer.zip (téléchargeable via le tableau de téléchargement ci-dessous), vous trouverez également un répertoire zippé einvoices qui devrait vous permettre d'utiliser notre exemple pour pouvoir y jouer vous-même.


L'ERP a préalablement stocké les données XML ZUGFeRD pour chaque facture dans ce répertoire à titre d'exemple. Le nom du fichier est le même que le numéro de facture des données d'impression et est extrait par la macro ZUGFeRD.vbs et transmis à notre PDFAttachExtractAndRemoveFiles.exe.

Démarrer la simulation

Nous notons : PDFAttachExtractAndRemoveFiles.exe est installé dans son chemin par défaut, ZUGFeRD.vbs est stocké dans le répertoire Macros de 7-PDF Imprimante et le répertoire einvoices sont décompressés directement sous C:\. Ensuite, nous imprimons notre exemple de calcul à partir de Word sur l'imprimante 7-PDF pour la simulation.

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

Le dialogue d'impression de notre imprimante PDF s'affiche, nous appuyons sur le bouton "Enregistrer" après avoir sélectionné l'emplacement du fichier PDF/A-3b à créer.

Le dialogue d'impression de l'imprimante 7-PDF apparaît.
Le dialogue d'impression de l'imprimante 7-PDF apparaît.

Le résultat

Le résultat est une facture PDF/A-3b à laquelle est joint un fichier XML conforme à la norme ZUGFeRD, comme le montre de manière impressionnante Acrobat Reader d'Adobe.

Facture PDF conforme au ZUGFeRD dans Acrobat Reader
Facture PDF conforme au ZUGFeRD dans Acrobat Reader

Seule une instance spéciale de l'imprimante PDF peut imprimer les documents PDF de ZUGFeRD.

7-PDF Printer prend en charge l'installation de plusieurs instances d'imprimantes PDF via le paramètre de configuration /PRINTERNAME=" [REQUIRED PDF PRINTER NAME]". Des réglages PDF différents peuvent alors être effectués pour chaque instance d'imprimante. Cependant, les macros telles que ZUGFeRD.vbs sont placées globalement dans le dossier des macros, et s'appliquent en fait à chaque instance d'imprimante installée. En langage clair, la programmation affecte chaque instance d'imprimante basée sur l'imprimante 7-PDF.

Cependant, vous pouvez interroger la variable PrinterName (ligne 15) dans le code VB Script, et ainsi fournir le code ZUGFeRD.vbs uniquement pour une instance d'imprimante spécifique. Dans l'extrait de code ci-dessous, il s'agit dans ce cas de l'instance d'imprimante PDF par défaut portant le nom familier de "7-PDF Printer". Ici, l'ensemble du code a été simplement mis entre crochets dans une condition IF de VBScript. Le code pour les documents ZUGFeRD n'est donc exécuté que si une impression a été effectuée via l'imprimante 7-PDF.

Ainsi, le code pour les documents ZUGFeRD n'est exécuté que si une impression a été effectuée via l'imprimante 7-PDF.
Les documents ZUGFeRD sont uniquement créés via l'instance d'imprimante 7-PDF Printer.

Faites attention au pilote d'imprimante

7-PDF Printer peut être installé en tant qu'imprimante réseau PDF en plus d'une installation classique en tant qu'application de bureau ou d'une installation d'imprimante PDF locale (standard). Le paramètre d'installation pour cela est /SHARE.

Après l'installation comme imprimante réseau PDF, il peut être nécessaire de changer le pilote d'imprimante sélectionné après l'installation en 7-PDF Printer, comme indiqué dans la capture d'écran ci-dessous, pour créer des documents PDF ZUGFeRD. Pour une meilleure compatibilité, un pilote Postscript du système d'exploitation peut être utilisé. Dans le cas de ZUGFeRD, cependant, nous avons besoin d'un accès direct aux données d'impression, et cela n'est possible que si l'instance d'imprimante réseau PDF (dans la capture d'écran "PDF-EXP-Prt") est exploitée sous le pilote d'imprimante "7-PDF Printer". Vous devez donc vous assurer que l'instance de l'imprimante utilise également le bon pilote d'imprimante.

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

Remarque: à partir de Windows 10, vous devez désactiver temporairement le partage d'imprimante pour la durée du changement de pilote, sinon vous recevrez un message d'erreur du système d'exploitation.

Conclusion

L'exemple de simulation présenté ici extrait les informations d'impression via la macro-programmation ZUGFeRD.vbs fournie. La programmation stockée attend une mise en page qui correspond à l'exemple de fichier de facture de Word.

Pour vos besoins, la macro ZUGFeRD.vbs devra peut-être être adaptée. Avec un peu de VB Script ou de connaissances en programmation sous Visual Basic, la programmation fournie ici peut être adaptée assez rapidement. Si vous n'avez pas d'expérience en programmation, nous pouvons également vous offrir le savoir-faire correspondant. Il suffit de nous contacter via Formulaire de support, nous serons heureux de vous aider et d'essayer de réaliser vos exigences.

Versions ZUGFeRD prises en charge et Factur-X 1.0

PDFAttachExtractAndRemoveFiles.exe prend en charge la pièce jointe de documents XML déjà conformes à la norme européenne EN 16931. Cela inclut les versions ZUGFeRD 1.0, 2.0, 2.1 ainsi que Factur-X 1.0 (France). L'abréviation ZUGFeRD signifie "Zentraler User Guide des Forums elektronische Rechnung Deutschland" et est un format pour l'échange de documents de facturation électronique.

Joindre d'autres types de fichiers au format PDF/A-3b

Dans le mode bureau de nos 7-PDF Attach Extract and Remove Tools Version 1.0.0.174 (PDFAttachExtractAndRemoveFiles.exe), vous pouvez extraire des documents conformes au format PDF/A-3b non seulement les documents XML mais aussi tous les autres types de fichiers valides tels que *.pdf, *.docx, *.xlsx, *.pptx, *.rtf etc. L'outil prend en charge la pièce jointe de ces fichiers en mode GUI normal mais aussi en le mode CLI, c'est à dire via Console et peut être très utile pour automatiser vos processus de facturation électronique !

Top