Komplette E-Rechnung erstellen
Der Service Task „Komplette E-Rechnung erstellen" führt die gesamte E-Rechnungs-Pipeline in einem einzigen Prozessschritt aus. Anstatt vier separate Service Tasks im BPMN-Prozess zu verketten, übernimmt dieser Service alles automatisch — von der Betragsberechnung bis zur fertigen ZUGFeRD-konformen E-Rechnung.
Funktionsweise
Der Task führt intern vier Schritte nacheinander aus:
- Betragsberechnung — Netto, Brutto und Umsatzsteuer werden pro Position und als Gesamtsumme berechnet.
- PDF-Erzeugung — Die berechneten Daten werden in eine Handlebars-Vorlage eingesetzt und als PDF gerendert.
- ZUGFeRD-Mapping — Die Rechnungsdaten werden in das strukturierte ZUGFeRD EN16931-Format überführt.
- XML-Einbettung — Das ZUGFeRD-XML wird als Factur-X-Anhang in ein PDF/A-3-Dokument eingebettet.
Das Ergebnis ist ein PDF-Dokument, das sowohl visuell als auch maschinenlesbar ist — konform mit dem europäischen E-Rechnungsstandard.
Input-Parameter
Als Eingabe werden die Rechnungsdaten übergeben. Die HTML-Vorlage und der Dateiname werden im Prozess-Designer konfiguriert.
{
"app_invoice_no": "RE-2026-001",
"app_invoice_date": "2026-04-08",
"app_due_date": "2026-05-08",
"app_seller_name": "Meine Firma GmbH",
"app_seller_street": "Musterstraße 1",
"app_seller_zip": "12345",
"app_seller_city": "Musterstadt",
"app_seller_country": "DE",
"app_seller_vat_id": "DE123456789",
"app_seller_email": "info@firma.de",
"app_recipient_name": "Kunde AG",
"app_recipient_street": "Kundenweg 5",
"app_recipient_zip": "54321",
"app_recipient_city": "Kundenstadt",
"app_iban": "DE89370400440532013000",
"app_bic": "COBADEFFXXX",
"app_invoice_items_custom": [
{
"app_item_description": "Beratung",
"app_amount": 10,
"app_item_price_net": 150.00,
"app_vat_percentage": 19,
"app_unit": "Stunden"
},
{
"app_item_description": "Material",
"app_amount": 5,
"app_item_price_net": 25.00,
"app_vat_percentage": 7,
"app_unit": "Stück"
}
]
}
Erläuterung:
- Rechnungssteller (
app_seller_*): Name, Adresse, USt-IdNr., E-Mail. - Rechnungsempfänger (
app_recipient_*): Name und Adresse. - Zahlungsdaten (
app_iban,app_bic): Für die Zahlungsinformationen im ZUGFeRD-XML. - Positionen (
app_invoice_items_custom): Menge, Einzelpreis, Steuersatz und Einheit. - Die HTML-Vorlage wird im Prozess-Designer über den integrierten Template-Editor gepflegt.
- Der Dateiname wird im Feld „PDF-Dateiname" definiert (z. B.
E-Rechnung-$(app_invoice_no).pdf).
Output
Der Task gibt eine Datei-Referenz zum fertigen E-Rechnungs-PDF zurück:
{
"referenceId": "01JXXXXX",
"filename": "E-Rechnung-RE-2026-001.pdf",
"contentType": "application/pdf"
}
Das PDF ist ein PDF/A-3-Dokument mit eingebettetem Factur-X-XML — es kann direkt versendet, archiviert oder über Schnittstellen weitergeleitet werden.
JSONata-Beispiel
{
"app_invoice_no": $.app_invoice_no,
"app_invoice_date": $.app_invoice_date,
"app_due_date": $.app_due_date,
"app_seller_name": $.app_seller_name,
"app_seller_street": $.app_seller_street,
"app_seller_zip": $.app_seller_zip,
"app_seller_city": $.app_seller_city,
"app_seller_country": $.app_seller_country,
"app_seller_vat_id": $.app_seller_vat_id,
"app_recipient_name": $.app_recipient_name,
"app_recipient_street": $.app_recipient_street,
"app_recipient_zip": $.app_recipient_zip,
"app_recipient_city": $.app_recipient_city,
"app_iban": $.app_iban,
"app_bic": $.app_bic,
"app_invoice_items_custom": $.app_invoice_items_custom
}
Vergleich: Einzelne Schritte vs. All-in-One
| Ansatz | BPMN-Schritte | Verwendung |
|---|---|---|
| Einzelne Services | 4 Service Tasks (Berechnung → PDF → ZUGFeRD-Mapping → XML-Einbettung) | Maximale Flexibilität, z. B. wenn zwischen den Schritten zusätzliche Logik benötigt wird |
| Komplette E-Rechnung | 1 Service Task | Empfohlen für Standard-Rechnungsabläufe — weniger Aufwand, gleiche Qualität |
Hinweise
- Im Template können alle Handlebars-Helper verwendet werden — einschließlich QR-Codes für EPC-Zahlungen.
- Die Umsatzsteuersätze 0 %, 7 % und 19 % werden unterstützt.
- Optionale Felder wie
app_buyer_reference(Leitweg-ID für XRechnung),app_service_dateoderapp_service_period_start/app_service_period_endkönnen bei Bedarf ergänzt werden. - Die Live-Vorschau im Prozess-Designer zeigt das PDF mit Beispieldaten an, bevor der Prozess veröffentlicht wird.
Tipp
Für die Erstellung eines EPC-QR-Codes (Zahlungs-QR-Code auf der Rechnung) kann im Template der qrCode-Helper in Kombination mit buildString verwendet werden:
<img src="{{{qrCode (buildString "BCD\n002\n1\nSCT\n" app_bic "\n" app_seller_name "\n" app_iban "\nEUR" app_gross_total "\n\n\nRechnung " app_invoice_no)}}}" width="150" />
Weitere Details zu den verfügbaren Handlebars-Helpern finden sich in der Handlebars-Helper-Referenz.