Rechnungsbeträge berechnen
Der Service Task „Rechnungsbeträge berechnen" ergänzt Rechnungsdaten automatisch um alle relevanten Beträge. Aus den Einzelpositionen (Menge, Einzelpreis netto, Umsatzsteuersatz) werden Positionssummen, Umsatzsteuer und Gesamtbeträge berechnet. So können Rechnungen vollständig automatisiert erstellt werden, ohne dass Beträge manuell kalkuliert werden müssen.
Funktionsweise
Der Task durchläuft alle Rechnungspositionen und berechnet:
- Pro Position: Nettosumme, Bruttosumme, Umsatzsteuer
- Aggregiert: Gesamtnetto, Gesamtbrutto, Umsatzsteuer nach Steuersatz (0 %, 7 %, 19 %)
Die berechneten Werte werden direkt in das Rechnungsobjekt geschrieben und stehen für nachfolgende Schritte (z. B. PDF-Erstellung oder E-Rechnung) zur Verfügung.
Input-Parameter
Als Eingabe wird das Rechnungsobjekt mit den Positionen übergeben:
{
"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:
app_invoice_items_custom: Liste der Rechnungspositionen.app_amount: Menge der jeweiligen Position.app_item_price_net: Einzelpreis netto.app_vat_percentage: Umsatzsteuersatz (0, 7 oder 19).app_unit: Mengeneinheit (z. B. „Stunden", „Stück", „Pauschal").
Output
Das Rechnungsobjekt wird um berechnete Felder erweitert:
Pro Position:
| Feld | Beschreibung |
|---|---|
app_invoice_item_no |
Laufende Positionsnummer (1, 2, 3, …) |
app_items_total_sum_net |
Nettosumme der Position (Menge × Einzelpreis) |
app_items_total_sum_gross |
Bruttosumme der Position |
app_item_price_gross |
Einzelpreis brutto |
Aggregierte Felder:
| Feld | Beschreibung |
|---|---|
app_net_total |
Gesamtsumme netto |
app_gross_total |
Gesamtsumme brutto |
app_vat_total |
Gesamte Umsatzsteuer |
app_vat_nineteen |
Umsatzsteuer 19 % (Betrag) |
app_vat_seven |
Umsatzsteuer 7 % (Betrag) |
app_vat_zero |
Umsatzsteuer 0 % (Betrag) |
app_has_vat_nineteen |
true, wenn Positionen mit 19 % vorhanden |
app_has_vat_seven |
true, wenn Positionen mit 7 % vorhanden |
app_has_vat_zero |
true, wenn Positionen mit 0 % vorhanden |
Beispiel
Eine Rechnung enthält zwei Positionen: 10 Stunden Beratung à 150,00 € netto (19 %) und 5 Stück Material à 25,00 € netto (7 %). Der Service berechnet automatisch: Netto gesamt 1.625,00 €, USt. 19 %: 285,00 €, USt. 7 %: 8,75 €, Brutto gesamt 1.918,75 €.
JSONata-Beispiel
{
"app_invoice_items_custom": $.app_invoice_items_custom
}
Alle weiteren Rechnungsfelder (Rechnungsnummer, Datum, Empfänger usw.) können zusätzlich übergeben werden — sie werden unverändert durchgereicht.
Hinweise
- Unterstützt die Umsatzsteuersätze 0 %, 7 % und 19 %. Andere Steuersätze führen zu einer Fehlermeldung.
- Alle Beträge werden kaufmännisch auf zwei Dezimalstellen gerundet.
- Neben frei definierten Positionen (
app_invoice_items_custom) werden auch Artikelpositionen (app_invoice_items_articles) unterstützt — beide Typen können in einer Rechnung kombiniert werden. - Die Positionsnummern werden fortlaufend vergeben: zuerst die freien Positionen, dann die Artikelpositionen.
Tipp
Dieser Service wird typischerweise als erster Schritt in einer Rechnungs-Pipeline eingesetzt — gefolgt von PDF aus Handlebars-Template erstellen und optional E-Rechnung erstellen (ZUGFeRD). Alternativ kann die gesamte Kette mit dem Service Komplette E-Rechnung erstellen in einem einzigen Schritt ausgeführt werden.