errorcountryDNKOIOUBL (Denmark)

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

Fix: This requires user input to resolve. Review the relevant cbc: and cac: elements in your Invoice XML and provide the correct value. (DK-R-004). Provide the required value in the free validator.

Your Danish invoice includes non-VAT taxes (such as environmental levies or municipal charges) but is missing the reason code. Danish regulations require a reason code that explains the type of non-VAT tax.

Severity
Fatal
Rule set
OIOUBL (Denmark)
Country
DNK
Fix type
INPUT REQUIRED
Confidence
75%

Engine Classification

Business data required · Explicit input workflow · No assumptions made

Required input: Non-VAT Tax Reason Code

What is DK-R-004?

DK-R-004 is a fatal validation rule defined in the OIOUBL (Denmark) specification (DNK national rules). It validates the AllowanceCharge element in the UBL invoice XML.

When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.

Target path: //cac:AllowanceCharge

Why This Error Matters

Invoice will be rejected by Danish validation. Non-VAT taxes must follow specific Danish formatting rules.

DK-R-004 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.

Danish Peppol access points reject invoices with non-VAT taxes that lack a reason code. The buyer's system cannot categorize the tax correctly, which may cause accounting issues.

Validator Behavior

  • ·Causes invoice rejection
  • ·Fails UBL schema validation
  • ·Error returned: DK-R-004
  • ·Specification: OIOUBL (Denmark)

How to Fix It

.

.

.

.

Before / After

Failing XML
<Invoice>
  <!-- Issue: When specifying non-VAT Taxes for Danish customers, Danish s -->
</Invoice>
Corrected XML
<Invoice>
  <!-- Issue resolved per OIOUBL (Denmark) -->
</Invoice>

Technical Reference

XPath//cac:AllowanceCharge
SpecOIOUBL (Denmark)
Operationadd_element
StrategyPrompt user for the non-VAT tax reason code to add as AllowanceChargeReasonCode

Common Causes

  • ·Wrong reason code for Danish non-VAT tax
  • ·Tax category format does not meet Danish requirements
  • ·Hash symbol in wrong position
  • ·Standard reason code used instead of ZZZ
  • ·Tax description format incorrect

Seeing this in production? The API handles DK-R-004 automatically. See the fix response →

Frequently Asked Questions

Your Danish invoice includes non-VAT taxes (such as environmental levies or municipal charges) but is missing the reason code. Danish regulations require a reason code that explains the type of non-VAT tax.

This requires user input to resolve. Review the relevant cbc: and cac: elements in your Invoice XML and provide the correct value. (DK-R-004). You can also use Invoice Navigator's compliance engine to correct this automatically in your pipeline.

Yes, DK-R-004 is a critical error that will cause invoice rejection. It must be fixed before submission.

Many instances of DK-R-004 can be automatically corrected using Invoice Navigator's compliance engine. The fix is applied in your pipeline with full audit evidence.

Related Errors

Related Content

Last updated: 3 March 2026

Share this guide:

Validate your invoice

Drop your XML here to check for DK-R-004

Fix DK-R-004 with guided input

Upload your invoice and we'll ask for the missing data, then apply a safe, auditable fix.