Konto
Deutsch

DK-R-004: When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the…

Nationale Peppol-Regel · Fehler · UBL, CII

StandardLänderregeln Peppol BIS Billing 3.0 (NL, DE, IT, SE, DK, NO, GR, IS)LandDänemarkSchweregradFehler: die Rechnung wird abgelehntSyntaxUBL, CIIGilt fürNur wenn der Verkäufer (bei manchen Regeln der Käufer) im genannten Land sitzt; Auslöser ist der Ländercode der Partei. Die deutschen Regeln bilden die XRechnung-Anforderungen innerhalb von Peppol ab.

Offizieller Regeltext

[DK-R-004] When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode="ZZZ" and MUST be specified in AllowanceChargeReason; Either as the 4-digit Tax category or must include a #, but the # is not allowed as first and last character

Der normative Text ist Englisch und wird unverändert zitiert.

Warum dieser Fehler auftritt

Das Element oder die Kombination ist in diesem Kontext nicht erlaubt. Die Datei enthält etwas, das der Standard verbietet: ein Element, das nicht wiederholt werden darf, einen Wert, der einem anderen Feld widerspricht, oder Daten eines anderen Profils.

So beheben Sie den Fehler

Entfernen Sie das betreffende Element oder machen Sie die beiden Felder konsistent, wie im Regeltext beschrieben. Fügt Ihre Software das Element automatisch hinzu, prüfen Sie eine Profileinstellung (z. B. „EN 16931“ vs. „EXTENDED“) oder eine Exportoption, die es unterdrückt.

Was der Validator prüft

Geprüftes Element (Kontext):

UBL

cac:AllowanceCharge[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']

Test (XPath):

not((cbc:AllowanceChargeReasonCode = 'ZZZ')
						and not(((string-length(normalize-space(cbc:AllowanceChargeReason/text())) = 4)
								and (number(cbc:AllowanceChargeReason) >= 0)
								and (number(cbc:AllowanceChargeReason) <= 9999)) or
								(((cbc:AllowanceChargeReason and contains(cbc:AllowanceChargeReason, '#')
                                  and not(starts-with(cbc:AllowanceChargeReason, '#'))
                                  and not(ends-with(cbc:AllowanceChargeReason, '#')))) )
                               )
				 )

CII

rsm:CrossIndustryInvoice[$DKSupplierCountry = 'DK']

Test (XPath):

not((($DKCustomerCountry = 'DK') and (rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ReasonCode = 'ZZZ'))
                              and not ((string-length(normalize-space(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason/text())) = 4
                                       and number(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason) >= 0
                                       and number(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason <= 9999)) or
                                       (((rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason
                                                                          and contains(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason, '#')
                                                                          and not(starts-with(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason, '#'))
                                                                          and not(ends-with(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason, '#'))))    )
                                      )
                              )

Rechnung prüfen

Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.

Rechnung prüfen →

Dieselbe Prüfung per API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Verwandte Regeln

Häufige Fragen

Was bedeutet DK-R-004?

DK-R-004 ist eine Nationale Peppol-Regel: When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode="ZZZ" and MUST be specified in AllowanceChargeReason; Either as the 4-digit Tax category or must include a #, but the # is not allowed as first and last character

Wird meine Rechnung wegen DK-R-004 abgelehnt?

Ja. DK-R-004 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE, KSeF) weisen die Rechnung zurück, bis der Fehler behoben ist.

Für welche Formate gilt DK-R-004?

Nur wenn der Verkäufer (bei manchen Regeln der Käufer) im genannten Land sitzt; Auslöser ist der Ländercode der Partei. Die deutschen Regeln bilden die XRechnung-Anforderungen innerhalb von Peppol ab. Syntax: UBL und CII.

Quelle: Peppol BIS Billing 3.0.20 national rules (November 2025). Katalog erzeugt aus den offiziellen Regelwerken am 2026-10-15.