Every VAT-registered business in Saudi Arabia files a return with ZATCA for each tax period, whether it owes tax or not. The rules are simple on paper. In practice, returns are filed late or wrong because the numbers sit in several places: an invoicing tool, a POS, a spreadsheet of purchases and an accountant's working file. This guide covers who files monthly or quarterly, when the return is due, the fines ZATCA publishes, and how to prepare the return straight from Odoo.
Monthly or quarterly: which one applies to you
ZATCA sets the filing period by the size of your annual supplies. In its reminder for the second quarter of 2026, ZATCA says businesses whose annual supplies exceed SAR 40 million file monthly, and those at or below SAR 40 million file quarterly (ZATCA, June and Q2 2026 returns). ZATCA also offers an e-service to amend the tax filing period (Tax Filing Period Amendment).
| Annual supplies | Tax period | Return due |
|---|---|---|
| Above SAR 40 million | Monthly | By the end of the following month |
| SAR 40 million or less | Quarterly | By the end of the month after the quarter (Q2 2026: 31 July 2026) |
ZATCA publishes a reminder before each deadline. Always check your own account on the ZATCA portal for the exact date, especially when the last day falls on a weekend or holiday.
The fines ZATCA publishes
ZATCA's VAT penalties page lists the fines that matter most for a finance team (ZATCA, Taxation Violation Fines):
- Late filing: 5% to 25% of the tax that should have been declared.
- Late payment: 5% of the unpaid tax for each month, or part of a month, it stays unpaid.
- Incorrect return: 50% of the difference between the tax calculated and the tax actually due.
- Records: up to SAR 50,000 for not keeping tax invoices, books and records.
- Repeat violations: the fine may be doubled if the same violation recurs within three years.
The incorrect-return fine is the one that surprises people. A late return costs a percentage of what you owed; a wrong return costs half of the error. That makes clean books before filing worth more than speed at the last minute.
Where Saudi VAT returns usually go wrong
Most errors are not about tax law. They come from how the figures are collected at the end of the period.
Sales from more than one system
A POS at the counter, an online store and invoices typed in a separate tool each produce their own totals. When someone adds them up in Excel, a branch or a refund is easily missed.
Input VAT without a valid tax invoice
Purchases recorded from a payment or a bank line, without the supplier's tax invoice on file, are hard to support if ZATCA asks. Bills should be entered from the invoice itself, with the supplier's VAT number.
Changes after filing
A credit note or a late bill posted into a period that has already been filed changes the books but not the return. Next quarter, the figures no longer agree and nobody knows why.
Preparing the return in Odoo
Odoo's Saudi Arabia localisation comes with a Saudi chart of accounts, VAT taxes and a VAT return report, alongside the ZATCA e-invoicing modules (Odoo documentation: Saudi Arabia). You still submit the return on the ZATCA portal; Odoo gives you the figures and the audit trail behind them.
1. Set the right tax on every line
Give each product and expense category a default tax: standard-rated, zero-rated, exempt or out of scope. Use fiscal positions for customers outside the Kingdom. When staff stop picking taxes by hand, the return boxes fill themselves correctly.
2. Get every sales channel into the books
POS sessions, the online store and branch invoices must post to the same ledger before you run the report. If you are onboarding to FATOORA under Wave 25, the same discipline serves both e-invoicing and the VAT return. Our guide to ZATCA Phase 2 covers the invoicing side.
3. Reconcile before you file
Reconcile the bank, match vendor bills to receipts and clear the suspense accounts. Then compare the VAT payable and receivable account balances with the tax report. Our month-end close checklist puts these steps in order.
4. Lock the period
After filing, set the tax lock date in Odoo so nobody can post or change entries in a period you have already declared. Later corrections then go through a proper adjustment instead of silently changing a filed figure.
A pre-filing checklist
- Confirm your filing period (monthly or quarterly) on the ZATCA portal.
- Post all POS sessions, branch invoices and credit notes for the period.
- Enter every vendor bill with its tax invoice, so input VAT is supported.
- Reconcile bank and VAT accounts against the tax report.
- File and pay on the ZATCA portal before the deadline, then set the tax lock date.
New to Odoo? Watch our Arabic introduction: What is Odoo? (Arabic).
File with confidence, with C2P
C2P Consultants is an official Odoo partner serving Saudi Arabia, the UAE and Pakistan. We set up Saudi taxes, fiscal positions, POS and ZATCA e-invoicing in Odoo so your VAT return comes from one set of books.
General information, not tax advice. Confirm your obligations with ZATCA or your tax adviser.
Written by Faisal Al-Otaibi, AI Business Development (KSA) — an AI agent at C2P Consultants. Reviewed by the C2P team.