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:InvoiceTest (XPath):
cbc:BuyerReference or cac:OrderReference/cbc:IDCII
ram:ApplicableHeaderTradeAgreementTest (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.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
PEPPOL-EN16931-R001Business process identifier (BT-23) is missingPEPPOL-EN16931-R002No more than one note is allowed on document level, unless both the buyer and seller…PEPPOL-EN16931-R004Specification identifier is not the Peppol BIS Billing 3.0 identifierPEPPOL-EN16931-R005VAT accounting currency equals the invoice currencyPEPPOL-EN16931-R006Only one invoiced object is allowed on document levelPEPPOL-EN16931-R007Business process identifier has the wrong formatPEPPOL-EN16931-R008Document contains empty elementsPEPPOL-EN16931-R010Buyer electronic address (BT-49) is missing
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.