Abschlags- und Teilrechnung als E-Rechnung

Blue payment terminal with receipt and gold coins on a blue background, symbolizing modern transactions.

Insbesondere im Bauwesen, aber auch in anderen Bereichen sind Abschlags- oder Teilrechnung gängige Praxis. Mit der Einführung der E-Rechnungspflicht in Deutschland stellt sich jedoch die Frage: wie werden diese speziellen Rechnungsarten im Kontext von E-Rechnungen, insbesondere im Standard XRechnung, korrekt abgebildet?

Begriffsklärung Teilrechnung vs. Abschlagsrechnung

Eine Teilrechnung oder auch Teilschlussrechnung dient der Abrechnung von bereits vollständig erbrachten Leistungen oder Lieferungen. Sie wird in der Regel bei längeren Projekten oder gestaffelten Warenlieferungen eingesetzt.

Die Abschlagsrechnung stellt hingegen nur einen Teilbetrag in Rechnung, unabhängig davon, ob bereits Leistungen erbracht wurden oder nicht.

Am Ende eines Projekts wird abschließend die sogenannte Schlussrechnung oder Endrechnung gestellt. Hier müssen alle Beträge, die bereits durch Abschlags- oder Teilrechnungen beglichen wurden, übersichtlich aufgeführt und vom Gesamtbetrag abgezogen werden.

Abbildung im XRechnung-Standard

Bisher ist die Abbildung von Teil- und Abschlagsrechnungen in elektronischen Rechnungen noch nicht in Gänze strukturiert möglich und stellt daher viele Unternehmen vor Herausforderungen. Es fehlen aktuell einfach spezifische Felder im Standard, mit denen diese Rechnungsarten vollständig unterstützt werden können. Daher empfehlen wir folgende Vorgehensweise:

1. Verwendung des korrekten Rechungstyps

Obwohl dieses Feld in der Validierung bisher nicht zwingend berücksichtigt wird, ist es ratsam, den korrekten invoice_type_code zu nutzen, um anzuzeigen, dass es sich um eine Teil- oder Abschlagsrechnung handelt. Für Baurechnungen stehen beispielsweise folgende Codes zur Verfügung:

  • 875: Abschlagsrechnung („Partial construction invoice“)
  • 876: Teilschlussrechnung („Partial final construction invoice“)
  • 877: Schlussrechnung („Final construction invoice“)

Außerhalb vom Bauwesen gibt es ebenfalls einen Code für Teilschlussrechnungen:

  • 326 – Teilschlussrechnung („Partial Invoice“)

2. Referenzierung vorheriger Rechnungen

In nachfolgenden Rechnungen sollten Sie mit dem Feld preceding_invoice_reference (BG-3) auf die vorherigen Rechnungen verweisen, sodass der Empfänger die Zusammenhänge nachvollziehen kann.

3. Zusätzliche Hinweise

Nutzen Sie das Feld invoice_note (BG-1), um beispielsweise darauf hinzuweisen, dass der Gesamtbetrag eine bestimmte Summe beträgt. Alternativ können Sie Anhänge zur Rechnung hinzufügen, um dort genauere Informationen, wie beispielsweise Abschlagspläne, darzustellen. Außerdem können Sie das Feld invoice_line > item_information > description (BT-154) nutzen, um genauere Informationen auf Rechnungspositionsebene zu ergänzen.

Beispiel zur Umsetzung einer Teilrechnung als E-Rechnung

Angenommen, Sie möchten ein Projekt mit 2 Teilrechnungen abrechnen. In der ersten Rechnung möchten Sie 30% der Leistungen in Rechnung stellen, die zweite Rechnung wird die Schlussrechnung, in der die restlichen 70% fällig werden. Die Gesamtsumme des Projekts beträgt 10.000€ (exkl. MwSt.).

In diesem Beispiel würden Sie in der ersten Rechnung 3.000€ (exkl. MwSt.) abrechnen und entsprechende Hinweise, wie im vorherigen Abschnitt erklärt, angeben. An die finaX API für E-Rechnungen übergeben Sie also folgendes JSON:

{
  "invoice_number": "33445566",
  "invoice_issue_date": "2025-01-24",
  "invoice_type_code": 326,
  "invoice_currency_code": "EUR",
  "buyer_reference": "kunde123",
  "payment_terms": "#SKONTO#TAGE=14#PROZENT=2.25#",
  "invoice_note": [
    {
        "invoice_note": "30 % der Gesamtleistung, verbleibende 70 % folgen."
    }
  ],
  "seller": {
    "name": "Full Formal Seller Name LTD.",
    "vat_identifier": "DE-123",
    "identifier": [
      {
        "scheme_identifier": "0094",
        "value": "Full Formal Seller Name LTD."
      }
    ],
    "electronic_address": {
      "value": "DE123456789",
      "scheme_identifier": "9930"
    },
    "postal_address": {
      "city": "Sun City",
      "post_code": "12345",
      "country_code": "AD"
    },
    "contact": {
      "point": "Jens Jensen",
      "telephone_number": "876 654 321",
      "email_address": "jens.j@buyer.se"
    }
  },
  "buyer": {
    "name": "Buyer Full Name AS",
    "electronic_address": {
      "value": "DE987654321",
      "scheme_identifier": "9930"
    },
    "postal_address": {
      "city": "Moon City",
      "post_code": "12345",
      "country_code": "AD"
    }
  },
  "payment_instructions": {
    "payment_means_type_code": "30",
    "credit_transfer": [
      {
        "payment_account_identifier": "NO99991122222"
      }
    ]
  },
  "document_totals": {
    "sum_of_invoice_line_net_amount": 3000,
    "invoice_total_amount_without_vat": 3000,
    "invoice_total_amount_with_vat": 3570,
    "invoice_total_vat_amount": 570,
    "amount_due_for_payment": 3570
  },
  "vat_breakdown": [
    {
      "vat_category_taxable_amount": 3000,
      "vat_category_tax_amount": 570,
      "vat_category_code": "S",
      "vat_category_rate": 19
    }
  ],
  "invoice_line": [
    {
      "invoice_line_identifier": "1",
      "invoiced_quantity": 300,
      "invoiced_quantity_unit_of_measure_code": "H87",
      "invoice_line_net_amount": 3000,
      "price_details": {
        "item_net_price": 10,
        "item_price_discount": 0,
        "item_gross_price": 10
      },
      "line_vat_information": {
        "invoiced_item_vat_category_code": "S",
        "invoiced_item_vat_rate": 19
      },
      "item_information": {
        "name": "Rechnungsposition",
        "description": "30 % der Gesamtleistung, verbleibende 70 % folgen."
      }
    }
  ]
}

In der zweiten Rechnung werden dann die restlichen 7.000€ abgerechnet. Hier können Sie das Feld preceding_invoice_reference (BG-3) nutzen, um auf die erste Rechnung zu verweisen. Außerdem wäre denkbar, in der Schlussrechnung den Gesamtbetrag (10.000€) anzugeben und das Feld paid_amount (BT-113) auf 3.000€ und das Feld amount_due_for_payment (BT-115) auf 7.000€ zu setzen, um klarzustellen, dass ein Teil dieser Rechnung bereits beglichen wurde. Als finaX-JSON sieht das so aus:

{
  "invoice_number": "55667788",
  "invoice_issue_date": "2025-02-12",
  "invoice_type_code": 380,
  "invoice_currency_code": "EUR",
  "buyer_reference": "kunde123",
  "payment_terms": "#SKONTO#TAGE=14#PROZENT=2.25#",
  "invoice_note": [
    {
        "invoice_note": "Schlussrechnung, Teilbetrag bereits beglichen."
    }
  ],
  "preceding_invoice_reference": [{
    "preceding_invoice_reference": "33445566",
    "preceding_invoice_issue_date": "2025-01-24"
  }],
  "seller": {
    "name": "Full Formal Seller Name LTD.",
    "vat_identifier": "DE-123",
    "identifier": [
      {
        "scheme_identifier": "0094",
        "value": "Full Formal Seller Name LTD."
      }
    ],
    "electronic_address": {
      "value": "DE123456789",
      "scheme_identifier": "9930"
    },
    "postal_address": {
      "city": "Sun City",
      "post_code": "12345",
      "country_code": "AD"
    },
    "contact": {
      "point": "Jens Jensen",
      "telephone_number": "876 654 321",
      "email_address": "jens.j@buyer.se"
    }
  },
  "buyer": {
    "name": "Buyer Full Name AS",
    "electronic_address": {
      "value": "DE987654321",
      "scheme_identifier": "9930"
    },
    "postal_address": {
      "city": "Moon City",
      "post_code": "12345",
      "country_code": "AD"
    }
  },
  "payment_instructions": {
    "payment_means_type_code": "30",
    "credit_transfer": [
      {
        "payment_account_identifier": "NO99991122222"
      }
    ]
  },
  "document_totals": {
    "sum_of_invoice_line_net_amount": 10000,
    "invoice_total_amount_without_vat": 10000,
    "invoice_total_amount_with_vat": 11900,
    "invoice_total_vat_amount": 1900,
    "paid_amount": 3570,
    "amount_due_for_payment": 8330
  },
  "vat_breakdown": [
    {
      "vat_category_taxable_amount": 10000,
      "vat_category_tax_amount": 1900,
      "vat_category_code": "S",
      "vat_category_rate": 19
    }
  ],
  "invoice_line": [
    {
      "invoice_line_identifier": "1",
      "invoiced_quantity": 1000,
      "invoiced_quantity_unit_of_measure_code": "H87",
      "invoice_line_net_amount": 10000,
      "price_details": {
        "item_net_price": 10,
        "item_price_discount": 0,
        "item_gross_price": 10
      },
      "line_vat_information": {
        "invoiced_item_vat_category_code": "S",
        "invoiced_item_vat_rate": 19
      },
      "item_information": {
        "name": "Rechnungsposition"
      }
    }
  ]
}

Ausblick

Wir stehen derzeit in Kontakt mit dem KoSIT und warten auf eine Rückmeldung dazu, wie der richtige Weg aus ihrer Sicht aussieht und ob in Zukunft Updates in der Spezifikation geplant sind. Es ist daher möglich, dass in den kommenden Monaten oder Jahren entsprechende Anpassungen am Standard XRechnung erfolgen. Bis dahin stellt der oben beschriebene Ansatz die derzeit praktikabelste Lösung dar. Bis dahin stellt der oben beschriebene Ansatz unserer Erfahrung nach die derzeit praktikabelste Lösung dar.

Wenn Sie die finaX API für E-Rechnungen ganz unverbindlich testen möchten, bestellen Sie gern einen kostenlosen Test-API-Key und legen Sie direkt los mit der elektronischen Rechnungsstellung.