Attestwire › Rule reference › PEPPOL-COMMON-R053

PEPPOL-COMMON-R053 A Danish SE number used as a Peppol identifier is DK and eight digits

noun · Peppol BIS · fatal · BT-46

Your invoice was refused because an identifier under Peppol scheme 0198, the Danish SE number, is not in the required form: exactly DK followed by eight digits. Until Peppol release 3.0.21 this was a warning and the document was still delivered. Since 17 August 2026 it is an error, and the document is refused. PEPPOL-COMMON-R053 is the rule that checks the form.

Business term
BT-46 — Party identifier or electronic address (scheme 0198)
Severity
fatal
Applies to
peppol-bis-3

The fix

Write the value as DK followed by the eight digits of the SE number, with no spaces, for example "DK12345678". If the value is really a CVR number, use scheme 0184 instead; if it belongs to another register, change the scheme to match.

What the rule requires

Every Peppol identifier is a scheme and a value: the scheme says which register the value comes from. Scheme 0198 is the Danish ERSTORG number, the SE number, and its value must be exactly ten characters: DK and eight digits, as in DK12345678.

The SE number is the CVR number in its VAT-registration form. Under scheme 0198 it is always written with the DK prefix, unlike scheme 0184, which also accepts the bare eight digits.

The check applies wherever the scheme appears: the seller or buyer electronic address (BT-34, BT-49), identifier (BT-29, BT-46) or legal registration identifier (BT-30, BT-47), and the payee’s identifiers. In this library those are electronicAddress, identifier and legalRegistrationId on each party.

[PEPPOL-COMMON-R053]-Danish ERSTORG number (SE) MUST be stated in the correct format.

PEPPOL-COMMON-R053 — Peppol BIS Billing 3.0, PEPPOL-EN16931-UBL.sch, release 3.0.21

A passing value

the shape this field expects
"identifier": { "schemeId": "0198", "value": "DK12345678" }

Why it exists

On Peppol a participant is found by scheme and value together. A value in the wrong form is not a typo the network forgives: it is a different identifier, delivered to someone else or to nobody. Peppol treated this as a warning, so the document went out and the lookup failed later, where it was harder to trace.

Release 3.0.21 made it an error for every profile, mandatory from 17 August 2026, together with PEPPOL-COMMON-R052, the P-number check under scheme 0096.

What the library returns

The full error returned by @attestwire/en16931. It includes the rule ID, affected field and suggested correction. Developers can use this object in their application:

TeachingError
{
  "rule": "PEPPOL-COMMON-R053",
  "field": "BT-46",
  "severity": "fatal",
  "message": "The Buyer identifier (BT-46) is \"12345678\" under scheme \"0198\", which identifies the Danish ERSTORG number (SE number). A value in that scheme must be \"DK\" followed by eight digits, and this one is not. The SE number is the CVR number in its VAT-registration guise, and in this scheme it is always written with the \"DK\" prefix — unlike scheme 0184, which accepts the bare form as well. Peppol flagged this rule a warning until BIS 3.0.21 made it fatal for every profile, mandatory from 17 August 2026, so a document that passed with a warning before then is now refused. Peppol flags this fatal: the identifier is what an access point resolves to find your counterparty, so a value in the wrong form is undeliverable. This is a Peppol BIS Billing 3.0 profile rule: it applies because profile is \"peppol-bis-3\". It does not apply to the en16931, xrechnung-ubl or xrechnung-cii profiles, whose validators will accept the same document.",
  "fix": "Correct buyer.identifier, or change its scheme identifier if the value belongs to a different register. A failing check digit or length almost always means a digit was transposed, dropped or added in transcription — compare it against the source register rather than re-typing it.",
  "example": "\"identifier\": { \"schemeId\": \"0198\", \"value\": \"DK12345678\" }",
  "xpath": "/ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID",
  "docsUrl": "https://attestwire.com/rules/PEPPOL-COMMON-R053"
}

xpath is always a UBL path. On a CII invoice, look for the matching CII field instead.

How our check differs

The same test as the official one: ten characters, DK in upper case, then eight digits. There is no check digit to verify, and whether the number is registered is a separate lookup.

See also: PEPPOL-EN16931-R010 — the buyer electronic address itself; BR-63 — the scheme identifier on the buyer electronic address.