# PEPPOL-EN16931-R010 Buyer electronic address and scheme must be provided for Peppol routing

Under the Peppol BIS Billing 3.0 specification, every electronic invoice transmitted across Peppol must declare the buyer electronic address in BT-49 (EndpointID) along with a standardized electronic address identification scheme in BT-49-1 (schemeID attribute) chosen from the official Electronic Address Scheme (EAS / ISO 6523 / ICD) code list. Examples include "0088" for GS1 Global Location Numbers (GLN), "9930" for German Leitweg-ID, "0192" for Norwegian enterprise numbers (Org.nr), "9944" for Dutch Chamber of Commerce (KvK) numbers, "0208" for Belgian enterprise CBE numbers, or "0009" for French SIRET. Peppol Access Points use the buyer EndpointID to query the Peppol DNS (SML) and SMP to locate the recipient’s receiving access point.

## Problem Description

Under the Peppol BIS Billing 3.0 specification, every electronic invoice transmitted across Peppol must declare the buyer electronic address in BT-49 (EndpointID) along with a standardized electronic address identification scheme in BT-49-1 (schemeID attribute) chosen from the official Electronic Address Scheme (EAS / ISO 6523 / ICD) code list. Examples include "0088" for GS1 Global Location Numbers (GLN), "9930" for German Leitweg-ID, "0192" for Norwegian enterprise numbers (Org.nr), "9944" for Dutch Chamber of Commerce (KvK) numbers, "0208" for Belgian enterprise CBE numbers, or "0009" for French SIRET. Peppol Access Points use the buyer EndpointID to query the Peppol DNS (SML) and SMP to locate the recipient’s receiving access point.

> **ERROR**: XRechnung 3.0

## Context and Significance

Without a valid BT-49 EndpointID and schemeID, Peppol Access Points cannot route the invoice through the SML/SMP lookup, causing immediate pre-transmission validation failure PEPPOL-EN16931-R010.

## Solution

In your customer master records (e.g. SAP customer master, DATEV debitor profile, Dynamics 365), configure the buyer Peppol participant identifier and EAS scheme. In UBL 2.1 syntax, populate <cbc:EndpointID schemeID="9930">04011000-12345-34</cbc:EndpointID> (or schemeID="0088" for GLN) under <cac:AccountingCustomerParty><cac:Party>. In UN/CEFACT CII syntax, populate <ram:URIUniversalCommunication><ram:URIID schemeID="9930">04011000-12345-34</ram:URIID></ram:URIUniversalCommunication> under <ram:BuyerTradeParty>.

- validate
- convert

## Valid Examples

- Buyer electronic address with BT-49 = "04011000-12345-34" and schemeID = "9930" (German Leitweg-ID)
- Buyer electronic address with BT-49 = "4012345000018" and schemeID = "0088" (GS1 Global Location Number)

## Invalid Examples

- cac:AccountingCustomerParty/cac:Party contains party name and address but completely omits cbc:EndpointID
- EndpointID tag present with address value but missing the mandatory schemeID attribute (<cbc:EndpointID>04011000-12345-34</cbc:EndpointID>)

## Code Examples

### Valid XML
```
<cac:Party>
  <cbc:EndpointID schemeID="9930">04011000-12345-34</cbc:EndpointID>
  <cac:PartyName><cbc:Name>Bundesministerium des Innern</cbc:Name></cac:PartyName>
</cac:Party>
```

### Invalid XML
```
<cac:Party>
  <!-- Missing cbc:EndpointID (BT-49) with schemeID (BT-49-1) -->
  <cac:PartyName><cbc:Name>Bundesministerium des Innern</cbc:Name></cac:PartyName>
</cac:Party>
```

## Affected Fields

- [BT-49 Buyer electronic address](/resources/xrechnung/bt-49-buyer-electronic-address)
- [BT-49-1 Buyer electronic address identification scheme](/resources/xrechnung/bt-49-buyer-electronic-address)
- [BG-7 Buyer](/resources/xrechnung)

## Related Rules

- [PEPPOL-EN16931-R020](/resources/kosit-validator-errors/peppol-en16931-r020-seller-electronic-address-required)

## Validation Tools

- [Official KoSIT Validator](https://erechnungsvalidator.service-bw.de/): Validate your XRechnung files against all BR-DE rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Automatic validation error fixes when converting.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [Complete Error List](/resources/kosit-validator-errors): Overview of all German XRechnung validation rules.
