Peppol BIS Billing 3.0 · rule
DK-R-004
What does DK-R-004 mean? 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
Why did my invoice fail DK-R-004?
When Danish suppliers specify non-VAT taxes (such as excise duties) for Danish customers, they must model them as an allowance/charge with AllowanceChargeReasonCode "ZZZ", and the AllowanceChargeReason must identify the tax: either as the 4-digit Danish tax category code, or as a text that includes a # separator, where # may not be the first or last character. This convention lets Danish systems recognise and book non-VAT taxes that EN 16931 has no dedicated fields for.
Official rule text
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
Common causes
- Non-VAT tax modelled as an extra TaxSubtotal instead of an AllowanceCharge
- Reason code other than ZZZ used for the tax charge
- AllowanceChargeReason free text without the 4-digit tax category and without a # separator, or with # at the start or end
How do I fix it?
<cac:AllowanceCharge> <cbc:ChargeIndicator>true</cbc:ChargeIndicator> <cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode> <cbc:AllowanceChargeReason>2201</cbc:AllowanceChargeReason> <cbc:Amount currencyID="DKK">150.00</cbc:Amount> </cac:AllowanceCharge>
Related rules
DK-R-002 · DK-R-003 · DK-R-005 · DK-R-006 · DK-R-007 · DK-R-008 · DK-R-009 · DK-R-010
Paste it into the live demo, or call POST /v1/validate. See the quickstart.