Error codes · Peppol BIS 3.0

PEPPOL-EN16931-R010Fixable here

Buyer electronic address (EndpointID) MUST be provided

This is the rejection, word for word: „[PEPPOL-EN16931-R010] PEPPOL-EN16931-R010 fires when the buyer party in your invoice has no cbc:EndpointID element. The buyer electronic address (BT-49) is what the Peppol network uses to route the document to the right receiver, so Access Points reject the invoice outright when it is absent. This is the single most common Peppol routing error, because most ERP systems store the buyer participant ID in customer master data rather than deriving it from the invoice itself.

The Peppol Schematron rule PEPPOL-EN16931-R010 has context cac:AccountingCustomerParty/cac:Party and asserts test="cbc:EndpointID" with flag="fatal". XPath: /Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID (or /CreditNote/... for credit notes). The element itself is not enough: the schemeID attribute is mandatory and must carry a code from the CEF Electronic Address Scheme (EAS) code list — for example 0088 (GLN), 0106 (Dutch KvK-linked EAS), 0190 (Dutch OIN), 0192 (Norwegian org. no.), 9930 (DE VAT), 9944 (NL VAT). A missing or non-EAS schemeID does not trigger R010 but will fail the companion code-list rule instead, so both must be correct before the invoice passes.

What to have readyBuyer Endpoint ID · Endpoint Scheme (EAS code)
What we doAdd cbc:EndpointID inside cac:AccountingCustomerParty/cac:Party and set a schemeID from the CEF EAS code list. The value must be the buyer's registered Peppol participant identifier, not a free-text address or email. Invoice Navigator flags the missing endpoint and prompts for the participant ID before applying the fix, because the correct value cannot be derived from the invoice.
If you enter it yourself in your invoicing software
Before
<cac:AccountingCustomerParty>
  <cac:Party>
    <!-- cbc:EndpointID is missing -->
    <cac:PartyName>
      <cbc:Name>Voorbeeld Retail B.V.</cbc:Name>
    </cac:PartyName>
  </cac:Party>
</cac:AccountingCustomerParty>
After
<cac:AccountingCustomerParty>
  <cac:Party>
    <cbc:EndpointID schemeID="0190">123456789012345678</cbc:EndpointID>
    <cac:PartyName>
      <cbc:Name>Voorbeeld Retail B.V.</cbc:Name>
    </cac:PartyName>
  </cac:Party>
</cac:AccountingCustomerParty>
What the finding looks likeExample
FindingValue missing · PEPPOL-EN16931-R010
From youBuyer Endpoint ID, Endpoint Scheme (EAS code)
ThenPassed
ProofSHA-256 and /verify link after the check