Skip to content

BR-62Add the schemeID attribute to the seller electronic address

When the seller Party has a cbc:EndpointID, the element must carry a schemeID attribute saying which scheme the address belongs to.

EN 16931Fatal: the document is invalidParties and addresses

The short answer

BR-62 fails when cac:AccountingSupplierParty/cac:Party/cbc:EndpointID is written without a schemeID attribute. The identifier alone is ambiguous: 7300010000001 could be a GLN, a national organisation number or something else. Add schemeID with the code of the scheme the seller address was issued under.

What the rule checks

The rule applies to the seller cbc:EndpointID and tests one thing: that the schemeID attribute exists on it. If the seller has no cbc:EndpointID at all the rule has nothing to run on and does not report; Peppol reports the missing element as PEPPOL-EN16931-R020.

The attribute value is not read. schemeID="" satisfies BR-62, and the empty code is then rejected by BR-CL-25 on the EN 16931 layer and PEPPOL-EN16931-CL008 on the Peppol layer.

The element content is not read either. An empty cbc:EndpointID with no attribute reports BR-62 together with PEPPOL-EN16931-R008, the Peppol rule against empty elements.

TermMeaningUBL element
BT-34Seller electronic addresscac:AccountingSupplierParty/cac:Party/cbc:EndpointID
BT-34Seller electronic address: its scheme identifier attributecac:AccountingSupplierParty/cac:Party/cbc:EndpointID/@schemeID

How an integration ends up here

Possible causes, from the shape of the rule rather than from measured usage:

  • The source system stores the electronic address as one string and the mapping writes it as element content without an attribute.
  • Scheme and identifier are stored together, for example 0088:7300010000001, and the split that should feed schemeID is missing or failed for this seller.
  • The serialiser omits attributes whose value is null, and the scheme column is empty for this seller.
  • The code is written to a different attribute, such as schemeAgencyID. The rule looks only at schemeID, and the stray attribute adds the warning UBL-DT-27.

How to fix it

  1. Establish which scheme the seller address belongs to. It is a property of the identifier, decided when the seller obtained it: 0088 for a GLN, a national code for an organisation or VAT number. Do not pick a code because it validates.
  2. Hold the scheme code as its own field next to the identifier in the seller configuration.
  3. Write it to the schemeID attribute of cac:AccountingSupplierParty/cac:Party/cbc:EndpointID, spelt exactly that way.
  4. Check the code against the EAS code list before sending; BR-CL-25 tests it as soon as the attribute exists.

Validate your corrected invoice

Before and after

These are fragments, not complete documents. The complete synthetic documents they come from are linked below.

Fragment of the failing invoice: the seller EndpointID has a value and no schemeID

<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID>7300010000001</cbc:EndpointID>
    <!-- postal address, tax scheme and legal entity omitted from this fragment -->
  </cac:Party>
</cac:AccountingSupplierParty>

Fragment of the corrected invoice: schemeID names the scheme of the identifier

<cac:AccountingSupplierParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
    <!-- postal address, tax scheme and legal entity omitted from this fragment -->
  </cac:Party>
</cac:AccountingSupplierParty>

The corrected file has schemeID="0088" on the seller cbc:EndpointID; the failing file has the same element and value with no attribute. The failing document reports only BR-62. Its Peppol layer passes: with no schemeID there is no scheme code for the Peppol code list rule to reject.

What the validator reported

Recorded on phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, the engine behind the free validator, using synthetic data. A recorded result is regression evidence for these documents; it is not a certification.

Where it applies

  • Applies to UBL Invoice and CreditNote; a credit note with the attribute removed reports the same single finding.
  • Only the seller party is covered. The buyer cbc:EndpointID has its own rule, BR-63, and a document missing both attributes reports both.
  • This is an EN 16931 rule, so it is reported on the EN 16931 layer even though, under Peppol, the element it examines is mandatory.

Scope and source

Written for Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, as applied to UBL 2.1 Invoice and CreditNote documents. Other profiles, syntaxes and releases can define this identifier differently. Guidance version 2026-09-20.1: source checked 2026-09-20, explanation last updated 2026-09-20.

The official definition of BR-62 carries the normative wording and test. This page is our explanation of it, not a copy.

Guidance does not change the engine verdict. Fixing this finding does not mean the document passes every layer, and validation does not certify legal or tax compliance or transmit a document over Peppol.