Skip to Content

Saudi Arabia VAT Form-1 Reporting (ZATCA)

121.80 121.80

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions

Saudi VAT (15%) Form-1 Reporting for Odoo 18 & 19

ZATCA-compliant 14-box compute, Excel matching the official template, bilingual Arabic + English PDF, and a reconciliation wizard. Production-ready, no manual transcription.

What is Form-1?

Form-1 is the regular VAT return filed by every taxable person in Saudi Arabia with the Zakat, Tax and Customs Authority (ZATCA). It contains 14 boxes summarizing standard-rated, zero-rated and exempt sales and purchases, plus reverse-charge imports and adjustments. Until now, Odoo users have copied numbers manually from a custom report into ZATCA's downloadable Excel template — error-prone and audit-risky.

This module fully automates the process.

All 14 ZATCA Form-1 Boxes

Box 1A
Standard-rated domestic sales (15%)
المبيعات الخاضعة للنسبة الأساسية
Box 1B
Zero-rated local sales
المبيعات الخاضعة للنسبة الصفرية - محلي
Box 1C
Zero-rated exports
المبيعات الخاضعة للنسبة الصفرية - تصدير
Box 1D
Exempt sales
المبيعات المعفاة
Box 2
Total sales
إجمالي المبيعات
Box 3
Standard-rated purchases (15%)
المشتريات الخاضعة للنسبة الأساسية
Box 4
Imports VAT at Customs
الواردات - الجمارك
Box 5
Imports VAT — reverse charge
الاحتساب العكسي
Box 6
Zero-rated purchases
المشتريات الصفرية
Box 7
Exempt purchases
المشتريات المعفاة
Box 8
Total purchases
إجمالي المشتريات
Box 9
Total VAT due
إجمالي الضريبة المستحقة
Box 10
Corrections (-5,000 to +5,000)
تصحيحات
Box 11
VAT credit carried forward
رصيد مرحل
Box 12
Net VAT due (or claimed)
صافي المستحق
Box 13
Bad debt relief
خصم الديون المعدومة
Box 14
Other adjustments
تعديلات أخرى

Excel export — drop-in compatible with ZATCA's template

Column-by-column match

The generated .xlsx file mirrors the layout of ZATCA's official downloadable template: same sheet name (Form-1 Return), same header rows, same column order, ROUND_HALF_UP rounding to 2 decimals per box. Open the file and upload to the ZATCA portal — no manual reformatting.

An additional Audit Trail sheet lists every source account.move.line that contributed to each box, ready for tax authority review.

Bilingual Arabic + English PDF

RTL Arabic on the right, LTR English on the left

Side-by-side bilingual layout with Hijri date in the header. Use ZATCA's official Arabic terminology (sourced from their published terminology document). Optional Arabic-Indic digit rendering (٠١٢٣٤٥٦٧٨٩) per company.

Reconciliation wizard

Catch every discrepancy before submission

  • Unmapped taxes — every account.tax without a Form-1 box assignment is surfaced with a one-click fix.
  • VAT vs net mismatch — per line we check that tax_amount ≈ net × rate within a configurable tolerance.
  • Missing partner TRN on B2B invoices over SAR 1,000 (ZATCA mandate).
  • Late postings — moves dated in the period but posted after period-end.

How to set up

  1. Install l10n_sa (Odoo's Saudi Chart of Accounts) and this module.
  2. Settings → Company: set VAT Filing Frequency (monthly/quarterly) and your 15-digit TRN.
  3. Open Saudi VAT → Tax → Box Mapping, click "Apply l10n_sa Defaults" to auto-map standard tax codes.
  4. Open Saudi VAT → Generate Return and pick the period — the wizard creates the return, computes all 14 boxes, and offers Excel/PDF export.
  5. After uploading the Excel to ZATCA, paste the reference back into the return and mark it Paid.

Compliance

RequirementSourceCoverage
15% standard rateZATCA Royal Decree A/638Configurable
14-box Form-1 layoutZATCA Form-1 v2023Full
Excel template column orderZATCA downloadable templateColumn-by-column match
Bilingual AR/EN reportingZATCA Implementing Regulations Art. 53Side-by-side
Hijri dateSaudi civil conventionTabular Umm al-Qura
15-digit TRN validationZATCA registration specRegex-validated

FAQ

Does this module submit returns to ZATCA directly?
No. ZATCA does not expose a public API for VAT returns (only for e-invoice clearance, which our l10n_sa_zatca_einvoice module covers). This module generates the Excel file you upload manually on the ZATCA portal, then captures the returned reference number.
What if I use custom taxes instead of l10n_sa defaults?
Use the Tax → Box Mapping wizard. Each account.tax gets a Form-1 box selector. Unmapped taxes are surfaced by the reconciliation wizard before you can submit.
Can I file for past periods?
Yes. The wizard accepts any aligned monthly or quarterly period; pick "Specific dates" or "Full year".
How are credit notes handled?
Credit notes (out_refund/in_refund) automatically reverse their box contribution in the period of issuance.
Multi-company?
Yes. Each company has its own VAT registration, filing frequency, and return chain. Access rules ensure users only see their own company's returns.
What about Form-2 (refund) and excise?
Out of scope for v1.0. Form-2 will land in v1.1; excise is a separate forthcoming module.

Roadmap

  • v1.0 (current) — Form-1 monthly & quarterly, Excel + bilingual PDF, reconciliation.
  • v1.1 — Form-2 refund workflow, additional bank-account validation.
  • v1.2 — Saudi excise tax return integration.
Stop transcribing into ZATCA's template by hand.
Install Saudi VAT Reporting for Odoo and generate your Form-1 in one click.

Compliance model — you remain the taxpayer

This module generates the Form-1 figures and the ZATCA-format Excel/PDF files inside your own Odoo database. ZATCA does not publish a public API for VAT-return submission, so you upload the generated Excel to the official ZATCA portal yourself and paste the returned reference back into the return record. We are a software vendor, not an accredited ZATCA agent or filing intermediary — your company stays the registered taxpayer and files under its own credentials. No data is routed through our servers.

يقوم هذا التطبيق بإعداد أرقام الإقرار (نموذج 1) وملفات Excel/PDF بصيغة الهيئة داخل قاعدة بيانات أودو الخاصة بك. أنت من يرفع الملف إلى بوابة هيئة الزكاة والضريبة والجمارك ويبقى منشأتك هي المكلّف المسجّل؛ نحن مزوّد برمجيات ولسنا وكيلاً معتمداً لدى الهيئة.

Support & Refund Policy

Support is provided by email via pokutsoft.com for installation, configuration and bug fixes on the supported Odoo 18.0 and 19.0 versions. Refunds follow the Odoo Apps Store policy — contact us first so we can resolve any genuine defect; where a reported issue cannot be resolved, a refund is issued in line with that policy.

Screenshots

Returns List

Returns List

Return Form

Return Form

Return Boxes9 14

Return Boxes9 14

Update date: 2026-07-02