ZUGFeRD Rechnungen aus Excel Dateien kostenlos erzeugen

Einführung

Hier erfahren Sie im Detail, wie ZUGFeRD/XRechnungen aus bestehenden Excel Dateien erstellen können. Alle verwendeten Tools sind kostenlos.

Die verschiedenen Möglichkeiten

Bitte lesen Sie zunächst den Einführungsteil aus diesem Artikel über die Rechnungserstellung mit Word.

Die „Versteckte-Text Methode mit eingebettetem Excel Objekt“

Das ist eine Mischung aus Word und eingebettetem Excel-Sheet mit den tatsächlichen Berechnungen.
Diese Möglichkeit ist in dem Artikel mit Word beschrieben.

Die „Kommentar Methode“

Jede Zelle mit Rechnungsinformationen erhält einen Kommentar in einem bestimmten Format, welches ein Makro ausliest und wie beim Word Beispiel mit „benannten Verweisen“ eine Konfigurationsdatei für den Composer mit den extrahierten Daten erzeugt.

Das Makro kann dann auch gleich eine PDF/A3 erzeugen, so dass auch ZUGFeRD Rechnungen möglich sind.

Sie können jederzeit das Makro verändern und auf Ihre Bedürfnisse anpassen. In dem Beispiel „invoice_using_comments.xlsm“ enthält das erste Sheet eine ausführlichere Beschreibung über die mögliche Formatierung der Kommentare.

Hier ein kurzer Ausflug in die Syntax der verwendeten Kommentare:

  • Es gibt einfache Kommentare bei denen ein einzelnes Rechnungspattern mit Unterstrich verwendet wird. Alle möglichen Pattern sind in der Composer Konfigurationsdatei „DefaultExtractConfiguration.txt“ (die wird hier nicht verwendet, aber die Namen der Pattern sind alle aufgeführt) enthalten. Die meisten Einträge erfolgen auf diese Art: z.B. „_seller_contact_name“
  • Um die Definition für kombinierte Teile einfacher zu machen, kann man auch mehrere Pattern in einem Kommentar verarbeiten. Die Patternteile sind immer durch Strichpunkt getrennt. Man kann einen Trenner für den aufzuteilenden  Text mit „sep=“ festlegen. Ohne Angabe ist das ein Leerzeichen.
      • Ein Beispiel für eine Auftrennung mit Leerzeichen ist bei „Land Plz Ort“ zu sehen. Um diese nicht in drei getrennte Zellen definieren zu müssen, wird hier einfach „_seller_country;_seller_postcode;_seller_city“ angegeben.
        Zeilenumbrüche werden ignoriert und nur die Teile mit Unterstrich finden Beachtung.  Falls durch die Spaltung des Textes mehr Einzelteile als Definitionen gibt, dann enthält der letzte Teil den kompletten Rest des Textes.
        Das ist hier ja auch sinnvoll, da das Land und die Postleitzahl keine Leerzeichen enthalten, der Ort u.U. aber schon.
      • Es gibt auch Kommentare mit mehreren Teilen und anderem Trennzeichen wie bei der Umsatzsteuer. Dort ist als Kommentar hinterlegt: „sep=:;egal;_seller_vat“.Bei dem Text „USt-IdNr: DE987654321“ würde also am Doppelpunkt getrennt und der erste Teil ignoriert (da nicht mit Unterstrich anfängt). Der zweite wird als „seller_vat“ dem Composer übergeben. Leerzeichen vor und nach dem Text werden entfernt.

Das geschieht alles im Makro und kann ggf. angepasst werden.

Zusammengesetzte Kommentare

Hier sieht man fast alle Kommentare (fettgeschriebene Kommentare haben keine besondere Bedeutung; „Rabatt/Zuschlag“ dient hier als Verkäufername)

Alle Kommentare

Das Beispiel funktioniert nur mit dem enthaltenen Makro. Wichtige Konstanten (wie den Pfad zum Composer) finden Sie ganz oben in der Datei:

Const debugOutput As Boolean = True

' Create a job log output file 
Const JobLogOutput As Boolean = True
 
' Default path were all files are 
Const basePath As String = "C:\ZUGFeRDComposer\"
 
' Options for ZUGFeRDComposer 
Const additionalOptions As String = " /mE /fL /fO"

Das Excel-Beispiel enthält mehrere Sheets mit unterschiedlicher Konfiguration von Zuschlägen und Rabatten. Das Makro erzeugt immer aus dem aktuellen Sheet die Rechnung.

Hier eine erzeugte ZUGFeRD Rechnung vom ersten Sheet:

Die Jobdatei vom Composer enthält eine Liste aller Ergebnisse, erfolgreich oder mit Fehlern, dem Kunden, Fälliger Betrag, …, falls die Option „/OJ“ festgelegt wurde (im Makro über „JobLogOutput“ Konstante)

Date;Result;Message;Invoice Nr; Invoice Date;Buyer name;Invoice sum; Invoice to pay
2025-04-05_15-15-13;OK;Successful;DC-4711;05.04.2025;Kundenname;;49.59

Bei der Verwendung der Standardpfade finden Sie im Verzeichnis „C:\ZUGFeRDComposer\Temp“ einige Logdateien und die temporäre PDF, die zum Einbetten des XML verwendet wurde.

Bei „portinvoice“ können Sie Online dann das Ergebnis genauestens verifizieren und sich eine Sichtkopie anzeigen lassen:

Importieren der XRechnung geht auch über das sehr hilfreiche Rechnungs-Tool von pdf24 (kann man auch lokal installieren), das sehr zu empfehlen ist (auch für die Rechnungserstellung selber, falls Sie die Daten selber eingeben möchten). Hier ein BeZUGFeRD und XRechnungen aus Word Dateien erzeugenispiel für die dort erstellte ZUGFeRD Rechnung.

Leave a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.