Knowledge · E-invoicing
What is Peppol BIS Billing 3.0?
Structure of a BIS Billing 3.0 invoice
BIS Billing 3.0 defines two document types: the invoice and the credit note. Both are described for UBL syntax. For the invoice, there is an additional binding to CII.
Which document types a recipient accepts is recorded in its SMP entry, separately for each syntax. A CII invoice can therefore only be delivered to recipients that have registered this document type. Your software must query the entry before sending, usually through the interface of its Access Point. If the document type is not registered, it can choose another registered format or inform the user.
BIS Billing 3.0 does not cover self-billing, where the customer issues the invoice on behalf of the supplier. For this, OpenPeppol has a separate specification, Peppol BIS Self-Billing 3.0, with its own identifiers.
Two identifiers in the document show that it is a BIS Billing 3.0 invoice. The specification
identifier in BT-24 is
urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0, and the
business process type in BT-23 is urn:fdc:peppol.eu:2017:poacc:billing:01:1.0. The
specification identifier determines which rules a validator checks the file against.
The specification on docs.peppol.eu describes all fields, code lists and rules.
Validation rules of BIS Billing 3.0
A BIS Billing 3.0 invoice is validated against three rule sets: the XML schema of its syntax (UBL or CII), the business rules of EN 16931 and the OpenPeppol rules.
The OpenPeppol rules carry the prefixes PEPPOL-EN16931 and PEPPOL-COMMON.
In addition, there are national rules. They are only applied if the seller’s country code matches the country of the rules, either in its VAT identifier (BT-31) or in its address (BT-40). The rules are requested and maintained by the Peppol Authority of the country concerned.
Our article Validating e-invoices and reading the validation report correctly explains how to interpret the messages of a validator.
Releases and mandatory dates
OpenPeppol publishes changes to BIS Billing 3.0 twice a year, in May and in November, as releases with a third version digit, such as 3.0.20 and 3.0.21. A release can tighten rules, extend code lists or fix errors in existing rules.
The changes in each version and the mandatory dates are listed in the OpenPeppol release notes.
For your software, this means you should review every release before its mandatory date and run your tests against the new rule set. From the mandatory date, Access Points validate against the new rule set. An invoice that only meets the old one may then be rejected.
BIS Billing 3.0 and XRechnung
BIS Billing 3.0 and XRechnung are both usage specifications of EN 16931, and both can be transmitted over the Peppol network. Their mandatory fields differ in the details. XRechnung, for example, always requires the buyer reference (BT-10); for invoices to the public administration, it holds the Leitweg-ID. BIS Billing 3.0 requires either the buyer reference or a purchase order reference (BT-13).
Our article XRechnung, ZUGFeRD and BIS Billing 3.0 compares which format your software should create and read, and when.
Validating a BIS Billing 3.0 invoice
You can check a single file against EN 16931 and the Peppol rules with the free E-Invoice Validator by InvoiceRails, without signing up. In your software, the InvoiceRails API handles validation before sending and checks against the rule set of the currently mandatory release.