- Thema
- Fragen und Antworten
- SDK-Mitglieder
- ActualDeliveryDate_102 WriteBillingPeriod()
- Business Terms
- BT-72 Tatsächliches Lieferdatum BG-13 Lieferinformationen BG-14 Rechnungszeitraum BT-73 Anfangsdatum des Rechnungszeitraums BT-74 Enddatum des Rechnungszeitraums
- Veröffentlicht
Kurz: Der Prüfbericht meldet „Invalid content was found starting with element ApplicableHeaderTradeSettlement. One of ApplicableHeaderTradeDelivery is expected“ (Fehlercode cvc-complex-type.2.4.a), wenn im XML der Lieferblock fehlt. In ZUGFeRD 2.x, Factur-X und XRechnung muss dieser Block immer vorhanden sein – auch leer.
Ursache
Ältere Versionen des Aloaha ZUGFeRD SDK (Version 10) schreiben den Block nur, wenn Lieferangaben vorhanden sind – zum Beispiel ein Liefer- oder Leistungsdatum (BT-72) oder eine Lieferanschrift (BG-13). Rechnungen über Dienstleistungen, Gebühren oder Zinsen ohne Leistungsdatum werden deshalb mit diesem Schemafehler abgelehnt. Da der Schemafehler die Prüfung früh abbricht, zeigt der Bericht oft nur diesen einen Fehler.
Lösung
1. Leistungsdatum angeben – das ist ohnehin Pflichtangabe nach § 14 UStG:
alo.ActualDeliveryDate_102 = "20261013" ' BT-72, Format JJJJMMTT
Bei Leistungen über einen Zeitraum (z. B. Zinsen oder Gebühren eines Monats) zusätzlich den Abrechnungszeitraum (BG-14):
alo.WriteBillingPeriod("20260901", "20260930", "102") ' BT-73 / BT-74
2. Auf Version 11 aktualisieren: Ab Version 11 schreibt das SDK den Lieferblock für ZUGFeRD 2.x, Factur-X und XRechnung immer. Download und Versionshinweise unter Downloads. Ohne Lieferangaben bleibt er dann leer – das ist gültig, erzeugt aber eine Warnung: Warum warnt der Validator vor einem leeren ApplicableHeaderTradeDelivery?
Nach der Korrektur die Rechnung erneut prüfen – jetzt werden auch die inhaltlichen Regeln (Schematron) ausgewertet: Wie prüfe ich meine XRechnung vor dem Versand?
Siehe auch: ActualDeliveryDate_102, WriteBillingPeriod und XRechnung mit Verrechnung statt Zahlung.
Business Terms in diesem Artikel: BT-72 BG-13 BG-14 BT-73 BT-74