BR-KSA-81 Warning — the invoice is accepted

Tax invoice to a buyer with neither a VAT number nor another ID (BT-46)

A tax invoice, or a note against one, whose buyer has no VAT number has to identify the buyer another way, with the kind of ID stated: a commercial registration, a 700 number, a national ID. It is a warning, so the document is accepted and the buyer stays unidentified on it.

The message text as the Authority sends it in English, unedited

The other Buyer ID (BT-46) must present in the tax invoice and associated debit notes and credit notes (KSA-2, position 1 and 2 = 01), where the buyer VAT registration number or buyer group VAT registration number (BT-48) is not provided.

What does this mean?

The rule reads a family and a condition together. The family is the tax invoice and its credit and debit notes: the documents whose KSA-2 code begins 01. A simplified invoice, beginning 02, is outside it. The condition is that the buyer VAT number (BT-48) is not provided. When both hold, the other buyer ID (BT-46) has to be there.

BT-46 is cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID, with the kind of document the number comes from in its schemeID attribute. ZATCA's XML Implementation Standard names that element as the one this rule uses, and its Data Dictionary lists BR-KSA-81 against it beside BR-KSA-14 and BR-KSA-49. The accepted kinds, from a commercial registration and a 700 number to a national ID and an Iqama, are named in the message of BR-KSA-14, and that page covers them.

It is a warning: the document is accepted and the warning is recorded with it. That is exactly why it lingers in a system. Nothing stops, and every tax invoice to that buyer goes out naming a buyer it does not identify.

Three codes sit on the same buyer and are easy to confuse with this one. BR-KSA-14, an error, governs the identifier's scheme and its characters. BR-KSA-44, an error, governs the shape of a VAT number that is present. BR-KSA-F-13, a warning, flags a value that does not fit the scheme declared beside it. We read each rule's message and severity, not the test that fires it, so read the code you actually received rather than assuming which of them a bare absence produces.

Why does it happen?

Ordered from the most common to the least — your cause is most likely the first or the second.

  • A system that only knows how to send a VAT number: when the buyer has none, the buyer block goes out with a name and an address and nothing in place of the number.
  • The identifier is on the customer record but never reaches the XML, because the template writes the VAT element and has no party identification element at all.
  • An XML library that demands a buyer VAT number on every invoice that is not simplified. The one we build on does exactly that, and the obvious ways past it trade one problem for another: fifteen zeroes in BT-48 fail BR-KSA-44, and a number that merely looks valid is a VAT number that is not the buyer's.
  • The identifier written in the wrong place: a commercial registration or a national ID in the VAT element, where it becomes a malformed VAT number, or in a free-text note, where no validator looks for it.
  • A credit or debit note built from the buyer record as it stands today, after the identifier was removed, or from a note template that copies the buyer name and leaves the identification behind.

How to fix it

4 steps, then send the invoice again.

  1. 1
    Settle whether the buyer is VAT-registered

    Registered: the number goes in BT-48, 15 digits beginning and ending with 3, and this rule is satisfied; check a number you were given with the VAT number lookup before you rely on it. Not registered, which covers a business under the registration threshold, a government body and an individual: no BT-48 at all, and the buyer is identified in BT-46.

  2. 2
    Write BT-46 with its scheme

    Inside the buyer party, ahead of its postal address: <cac:PartyIdentification><cbc:ID schemeID="700">7009876543</cbc:ID></cac:PartyIdentification>. The number goes in as letters and digits with no dashes or spaces, and its kind goes in schemeID. A government body is identified by its 700 number, a company by its commercial registration, a person by a national ID or an Iqama, whose check digit the Authority verifies (BR-KSA-F-13).

  3. 3
    Carry it onto the notes

    The rule names credit and debit notes too, and a note against a tax invoice carries a buyer block of its own. Build it from the same identified record as the invoice, not from a copy of the buyer name. The rest of what a note needs, its reason and its reference to the invoice, is in BR-KSA-17 and BR-KSA-56.

  4. 4
    Fix the record, not the accepted document

    A document accepted with this warning is issued and stays in your chain. Correct the buyer record so the next tax invoice carries the identifier, and look at the rest of the buyer block while you are there: the buyer name has a warning of its own on the same family of documents, BR-KSA-42.

This code does not block acceptance, so the invoice you have is compliant. Correct the data so the warnings disappear from future invoices.

Does ZATCA Tools prevent it?

Yes on every path that creates a tax invoice, with one gap worth knowing. The web invoice form, a draft being issued (one converted from a quotation included) and the API all refuse a tax invoice unless the buyer record holds a valid VAT number or an identifier with its kind, and an order from a connected store becomes a tax invoice only for a buyer who meets the same requirement. A buyer with no VAT number is sent in BT-46 with its scheme and no BT-48 at all, and the identifier is checked against its kind when it is saved, the check digit of a national ID or an Iqama included. The gap: a credit or debit note takes its buyer from the original invoice's customer record as that record stands when the note is issued, and the note path does not repeat the check. A record edited after the invoice to hold neither number would reach the note without either.

Related codes

Frequently asked questions

Was my invoice rejected because of this code? +
No. BR-KSA-81 is a warning: the document is accepted and the warning is recorded with it. If your invoice really was rejected, the reason is a code in errorMessages rather than warningMessages; on the buyer block, look for BR-KSA-44 on the VAT number and BR-KSA-14 on the identifier. How to read the whole response is in ZATCA error codes explained.
My buyer is a government body with no VAT number. What do I send? +
Its unified number, ten digits beginning with 7, under the scheme 700, which the message of BR-KSA-14 names. We issued exactly that through the Authority's sandbox: a tax invoice to a government buyer identified by its 700 number, and a credit note against it, and both cleared with nothing to report.
Does this apply to simplified invoices? +
No. The message limits it to KSA-2 codes beginning 01: the tax invoice and its notes. A simplified invoice to a consumer needs no buyer identification to begin with, with one exception: when a line carries VATEX-SA-EDU or VATEX-SA-HEA, BR-KSA-49 requires the buyer's national ID on any document, simplified included. The two families are compared in standard versus simplified tax invoices.
Do I have to reissue the invoices that already carry this warning? +
Nothing in the rule asks for that. The warning did not stop those documents: they were accepted, and they sit in your chain as issued. Correct the buyer record so the warning stops recurring, and if you need a definitive answer about a particular document already issued, that question belongs to zatca.gov.sa.
You fixed this one — now avoid the next

ZATCA Tools builds the signature, the PIH, the counter and the encoding for you, and validates your data before it is sent. Start free, with no credit card.

Start for free

← All ZATCA error codes