{"id":1669,"date":"2025-04-03T18:50:20","date_gmt":"2025-04-03T16:50:20","guid":{"rendered":"https:\/\/www.lvbprint.de\/?p=1669"},"modified":"2025-05-23T18:57:10","modified_gmt":"2025-05-23T16:57:10","slug":"zugferd-rechnungen-aus-word-erzeugen","status":"publish","type":"post","link":"https:\/\/www.lvbprint.de\/en\/2025\/04\/03\/zugferd-rechnungen-aus-word-erzeugen\/","title":{"rendered":"ZUGFeRD Rechnungen aus Word Dateien erzeugen"},"content":{"rendered":"<h2>Inhalt<\/h2>\n<p>Dieser Artikel zeigt verschiedene M\u00f6glichkeiten auf, wie man g\u00fcltige ZUGFeRD Rechnungen aus Word Dokumenten frei erstellen kann.<\/p>\n<h2>Einf\u00fchrung f\u00fcr die Erstellung von ZUGFeRD Rechnungen aus Word<\/h2>\n<p>Zum Ausprobieren laden Sie am besten dieses <a href=\"https:\/\/www.lvbprint.de\/files\/zugferd\/latest\/ZUGFeRDComposer.zip\" target=\"_blank\" rel=\"noopener\">Archiv<\/a> herunter und entpacken es in ein Verzeichnis <em>&#8222;C:\\ZUGFeRDComposer&#8220;<\/em>, so dass Verzeichnisse wie <em>&#8222;C:\\ZUGFeRDComposer\\Bin&#8220;<\/em> entstehen.<\/p>\n<p>Im Unterverzeichnis <em>&#8222;Examples&#8220;<\/em>\u00a0 befinden sich die hier referenzierten Beispiele sowie diverse Hilfedateien.<br \/>\nWeitere Details zum Composer finden Sie <a href=\"https:\/\/www.lvbprint.de\/zugferd_xrechnung_factur-x\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>:<\/p>\n<p>Im Internet gibt es inzwischen eine Vielzahl von Angeboten zur Erstellung digitaler Rechnungen. Meistens sind daf\u00fcr jedoch spezielle Dokumente erforderlich oder Sie m\u00fcssen die Daten online eingeben und die Rechnung herunterladen. Dabei vertrauen Sie dem Anbieter Ihre Daten an. In diesem Artikel erfahren Sie, wie Sie mit dem <a href=\"https:\/\/www.lvbprint.de\/zugferd_xrechnung_factur-x\/\" target=\"_blank\" rel=\"noopener\">ZUGFeRD-Composer<\/a> und ggf. <a href=\"https:\/\/www.lvbprint.de\/printmulti-gleichzeitig-drucken\/\" target=\"_blank\" rel=\"noopener\">PrintMulti<\/a> aus Ihren Lieblingsdokumenten rechtskonforme digitale Rechnungen erstellen. Was mit Word\/Excel funktioniert, klappt vermutlich auch mit Libre-Office Anwendungen.<\/p>\n<p>Dieser Artikel konzentriert sich auf die Microsoft Anwendungen. Es ist ein Libre-Writer Beispiel enthalten, das mit PrintMulti oder \u00fcber die Zwischenablagem\u00f6glich verwendet werden kann.<\/p>\n<p>Um die dauernde Wiederholung der Begriffe ZUGFeRD, XRechnung und Factur-X zu verhindern, verwendet dieser Artikel folgende Abk\u00fcrzungen in der angezeigten Farbe.<\/p>\n<ul>\n<li><em>PDF<\/em> : Allgemein das PDF Format<\/li>\n<li><span style=\"color: #0000ff;\"><em>_pdf_<\/em><\/span>\u00a0: Das ist die Basis PDF\/A3 Datei die zur Einbettung von digitalen Rechnungen verwendet wird.\n<ul>\n<li>Sie k\u00f6nnen diese durch Speichern des Dokuments in Word oder Libre-Writer erzeugen<\/li>\n<li>Durch Drucken auf einen geeigneten PDF Drucker wie den im PrintMulti Beispiel verwendeten PDF-Architect (da gen\u00fcgt die freie Version)<\/li>\n<li>Oder ggf. aus Ihrer Anwendung durch eine der vielen Bibliotheken.<\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #0000ff;\"><em>_PDF_<\/em><\/span> : Das entspricht dem ZUGFeRD Format also ein PDF\/A3 mit eingebetteter digitialer Rechnung<\/li>\n<li>XML : Allgemein das XML Format<\/li>\n<li><span style=\"color: #0000ff;\">_XML_<\/span> : Digitale Rechnung im XML Format. Daf\u00fcr gibt es verschiedene Normen und Formate wie z.B. <a href=\"https:\/\/www.treuz.de\/2024\/12\/31\/10-zugferd-oder-xrechnung-ubl-oder-cii\/\" target=\"_blank\" rel=\"noopener\">CII und UBL<\/a>. Der Composer kann \u00fcber Kommandozeile oder eine Konfigurationsdatei alle m\u00f6glichen Formate erzeugen sofern die zugrundeliegende Bibliothek <a href=\"https:\/\/github.com\/stephanstapel\/ZUGFeRD-csharp\" target=\"_blank\" rel=\"noopener\">ZUGFeRD-csharp<\/a> sie unterst\u00fctzt (Denken Sie ggf. auch daran, den Autor dieser Bibliothek zu unterst\u00fctzen).<\/li>\n<\/ul>\n<h2>Die verschiedenen M\u00f6glichkeiten<\/h2>\n<h3>Das braucht der Composers<\/h3>\n<ul>\n<li>Eine <em>&#8222;Textdatei&#8220;<\/em> mit dem Inhalt der Rechnung oder die entsprechenden Daten in der Zwischenablage.<\/li>\n<li>Eine <em>&#8222;Konfigurationsdatei&#8220;<\/em>, die festlegt, wie die Rechnungsdaten aus der Textdatei extrahiert werden. Diese Datei kann auch Konstanten wie z.B. wiederkehrende Daten enthalten. Falls alle notwendigen Rechungsdaten als Konstanten enthalten sind, wird die Textdatei nicht ben\u00f6tigt (z.B.: Serienbriefbeispiele)<\/li>\n<li>Falls eine <span style=\"color: #0000ff;\"><em>_PDF_<\/em><\/span> erstellt werden soll (bei <span style=\"color: #0000ff;\">_XML_<\/span>\u00a0nicht notwendig), wird die Originalrechnung in einer PDF\/A-3-Datei (<span style=\"color: #0000ff;\"><em>_pdf_<\/em><\/span>) ben\u00f6tigt.<\/li>\n<\/ul>\n<h3>Diese M\u00f6glichkeiten gibt es<\/h3>\n<h4><strong><strong>Die &#8222;Versteckte-Text Methode&#8220;<\/strong><\/strong><\/h4>\n<p>Mit Hilfe von Formatvorlagen werden Steueranweisungen in kleiner wei\u00dfer Schrift vor und hinter die Rechnungsteile geschrieben. Durch Makros oder Modifikation der Formatvorlagen k\u00f6nnen diese f\u00fcr Testzwecke leicht sichtbar gemacht werden. Um den Text der so angepassten Rechnung dem Composer zur Verf\u00fcgung zu stellen, gibt es mehrere M\u00f6glichkeiten:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em>\u00dcber die Zwischenablage mittels Strg+A \/ Strg+C oder \u00fcber ein Makro den Text markieren<\/em>. Der Composer kann den Text aus der Zwischenablage mit der Option \u201a\/iC\u2018 \u00fcbernehmen. Dies funktioniert bei allen Rechnungen, die versteckten Text enthalten und bei denen die Anwendung den Text korrekt formatiert in die Zwischenablage kopiert. Bei Verwendung eines Makros k\u00f6nnte das aktuelle Dokument als PDF gespeichert werden und somit <span style=\"color: #0000ff;\">_PDF_<\/span> erzeugt werden. Ein Beispiel f\u00fcr ein Kommandozeilen-Skript <em>\u201eRunFromClipboard.cmd\u201c<\/em> ist enthalten. <span style=\"color: #0000ff;\">_XML_<\/span> k\u00f6nnen dann einfach durch Kopieren der Rechnung aus Word, Libre-Writer, Browser, &#8230; in die Zwischenablage und Aufruf des Skripts erstellt werden\n<pre>Beispiel:Alle mit versteckten Texten z.B. invoice_two_novat_no_eu.docx, invoice_two_vat.docx, invoice_two_vat.odt<\/pre>\n<\/li>\n<li><em>Mittels IFilter Technik<\/em> Diese Technik wird von Windows verwendet, um Text aus Dokumenten zu extrahieren und f\u00fcr die Volltextsuche zu verwenden. F\u00fcr die Verwendung im Composer muss der Text, den der entsprechende IFilter aus dem Dokument erzeugt, entsprechend formatiert sein. Dies funktioniert nicht f\u00fcr alle Dokumenttypen, scheint aber f\u00fcr Word zu funktionieren. Es wird ein eigenst\u00e4ndiges Tool \u201eIfiltercmd.exe\u201c mitgeliefert, mit dem die Technik unabh\u00e4ngig ausprobiert werden kann. Der Composer kann auch eine Log-Datei mit dem extrahierten Text erzeugen.\n<pre>Beispiel: invoice_two_vat.docm mit dem Smiley Makro<\/pre>\n<\/li>\n<li><em>Durch Drucken auf einen PrintMulti-Drucker<\/em> Die Konfiguration eines entsprechenden PrintMulti Druckers ist mit Hilfe der Beispieldateien und der Hilfe sehr einfach. Auf diesem Drucker wird dann automatisch eine PDF\/A-3-Datei erzeugt und der Composer mit dem aus dem Druckdatenstrom extrahierten Text aufgerufen. Das funktioniert mit allen Dokumenten, die versteckten Text enthalten und die Anwendung dieser auch tats\u00e4chlich druckt. Bei Bedarf k\u00f6nnen Sie den Drucker im Netzwerk freigeben und so von mehreren Arbeitspl\u00e4tzen aus digitale Rechnungen erzeugen. Der Composer und die Konfigurationsdateien werden dann nur auf dem Rechner ben\u00f6tigt, der den PrintMulti Drucker freigibt.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>Die &#8222;Serienbrief-Methode mit versteckten Texten<\/h4>\n<p>Nicht jede Rechnung sieht gleich aus und es kann m\u00fchsam sein, die Betr\u00e4ge, Summen usw. jedes Mal neu in Word einzugeben. Man kann diese variablen Daten auch aus einer Datenquelle holen und dort die Berechnungen durchf\u00fchren. Im Prinzip handelt es sich immer noch um ein einfaches Word-Dokument und f\u00fcr die Rechnungserstellung selbst k\u00f6nnen alle M\u00f6glichkeiten wie bei der &#8222;Versteckte-Text Methode&#8220; ohne Serienbriefunterst\u00fctzung genutzt werden.<\/p>\n<pre>Beispiele MailMerge.docx oder MailMerge.docm mit Mailmerge.xlsx<\/pre>\n<h4>Die &#8222;Serienbrief-Methode mit benannten Verweisen&#8220;<\/h4>\n<p>Der Inhalt ist nahezu identisch mit der vorherigen Methode. Die Rechnungserstellung unterscheidet sich jedoch grundlegend. Alle Rechnungselemente werden \u00fcber Referenzen mit eindeutigen Namen definiert. Die ver\u00e4nderbaren Elemente werden wieder \u00fcber Seriendruckfelder eingef\u00fcgt. Die fixen Elemente \u00fcber Dokumenteigenschaften. Die Namen m\u00fcssen den in der Composer-Konfigurationsdatei definierten Namen entsprechen und mit einem Unterstrich beginnen. F\u00fcr die Rechnungserstellung ist ein Makro erforderlich, das die Referenznamen und Inhalte extrahiert und eine Composer-Konfigurationsdatei mit konstanten Werten erzeugt. Sie k\u00f6nnen das Makro bei Bedarf anpassen, wenn Ihnen die Namenssyntax nicht gef\u00e4llt, oder konstante Daten fest einf\u00fcgen. Bei dieser Methode ist die Verwendung von <a href=\"https:\/\/www.lvbprint.de\/printmulti-gleichzeitig-drucken\/\" target=\"_blank\" rel=\"noopener\">PrintMulti<\/a> nicht m\u00f6glich (die Rechnungselemente werden nicht gedruckt).<\/p>\n<pre>Beispiel: MailMergeNoPattern.docm mit MailMergeNoPattern.xlsx<\/pre>\n<h4>Die &#8222;Versteckte-Text Methode mit eingebettetem Excel Objekt&#8220;<\/h4>\n<p>Wenn die Berechnungen kompliziert werden, bietet sich vielleicht diese M\u00f6glichkeit an. Sowohl die Rechnungsgrunddaten in Word als auch die Werte aus dem eingebetteten Excel Sheet enthalten versteckte Texte, die jeweils \u00fcber Formatvorlagen in Word- oder Excel sichtbar gemacht werden k\u00f6nnen. Der Nachteil hier ist, dass weder die Zwischenablage noch die IFilter-Technik funktionieren. Nur durch das Drucken auf einen <a href=\"https:\/\/www.lvbprint.de\/printmulti-gleichzeitig-drucken\/\" target=\"_blank\" rel=\"noopener\">PrintMulti<\/a> Drucker kann eine digitale Rechnung erzeugt werden.<\/p>\n<pre>Beispiel (Excel Verzeichnis): invoice_excel.docx und alle embed*.xlsx Dateien.<\/pre>\n<p><!--more--><\/p>\n<h3>Details zu den M\u00f6glichkeiten<\/h3>\n<p>Es folgenden noch einige Bilder und Anmerkungen zu den verschiedenen Methoden<\/p>\n<h4>Versteckte Texte Methode<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1719 alignnone\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod-300x137.png\" alt=\"\" width=\"999\" height=\"456\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod-300x137.png 300w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod-1024x466.png 1024w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod-18x8.png 18w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod.png 1200w\" sizes=\"auto, (max-width: 999px) 100vw, 999px\" \/><\/p>\n<p>Die zu verwenden Pattern sind in der Konfigurationsdatei des Composers hinterlegt und k\u00f6nnen ggf. angepasst werden. Das Trennzeichen &#8218;\u205e&#8216; ist einfach ein selten verwendetes Zeichen aus dem Unicode-Zeichensatz. Es darf nicht innerhalb des extrahierten Textes vorkommen. Das &#8222;#&#8220; in &#8222;Q#3&#8220; dient hier als Platzhalter f\u00fcr Rechnungspositionen. Beim Ausf\u00fchren des Makros mit dem gr\u00fcnen Button oder durch manuelles \u00c4ndern der Formatvorlage, verschwinden die Steuertexte.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1722 alignnone\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod_Hidden-300x224.png\" alt=\"\" width=\"910\" height=\"680\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod_Hidden-300x224.png 300w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod_Hidden-768x574.png 768w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod_Hidden-16x12.png 16w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/HiddenTextMethod_Hidden.png 825w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><\/p>\n<p>Beim Kopieren in die Zwischenablage oder beim Ausf\u00fchren der IFilter Methode, sind sie aber als Text vorhanden:<\/p>\n<pre>...\r\nMENGE UNIT BESCHREIBUNG MWST. PREIS PRO EINHEIT GESAMT\r\n[Q_1] 2\u205e [U_1]m^3\u205e [N_1]Ohne Position\u205e [R_1]19%\u205e [P_1]523,00\u20ac\u205e [A_1]1.046,00\u20ac\u205e\r\n[I_2]2\u205e[Q_2] 4\u205e [U_2]m\u00b3\u205e [N_2]Irgendwas mit 7% MwSt.\u205e [R_2]7%\u205e [P_2]14,00\u20ac\u205e [A_2]56,00\u20ac\u205e\r\n[I_3]3\u205e[Q_3] 3\u205e [N_3]Ohne Einheit\u205e [R_3]7%\u205e [P_3]11,00\u20ac\u205e [A_3]33,00\u20ac\u205e\r\n[I_4]4\u205e[Q_4] 2\u205e [U_4]m\u00b3\u205e [N_4]Default MwSt.19% (aus (R_) oben) \u205e 19% [P_4]7,50\u20ac\u205e [A_4]15,00\u20ac\u205e\r\n[I_5]XX\u205e[Q_5] 4\u205e [U_5]Stk.\u205e [N_5]Zeit f\u00fcr Guinness im Scruffies\u205e 19% [P_5]6,50\u20ac\u205e [A_5]26,00\u20ac\u205e\r\n...<\/pre>\n<h4>Die &#8222;Serienbrief-Methode mit versteckten Texten<\/h4>\n<p>Im Gegensatz zur vorigen Methode werden hier einfach Rechnungsteile \u00fcber Seriendruckfelder eingef\u00fcgt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1732 alignnone\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_ShowFields-300x116.png\" alt=\"\" width=\"776\" height=\"300\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_ShowFields-300x116.png 300w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_ShowFields-768x298.png 768w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_ShowFields-18x7.png 18w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_ShowFields.png 791w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><\/p>\n<p>Hier ein Ausschnitt der Daten aus Excel (funktioniert nat\u00fcrlich auch mit anderen Datenquellen). Die Namen der \u00dcberschriften sind hier nicht festgelegt<\/p>\n<table width=\"780\">\n<tbody>\n<tr>\n<td width=\"151\"><strong>_NAME_<\/strong><\/td>\n<td width=\"110\"><strong>_ADDRNAME_<\/strong><\/td>\n<td width=\"125\"><strong>_ADDR1_<\/strong><\/td>\n<td width=\"80\"><strong>_CO_<\/strong><\/td>\n<td width=\"80\"><strong>_PLZ_<\/strong><\/td>\n<td width=\"98\"><strong>_TOWN_<\/strong><\/td>\n<td width=\"136\"><strong>_EMAIL_<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Gans GmbH<\/td>\n<td>Gustav Gans<\/td>\n<td>Entengasse 1<\/td>\n<td>DE<\/td>\n<td>54321<\/td>\n<td>Entenhausen<\/td>\n<td>gustav.gans@gans.de<\/td>\n<\/tr>\n<tr>\n<td>Gans GmbH<\/td>\n<td>Donald Duck<\/td>\n<td>Entengasse 1<\/td>\n<td>DE<\/td>\n<td>54321<\/td>\n<td>Entenhausen<\/td>\n<td>gustav.gans@gans.de<\/td>\n<\/tr>\n<tr>\n<td>Gans GmbH<\/td>\n<td>Daisy Duck<\/td>\n<td>Entengasse 1<\/td>\n<td>DE<\/td>\n<td>54321<\/td>\n<td>Entenhausen<\/td>\n<td>gustav.gans@gans.de<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die drei Rechnungen enthalten verschiedene Mehrwertsteuers\u00e4tze &#8222;19%&#8220;, &#8222;Befreit au\u00dferhalb EU&#8220;, &#8222;Befreit Reverse Charge&#8220;<\/p>\n<h4>Die &#8222;Serienbrief-Methode mit benannten Verweisen&#8220;<\/h4>\n<p>Hier sind keine versteckten Texte n\u00f6tig. Die Rechnungsteile werden wie im letzten Beispiel \u00fcber Seriendruckfelder (diesmal aber mit genau definiertem Namen) und Dokumentenfelder eingef\u00fcgt.<\/p>\n<blockquote><p>Die Erzeugung der <span style=\"color: #0000ff;\">_XML_<\/span> oder <span style=\"color: #0000ff;\">_PDF_\u00a0<span style=\"color: #000000;\">kann nur \u00fcber ein Makro erfolgen, da die Referenzen programmatisch extrahiert werden m\u00fcssen. Drucken mit einem Rechnungsdrucker \u00fcber PrintMulti ist nicht m\u00f6glich.<\/span><\/span><\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1736 alignnone\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_NoPattern-300x150.png\" alt=\"\" width=\"828\" height=\"414\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_NoPattern-300x150.png 300w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_NoPattern-768x384.png 768w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_NoPattern-18x9.png 18w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_NoPattern.png 873w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/p>\n<p>Die Dokumenteninformationen findet man je nach Version an unterschiedlicher Stelle.\u00a0 In meiner Word-Version sieht es so aus:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1737 alignnone\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_Information-300x155.png\" alt=\"\" width=\"835\" height=\"431\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_Information-300x155.png 300w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_Information-1024x527.png 1024w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_Information-768x396.png 768w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_Information-18x9.png 18w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/MailMerge_Information.png 1157w\" sizes=\"auto, (max-width: 835px) 100vw, 835px\" \/><\/p>\n<p>Die Datenquellen \u00dcberschriften m\u00fcssen feste Titel haben, damit diese auf die erwarteten Konfigurationseintr\u00e4ge abgebildet werden k\u00f6nnen. Das enthaltene Makro erwartet einen f\u00fchrenden Unterstrich.<\/p>\n<table width=\"686\">\n<tbody>\n<tr>\n<td width=\"107\"><strong>_invoice_nr<\/strong><\/td>\n<td width=\"107\"><strong>_invoice_type<\/strong><\/td>\n<td width=\"107\"><strong>_invoice_currency<\/strong><\/td>\n<td width=\"107\"><strong>_invoice_date<\/strong><\/td>\n<td width=\"107\"><strong>_invoice_payment_due_date<\/strong><\/td>\n<td width=\"151\"><strong>_buyer_name<\/strong><\/td>\n<\/tr>\n<tr>\n<td>123<\/td>\n<td>facture<\/td>\n<td>EUR<\/td>\n<td>02.04.2025<\/td>\n<td>12.04.2025<\/td>\n<td>Gans GmbH<\/td>\n<\/tr>\n<tr>\n<td>124<\/td>\n<td>invoice<\/td>\n<td>\u20ac<\/td>\n<td>02.04.2025<\/td>\n<td>12.04.2025<\/td>\n<td>Gans GmbH<\/td>\n<\/tr>\n<tr>\n<td>125<\/td>\n<td>Rechnung<\/td>\n<td>$<\/td>\n<td>02.04.2025<\/td>\n<td>12.04.2025<\/td>\n<td>Gans GmbH<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4><\/h4>\n<p><!--more--><\/p>\n<h4>Die &#8222;Versteckte-Text Methode mit eingebettetem Excel Objekt&#8220;<\/h4>\n<p>Die Beispiele enthalten keine Makros zum Ausblenden der Steuertexte. Sie m\u00fcssen die Formatvorlagen in Word und Excel anpassen.<br \/>\nAm besten \u00f6ffnen Sie das Word-Dokument und f\u00fcgen das Excel-Objekt als Referenz ein.<\/p>\n<blockquote><p>Digitale Rechnungen k\u00f6nnen in diesem Format nur \u00fcber PrintMulti erstellt werden, da das eingebettete Objekt weder als Text in der Zwischenablage landet noch mit der Erzeugung mit IFilter funktioniert.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1745 alignnone\" src=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl-300x139.png\" alt=\"\" width=\"1008\" height=\"467\" title=\"\" srcset=\"https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl-300x139.png 300w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl-1024x473.png 1024w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl-768x355.png 768w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl-1536x710.png 1536w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl-18x8.png 18w, https:\/\/www.lvbprint.de\/wp-content\/uploads\/2025\/03\/WordEmbedExcelAuswahl.png 1638w\" sizes=\"auto, (max-width: 1008px) 100vw, 1008px\" \/><\/p>\n<p>Das Ergebnis sieht jetzt in Word nicht so toll aus, aber wenn Sie die Rechnung auf den Drucker &#8222;XRechnung&#8220; (siehe Hilfe zur Einrichtung im Unterverzeichnis &#8222;PrintMulti&#8220;) ausgeben, dann erhalten Sie eine <span style=\"color: #0000ff;\">_PDF_<\/span> und eine <span style=\"color: #0000ff;\">_XML_\u00a0<span style=\"color: #000000;\">im Unterverzeichnis mit der Rechnungsnummer im Namen.<\/span><\/span><\/p>\n<p>Hier k\u00f6nnen Sie die vollst\u00e4ndige <a href=\"https:\/\/www.lvbprint.de\/files\/zugferd\/examples\/2025-0002.pdf\" target=\"_blank\" rel=\"noopener\">_PDF_<\/a> betrachten (Der rechte Rahmen ist im n\u00e4chsten Release in den Beispielen dann richtig)<\/p>\n<p>In der jobs.csv k\u00f6nnen Sie auf Wunsch einen Eintrag f\u00fcr jede gedruckte Rechnung (erfolgreich oder nicht) eintragen lassen.<\/p>\n<pre>2025-03-30_18-27-15;OK;Successful;2025-0002;01.03.2024;[K\u00e4uf. Firmenname];1.330,19 \u20ac;1.030,19 \u20ac<\/pre>\n<h3>Digitale Rechnungen mit PrintMulti<\/h3>\n<p>Mit PrintMulti als Druckprozessor kann ein virtueller Drucker erzeugt werden, der in der Lage ist gedruckten Text aus dem Datenstrom zu extrahieren und so die notwendige Textdatei f\u00fcr den Composer zur Verf\u00fcgung zu stellen.<\/p>\n<p>Eigentlich ist es dazu gedacht Druckjobs zu vervielf\u00e4ltigen und auf mehreren Druckern mit vielen Ver\u00e4nderungen auszugeben. In diesem Fall wird der<br \/>\n&#8222;PDF Architect 9&#8220; PDF Dateidrucker verwendet um direkt ohne Postscript Umwege eine geeignete PDF\/A3 zu erhalten. Der &#8222;Microsoft Print to PDF&#8220; ist nicht in der Lage PDFs in diesem Format zu erzeugen (zumindest zum aktuellen Zeitpunkt).<\/p>\n<p>Die digitale Rechnungserzeugung mit PrintMulti ist nur m\u00f6glich wenn die zu druckenden Rechnung die versteckten Zeichen enth\u00e4lt.<\/p>\n<p>Die Vorteile sind<\/p>\n<ul>\n<li>F\u00fcr Benutzer ein gewohnter Arbeitsschritte &#8222;Drucken auf einen Drucker&#8220;<\/li>\n<li>Eine Freigabe des Druckers von einem Server (kostenpflichtig) oder einem Clientcomputer ist machbar und erm\u00f6glicht eine zentrale Verwaltung<\/li>\n<li>Es k\u00f6nnen noch weitere PrintMulti typischen Aktionen gleichzeitig konfiguriert werden, wie das Drucken auf einen weiteren Drucker, eine Archivierung, &#8230;<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.lvbprint.de\/files\/zugferd\/PrintMulti_de.pdf\" target=\"_blank\" rel=\"noopener\">Hier<\/a> finden Sie ein Dokument das die Installation beschreibt. Es ist auch im Download Archiv enthalten.<\/p>\n<p>Ich will hier noch etwas auf die spezielle Konfiguration f\u00fcr den XRechnungsdrucker eingehen. Der wichtigste Teil sieht so aus:<\/p>\n<pre class=\"wp-block-preformatted has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background\"><strong>[XRechnung]<\/strong>\r\n<span style=\"color: #ff6600;\">Active<\/span>=1\r\nActionXRechnung=Print;XRechnungAction\r\n\r\n<span style=\"color: #999999;\">; for all actions<\/span>\r\n<span style=\"color: #0000ff;\">!BasePath=C:\\ZUGFeRDComposer<\/span>\r\n\r\n<span style=\"color: #999999;\">; Virtual Printer - need PrintMulti as Print Processor<\/span>\r\n<strong>[XRechnungAction]<\/strong>\r\n<span style=\"color: #ff6600;\">Active<\/span>=1\r\n\r\n<span style=\"color: #999999;\">; xml invoice (\/OX)<\/span>\r\n<span style=\"color: #0000ff;\">!XRechnungFile=%BasePath%\\<span style=\"color: #339966;\">{invoice_nr}<\/span>\\<span style=\"color: #339966;\">{invoice_nr}<\/span>_<span style=\"color: #339966;\">{Date}<\/span>_<span style=\"color: #339966;\">{Time}<\/span>_pm.xml<\/span>\r\n<span style=\"color: #999999;\">; PDF with embedded xml (\/OP)<\/span>\r\n<span style=\"color: #0000ff;\">!DstPDFFile=%BasePath%\\<span style=\"color: #339966;\">{invoice_nr}<\/span>\\<span style=\"color: #339966;\">{invoice_nr}<\/span>_<span style=\"color: #339966;\">{Date}<\/span>_<span style=\"color: #339966;\">{Time}<\/span>_pm.pdf<\/span>\r\n\r\n<span style=\"color: #999999;\">; Temp PDF<\/span>\r\n<span style=\"color: #0000ff;\">!SavedDFFile=%BasePath%\\Temp\\<span style=\"color: #ff0000;\">#K<\/span>_<span style=\"color: #ff0000;\">#J<\/span>.pdf<\/span>\r\n\r\n<span style=\"color: #999999;\">; Text file saved with WriteText2File option later<\/span>\r\n<span style=\"color: #0000ff;\">!TextFile=%BasePath%\\Temp\\<span style=\"color: #ff0000;\">#K<\/span>_<span style=\"color: #ff0000;\">#J<\/span>.txt<\/span>\r\n\r\n<span style=\"color: #999999;\">; Debug file containing detected patterns and values<\/span>\r\n<span style=\"color: #0000ff;\">!ExtractFile=%BasePath%\\Temp\\<span style=\"color: #339966;\">{invoice_nr}<\/span>_<span style=\"color: #339966;\">{Date}<\/span>_<span style=\"color: #339966;\">{Time}<\/span>_pm_e.txt<\/span>\r\n\r\n<span style=\"color: #999999;\">; csv file containing one entry for each call containing result(OK,ERROR), Date, Invoice date, Invoice nr, some amounts (currently fixed layout)<\/span>\r\n<span style=\"color: #0000ff;\">!JobsFile=%BasePath%\\Jobs\\jobs.csv<\/span>\r\n\r\n<span style=\"color: #999999;\">; Maybe you want different configuration files for different printers<\/span>\r\n<span style=\"color: #0000ff;\">!ToolsConfiguration=%ZUGFerdToolsPath%\\Defaults\\ExtractConfiguration.txt<\/span>\r\n\r\n<span style=\"color: #ff6600;\">Printer<\/span>=PDF Architect 9\r\n<span style=\"color: #999999;\">; contains the PDF<\/span>\r\n<span style=\"color: #ff6600;\">Save2File<\/span>=%SavedDFFile%\r\n<span style=\"color: #999999;\">; Contains all text output directly in out line<\/span>\r\n<span style=\"color: #ff6600;\">WriteText2File<\/span>=%TextFile%\r\n<span style=\"color: #999999;\">; If you want to force PDF\/A with the pdf architect, save a devmode with the tool devmode2file and use it here<\/span>\r\n<span style=\"color: #999999;\">;<span style=\"color: #ff6600;\">Devmode1<\/span>=%BasePath%\\ArchitextPDFA.dev<\/span>\r\n\r\n<span style=\"color: #ff6600;\">Execute<\/span>=yes\r\n<span style=\"color: #999999;\">; Hide console<\/span>\r\n<span style=\"color: #ff6600;\">ExecuteFlags<\/span>=0x08000000\r\n<span style=\"color: #ff6600;\">ExecuteTimeout<\/span>=INF\r\n<span style=\"color: #ff6600;\">ExecuteCmd<\/span>=@\"%BasePath%\\bin\\ZugFerdComposer.exe\" \/IT @\"<span style=\"color: #0000ff;\">%TextFile%<\/span>\" \/IP @\"<span style=\"color: #0000ff;\">%SavedDFFile%<\/span>\" \/OX @\"<span style=\"color: #0000ff;\">%XRechnungFile%<\/span>\" \/OP @\"<span style=\"color: #0000ff;\">%DstPDFFile%<\/span>\" \/OJ @\"<span style=\"color: #0000ff;\">%JobsFile%<\/span>\" \/OE @\"<span style=\"color: #0000ff;\">%ExtractFile%<\/span>\"<\/pre>\n<p><strong>Bedeutung der Farben:<\/strong><br \/>\n<span style=\"color: #ff6600;\"><strong>orange<\/strong><\/span>\u00a0sind PrintMulti Keywords<br \/>\n<span style=\"color: #ff0000;\"><strong>rot<\/strong><\/span> sind PrintMulti Makros, die durch Daten vom Drucken ersetzt werden<br \/>\n<strong><span style=\"color: #0000ff;\">blau<\/span><\/strong> sind gesetzte Umgebungsvariable (alle Variablen, die mit &#8218;!&#8216; anf\u00e4ngt, sind als Umgebungsvariablen verf\u00fcgbar)<br \/>\n<strong><span style=\"color: #339966;\">gr\u00fcne Pattern<\/span><\/strong> werden von Composer durch entsprechende Rechnungsteile ersetzt<\/p>\n<p>Hier ein kurzer \u00dcberblick \u00fcber die verwendeten Optionen. Details finden Sie im <a href=\"https:\/\/www.lvbprint.de\/files\/printmulti\/PrintMulti_2.0_Manual_de.pdf\" target=\"_blank\" rel=\"noopener\">PrintMulti Handbuch<\/a><\/p>\n<ul>\n<li>Der Drucker mit <em>&#8222;PrintMulti&#8220;<\/em> als Druckprozessor (hier <em>&#8222;XRechnung&#8220;<\/em>) muss als Text in eckigen Klammern mit <em>&#8222;Active=1&#8220;<\/em> angegeben werden.<br \/>\nHier werden verschiedene Aktionen wie Drucken oder als Bild speichern definiert. Der Name auf der linken Seite muss mit <em>&#8222;Action&#8220;<\/em> beginnen und sich von anderen <em>&#8222;Action&#8220;-<\/em>Eintr\u00e4gen unterscheiden.<br \/>\nAuf der rechten Seite steht dann die auszuf\u00fchrende Aktion (hier <em>&#8222;Print&#8220;<\/em>) und ein Verweis auf den Abschnitt mit den spezifischen Einstellungen f\u00fcr die Aktion(hier &#8222;XRechnungAction&#8220;)<br \/>\nJeder PrintMulti Drucker kann in einer eigenen Konfigurationsdatei stehen. Der Ort wird ggf. in der Registry hinterlegt (siehe reg-Datei im PrintMulti Verzeichnis). Falls nicht angegeben wird immer die <em>&#8222;PrintMulti.ini&#8220;<\/em> im <em>&#8222;C:\\Program Files\\PrintMulti&#8220;<\/em> Verzeichnis verwendet. In einer Konfigurationsdatei k\u00f6nnen mehrere <em>&#8222;PrintMulti&#8220;<\/em> Drucker definiert sein.<\/li>\n<li>Die Konfigurationsdatei f\u00e4ngt normalerweise mit einem allgemeinen Teil an,\u00a0 der Einstellungen zur Protokollierung enth\u00e4lt. Dieser ist im obigen Beispiel nicht enthalten.<\/li>\n<li>Im Abschnitt zum Drucken (hier <em>&#8222;XRechnungAction&#8220;<\/em>) selbst wird der Zieldrucker mittels <em>&#8222;Printer=&#8220;<\/em> definiert. Es wird noch festgelegt, dass nicht physikalisch gedruckt, sondern in eine Datei mit <em>&#8222;Save2File&#8220;<\/em> gespeichert werden soll.<\/li>\n<li>Der f\u00fcr den Composer wichtige Inhalt des Dokuments wird mittels <em>&#8222;WriteText2File&#8220;<\/em> in eine Datei gespeichert und diese dann \u00fcbergeben.<\/li>\n<li>Am Ende sind mehrere Definitionen f\u00fcr das Ausf\u00fchren eines Befehls (<em>&#8222;Execute*&#8220;<\/em>) . Es k\u00f6nnen auch mehrere Befehle ausgef\u00fchrt werden, die dann aber in eigenen Sektionen definiert werden m\u00fcssen (z.B. f\u00fcr eine folgende Archivierung).<br \/>\nDie Konsole wird versteckt (ist bei modernen Windows-Versionen eh nicht zu sehen) und der unendlicher Timeout gew\u00e4hlt. Das w\u00e4re wichtig, wenn ein weiterer Abschnitt auf das Ergebnis des Befehls warten sollte.<\/li>\n<li>Der eigentliche Aufruf des Composers mit den Parametern, jeweils in Anf\u00fchrungszeichen f\u00fcr Pfade, ist in der letzten Zeile zu finden. Die Bedeutung der Parameter finden Sie im <a href=\"https:\/\/www.lvbprint.de\/files\/zugferd\/Manual_de.pdf\" target=\"_blank\" rel=\"noopener\">Composer Handbuch<\/a>. Der letzte Parameter mit &#8222;\/OE&#8220; \u00fcbergeben ist optional und enth\u00e4lt die erkannten Rechnungsteile (Debugausgabe).<\/li>\n<\/ul>\n<blockquote><p>Wenn Sie den Composer und die PrintMulti Konfigurationsdatei woanders haben wollen, dann m\u00fcssen Sie den <em>&#8222;<span style=\"color: #0000ff;\">!BasePath<\/span>&#8222;<\/em> und auch den Pfad zur Konfigurationsdatei in der reg-Datei im PrintMulti Verzeichnis anpassen.<\/p>\n<p>Wenn Sie den Namen des Rechnungsdrucker von <em>&#8222;XRechnung&#8220;<\/em> \u00e4ndern wollen, dann m\u00fcssen Sie ihn in der PrintMulti Konfigurationsdatei anpassen<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inhalt Dieser Artikel zeigt verschiedene M\u00f6glichkeiten auf, wie man g\u00fcltige ZUGFeRD Rechnungen aus Word Dokumenten frei erstellen kann. Einf\u00fchrung f\u00fcr die Erstellung von ZUGFeRD Rechnungen<\/p>\n<div class=\"btn btn-light btn-arrow\"><a href=\"https:\/\/www.lvbprint.de\/en\/2025\/04\/03\/zugferd-rechnungen-aus-word-erzeugen\/\" rel=\"nofollow\" title=\"Read More\">Read More<\/a><\/div>","protected":false},"author":1,"featured_media":1578,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"templates\/full-width-layout.php","format":"standard","meta":{"footnotes":""},"categories":[93,82,48],"tags":[97,96,98,101,106],"class_list":["post-1669","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-zugferd-composer","category-printmulti","category-printmulti-examples","tag-factur-x","tag-xrechnung","tag-zugferd","tag-zugferd-mit-word","tag-zugferd-rechnungen-aus-word"],"_links":{"self":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts\/1669","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/comments?post=1669"}],"version-history":[{"count":89,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts\/1669\/revisions"}],"predecessor-version":[{"id":1907,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/posts\/1669\/revisions\/1907"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/media\/1578"}],"wp:attachment":[{"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/media?parent=1669"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/categories?post=1669"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lvbprint.de\/en\/wp-json\/wp\/v2\/tags?post=1669"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}