Official rule text
[PEPPOL-EN16931-R101] Element Document reference can only be used for Invoice line object
Why this error occurs
At line level the document reference element is reserved for the invoiced object identifier (BT-128), which must be typed with document type code 130. The rule checks that any cac:DocumentReference in a line has cbc:DocumentTypeCode 130 (UBL) or that ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument has ram:TypeCode 130 (CII). It fails when the type code is missing or when another code (e.g. 50 for delivery note, 916 for supporting document) is used because the ERP maps delivery or contract references to the line.
How to fix it
Set cbc:DocumentTypeCode to 130 for the one line reference that identifies the invoiced object. If the reference is something else, remove it from the line: delivery notes belong in the header cac:DespatchDocumentReference, order line numbers in cac:OrderLineReference/cbc:LineID, supporting documents in header cac:AdditionalDocumentReference. In CII set ram:TypeCode 130 on the line's ram:AdditionalReferencedDocument and move other references to header level.
Example (valid)
<cac:DocumentReference>
<cbc:ID>SUBSCRIPTION-4711</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
What the validator checks
Checked element (context):
UBL
cac:InvoiceLine | cac:CreditNoteLineTest (XPath):
(not(cac:DocumentReference) or (cac:DocumentReference/cbc:DocumentTypeCode='130'))CII
ram:IncludedSupplyChainTradeLineItemTest (XPath):
(not(ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument) or (ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode='130'))
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-R003Neither buyer reference nor purchase order reference givenPEPPOL-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 elements
Frequently asked questions
What does PEPPOL-EN16931-R101 mean?
PEPPOL-EN16931-R101 is a peppol bis billing 3.0 rule: Element Document reference can only be used for Invoice line object
Will my invoice be rejected because of PEPPOL-EN16931-R101?
Yes. PEPPOL-EN16931-R101 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-R101 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.