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