Compte
Français

DK-R-004: Pour les taxes hors TVA de clients danois, les fournisseurs danois DOIVENT utiliser…

Règle nationale Peppol · Erreur · UBL, CII

NormeRègles par pays Peppol BIS Billing 3.0 (NL, DE, IT, SE, DK, NO, GR, IS)PaysDanemarkGravitéErreur: la facture est rejetéeSyntaxeUBL, CIIS'applique àUniquement lorsque le vendeur (ou pour certaines règles l'acheteur) est établi dans le pays indiqué ; le déclencheur est le code pays de la partie.

Texte officiel de la règle

[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

Le texte normatif est en anglais ; il est cité tel quel.

Pourquoi cette erreur apparaît

L'élément ou la combinaison n'est pas autorisé dans ce contexte. Le fichier contient quelque chose que la norme interdit : un élément qui ne doit pas être répété, une valeur qui contredit un autre champ, ou des données d'un autre profil.

Comment corriger

Supprimez l'élément fautif ou rendez les deux champs cohérents comme décrit dans le texte de la règle. Si votre logiciel ajoute l'élément automatiquement, cherchez un réglage de profil (p. ex. « EN 16931 » vs « EXTENDED ») ou une option d'export qui le supprime.

Ce que le validateur vérifie

Élément vérifié (contexte):

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, '#'))))    )
                                      )
                              )

Vérifier votre facture

Déposez votre XML ou PDF dans le validateur : chaque règle en échec renvoie vers sa page ici. Gratuit, sans compte, le fichier n'est pas conservé.

Vérifier votre facture →

La même vérification par API:

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

Règles liées

Questions fréquentes

Que signifie DK-R-004 ?

DK-R-004 est une règle nationale peppol : 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

Ma facture sera-t-elle rejetée à cause de DK-R-004 ?

Oui. DK-R-004 est classée « bloquante » ; les validateurs (plateformes agréées, points d'accès Peppol, KoSIT, KSeF) rejettent la facture tant qu'elle n'est pas corrigée.

À quels formats s'applique DK-R-004 ?

Uniquement lorsque le vendeur (ou pour certaines règles l'acheteur) est établi dans le pays indiqué ; le déclencheur est le code pays de la partie. Syntaxe : UBL et CII.

Source: Peppol BIS Billing 3.0.20 national rules (November 2025). Catalogue généré à partir des jeux de règles officiels le 2026-10-15.