A Peppol invoice must carry either a buyer reference (BT-10, cbc:BuyerReference) or a purchase order reference (BT-13, cac:OrderReference/cbc:ID). If it has neither, rule PEPPOL-EN16931-R003 rejects it: "A buyer reference or purchase order reference MUST be provided." Which one you use, and what goes in it, decides whether the invoice gets matched and paid or sits in a queue on the buyer's side.
The rule
The published Peppol test for R003 is short:
cbc:BuyerReference or cac:OrderReference/cbc:ID
It applies to both invoices and credit notes and is fatal. One of the two elements must exist with a value. Note that an empty element does not get you round it. <cbc:BuyerReference/> breaks PEPPOL-EN16931-R008 ("Document MUST not contain empty elements.") instead.
Buyer reference vs purchase order reference
| Buyer reference (BT-10) | Purchase order reference (BT-13) | |
|---|---|---|
| UBL | cbc:BuyerReference |
cac:OrderReference/cbc:ID |
| Who issues it | The buyer | The buyer, on its purchase order |
| Typical content | Cost centre, department, requisitioner, "Your ref" | The PO number |
| Used for | Routing the invoice internally | Matching to the order (2- or 3-way match) |
Peppol's guidance on BT-10: "The buyer reference, known as Your ref, is conditional. An invoice shall have either the buyer reference or the order reference." It describes the element as "used for the reference of who ordered the products/services. Example being the name of the person ordering, employee number or a code identifying this person or department/group", and notes it "is often used for internal routing at recipient".
On the purchase order: "The purchase order is conditional. If order reference exist, use that, else use Buyer reference." And: "This unique purchase order number should be supplied as the order reference on the invoice."
Correct UBL
Both together, which is the best option when you have both:
<cbc:DocumentCurrencyCode>GBP</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>FIN-OPS-77</cbc:BuyerReference>
<cac:InvoicePeriod>
<cbc:StartDate>2026-09-01</cbc:StartDate>
<cbc:EndDate>2026-09-30</cbc:EndDate>
</cac:InvoicePeriod>
<cac:OrderReference>
<cbc:ID>PO-48213</cbc:ID>
</cac:OrderReference>
Order matters in UBL. cbc:BuyerReference sits after cbc:DocumentCurrencyCode (and cbc:AccountingCost, if used), and cac:OrderReference comes after cac:InvoicePeriod but before the billing and document references. Put them in the wrong place and you get a schema error, not R003.
To reference individual PO lines, add cac:OrderLineReference to each invoice line:
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="HUR">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="GBP">850.00</cbc:LineExtensionAmount>
<cac:OrderLineReference>
<cbc:LineID>1</cbc:LineID>
</cac:OrderLineReference>
<!-- Item, Price ... -->
</cac:InvoiceLine>
We validated invoices with both references, with only the buyer reference, and with only the PO reference against the EN 16931 and Peppol BIS Billing 3.0 rules. All three passed. Removing both triggered R003.
Sales order numbers
Your own sales order number is BT-14, cac:OrderReference/cbc:SalesOrderID. UBL needs cac:OrderReference/cbc:ID whenever cac:OrderReference is present. The Peppol syntax guide says: "In cases where sales order reference is provided, but there's no purchase order reference, then set cac:OrderReference/cbc:ID to value 'NA' as this element is mandatory in UBL."
Be aware that NA also satisfies R003, because the rule only checks that cac:OrderReference/cbc:ID exists. It passes validation, but it gives the buyer nothing to match against. If the customer gave you a reference, use it.
Other reference fields people confuse
| Field | UBL | Use |
|---|---|---|
| BT-11 Project reference | cac:ProjectReference/cbc:ID |
Buyer's project code |
| BT-12 Contract reference | cac:ContractDocumentReference/cbc:ID |
Framework or contract number |
| BT-15 / BT-16 Receiving / despatch advice | cac:ReceiptDocumentReference, cac:DespatchDocumentReference |
Goods received or delivery note numbers |
| BT-17 Tender or lot reference | cac:OriginatorDocumentReference/cbc:ID |
Procurement procedure ID |
| BT-19 Buyer accounting reference | cbc:AccountingCost |
Where the buyer books the cost (for example a GL code) |
None of these satisfies R003 on its own. A contract number in BT-12 still needs BT-10 or BT-13 alongside it.
When the customer gave you nothing
Peppol's guidance: "If neither buyer reference nor a reference to an order is supplied by the customer, the name of the person ordering or appointed for the customer can be supplied in buyer reference if known by the supplier." And when the customer did provide a reference, "the correct element shall contain the provided reference".
In practice, for UK suppliers:
- Ask at onboarding. Make "PO number or buyer reference" a required field when you set up a new customer or take an order. See supplier onboarding.
- Store it on the customer or order record, not in a free-text note, so your software can map it to BT-10 or BT-13 automatically.
- Don't invent placeholders. A reference like "N/A" or "TBC" in BT-10 passes validation but tends to fail the buyer's matching and get the invoice queried.
Public sector buyers
Public sector buyers in the UK already receive Peppol invoices. NHS Supply Chain requires its suppliers to e-invoice through Peppol, according to the government's consultation response. Public bodies often have their own rules on PO numbers and buyer references. Check each customer's supplier guidance rather than assuming. See NHS Peppol invoicing and invoicing central government.
What may change for the UK mandate
R003 is a Peppol rule in Peppol BIS Billing 3.0. Peppol is confirmed as the UK's network, but the UK data standard is not yet published. A UK specification could keep R003 as it is, make the PO reference mandatory for some flows, or add new reference fields. None of this is confirmed. Check the timeline after the roadmap at Budget 2026.
What to do now
- Suppliers: check that your invoice template maps the customer's reference to BT-10 and their PO to BT-13, and that the fields can't be sent empty.
- Buyers and AP teams: decide what you want in BT-10 (cost centre? requester?) and tell your suppliers. It is the cheapest routing win in e-invoicing. See accounts payable and e-invoicing.
- Read common Peppol validation errors.
Frequently asked questions
What is BT-10 in Peppol?
BT-10 is the Buyer reference (cbc:BuyerReference in UBL). The buyer assigns it, usually for internal routing, such as a cost centre, department code or the name of the person who ordered.
Is the buyer reference mandatory in Peppol?
Not on its own. Peppol requires either a buyer reference (BT-10) or a purchase order reference (BT-13). Without one of them, rule PEPPOL-EN16931-R003 rejects the invoice.
What do I put in the buyer reference if the customer did not give me one?
Peppol's guidance says that if the customer gave neither a buyer reference nor an order number, you can put the name of the person who ordered, if you know it. Better still, ask the customer what reference they want.
Will UK buyers be able to require a PO number on e-invoices?
Buyers can already require one commercially. Whether the UK mandate's standard makes any reference field mandatory beyond today's Peppol rule is not yet confirmed.
Spotted a mistake? Report an error. einvoices.uk is an independent publication and is not affiliated with HMRC. Details of the mandate may change; check the sources and official GOV.UK guidance before acting.