XRechnung oder ZUGFeRD in einem JTL-Workflow

Startseite » XRechnung oder ZUGFeRD in einem JTL-Workflow

In dieser Anleitung geht es darum, wie man im JTL-Workflow das Format der E-Rechnung zwischen ZUGFeRD und XRechnung steuert, um die korrekten Rechnungsformate je nach Bedarf zu erzeugen. Besonders relevant ist dies für B2G-Kunden, die eine Leitweg-ID besitzen und daher das XRechnungsformat bevorzugen.


1. Steuerung des Formats mit dem Parameter /format

Mit dem Konsolen Parameter /format lässt sich einfach bestimmen, ob eine Rechnung im ZUGFeRD- oder XRechnung-Format erzeugt werden soll. Ein gängiges Szenario ist die Steuerung des Formats je nach Vorhandensein der Leitweg-ID im Kundenstamm.

  • XRechnung wird erzeugt, wenn im Kundenstamm eine Leitweg-ID hinterlegt ist.
  • Andernfalls wird das ZUGFeRD-Format verwendet
  • Die Erzeugung der e-Rechnung kann auch über die Angabe skip für Endkundenrechnungen übersprungen werden.

2. Anpassung des Workflows

Die Erweiterung des bestehenden ZUGFeRD-Workflows erfolgt durch den folgenden Dotliquid-Ausdruck, der prüft, ob eine Leitweg-ID vorhanden ist:

{% if Vorgang.Kunde.EigeneFelder.XRechnung.Leitweg-ID != null && Vorgang.Kunde.EigeneFelder.XRechnung.Leitweg-ID != '' -%} 
/format "XRECHNUNG" 
{% else -%}
{% endif -%}

Dieser Ausdruck stellt sicher, dass die XRechnung erzeugt wird, wenn eine Leitweg-ID vorhanden ist.

Ergebnis bei Rechnung mit Kunden-Leitweg-ID


3. Anpassung der E-Mail und Anhänge

Damit die XRechnung korrekt an die E-Mail angehängt wird, muss auch der Dateiname des Anhangs abhängig vom Rechnungsformat gesetzt werden. Dies wird durch den folgenden Dotliquid-Ausdruck erreicht:

{% if Vorgang.Kunde.EigeneFelder.XRechnung.Leitweg-ID != null && Vorgang.Kunde.EigeneFelder.XRechnung.Leitweg-ID != '' -%}
D:\ZUGFeRD\XRechnung-{{ Vorgang.Rechnungsnummer }}.xml
{% else -%}
D:\ZUGFeRD\Rechnung-{{ Vorgang.Rechnungsnummer }}.pdf
{% endif -%}

Hier wird der Dateiname abhängig vom Vorhandensein der Leitweg-ID entweder als XRechnung-XML-Datei oder als ZUGFeRD-PDF gesetzt.


4. Fazit und weitere Empfehlungen

  • Mit den /format-Parametern und den Dotliquid-Ausdrücken könnt ihr das Format der E-Rechnung in JTL-Workflow flexibel steuern.
  • In Zukunft werden wir vermutlich beim Kunden ein eigenes Feld „e-Rechnungsformat“ anlegen und dies im JTL-Workflow bei Auftragsanlage entsprechend initialisieren.
  • Eine zusätzliche nützliche Funktion ist der /format skip, mit dem die Erzeugung der E-Rechnung übersprungen wird, was den Workflow auch für Endkundenrechnungen anwendbar macht.

Diese Lösung macht es einfacher, die unterschiedlichen E-Rechnungsformate automatisch zu steuern.

Schreibe einen Kommentar