Error codes · Peppol BIS 3.0

PEPPOL-EN16931-R102In your invoicing software

Document Reference Only Allowed for Invoice Line Object

This is the rejection, word for word: „[PEPPOL-EN16931-R102] PEPPOL-EN16931-R102 fires when a DocumentReference element is used at the wrong level in the invoice. The cac:DocumentReference element can only be used to reference an invoiced object at the line level, not at the document header level.“

This rule validates that cac:DocumentReference within an invoice line is only used for the invoiced object identifier (BT-128). The Schematron assertion checks that DocumentReference elements at the line level contain a DocumentTypeCode of '130' (invoiced object identifier).

What to have readyNothing. The file has to be re-exported from your invoicing software; we check it again afterwards.
What we doMove non-object document references to cac:AdditionalDocumentReference at the document level, or ensure line-level DocumentReference elements use DocumentTypeCode '130'.
If you enter it yourself in your invoicing software
Before
<cac:InvoiceLine>\n  <cac:DocumentReference>\n    <cbc:ID>CONTRACT-2024-001</cbc:ID>\n    <cbc:DocumentTypeCode>916</cbc:DocumentTypeCode>\n  </cac:DocumentReference>\n</cac:InvoiceLine>
After
<cac:InvoiceLine>\n  <cac:DocumentReference>\n    <cbc:ID schemeID="ABZ">OBJECT-REF-123</cbc:ID>\n    <cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>\n  </cac:DocumentReference>\n</cac:InvoiceLine>

Element order is part of the rule: if the element sits in the wrong place, the validator rejects with PEPPOL-EN16931-R102.

What the finding looks likeExample
FindingStructure invalid · PEPPOL-EN16931-R102
From youA re-exported file
ThenRe-export
ProofSHA-256 and /verify link after the check
Fix PEPPOL-EN16931-R102: Document Reference at Wrong Level