# PEPPOL-EN16931-R020 Seller electronic address must be provided for Peppol identification

Under Peppol rule PEPPOL-EN16931-R020, every invoice in Peppol BIS Billing 3.0 must contain the seller electronic address in BT-34 (cbc:EndpointID). R020 checks only that this address is present; the schemeID attribute (BT-34-1) is checked by BR-62, and its value must come from the EAS code list (BR-CL-25), for example "0088" for a GLN, "0192" for a Norwegian organisation number, "9944" for a Dutch VAT number, "0208" for a Belgian enterprise number or "0009" for a French SIRET. The seller EndpointID identifies the seller in the Peppol network and is the address to which invoice responses and message level responses (MLR) are sent.

## Problem Description

> **ERROR**: Peppol BIS Billing 3.0 rule (OpenPeppol)

## Context and Significance

Without BT-34 the Peppol validation fails before transmission, and responses to the invoice would have no Peppol address. A missing schemeID on an existing EndpointID is reported separately by BR-62. The error usually appears when the company’s own Peppol identifier is not set in the e-invoicing settings.

## Solution

In your company master data and e-invoicing settings, maintain your registered Peppol participant identifier and EAS scheme, for example 0088 for a GLN or 0106 for a Dutch KvK number. In UBL 2.1, add <cbc:EndpointID schemeID="0088">4012345000018</cbc:EndpointID> under <cac:AccountingSupplierParty><cac:Party>. Peppol BIS Billing 3.0 is exchanged as UBL 2.1.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=PEPPOL-EN16931-R020)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=PEPPOL-EN16931-R020)

## Valid Examples

- Seller electronic address with BT-34 = "4012345000018" and schemeID = "0088" (GS1 Global Location Number)
- Seller electronic address with BT-34 = "987654321" and schemeID = "0192" (Norwegian Organization Number)

## Invalid Examples

- cac:AccountingSupplierParty/cac:Party contains party name and address but completely omits cbc:EndpointID
- The company Peppol identifier is not set, so no seller cbc:EndpointID is exported (an EndpointID without schemeID, such as <cbc:EndpointID>4012345000018</cbc:EndpointID>, is reported by BR-62 instead)

## Code Examples

### Valid XML
```
<cac:Party>
  <cbc:EndpointID schemeID="0088">4012345000018</cbc:EndpointID>
  <cac:PartyName><cbc:Name>Lieferant GmbH</cbc:Name></cac:PartyName>
</cac:Party>
```

### Invalid XML
```
<cac:Party>
  <cac:PartyName><cbc:Name>Lieferant GmbH</cbc:Name></cac:PartyName>
</cac:Party>
```

## Affected Fields

- [BT-34 Seller electronic address](/resources/xrechnung/bt-34-seller-electronic-address)
- [BT-34-1 Seller electronic address identification scheme](/resources/xrechnung/bt-34-seller-electronic-address)
- [BG-4 Seller](/resources/xrechnung/bt-27-seller-name)

## Related Rules

- [PEPPOL-EN16931-R010](/resources/kosit-validator-errors/peppol-en16931-r010-buyer-electronic-address-required)
- [BR-62](/resources/kosit-validator-errors/br-62-seller-electronic-address-scheme-required)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-peppol/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
