The ZATCA rule codes Mutabiq checks, and the ones it does not

This page states what Mutabiq's rule pack covers, measured against the validation rule files ZATCA publishes, and lists every rule code it leaves unchecked.

Mutabiq's 97 rules that mirror a published clause check 96 of the 242 rule codes in ZATCA's SDK 3.4.8 rule files (Schematron dated 2025-12); the other rule codes are not checked. A rule code mirrored by more than one rule is counted once.

This is pre-validation against published ZATCA requirements, not an approval by the authority.

How this was counted

The denominator is ZATCA's, not Mutabiq's: the validation rule files (Schematron) in ZATCA's SDK 3.4.8, the KSA file dated 2025-12-01 and the EN16931 file dated 2025-09-02. Mutabiq's side of the count is the ZATCA rule code each of its rules mirrors.

Two units, counted separately and never mixed. A rule code is the identifier the SDK prints when a check fails, such as BR-KSA-33. An assertion is one executable check in the files, and one rule code can carry more than one assertion.

  • The files hold 242 rule codes. Mutabiq checks 96 of them and does not check the other 146.
  • The files hold 257 assertions. 103 of them sit under a rule code Mutabiq checks and 154 do not.
  • 3 of those assertions print no rule code in the SDK's output, so no rule can cite them. They are counted apart from the rule codes and listed last below, under the id the file gives them.
  • ZATCA's own flag on the 154 unchecked assertions: 38 flagged error, 116 flagged warning. The flag is the file's, per assertion, not a Mutabiq severity.
  • 97 of Mutabiq's rules mirror these 96 rule codes. A rule code mirrored by more than one rule is counted once: BR-KSA-27: MTB-BR-KSA-27, MTB-QR-00

The build's own record, as the generator wrote it:

Counted by
tools/marketing/generate-rule-pages.mjs's buildCoverage(), from vendor/zatca/schematron (SDK 3.4.8's vendored Schematron, comments masked per docs/rules/sdk-3.4.8-diff.md §0.1) and this rule pack's own mirrored ZATCA codes.
Update policy
Re-checked against each ZATCA SDK release; last checked against SDK 3.4.8, whose vendored Schematron is dated 2025-12-01 (KSA) and 2025-09-02 (EN); see docs/rules/sdk-3.4.8-diff.md.

When this is updated

When ZATCA publishes a new SDK, Mutabiq re-runs its fixture set and the coverage count against the files the release ships, and records the result on the changelog within fourteen days. Every figure on this page is read from that run; none is typed. It was last run against SDK 3.4.8.

The rule codes Mutabiq does not check

Of the 242 rule codes in ZATCA's SDK 3.4.8 rule files, Mutabiq checks 96 and leaves 146 unchecked. Every unchecked assertion below sits in exactly one of the groups that follow, each named for the reason it is unchecked. The reason is read from the assertion itself by the build that produced this page, never assigned by hand.

Within a group, one row per assertion, under the family the rule code belongs to. The flag and the message are ZATCA's, quoted in English as the SDK prints them. A rule code with more than one assertion has a row for each.

Needs a signed document

1 rule code, 1 assertion

The check reads the cryptographic stamp (KSA-15), which a document carries only once the e-invoicing solution has signed it with its certificate. Mutabiq checks the document before that step and never holds a certificate or a private key, so this check cannot run here.

BR-KSA

CodeZATCA flagZATCA's message
BR-KSA-28Error[BR-KSA-28]-If the cryptographic stamp (KSA-15) exists in the invoice, this cryptographic stamp (KSA-15) must contain the exact "urn:oasis:names:specification:ubl:signature:1" value for signature information ID.

Needs the time of submission

1 rule code, 1 assertion

The check compares the invoice's issue date and time with the clock at the moment the document is submitted to ZATCA. Before submission that moment is not known, so a check that runs earlier has nothing to compare against.

BR-KSA

CodeZATCA flagZATCA's message
BR-KSA-98Warning[BR-KSA-98] - The simplified invoice should be submitted within 24 hours of issuing the invoice.

Prints no rule code

3 assertions

The SDK prints no rule code for these assertions, so no finding could cite one and no test document can corroborate one by code. They are listed under the id the file gives them.

Assertions that print no rule code

CodeZATCA flagZATCA's message
BR-KSA-15Warning[BR-KSA-15]-The tax invoice ((invoice type code (BT-30) = 388) and (invoice transaction code (KSA-2) has "01" as first 2 digits)) must contain the supply date (KSA-5).
BR-KSA-35Warning[BR-KSA-35]-If the invoice contains a supply end date (KSA-24), then the invoice must contain a supply date (KSA-5).
BR-KSA-36Warning[BR-KSA-36]-If the invoice contains a supply end date (KSA-24), then this date must be greater than or equal to the supply date (KSA-5).

Not yet mirrored

144 rule codes, 149 assertions

Each of these is an XPath over the document alone, which Mutabiq could mirror and has not yet. This group is the to-do list; the rows ZATCA flags as error are the first candidates, because they are what makes a document rejectable.

BR

29 rule codes, 29 assertions

CodeZATCA flagZATCA's message
BR-02Warning[BR-02]-An Invoice shall have an Invoice number (BT-1).
BR-03Error[BR-03]-An Invoice shall have an Invoice issue date (BT-2).
BR-05Error[BR-05]-An Invoice shall have an Invoice currency code (BT-5).
BR-06Warning[BR-06]-An Invoice shall contain the Seller name (BT-27).
BR-08Warning[BR-08]-An Invoice shall contain the Seller postal address (BG-5)
BR-09Warning[BR-09]-The Seller postal address (BG-5) shall contain a Seller country code (BT-40).
BR-13Warning[BR-13]-An Invoice shall have the Invoice total amount without VAT (BT-109).
BR-14Error[BR-14]-An Invoice shall have the Invoice total amount with VAT (BT-112).
BR-15Error[BR-15]-An Invoice shall have the Amount due for payment (BT-115).
BR-16Error[BR-16]-An Invoice shall have at least one Invoice line (BG-25)
BR-21Warning[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).
BR-22Error[BR-22]-Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).
BR-24Error[BR-24]-Each Invoice line (BG-25) shall have an Invoice line net amount (BT-131).
BR-25Warning[BR-25]-Each Invoice line (BG-25) shall contain the Item name (BT-153).
BR-26Error[BR-26]-Each Invoice line (BG-25) shall contain the Item net price (BT-146).
BR-31Error[BR-31]-Each Document level allowance (BG-20) shall have a Document level allowance amount (BT-92).
BR-32Error[BR-32]-Each Document level allowance (BG-20) shall have a Document level allowance VAT category code (BT-95).
BR-36Warning[BR-36]-Each Document level charge (BG-21) shall have a Document level charge amount (BT-99).
BR-37Warning[BR-37]-Each Document level charge (BG-21) shall have a Document level charge VAT category code (BT-102).
BR-41Error[BR-41]-Each Invoice line allowance (BG-27) shall have an Invoice line allowance amount (BT-136).
BR-43Warning[BR-43]-Each Invoice line charge (BG-28) shall have an Invoice line charge amount (BT-141).
BR-46Error[BR-46]-Each VAT breakdown (BG-23) shall have a VAT category tax amount (BT-117).
BR-47Error[BR-47]-Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).
BR-48Error[BR-48]-Each VAT breakdown (BG-23) shall have a VAT category rate (BT-119), except if the Invoice is not subject to VAT.
BR-49Warning[BR-49]-A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).
BR-52Warning[BR-52]-Each Additional supporting document (BG-24) shall contain a Supporting document reference (BT-122).
BR-53Warning[BR-53]-If the VAT accounting currency code (BT-6) is present, then the Invoice total VAT amount in accounting currency (BT-111) shall be provided.
BR-54Error[BR-54]-Each Item attribute (BG-32) shall contain an Item attribute name (BT-160) and an Item attribute value (BT-161).
BR-55Error[BR-55]-Each Preceding Invoice reference (BG-3) shall contain a Preceding Invoice reference (BT-25).

BR-CL

3 rule codes, 3 assertions

CodeZATCA flagZATCA's message
BR-CL-05Error[BR-CL-05]-Tax currency code MUST be coded using ISO code list 4217 alpha-3
BR-CL-14Warning[BR-CL-14]-Country codes in an invoice MUST be coded using ISO code list 3166-1
BR-CL-16Warning[BR-CL-16]-Payment means in an invoice MUST be coded using UNCL4461 code list

BR-CO

1 rule code, 1 assertion

CodeZATCA flagZATCA's message
BR-CO-04Error[BR-CO-04]-Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

BR-CUSTOM-VALIDATION

1 rule code, 1 assertion

CodeZATCA flagZATCA's message
BR-CUSTOM-VALIDATION-01Error[BR-CUSTOM-VALIDATION-01]- The Seller VAT registration number or seller group VAT registration number (BT-31) of The invoice must not match the buyer VAT registration number (BT-48) .

BR-DEC

8 rule codes, 8 assertions

CodeZATCA flagZATCA's message
BR-DEC-05Warning[BR-DEC-05]-The allowed maximum number of decimals for the Document level charge amount (BT-99) is 2.
BR-DEC-06Warning[BR-DEC-06]-The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.
BR-DEC-11Warning[BR-DEC-11]-The allowed maximum number of decimals for the Sum of charges on document level (BT-108) is 2.
BR-DEC-17Warning[BR-DEC-17]-The allowed maximum number of decimals for the Rounding amount (BT-114) is 2.
BR-DEC-24Warning[BR-DEC-24]-The allowed maximum number of decimals for the Invoice line allowance amount (BT-136) is 2.
BR-DEC-25Warning[BR-DEC-25]-The allowed maximum number of decimals for the Invoice line allowance base amount (BT-137) is 2.
BR-DEC-27Warning[BR-DEC-27]-The allowed maximum number of decimals for the Invoice line charge amount (BT-141) is 2.
BR-DEC-28Warning[BR-DEC-28]-The allowed maximum number of decimals for the Invoice line charge base amount (BT-142) is 2.

BR-E

1 rule code, 1 assertion

CodeZATCA flagZATCA's message
BR-E-07Error[BR-E-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Exempt from VAT", the Document level charge VAT rate (BT-103) shall be 0 (zero).

BR-KSA

34 rule codes, 39 assertions

CodeZATCA flagZATCA's message
BR-KSA-03Error[BR-KSA-03]-The invoice must contain a unique identifier ("UUID") (KSA-1) given by the unit that issued the document (unique message identifier for interchange process). This value must contain only letters, digits, and dashes.
BR-KSA-10Warning[BR-KSA-10]-Where the Buyer Country Code (BT-55) is other than 'SA' Buyer address must contain a street (BT-50), city (BT-52), country code (BT-55). This rule does not apply on the simplified tax invoices and associated credit notes and debit notes (KSA-2, position 1 and 2 = 02).
BR-KSA-12Warning[BR-KSA-12]-A Document level allowance (BG-20) where VAT category code (BT-95) is "Not subject to VAT", a Document level allowance VAT rate (BT-96) shall be 0 (Zero), if exist.
BR-KSA-13Warning[BR-KSA-13]-A Document level charge (BG-21) where the VAT category code (BT-102) is "Not subject to VAT", a Document level charge VAT rate (BT-103) shall be 0 (zero), if exist.
BR-KSA-19Warning[BR-KSA-19]-Each Document level charge (BG-21) shall have a code for the reason for document level charge (BT-105).
BR-KSA-20Warning[BR-KSA-20]-Each Invoice line charge (BG-28) shall have a code for the reason for invoice line charge (BT-145).
BR-KSA-21Warning[BR-KSA-21]-Each Document level charge (BG-21) shall have a Reason for document level charge (BT-104).
BR-KSA-22Warning[BR-KSA-22]- Each Invoice line charge (BG-28) shall have a Reason for invoice line charge (BT-144).
BR-KSA-37Warning[BR-KSA-37]-The seller address building number must contain 4 digits.
BR-KSA-66Warning[BR-KSA-66]-Seller postal code (BT-38) must be 5 digits.
BR-KSA-67Warning[BR-KSA-67]-If the buyer country code (BT-55) is "SA", then the Buyer postal code(BT-53) must be 5 digits.
BR-KSA-72ErrorIf the Invoice is a simplified invoice type and is a summary invoice (KSA-2, position 1 and 2 = 02, position 6 = 1), then a supply date (KSA-5) and supply end date (KSA-24) must be present
BR-KSA-73Warning[BR-KSA-73]-If Pre-Paid amount (BT-113) is provided, then the following data is mandatory to provide as additional invoice line(s) -Prepayment ID (KSA-26) -Sequential invoice number (BT-1) of the prepayment invoice(s)-Prepayment Issue Date (KSA-28) -Issue date (BT-2) of the prepayment invoice(s) Prepayment Issue Time (KSA-29) - Issue time (KSA-25) of the prepayment invoice(s) Prepayment Document Type Code (KSA-30)- Invoice type code (BT-3) must be 386.
BR-KSA-73Warning[BR-KSA-73]-If Pre-Paid amount (BT-113) is provided, then the following data is mandatory to provide as additional invoice line(s) -Prepayment ID (KSA-26) -Sequential invoice number (BT-1) of the prepayment invoice(s)-Prepayment Issue Date (KSA-28) -Issue date (BT-2) of the prepayment invoice(s) Prepayment Issue Time (KSA-29) - Issue time (KSA-25) of the prepayment invoice(s) Prepayment Document Type Code (KSA-30)- Invoice type code (BT-3) must be 386
BR-KSA-74Error[BR-KSA-74]-Prepayment Document Type Code (KSA-30) for the Invoice line document reference must be '386'.
BR-KSA-75Warning[BR-KSA-75]-If Prepayment Document Type code (KSA-30) is provided in an Invoice Line, then the following data is mandatory to provide in that invoice line - Prepayment VAT category Taxable Amount (KSA-31) - Sum total of taxable amounts subject to specific VAT Category code of the prepayment invoice(s); Prepayment VAT Category Tax Amount (KSA-32) - Sum total of tax amounts subject to specific VAT Category code of the prepayment invoice(s); Prepayment VAT category code (KSA-33) - the VAT category code of the associated Prepayment invoice(s); Prepayment VAT rate (KSA-34) - VAT rate of the specific VAT Category code of the prepayment invoice(s)
BR-KSA-76Warning[BR-KSA-76]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is "Zero rated" the Prepayment VAT rate (KSA-34) shall be 0 (zero).
BR-KSA-77Warning[BR-KSA-77]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is "Exempt from VAT" the Prepayment VAT rate (KSA-34) shall be 0 (zero).
BR-KSA-78Warning[BR-KSA-78]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is "Not subject to VAT" the Prepayment VAT rate (KSA-34) shall be 0 (zero).
BR-KSA-79Warning[BR-KSA-79]-The Prepayment VAT Category Tax Amount (KSA-32) must be Prepayment VAT category Taxable Amount( (KSA-31) x Prepayment VAT rate (KSA-34) /100).
BR-KSA-79Warning[BR-KSA-79]-The Prepayment VAT Category Tax Amount (KSA-32) must be Prepayment VAT category Taxable Amount( (KSA-31) x Prepayment VAT rate (KSA-34) /100).
BR-KSA-79Warning[BR-KSA-79]-The Prepayment VAT Category Tax Amount (KSA-32) must be Prepayment VAT category Taxable Amount( (KSA-31) x Prepayment VAT rate (KSA-34) /100).
BR-KSA-79Warning[BR-KSA-79]-The Prepayment VAT Category Tax Amount (KSA-32) must be Prepayment VAT category Taxable Amount( (KSA-31) x Prepayment VAT rate (KSA-34) /100).
BR-KSA-80Warning[BR-KSA-80] - The Pre-Paid amount (BT-113) must be equal to the sum total of the Prepayment VAT category Taxable Amount (KSA-31) and the Prepayment VAT Category Tax Amount (KSA-32).
BR-KSA-81Warning[BR-KSA-81]-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.
BR-KSA-82Error[BR-KSA-82]-An Invoice line (BG-25) where Prepayment Document Type Code (KSA-30) is provided, then Item net price (BT-146); Invoice line allowance amount (BT-136); Invoice line charge amount (BT-141); Item line net amount (BT-131); line VAT amount (KSA-11); and line amount with VAT (KSA-12) for that line shall be 0 (Zero), if exist.
BR-KSA-82Error[BR-KSA-82]-An Invoice line (BG-25) where Prepayment Document Type Code (KSA-30) is provided, then Item net price (BT-146); Invoice line allowance amount (BT-136); Invoice line charge amount (BT-141); Item line net amount (BT-131); line VAT amount (KSA-11); and line amount with VAT (KSA-12) for that line shall be 0 (Zero), if exist.
BR-KSA-85Warning[BR-KSA-85]-The Buyer's contact phone number (BT-57) shall start with "0" or "+", followed by a maximum of 15 number and minimum 4 character after the "+" or "0" , if exist.
BR-KSA-87Warning[BR-KSA-87] If the tax exchange rate (KSA-36) exists, then Source Currency Code (KSA-37), Target Currency Code (KSA-38) and Calculation Rate (KSA-39) shall be provided
BR-KSA-88Error[BR-KSA-88] If exist, Source Currency Code (KSA-37) must be the same as Invoice currency code (BT-5)
BR-KSA-89Error[BR-KSA-89] If exists, Target Currency Code (KSA-38) must be the same as the Tax currency code (BT-6)
BR-KSA-90Error[BR-KSA-90] If exists, the allowed maximum number of digits for the Tax Exchange Rate (KSA-39) is 14.
BR-KSA-92Error[BR-KSA-92]-If it's a B2G invoice transaction type (KSA 2, position 9 = 01), then the Contract ID (BT-12) must be present in a tax invoice and associated credit notes and debit notes (KSA-2, position 1 and 2 = 01).
BR-KSA-93Warning[BR-KSA-93]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is "Zero-rated" the Prepayment VAT exception reason code (KSA-41) should be provided.
BR-KSA-94Warning[BR-KSA-94]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is " Exempt from VAT " the Prepayment VAT exemption reason code (KSA-41) should be provided.
BR-KSA-95Warning[BR-KSA-95]-An Invoice line (BG-25) where the Prepayment VAT category code (KSA-33) is " Not subject to VAT " the Prepayment VAT exception reason code (KSA-41) should be provided.
BR-KSA-96Warning[BR-KSA-96]-An Invoice line (BG-25) with the Prepayment VAT category code (KSA-33) 'Exempt from VAT' or 'Zero rated' or 'Not subject to VAT' shall have a Prepayment VAT exemption(or exception) reason text (KSA-42) with one of the values from paragraph 11.2.4 of XML implementation standards on Tax exemption (or exception) reason text - specific to Saudi Arabia.
BR-KSA-97Warning[BR-KSA-97]-If the Document Currency Code (BT-5) is different from "SAR", then the value in "Invoice total VAT amount (BT-110)" cannot be the same as the value in "Invoice total VAT amount in accounting currency (BT-111)".
BR-KSA-99WarningIf it exists in the invoice, the buyer VAT registration number or buyer group VAT registration number (BT-48) should not be left empty in the tax invoice and associated credit notes and debit notes (KSA-2, position 1 and 2 = 01).

BR-KSA-CL

3 rule codes, 3 assertions

CodeZATCA flagZATCA's message
BR-KSA-CL-01Error[BR-KSA-CL-01]-Currency code (BT-5) must be according to ISO 4217:2005
BR-KSA-CL-06Warning[BR-KSA-CL-06]-Code for the reason for document level charge (BT-105) and the code for the reason for invoice line charge (BT-145) MUST be coded using UNTDID 7161 code list. https://unece.org/fileadmin/DAM/trade/untdid/d16b/tred/tred7161.htm
BR-KSA-CL-07Warning[BR-KSA-CL-07]-If the Prepayment VAT Category Code(KSA-33) is 'Z', or 'E' or 'O', the Prepayment VAT exemption (or exception) reason code(KSA-41) must exist with one of the values from paragraph 11.2.4 of XML implementation standards on Tax exemption (or exception) reason code - specific to Saudi Arabia.

BR-KSA-DEC

1 rule code, 1 assertion

CodeZATCA flagZATCA's message
BR-KSA-DEC-06Warning[BR-KSA-DEC-06]-Prepayment VAT category Taxable Amount (KSA-31) and Prepayment VAT Category Tax Amount (KSA-32) must have a maximum two decimals.

BR-KSA-EN16931

9 rule codes, 9 assertions

CodeZATCA flagZATCA's message
BR-KSA-EN16931-01Error[BR-KSA-EN16931-01]-Business process (BT-23) must be "reporting:1.0".
BR-KSA-EN16931-03Warning[BR-KSA-EN16931-03]-Allowance/Charge amount (BT-92, BT-99, BT-136, BT-141) must equal base amount (BT-93, BT-100, BT-137, BT-142) * percentage (BT-94, BT-101, BT-138, BT-143) / 100 if base amount and percentage exists.
BR-KSA-EN16931-04Warning[BR-KSA-EN16931-04]-Allowance/Charge base amount (BT-93, BT-100, BT-137, BT-142) must be provided when allowance/Charge percentage (BT-94, BT-101,BT-138, BT-143) is provided.
BR-KSA-EN16931-05Warning[BR-KSA-EN16931-05]-Allowance/Charge percentage (BT-94, BT-101, BT-138, BT-143) must be provided when the allowance/Charge base amount (BT-93, BT-100, BT-137, BT-142) is provided.
BR-KSA-EN16931-07Error[BR-KSA-EN16931-07]-Item net price (BT-146) must equal (Item Gross price (BT-148) - Allowance amount (BT-147)) when gross price is provided.
BR-KSA-EN16931-08Warning[BR-KSA-EN16931-08]-Only one tax total (BG-22) with tax subtotals must be provided.Refer to Calculation of VAT.
BR-KSA-EN16931-09Warning[BR-KSA-EN16931-09]-Only one tax total (BG-22) without tax subtotals (BG-23) must be provided when tax currency code is provided .
BR-KSA-EN16931-11Warning[BR-KSA-EN16931-11]-Invoice line net amount (BT-131) must equal (Invoiced quantity (BT-129) * (Item net price (BT-146) / item price base quantity (BT-149))-) + Sum of invoice line charge amount (BT-141) - Sum of invoice line allowance amount (BT-136).
BR-KSA-EN16931-12Error[BR-KSA-EN16931-12]-Base quantity (BT-149) must be a positive number above zero.

BR-KSA-F

49 rule codes, 49 assertions

CodeZATCA flagZATCA's message
BR-KSA-F-02Error[BR-KSA-F-02]-Allowance/Charge Indicator value MUST equal to 'false'/’True’ respectively.
BR-KSA-F-05Warning[BR-KSA-F-05]-Prepayment Issue Time (KSA-29) must be in the format: hh:mm:ss for time expressed in local time or hh:mm:ssZ for time expressed in UTC.(eg 19:20:30)
BR-KSA-F-06-C1Warning[BR-KSA-F-06-C1] - Field character limits for Invoice number field (BT-1) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters.
BR-KSA-F-06-C10Warning[BR-KSA-F-06-C10] - Field character limits for Seller name field (BT-27) have not been met. The minimum limit is 1 character and the maximum limit is 1000 characters.
BR-KSA-F-06-C11Warning[BR-KSA-F-06-C11] - Field character limits for the Buyer Address - Additional street field (BT-51) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C12Warning[BR-KSA-F-06-C12] - Field character limits for Buyer name field (BT-44) have not been met. The minimum limit is 1 character and the maximum limit is 1000 characters.
BR-KSA-F-06-C13Warning[BR-KSA-F-06-C13] - Field character limits for Reasons for issuance of credit / debit note field (KSA-10) have not been met. The minimum limit is 1 character and the maximum limit is 1000 characters .
BR-KSA-F-06-C14Warning[BR-KSA-F-06-C14]Field character limits for Payment terms field (KSA-22) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C15Warning[BR-KSA-F-06-C15] - Field character limits for Payment account identifier field (BT-84) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C16Warning[BR-KSA-F-06-C16]-Field character limits for VAT exemption reason text field (BT-120) have not been met. The minimum limit is 1 character and the maximum limit is 1000 characters.
BR-KSA-F-06-C17Error[BR-KSA-F-06-C17] - Field character limits for Invoice line identifier field (BT-126) have not been met. The minimum limit is 1 character and the maximum limit is 6 characters.
BR-KSA-F-06-C18Warning[BR-KSA-F-06-C18] - Field character limits for Invoiced quantity unit of measure field (BT-130) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C19Warning[BR-KSA-F-06-C19] - Field character limits for Item name field (BT-153) have not been met. The minimum limit is 3 character and the maximum limit is 1000 characters.
BR-KSA-F-06-C2Warning[BR-KSA-F-06-C2] - Field character limits for Invoice note field (BT-22) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C20Warning[BR-KSA-F-06-C20] - Field character limits for Item standard identifier field (BT-157) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C21Warning[BR-KSA-F-06-C21] - Field character limits for Item price base quantity unit code field (BT-150) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C22Error[BR-KSA-F-06-C22]-Field character limits for Billing reference ID field (BT-25) have not been met. The minimum limit is 1 character and the maximum limit is 5000 characters.
BR-KSA-F-06-C23Warning[BR-KSA-F-06-C23] - Field character limits for the Buyer Address - Street field (BT-50) have not been met. The minimum limit is 1 character and the maximum limit is 1000 characters.
BR-KSA-F-06-C24Warning[BR-KSA-F-06-C24] - Field character limits for the Buyer Address - Street field (BT-50) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C25Warning[BR-KSA-F-06-C25] - Field character limits for the Buyer Address - City field (BT-52) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters.
BR-KSA-F-06-C26Warning[BR-KSA-F-06-C26] - Field character limits for the Buyer Address - City field (BT-52) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C27Warning[BR-KSA-F-06-C27] - Field character limits for the Buyer Address - Province/State field (BT-54) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C28Warning[BR-KSA-F-06-C28] - Field character limits for the Buyer Address - District field (KSA-4) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters.
BR-KSA-F-06-C29Warning[BR-KSA-F-06-C29] - Field character limits for the Buyer Address - District field (KSA-4) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C3Warning[BR-KSA-F-06-C3] - Field character limits for Purchase order ID field (BT-13) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C30Warning[BR-KSA-F-06-C30] - Field character limits for Item Buyer's identifier field (BT-156) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C31Warning[BR-KSA-F-06-C31] - Field character limits for Item Seller's identifier field (BT-155) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C32Warning[BR-KSA-F-06-C32] - Field character limits for Buyer name field (BT-44) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C33Warning[BR-KSA-F-06-C33] -Field character limits for Reason for the document level charge (BT-104) have not been met. The maximum limit is 1,000 characters.
BR-KSA-F-06-C34Warning[BR-KSA-F-06-C34] -Field character limits for Reason for invoice line charge (BT-144) have not been met. The maximum limit is 1,000 characters.
BR-KSA-F-06-C35Warning[BR-KSA-F-06-C35] -Field character limits for Reason for the document level allowance (BT-97) have not been met. The maximum limit is 1,000 characters.
BR-KSA-F-06-C36Warning[BR-KSA-F-06-C36] -Field character limits for Reason for the invoice line allowance (BT-139) have not been met. The maximum limit is 1,000 characters.
BR-KSA-F-06-C37Warning[BR-KSA-F-06-C37] - Field character limits for the contact name - Buyer's contact point field (BT-56) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C38Warning[BR-KSA-F-06-C38] - Field character limits for the contact note - Buyer's Contact Note field (KSA-35) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C39Warning[BR-KSA-F-06-C39] - Field character limits for the Prepayment VAT exemption reason text (KSA-42) have not been met. The maximum limit is 1000 characters.
BR-KSA-F-06-C4Warning[BR-KSA-F-06-C4] - Field character limits for the Seller Address - Street field (BT-35) have not been met. The minimum limit is 1 character and the maximum limit is 1000 characters.
BR-KSA-F-06-C40Warning[BR-KSA-F-06-C40]-Field character limits for Invoice transaction code (KSA-2) have not been met. The minimum limit is 7 characters and the maximum limit is 9 characters.
BR-KSA-F-06-C5Warning[BR-KSA-F-06-C5] - Field character limits for Contract ID field (BT-12) have not been met. The maximum limit is 127 characters .
BR-KSA-F-06-C6Warning[BR-KSA-F-06-C6] - Field character limits for the Seller Address - Additional street field (BT-36) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C7Warning[BR-KSA-F-06-C7] - Field character limits for the Seller Address - City field (BT-37) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters.
BR-KSA-F-06-C8Warning[BR-KSA-F-06-C8] - Field character limits for the Seller Address - Province/State field (BT-39) have not been met. The maximum limit is 127 characters.
BR-KSA-F-06-C9Warning[BR-KSA-F-06-C9] - Field character limits for the Seller Address - District field (KSA-3) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters.
BR-KSA-F-07Warning[BR-KSA-F-07] - The value provided in Other Buyer ID (BT-46) for scheme ID 'TIN' appears to be incorrect. Please recheck the value to avoid non-compliance.
BR-KSA-F-08Warning[BR-KSA-F-08] - The value provided in Other Seller ID (BT-29) or Other Buyer ID (BT-46) for the scheme ID 'CRN' appears to be incorrect. Please recheck the value to avoid non-compliance.
BR-KSA-F-09Warning[BR-KSA-F-09] - The value provided in Other Seller ID (BT-29) or Other Buyer ID (BT-46) for the scheme ID '700' appears to be incorrect. Please recheck the value to avoid non-compliance.
BR-KSA-F-10Warning[BR-KSA-F-10] - The value provided in Other Buyer ID (BT-46) for the scheme ID 'NAT' appears to be incorrect. Please recheck the value to avoid non-compliance.
BR-KSA-F-11Warning[BR-KSA-F-11] - The value provided in Other Buyer ID (BT-46) for the scheme ID 'IQA' appears to be incorrect. Please recheck the value to avoid non-compliance.
BR-KSA-F-12Warning[BR-KSA-F-12] - The Other Seller/Buyer schema ID (BT-29-1 or BT-46-1) contains spaces. Please recheck the attribute and remove the empty space to avoid non-compliance.
BR-KSA-F-13Warning[BR-KSA-F-13] - Please recheck Other Seller/Buyer ID (BT-29 or BT-46) as it contains an invalid value.

BR-KSA-F-C

1 rule code, 1 assertion

CodeZATCA flagZATCA's message
BR-KSA-F-C-01Warning[BR-KSA-F-C-01] - Please recheck Item Description (BT-153). Providing unclear description violates the requirements specified in Article 53 of VAT Regulations.

BR-S

3 rule codes, 3 assertions

CodeZATCA flagZATCA's message
BR-S-01Warning[BR-S-01]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Standard rated" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "Standard rated".
BR-S-05Warning[BR-S-05]-For invoice items (BG-25) in which the VAT category code of invoiced items (BT-151) is "Standard rated" the VAT rate of the invoiced item (BT-152) must be greater than zero.
BR-S-07Warning[BR-S-07]--In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Standard rated" the Document level charge VAT rate (BT-103) shall be greater than zero.

BR-Z

1 rule code, 1 assertion

CodeZATCA flagZATCA's message
BR-Z-07Error[BR-Z-07]-In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Zero rated" the Document level charge VAT rate (BT-103) shall be 0 (zero).

What Mutabiq does not verify

Beyond the unchecked rule codes, part of what ZATCA judges lies outside any one XML document, and Mutabiq states it rather than leaving it implied:

  • The cryptographic stamp and the certificate behind it: whether the signature is valid and whether the certificate is ZATCA's. Mutabiq never holds a certificate or a private key.
  • The invoice hash: Mutabiq does not canonicalise the document and compute its digest, so it does not confirm that field six of the QR code or the previous invoice hash (KSA-13) is the right value. It checks their shape only.
  • The previous invoice and the counter: whether the previous invoice hash matches the document issued before it, and whether a counter value (KSA-16) repeats, is checked only across the files of one ZIP (MTB-BATCH-01 and MTB-BATCH-02), never against invoices Mutabiq has not seen.
  • Clearance and reporting: Mutabiq never connects to the Fatoora platform, so it cannot say whether a document was cleared, reported, or submitted within twenty-four hours.
  • Fields six to nine of the QR code: the hash, the signature and the public key are reported as advisory (INFO), because they are values the signing step computes and Mutabiq cannot recompute.
Browse the rules and their worked examples