InvoiceValidator.eu

DK-R-016

fatalPeppol BIS Billing 3.0profileCIIUBL

For Danish Suppliers, a Credit note cannot have a negative total (PayableAmount)

Why it fails

A Danish credit note has a negative payable amount.

How to fix it

A credit note already means "we owe you": state the amounts as positive numbers on the CreditNote document. Negating them on top double-counts the direction.

What the validator checks

CII — context rsm:CrossIndustryInvoice[$DKSupplierCountry = 'DK']

not((($DKCustomerCountry = 'DK') and (normalize-space(rsm:ExchangedDocument/ram:TypeCode/text()) = '381')) and (number(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:DuePayableAmount/text()) < 0) )

UBL — context ubl-creditnote:CreditNote[$DKSupplierCountry = 'DK'] | ubl-invoice:Invoice[$DKSupplierCountry = 'DK']

not((boolean(/ubl-creditnote:CreditNote) and ($DKCustomerCountry = 'DK')) and (number(cac:LegalMonetaryTotal/cbc:PayableAmount/text()) < 0) )

Related rules

Part of DK-R — Denmark.

Check your own invoice against DK-R-016

…or paste the XML instead

Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.

This is a Peppol BIS Billing 3.0 rule: an invoice can be perfectly valid EN 16931 and still be rejected by it.