What it means
This rule checks that no cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference in a UBL invoice or credit note contains cbc:HashAlgorithmMethod, which identifies the method used to calculate a checksum. For a supporting document (BG-24), the external link (BT-124) is held in cbc:URI in the same external reference. The check applies whether or not cbc:URI is present.
Why it matters
EN 16931 recommends leaving the hash algorithm out of external attachment references. This rule checks the XML structure, not whether anyone verifies a linked file.
How to fix it
Delete cbc:HashAlgorithmMethod from cac:AdditionalDocumentReference/cac:Attachment/cac:ExternalReference and leave any cbc:URI there unchanged. If you use invoicing software, ask its supplier to stop exporting cbc:HashAlgorithmMethod at that location. Recheck the corrected file.
Once the file is corrected, check it again for free: Validate an invoice against EN 16931
Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice
The rule as published
A UBL invoice should not include the AdditionalDocumentReference Attachment External HashAlgorithmMethod Where this rule applies
| Rule set | Version |
|---|---|
| EN 16931 (UBL) | 1.3.17 |
| EN 16931 (UBL credit note) | 1.3.17 |
| XRechnung 3.0 (UBL) | 3.0.2 |
| XRechnung 3.0 (UBL credit note) | 3.0.2 |
| Peppol BIS Billing 3.0 (invoice) | 2026.5 |
| Peppol BIS Billing 3.0 (credit note) | 2026.5 |
| SI-UBL 2.0 / NLCIUS (invoice) | 2.0.3.13 |
| SI-UBL 2.0 / NLCIUS (credit note) | 2.0.3.13 |
| France CTC (UBL invoice) | 1.4.0-04 |
| France CTC (UBL credit note) | 1.4.0-04 |
| CIUS-RO UBL Invoice 1.0.9 | 1.0.9 |
| CIUS-RO UBL Credit Note 1.0.9 | 1.0.9 |
Check your file
Drop your e-invoice to see whether UBL-CR-122 still fails, and which other rules do.
Related rules
- UBL-CR-123 Leave the expiry date out of an attachment link
- UBL-CR-124 Leave the expiry time out of an attachment link
- UBL-CR-125 Leave the file type out of an attachment link
- UBL-CR-126 Leave the format code out of an attachment link
- UBL-CR-127 Leave the encoding code out of an attachment link
- UBL-CR-128 Leave the character set out of an attachment link