Skip to content

Fatal

BR-NL-8: The type code and the UBL layout must agree: 381 is a credit note

In short

Fatal: fails the selected checks.

BR-NL-8 means the document type code and the UBL layout do not match: a document with type code 381 (credit note) must be built as a UBL credit note, not as a UBL invoice. Fix it by exporting it again as a credit note, or by changing the code if the document is really an invoice.

On this page

What it means

UBL has two layouts, Invoice and CreditNote, each with its own top-level element. The rule checks that a document with document type code (BT-3) 381 uses the CreditNote layout. The variant in the same rule sets checks the other direction: a document with code 380, 384 or 389 must use the Invoice layout, not the CreditNote layout.

Why it matters

The layout and the code are two statements about the same document. When they disagree, the recipient cannot tell whether the document adds to or reduces the amount owed. The file fails the check and the invoice is rejected.

How to fix it

If it is a credit note, create it as a credit note in your invoicing software and export it as a UBL credit note. A common cause is a credit note that went through the invoice template. If it is an invoice, change the type code to 380, or to 384 for a correction.

The rule as published

If the invoice type code (cbc:InvoiceTypeCode) is 381, the document MUST use the CreditNote scheme

Where SI-UBL 2.0 / NLCIUS (invoice), SI-UBL 2.0 / NLCIUS (credit note) run it, the rule reads:

If the credit note type code (cbc:CreditNoteTypeCode) is 380, 384 or 389, the document MUST use the Invoice scheme

Where this rule applies

Rule set Version
SI-UBL 2.0 / NLCIUS (invoice) 2.0.3.13
SI-UBL 2.0 / NLCIUS (credit note) 2.0.3.13
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether BR-NL-8 still fails, and which other rules do.

Updated 6 November 2026