EN16931 / XRechnung / Peppol BIS 3 Validator

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

fatal UBL

What this error means and how to fix it

A national rule of Peppol BIS Billing 3.0 for the country in the rule prefix (for example NO, DK, IT, SE, GR): it usually applies when the seller is in that country. This is an error: the invoice is rejected until it is fixed.

Check your invoice against DK-R-004 — free

Runs the KoSIT validator 1.6.3, unmodified · result in seconds · the file is not stored · No file at hand? Try a sample invoice

This error needs information only you have, so it is not repaired automatically. The free check shows every finding in the file with its location; if other errors in the same file are in the automatic set (totals, VAT breakdown, rounding, element order), the result page offers the corrected file for 9 €.

Rule text

[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
Where the rule is checked (XPath context and test)
SyntaxSeverityContext (XPath)Test (XPath)
Peppol-UBLfatalcac:AllowanceCharge[$DKSupplierCountry = 'DK' and $DKCustomerCountry = 'DK']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, '#')))) ) ) )

Source: Peppol BIS Billing 3.0 Schematron, UBL (OpenPeppol, docs.peppol.eu validation artefacts 3.0.21).

Check your invoice against this rule