BR-16: Invoice has no line

An error: the invoice is rejected, so fix the cause and send it again.

Official text

An Invoice shall have at least one Invoice line (BG-25)

Error · Source: ZATCA E-Invoicing SDK 238-R3.3.8 · Electronic Invoice XML Implementation Standard v1.2, 19 May 2023, §13.2.1, p. 36 · Checked: 26 October 2026

What it means

Every invoice or note must contain at least one line (InvoiceLine).

When it happens

How to fix it

  1. Add a line describing what was sold, even a single service.
  2. Block invoices for empty orders.

Example

Wrong: raises BR-16
<cac:LegalMonetaryTotal>…</cac:LegalMonetaryTotal>
</Invoice>
Correct
<cac:LegalMonetaryTotal>…</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <cbc:InvoicedQuantity unitCode="PCE">33.000000</cbc:InvoicedQuantity>
  <cbc:LineExtensionAmount currencyID="SAR">99.00</cbc:LineExtensionAmount>
  …
</cac:InvoiceLine>
</Invoice>

We ran the wrong example through ZATCA's SDK 238-R3.3.8 on 26 October 2026 and it raised BR-16, along with BR-CO-10, BR-CO-13, BR-S-08. The example is an excerpt of ZATCA's sample Simplified/Invoice/Simplified_Invoice.xml with one change; the sample without it does not raise the code.

Related codes

Terms on this page

Frequently asked questions

What does BR-16 mean?

Every invoice or note must contain at least one line (InvoiceLine).

Is the invoice rejected when BR-16 appears?

An error: the invoice is rejected, so fix the cause and send it again. This is its severity in ZATCA's SDK 238-R3.3.8.

How do I fix BR-16?

1. Add a line describing what was sold, even a single service. 2. Block invoices for empty orders.

Last updated: 26 October 2026 · What we don't do · Methodology · Correct us · Changelog

First published 2026-10-26 · Archived copy

First 500 restaurants, cafés, bakeries and sweet shops: a SAR 99 monthly cap.

Instead of SAR 149, per branch, for a full year. Free to join, no commitment.

Reserve your seat