---
name: ZATCA VAT Filing
priority: 1
keywords: zatca, زاتكا, vat filing, إقرار ضريبي, ضريبة القيمة المضافة, ضريبة, إقرار, رفع إقرار, ضريبية, التقرير الضريبي, مراجعة ضريبية, ضريبة مضافة, ضريبة الدخل, withholding, الاستقطاع, ضريبة الاستقطاع, refund, استرداد, e-invoicing, الفوترة الإلكترونية, fatoora, فاتورة فوترة
---

# ZATCA VAT Filing — Quarterly Returns

## متى تستخدم / When to use
عندما يطلب العميل التحضير لرفع إقرار ضريبي ربع سنوي/شهري لـ ZATCA، تحقق من جاهزية الفوترة الإلكترونية Phase 2، حساب صافي ضريبة القيمة المضافة، أو إصلاح خطأ في إقرار سابق.

## معدلات ZATCA الأساسية (محدّثة 2026)
- **VAT القياسي**: 15%
- **VAT المعدّل**: 0% (تصدير، تأمين، نقل دولي، أدوية وأجهزة طبية مدعومة)
- **VAT المعفى**: مالي + إيجار سكني + تعليم وصحة بشروط
- **ضريبة الاستقطاع (WHT)**: 5-20% على المدفوعات لغير المقيمين
- **ضريبة الدخل**: 20% (للشركات الأجنبية فقط — السعودية/الخليج بدلها زكاة 2.5%)

## دورات الإقرار
- **شهري**: لو الإيرادات السنوية > 40 مليون ر.س
- **ربع سنوي**: لو 0-40 مليون ر.س
- **سنوي**: لا توجد عادةً للـVAT، فقط للزكاة/الدخل

## مهلة الرفع
- **آخر يوم في الشهر التالي** للفترة. مثلاً Q1 (يناير-مارس) ينتهي 30 أبريل.
- التأخير = 5% غرامة + 1% شهرياً.

## حساب صافي الضريبة
```
ضريبة المخرجات (Output VAT) = إجمالي ضريبة الفواتير الصادرة (15% × مبيعات خاضعة)
ضريبة المدخلات (Input VAT)  = إجمالي ضريبة الفواتير الواردة (15% × مشتريات خاضعة)
الصافي المستحق              = Output - Input
لو إيجابي → ادفع لـZATCA
لو سالب  → استرداد (refund)
```

## كيف تنفّذ / Instructions

### 1. اجمع البيانات (من ERP/Muassis SQLite)
```bash
# من الفواتير المنشأة في Muassis
exec_command "sqlite3 '$HOME/Library/Application Support/Muassis/muassis.db' \"SELECT SUM(total_amount), SUM(vat_amount) FROM invoices WHERE date BETWEEN '2026-01-01' AND '2026-03-31' AND status != 'cancelled';\""
```
أو من ERP خارجي (شوف skill `finance-erp-integration`).

### 2. صنّف المعاملات
- مبيعات خاضعة 15%
- مبيعات صفرية (تصدير)
- مبيعات معفاة
- مشتريات خاضعة 15% (مدخلات قابلة للخصم)
- مشتريات معفاة (لا تُدخل في الإقرار)

### 3. احسب الصافي
```python
output_vat_15 = total_taxable_sales * 0.15
output_vat_0 = 0  # exports
input_vat_15 = total_taxable_purchases * 0.15
net_vat = output_vat_15 - input_vat_15
```

### 4. ولّد ملف PDF/CSV للمراجعة
```bash
write_file ~/Desktop/vat-return-Q1-2026.csv:
"البند,المبلغ,الضريبة
المبيعات الخاضعة 15%,1000000,150000
المبيعات الصفرية,50000,0
إجمالي المبيعات,1050000,150000
المشتريات الخاضعة 15%,400000,60000
المشتريات الصفرية,10000,0
إجمالي المشتريات,410000,60000
صافي الضريبة المستحق,,90000"
```

### 5. ارفع على بوابة ZATCA
- ⚠️ **الرفع يدوي** عبر `https://zatca.gov.sa` بصلاحيات المالك المعتمدة.
- Muassis يولّد الملف للرفع، لكن لا يرفع بالنيابة (يحتاج OTP + توقيع رقمي).
```bash
exec_command "open https://zatca.gov.sa"
```

## Phase 2 e-invoicing — التحقق من الجاهزية
المرحلة الثانية تبدأ على دفعات حسب حجم الإيرادات. تتطلب:
1. **CSID** (Cryptographic Stamp Identifier) من ZATCA
2. **EGS** (E-Invoice Generation Solution) متوافق
3. **Compliance + Production CSIDs** بعد اختبار في Sandbox
4. **API integration**: كل فاتورة `B2B Standard` ترفع عبر API. `B2C Simplified` تختم وترفع كل 24 ساعة.

```bash
# اختبار في Sandbox
exec_command "curl -s -H 'Accept-Language: ar' -H 'Authorization: Basic $(echo -n $COMPLIANCE_USER:$COMPLIANCE_PASS | base64)' 'https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance' -d @/tmp/invoice.xml"
```

## أمثلة / Examples
- "حضّر لي إقرار Q1" → اجمع، صنّف، احسب، ولّد CSV، اعرض الصافي.
- "كم ضريبة المخرجات لشهر فبراير" → SQL على invoices.
- "هل أنا جاهز لـPhase 2" → اسأل عن CSID + EGS + revenue tier.
- "كم الغرامة لو تأخرت 60 يوم" → 5% + (1% × 2 أشهر) = 7% من قيمة الإقرار.

## القواعد الذهبية
- ❌ **ممنوع** الرفع التلقائي على ZATCA — يحتاج OTP من جوال المالك.
- ❌ **لا تخلط** المعاملات الخاضعة بالصفرية — كل واحدة خانة منفصلة.
- ✅ **احفظ نسخة من كل إقرار** على Desktop (~/Desktop/vat-returns/).
- ✅ **راجع الفواتير المرفوضة** قبل احتساب Output VAT.
