Home/Compliance & tax/Peppol BIS Guide
Guide · Peppol network & EUPeppol BIS Billing 3.0

Peppol BIS Guide

A plain-English guide to Peppol BIS Billing 3.0: what the format is, what is inside the file, the CustomizationID and ProfileID values, how it differs from XRechnung, and how to validate and send one.

Last updated: October 10, 20267 min readStandard: EN 16931 / Peppol BIS Billing 3.0 (UBL 2.1)

General information. This guide is prepared for informational purposes from the public OpenPeppol specification and the EN 16931 standard. It does not constitute tax or legal advice. Check the rules of your customer's country and your access point.

01Definition

What is Peppol BIS?

Peppol BIS Billing 3.0 is the invoice and credit note specification of the Peppol network. BIS stands for Business Interoperability Specification. It is a structured XML file in the UBL 2.1 syntax that follows the European standard EN 16931 and adds a few Peppol rules on top. OpenPeppol, the non-profit that runs the network, maintains it.

Format

Structured XML in UBL 2.1. Peppol BIS Billing 3.0 does not use the UN/CEFACT CII syntax.

Documents

Invoice (type code 380) and credit note (type code 381).

Standard

EN 16931 core model plus the Peppol rules (PEPPOL-EN16931-R...).

Network

Sent through Peppol access points, but the file is also valid as a plain attachment.

What a computer reads

<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" ...>
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>INV-2026-0891</cbc:ID>
  <cbc:IssueDate>2026-10-10</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>PO-4471</cbc:BuyerReference>
  ...
</Invoice>

The header of a Peppol BIS Billing 3.0 invoice. The snippet is shortened for illustration.

02Identifiers

CustomizationID and ProfileID

Every Peppol BIS Billing 3.0 invoice starts with two identifiers. Together they tell the receiver which rules to check the file against. Copy them exactly.

CustomizationID (BT-24)

urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0

Tells the receiver which rule set the file follows. A wrong or missing value makes the file fail validation.

ProfileID (BT-23)

urn:fdc:peppol.eu:2017:poacc:billing:01:1.0

Names the business process, the Peppol billing process. The same value is used for invoices and credit notes.

The XRechnung CustomizationID is a different value. Using the Peppol value in a file meant for a German public body, or the other way round, makes the file fail.

03Adoption

Who uses it?

WhereRuleStatus
Peppol BIS Billing 3.0The current Peppol invoice and credit note specification. It replaced the older BIS Billing 2.0 (BII) documents.Current
January 1, 2026Belgium made structured e-invoicing through Peppol the route for domestic B2B invoices.Belgium B2B
Public sector, many countriesBuyers in the public sector in several European countries require Peppol BIS Billing 3.0 from their suppliers.B2G
GermanyA Peppol BIS Billing 3.0 invoice is an EN 16931 e-invoice, so it counts under § 14 UStG. For German public bodies XRechnung is still the expected format.Accepted

Outside Europe, Peppol uses PINT, a set of regional specifications for places such as Australia and New Zealand, Singapore and Japan. They follow the same model as Peppol BIS Billing 3.0.

04Comparison

Peppol BIS or XRechnung?

Peppol BIS Billing 3.0XRechnung
Maintained byOpenPeppolKoSIT (Germany)
SyntaxUBL 2.1 onlyUBL 2.1 or UN/CEFACT CII
Used inPeppol network and many countriesGermany, mainly public bodies
Routing fieldBuyer reference (BT-10) or order reference (BT-13), plus endpoint IDsBuyer reference (BT-10), the Leitweg-ID for public bodies
Endpoint IDsSeller (BT-34) and buyer (BT-49) electronic address requiredNot required in the same way
Validation rulesEN 16931 rules plus PEPPOL-EN16931-R rulesEN 16931 rules plus BR-DE rules

Which one? Send Peppol BIS Billing 3.0 when the customer is on the Peppol network or abroad. Send XRechnung to German public bodies. Read the XRechnung guide for the German rules.

05Required data

What does a Peppol BIS invoice contain?

Party information

Seller and buyer name, postal address and legal registration.

Tax registration

Seller VAT identifier and, where it applies, the buyer VAT identifier.

Invoice metadata

Invoice number, issue date, due date, type code and currency.

Line items

Description, quantity, unit code, unit net price and VAT category and rate.

Tax breakdown

Net amount, VAT amount and gross total for each VAT category.

Payment details

Payment means code, IBAN and payment terms.

Electronic addresses (BT-34 and BT-49)

Both parties need an endpoint ID with a scheme, such as 0088 for a GLN, 9930 for a German VAT ID or 0204 for a German Leitweg-ID. This is how the network finds the receiver.

Buyer reference or order reference

The Peppol rules require at least one of BT-10 (buyer reference) or BT-13 (order reference) so the buyer can route the invoice.

06Validation

Validation and the XSD

A Peppol BIS Billing 3.0 file is checked in two layers. The first is the structure, checked against the OASIS UBL 2.1 XSD. There is no separate Peppol XSD. The second is the business rules, published as Schematron: the EN 16931 rules (BR-...) and the Peppol rules (PEPPOL-EN16931-R...).

Drop any file into the free e-invoice validator to see the rule it breaks, or turn an old PDF into a structured file with the PDF to e-invoice converter.

07Workflow

How do I send one?

  1. 1

    Collect the receiver's Peppol participant ID

    Ask the customer for it, or look it up in the Peppol Directory. It is a scheme plus an identifier, for example a GLN or a VAT ID.

  2. 2

    Create the invoice with the Peppol fields

    Fill the electronic addresses of both parties and a buyer or order reference, besides the usual invoice data.

  3. 3

    Export it as Peppol BIS Billing 3.0 XML

    The file must carry the correct CustomizationID and ProfileID.

  4. 4

    Validate the file before sending

    Check it against the UBL 2.1 XSD and the Schematron rules. A file that fails is rejected by the access point or the receiver.

  5. 5

    Send it through a Peppol access point

    You need your own access point, or a provider that offers one. The access point delivers the file to the receiver's access point. You can also send the XML as an attachment when the customer agrees.

  6. 6

    Keep the original file

    Keep the structured XML as the original invoice. A printout or a PDF rendering is not the original.

08Rejection checklist

Common reasons a Peppol BIS invoice is rejected

  • Wrong or missing CustomizationID or ProfileID

    The receiver cannot tell which rules apply, so validation fails at once.

  • Missing electronic address (BT-34 or BT-49)

    Peppol rules require an endpoint ID with a scheme on both sides.

  • No buyer reference or order reference

    At least one of BT-10 and BT-13 must be filled.

  • VAT amounts that do not add up to the line items

    Rounding differences between line totals and the tax breakdown break the calculation rules.

  • Unknown unit code or missing VAT category code

    Units use UN/ECE Recommendation 20 codes and each tax line needs a VAT category such as S, Z, E or AE.

  • Sending a PDF instead of the XML

    A PDF is not a Peppol BIS Billing 3.0 document.

09Invoqk

Create a Peppol BIS invoice with Invoqk

Paste your job description or email, review the invoice, then export Peppol BIS Billing 3.0 XML. The file is validated before download. Peppol, XRechnung and ZUGFeRD export is free with an account.

Try the generator

10Questions

Frequently asked questions

What is Peppol BIS?

Peppol BIS (Business Interoperability Specification) is a family of document specifications for the Peppol network. Peppol BIS Billing 3.0 is the one for invoices and credit notes. It is a UBL 2.1 XML file that follows EN 16931.

What is the difference between Peppol BIS 3.0 and XRechnung?

Both follow EN 16931 and both can use UBL. XRechnung is the German CIUS with extra German rules such as a mandatory Leitweg-ID for public bodies. Peppol BIS Billing 3.0 adds Peppol rules such as electronic addresses. A file is valid for one rule set, so set the right CustomizationID.

Is there a Peppol BIS 4.0?

There is no Peppol BIS Billing 4.0. The current invoice specification is Peppol BIS Billing 3.0, which OpenPeppol updates with minor releases. Always check the OpenPeppol site for the latest release.

Is there a Peppol XSD schema?

Peppol BIS Billing 3.0 uses the standard OASIS UBL 2.1 XSD for the structure. The Peppol and EN 16931 business rules are published as Schematron files, not as a separate XSD.

Where do I find a Peppol BIS 3.0 invoice example?

OpenPeppol publishes example files together with the specification. The snippet in this guide shows the header of a minimal file. Use the free e-invoice validator to open and check any file.

Is Peppol BIS Billing 3.0 mandatory?

Not as a single worldwide rule. It depends on the country and the buyer. Some governments require it for public sector invoices, and Belgium uses Peppol for domestic B2B invoices since January 1, 2026. Ask your customer which format they need.

What is Peppol PINT?

Peppol PINT (Peppol International Invoice) is a set of regional specifications, such as for Australia and New Zealand, Singapore and Japan, built on the same model as Peppol BIS Billing 3.0. Use the PINT variant when the receiver is in one of those regions.

Is there a Peppol BIS for despatch advice?

Yes. Peppol BIS Despatch Advice 3.0 is a separate document for shipments. It is not an invoice and does not replace one.

11Sources

Sources and references