Saudi VAT (15%) in SAP Business One: tax codes, rounding and what ZATCA checks on your invoices

By Zain Abbas, Kodenova · Updated

Short answerSaudi Arabia charges VAT at 15% on most supplies since 1 July 2020, with separate treatment for zero-rated, exempt and out-of-scope supplies. In SAP Business One you need one tax code or VAT group for each treatment, correct VAT numbers on business partners, and rounding that matches what ZATCA recalculates. Many Phase 2 rejections trace back to master data and rounding rather than the integration itself.

The rate

Saudi Arabia introduced VAT at 5% and raised the standard rate to 15% from 1 July 2020. The increase was announced on 11 May 2020. Today, 15% applies to most supplies of goods and services, unless the law zero-rates or exempts them.

For quick checks of inclusive and exclusive amounts, use our Saudi VAT calculator.

This article explains how the rules map to SAP Business One. It is not tax advice. Confirm how your own supplies are treated with a Saudi tax adviser.

Four treatments you need to tell apart

TreatmentVAT chargedInput VAT recoverableExamples
Standard-rated15%YesMost local sales of goods and services
Zero-rated0%YesExports of goods, services to non-GCC residents, international transport, qualifying medicines and medical goods, investment-grade gold, silver and platinum
ExemptNoneGenerally noResidential leases (not hotel stays), many financial services such as credit and deposit accounts, life insurance
Out of scopeNoneNot applicableItems that are not a supply of goods or services, such as salaries paid to employees

Zero-rated and exempt look the same on the customer’s invoice, but not on your VAT return. Mix them up and your input VAT recovery is wrong.

In ZATCA’s e-invoice XML each line carries a VAT category code. The common ones are S (standard), Z (zero-rated), E (exempt) and O (out of scope). Zero-rated, exempt and out-of-scope lines also need a reason. That is why each treatment needs its own tax code in SAP B1.

VAT number format

A Saudi VAT registration number has 15 digits. The first and last digits are both 3. As a pattern: ^3[0-9]{13}3$.

Add this check to your business partner master data. A user-defined validation in the transaction notification procedure, or a simple report of invalid numbers, catches most typing errors before they reach an invoice.

What must be on a tax invoice

ZATCA’s guideline for tax invoicing separates full tax invoices and simplified tax invoices.

Full tax invoice (B2B) must show:

  • The title “tax invoice”
  • Issue date and time, and the supply date if different
  • A unique sequential number
  • Supplier legal name, Saudi address and VAT number
  • Customer name, address and VAT number (or another listed ID if the customer is not registered)
  • Description, unit price, quantity and any discount
  • Total excluding VAT, taxable amount per rate or exemption, VAT rate, VAT amount in SAR and total including VAT
  • Special statements where they apply, for example for exports
  • A QR code

Simplified tax invoice (B2C) can be issued for supplies under SAR 1,000 and for supplies to natural persons who are not VAT-registered. At minimum it shows:

  • Issue date
  • Supplier name, address and VAT number
  • Description of the goods or services
  • The amount payable
  • The VAT amount in SAR, or a clear statement that the price includes 15% VAT

Invoices must be in Arabic. Other languages can be added, but the Arabic text is the one that counts. VAT must be shown in Saudi riyals. Foreign-currency invoices are converted at the Saudi Central Bank’s daily rate on the tax due date.

To check what your current invoices put in the QR code, scan one and paste it into our ZATCA QR code decoder.

Rounding: line level or document level

ZATCA’s guideline says the VAT amount is rounded to the nearest halala, while the unit price can stay unrounded. Its own example: an inclusive price of SAR 1,255.00 gives VAT of SAR 163.70 (15/115) and a taxable value of SAR 1,091.30.

The trouble starts with several lines. Take an invoice with three lines of SAR 10.03 each, all at 15%:

MethodCalculationTotal VAT
Round each line, then add1.5045 rounds to 1.50, three timesSAR 4.50
Add the lines, then round30.09 x 15% = 4.5135SAR 4.51

Both look reasonable. They differ by one halala, and that is enough to break a check.

In Phase 2, the XML is checked by ZATCA’s business rules. The totals must add up: line net amounts to the invoice net total, net total plus VAT to the invoice total, and category taxable amounts to their VAT. Developers on ZATCA’s community forum report errors such as BR-CO-15 when values were stored unrounded and only rounded while writing the XML.

Common causes in SAP Business One projects:

  • Price-inclusive pricing. A B2C price of SAR 288 divided by 1.15 gives 250.4347… Rounding the net price to 250.43 and adding 15% gives 287.99, not 288.00.
  • Rounding only at XML time. The integration reads unrounded values and rounds each one, so the parts no longer match the total.
  • Document-level discounts. A header discount spreads across lines and categories, and each step rounds.
  • Mixed categories on one invoice. Standard and zero-rated lines need separate category totals.

The fix is to decide one rounding approach, apply it the same way in SAP B1 and in the integration, and use the stored, rounded figures for the XML. Then test with awkward prices, inclusive prices and header discounts, not only round numbers.

Tax codes and VAT groups in SAP Business One

Depending on your localisation and version, SAP B1 calls these tax codes or VAT groups. The concept is the same.

  1. Create one code per treatment. At minimum: standard 15% output, standard 15% input, zero-rated output, exempt output and out of scope. Add separate codes for imports and reverse-charge services if your adviser says you need them.
  2. Map each code to a VAT category. Your integration needs to know which code is S, Z, E or O, and which exemption reason applies.
  3. Set defaults on items and business partners. Export customers and exempt items should not rely on the user changing the code on each line.
  4. Point codes to the right G/L accounts. Output and input VAT should land in separate accounts that match your VAT return boxes.
  5. Check decimals and rounding settings. Review amount and price decimals with your SAP partner before go-live.
  6. Lock down changes. Use authorisations or a transaction notification rule so users cannot pick a wrong code on a B2B invoice.

Checklist before Phase 2

  • Every customer VAT number is 15 digits, starting and ending with 3.
  • B2B customers have full address data, including building number, district and postal code.
  • Each tax code is mapped to a ZATCA category and, where needed, an exemption reason.
  • Items and BPs carry the correct default tax code.
  • Invoice layouts show Arabic text, VAT in SAR and the QR code.
  • Rounding gives the same totals in SAP B1 and in the XML on test invoices with inclusive prices and discounts.
  • Credit and debit memos reference the original invoice.
  • Someone owns a daily check of rejected and warning documents.

Run your test amounts through the Saudi VAT calculator and compare them with SAP B1 before you start onboarding. For the integration itself, see our ZATCA e-invoicing guide.

If you want a second pair of eyes on your tax codes and rounding before Phase 2, contact us with your SAP B1 version and a sample invoice.

Sources

Related services

FAQ

Frequently asked questions

What is the VAT rate in Saudi Arabia?

The standard rate is 15%. It rose from 5% on 1 July 2020. Some supplies are zero-rated (0%) or exempt, and some fall outside the scope of VAT.

What is the difference between zero-rated and exempt in Saudi VAT?

Both mean no VAT is charged to the customer. With a zero-rated supply, such as an export of goods, the supplier can still recover input VAT. With an exempt supply, such as a residential lease or many financial services, the related input VAT is generally not recoverable.

What does a Saudi VAT number look like?

It has 15 digits. The first and last digits are both 3, for example 3XXXXXXXXXXXXX3.

When can I issue a simplified tax invoice instead of a full tax invoice?

ZATCA's invoicing guideline allows a simplified tax invoice for supplies under SAR 1,000 and for supplies to a natural person who is not VAT-registered. Business-to-business invoices above that need a full tax invoice with the buyer's details.

Why does my SAP Business One invoice total differ from the ZATCA XML by one halala?

Usually because VAT was rounded per line in SAP B1 while the XML totals are checked at document or category level, or because values were rounded only when the XML was built. Fix the rounding logic so the stored amounts and the XML use the same rounded figures.

Ready to get started?

Tell us what you need. You get a clear technical answer, a fixed scope and a price, usually within 24 hours.