EN16931 / XRechnung / Peppol BIS 3 Validator

PEPPOL-EN16931-R101: Element Document reference can only be used for Invoice line object

fatal CII UBL auto-fix

What this error means and how to fix it

A Peppol BIS Billing 3.0 rule (OpenPeppol): an extra requirement for invoices sent over the Peppol network, for example electronic addresses (BT-34, BT-49), the business process (BT-23) or code values. This is an error: the invoice is rejected until it is fixed.

Check your invoice against PEPPOL-EN16931-R101 — free

Runs the KoSIT validator 1.6.3, unmodified · result in seconds · the file is not stored · No file at hand? Try a sample invoice

Automatic fix: 9 € per file (excl. VAT where applicable). Line document reference type code is set to 130 (invoiced object identifier). The result page shows which errors the repair removes and whether the corrected file then passes — before you pay. Many files? Pilot and Repair API.

Rule text

[PEPPOL-EN16931-R101]-Element Document reference can only be used for Invoice line object
[PEPPOL-EN16931-R101]-Element Additional referenced document can only be used for Invoice line object.

XRechnung rule texts are published in German by KoSIT; the text above is the original.

Automatic repair

Line document reference type code is set to 130 (invoiced object identifier).

This rule is in the deterministic set of our repair engine (UBL 2.1; measured 2026-10-23: XRechnung 15 broken test invoices accepted after repair, 45 valid invoices unchanged; Peppol BIS Billing 3: 10 official examples unchanged, 40 mutated invoices: 36 accepted after repair, 4 rejected as expected — one documented limit, two with the repair parameter switched off, one where no address could be derived; profile conversion of 33 XRechnung test invoices to Peppol: 30 accepted). For UN/CEFACT CII (Factur-X / ZUGFeRD EN 16931 XML, XRechnung CII) the engine repairs the totals chain, VAT breakdown, rounding, decimals and element order (measured 2026-10-24: 53 valid CEN and XRechnung CII invoices unchanged; 28 broken invoices: 27 accepted after repair, 1 rejected as expected because a VAT exemption reason cannot be derived). Single files: 9 € on the result page; many files: the Repair API — see Pricing.

Where the rule is checked (XPath context and test)
SyntaxSeverityContext (XPath)Test (XPath)
Peppol-UBLfatalcac:InvoiceLine | cac:CreditNoteLine(not(cac:DocumentReference) or (cac:DocumentReference/cbc:DocumentTypeCode='130'))
XRechnung-UBLfatal(not(cac:DocumentReference) or (cac:DocumentReference/cbc:DocumentTypeCode='130'))
XRechnung-CIIfatal(not(ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument) or (ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:TypeCode='130'))

Source: Peppol BIS Billing 3.0 Schematron, UBL (OpenPeppol, docs.peppol.eu validation artefacts 3.0.21).

Source: XRechnung Schematron, CII (itplr-kosit/xrechnung-schematron, Apache-2.0).

Source: XRechnung Schematron, UBL (itplr-kosit/xrechnung-schematron, Apache-2.0).

Check your invoice against this rule