PEPPOL-EN16931-R043

Das Kennzeichen, ob es sich um einen Zuschlag oder einen Abschlag handelt, muss genau true oder false lauten — kleingeschrieben, ohne Alternativen.

Schweregrad
Fehler
Gilt für
UBL
Regelwerk
v2026-01-31

Offizieller Regeltext

Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'

Warum tritt PEPPOL-EN16931-R043 auf?

Boolesche Werte werden von Serialisierern unterschiedlich geschrieben: 1 und 0 aus vielen Datenbanken, True aus Python, TRUE aus manchen Templates. Jede dieser Schreibweisen ist für einen Menschen eindeutig und für das Schema falsch.

Wie behebt man PEPPOL-EN16931-R043?

Schreiben Sie den Wert als Zeichenkette true oder false in cbc:ChargeIndicator (UBL). Verlassen Sie sich nicht auf die Standard-Serialisierung Ihres booleschen Typs, sondern setzen Sie die beiden Literale ausdrücklich.

Im XML

Ausschnitt in UBL — die Regel gilt nur für diese Syntax.

Fehlerhaft
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>0</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">50.00</cbc:Amount>
</cac:AllowanceCharge>
Korrigiert
<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:Amount currencyID="EUR">50.00</cbc:Amount>
</cac:AllowanceCharge>

NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.