Account
English

PEPPOL-EN16931-R003: Neither buyer reference nor purchase order reference given

Peppol BIS Billing 3.0 rule · Error · UBL / CII

StandardPeppol BIS Billing 3.0 (OpenPeppol)SeverityError: the invoice is rejectedSyntaxUBL, CIIApplies toInvoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well.

Official rule text

[PEPPOL-EN16931-R003] A buyer reference or purchase order reference MUST be provided.

Why this error occurs

Peppol BIS requires a buyer reference (BT-10) or a purchase order reference (BT-13) so the buyer's system can match the invoice automatically. The rule checks cbc:BuyerReference or cac:OrderReference/cbc:ID (UBL), ram:BuyerReference or ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID (CII). It fails when the order number is only printed in the line text or when the customer record carries no reference.

How to fix it

Add cbc:BuyerReference (UBL) / ram:BuyerReference in ram:ApplicableHeaderTradeAgreement (CII) with the reference the buyer gave you (cost centre, contact, Leitweg-ID), or add cac:OrderReference/cbc:ID (UBL) / ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID (CII) with the buyer's purchase order number. If neither is known, ask the buyer; as a fallback many senders repeat the buyer's customer number in cbc:BuyerReference. In UBL cbc:BuyerReference precedes cac:OrderReference in element order.

Example (valid)

<cbc:BuyerReference>PO-55821</cbc:BuyerReference>
<cac:OrderReference>
  <cbc:ID>PO-55821</cbc:ID>
</cac:OrderReference>

What the validator checks

Checked element (context):

UBL

ubl-creditnote:CreditNote | ubl-invoice:Invoice

Test (XPath):

cbc:BuyerReference or cac:OrderReference/cbc:ID

CII

ram:ApplicableHeaderTradeAgreement

Test (XPath):

ram:BuyerReference or ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID

Check your invoice

Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.

Check your invoice →

Same check via API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Related rules

Frequently asked questions

What does PEPPOL-EN16931-R003 mean?

PEPPOL-EN16931-R003 is a peppol bis billing 3.0 rule: A buyer reference or purchase order reference MUST be provided.

Will my invoice be rejected because of PEPPOL-EN16931-R003?

Yes. PEPPOL-EN16931-R003 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.

Which formats does PEPPOL-EN16931-R003 apply to?

Invoices and credit notes sent over the Peppol network (UBL) and, because XRechnung embeds the Peppol rule set, every XRechnung as well. Syntax: UBL and CII.

Source: Peppol BIS Billing 3.0.20 (November 2025). Catalogue generated from the official schematron on 2026-10-14.