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.