مقدمة
أطلقت هيئة الزكاة والضريبة والجمارك (ZATCA) في السعودية المرحلة الثانية من منظومة الفاتورة الإلكترونية (المعروفة باسم Fatoora أو فاتورة) لتشمل تكاملًا تقنيًا مباشرًا بين أنظمة الممولين والمنظومة المركزية.
على عكس المرحلة الأولى التي كانت "Generation Phase" (إصدار محلي فقط)، المرحلة الثانية تتطلب ربطًا حقيقيًا (Integration Phase) — كل فاتورة يجب أن تُرسل وتُختم رقميًا من ZATCA قبل تسليمها للعميل.
الفرق الجوهري بين المرحلتين
| الجانب | المرحلة الأولى | المرحلة الثانية |
|---|---|---|
| التوقيت | ديسمبر 2021 | يناير 2023 — تطبيق تدريجي |
| الإصدار | XML/PDF داخلي | XML معتمد من ZATCA |
| التوقيع | اختياري | إلزامي (Cryptographic) |
| الإرسال | غير مطلوب | إلزامي (Clearance أو Reporting) |
| QR Code | بسيط | يحتوي على بيانات معتمدة من ZATCA |
أنواع الفواتير في المرحلة الثانية
ZATCA تفرّق بين نوعين رئيسيين:
1. الفواتير الضريبية (B2B / Tax Invoices)
- تتبع Clearance Model: يجب إرسالها لـ ZATCA قبل تسليمها للعميل، وانتظار اعتمادها (Stamp).
- بدون الـ Stamp، الفاتورة غير صالحة.
2. الفواتير المبسّطة (B2C / Simplified Invoices)
- تتبع Reporting Model: يمكن إصدارها وتسليمها فورًا، ثم إرسالها لـ ZATCA خلال 24 ساعة.
- مناسبة لنقاط البيع (POS) حيث السرعة مطلوبة.
المتطلبات التقنية الأساسية
أي نظام يريد التكامل مع ZATCA يجب أن يدعم:
- CSR (Certificate Signing Request): لتسجيل النظام لدى ZATCA.
- CSID (Cryptographic Stamp Identifier): رمز تشفيري فريد لكل وحدة بيع/فرع.
- UUID: معرّف فريد لكل فاتورة.
- Previous Invoice Hash (PIH): ربط متسلسل بين الفواتير (Blockchain-like).
- QR Code معتمد: يحتوي على بيانات الفاتورة + Cryptographic Stamp + Hash.
- XML Schema: متوافق مع UBL 2.1.
الأخطاء الشائعة عند التكامل
من خبرتنا في ربط أنظمة Odoo بـ ZATCA لعدد من العملاء، هذه الأخطاء الأكثر تكرارًا:
1. خطأ في الـ Hash chain
كل فاتورة يجب أن تحوي hash للفاتورة السابقة. لو حصل أي خطأ في الترتيب أو الـ rollback في قاعدة البيانات، تنكسر السلسلة.
2. UUID غير فريد
بعض الأنظمة تستخدم counter يدوي بدل UUID v4 — هذا يسبّب رفضًا من ZATCA.
3. التاريخ بتوقيت محلي
ZATCA تتوقع UTC. إرسال 2026-05-25T10:00:00+03:00 بدون تحويل يسبّب مشاكل.
4. تجاهل البيئة (Sandbox vs Production)
الكثيرون يبدؤون التكامل على Production مباشرة. ZATCA توفّر Sandbox كاملة — يجب التطوير عليها أولًا.
كيف يساعدك تدبير
في تدبير، التكامل مع ZATCA Phase 2 مدمج كاملًا، يشمل:
- إصدار CSR وإدارة CSID لكل فرع.
- توقيع تشفيري لكل فاتورة وفق المعيار.
- إرسال تلقائي حسب نوع الفاتورة (Clearance / Reporting).
- إعادة المحاولة الذكية مع backoff.
- لوحة متابعة لحالة الفواتير وأكواد الرفض.
- توليد QR Code معتمد بكل الحقول المطلوبة.
نصائح أخيرة
- ابدأ مبكرًا: مهلة التوافق ليست مفتوحة. ZATCA تنشر جدول التطبيق التدريجي بناءً على حجم المبيعات.
- اختبر على Sandbox: لا تجرّب على Production أبدًا.
- اعمل backup للـ CSID: فقدانه يعني إعادة التسجيل من الصفر.
- استخدم نظام موثوق: ليس كل ERP يدعم ZATCA Phase 2 فعليًا — اسأل عن الميزة قبل الشراء.
الامتثال لـ ZATCA ليس عبئًا، بل ضمان لاستمرارية أعمالك في السوق السعودي.
الوسوم
