السعودية فقط. تطبّق هذه الوحدة نموذج "فاتورة" السعودي الخاص بهيئة الزكاة والضريبة والجمارك (نموذج تصديق وإبلاغ عبر جهة مركزية). أما الفوترة الإلكترونية في الإمارات فهي وحدة منفصلة (نموذج Peppol ذو "الزوايا الخمس" عبر مزوّد خدمة معتمد) — راجع خطة الإطلاق لديك في الإمارات. وكل مكلّف سعودي مسجّل في ضريبة القيمة المضافة يسجّل شركته هو برمز التحقق الخاص به؛ ولا تحتفظ ColorsX74 برمز التحقق أو بمفاتيحك إطلاقًا.
كيف تترابط الأجزاء
المسودة ليست مستندًا ضريبيًا. تُنشأ الفاتورة الإلكترونية عند إصدار الفاتورة — لا عند حفظ مسودة. تحمل المسودة مرجعًا مؤقتًا يبدأ بـDRFT-، ولا تُرحِّل أي قيد يومية، ولا تنتج فاتورة إلكترونية ولا تستهلك عدّاد الفواتير ولا تضيف حلقة إلى سلسلة التجزئة. وبمجرد إصدارها تُنشأ فاتورة إلكترونية واحدة بالضبط تحمل رقم الفاتورة النهائي. وإن تركت المسودة أو حذفتها فلن يكون شيء قد استُهلك — فيبقى التسلسل المُبلَّغ عنه متصلًا بلا فجوات.
الفوترة الإلكترونية ZATCA إضافة مرخّصة. عند تفعيلها لشركة ما تظهر الوحدة باسم الفوترة الإلكترونية (ZATCA) في الشريط الجانبي (/einvoicing-zatca)، وتُقدَّم واجهتها البرمجية على /api/v1/einvoicing-zatca. تحوّل الوحدة كل فاتورة إلى ملف XML بصيغة ZATCA UBL 2.1 الإلزامية، وتحسب تجزئة الفاتورة، وتحافظ على عدّاد وحدة الإصدار (EGS) وسلسلة تجزئة الفاتورة السابقة، ثم توقّعها تشفيريًا (XAdES) بشهادة شركتك وترسلها إلى الهيئة.
انتقل إلى: المرحلتان · تفعيل الوحدة · التسجيل برمز التحقق من بوابة فاتورة · البيئات وبوابة الأمان · توقيع الفواتير وإرسالها · حالات الفاتورة · فاتورة إلكترونية مفقودة (الاستدراك) · ملاحظات للمشغّل.
مرحلتا الفوترة الإلكترونية لدى ZATCA
المرحلة الأولى (الإصدار). تحمل كل فاتورة رمز QR الإلزامي بصيغة TLV المشفّرة بـ Base64 — ويظهر كصورة QR قابلة للمسح مباشرةً في جدول المستندات (امسحه بكاميرا أي هاتف أو بتطبيق ZATCA للتحقق من اسم البائع والرقم الضريبي وختم الوقت بتوقيت السعودية والإجماليات) — وتُحفظ الفاتورة كمستند إلكتروني منظَّم. ولا حاجة إلى حساب لدى الهيئة — تعمل هذه المرحلة فور تفعيل الوحدة.
المرحلة الثانية (الربط والتكامل). تُحوَّل كل فاتورة إلى صيغة ZATCA UBL 2.1، وتُربط بسلسلة تجزئة (العدّاد ICV مع تجزئة الفاتورة السابقة)، وتُوقَّع تشفيريًا بشهادة CSID الخاصة بشركتك، ثم تُرسل إلى الهيئة إما لـالتصديق (الفاتورة الضريبية/B2B — تُصدَّق قبل مشاركتها مع المشتري) أو لـالإبلاغ (الفاتورة المبسطة/B2C — يُبلَّغ عنها خلال 24 ساعة، ولا يتوقف البيع بانتظارها). وتتطلب المرحلة الثانية شهادة CSID لشركتك، وتحصل عليها بالتسجيل الذاتي الموضّح أدناه.
تفعيل الوحدة
من الفوترة الإلكترونية (ZATCA) ← الإعدادات (E-Invoicing (ZATCA) → Settings): فعّل خيار تفعيل الفوترة الإلكترونية ZATCA، واختر البيئة (ابدأ بالبيئة التجريبية Sandbox)، ويمكنك اختياريًا تجاوز اسم البائع أو الرقم الضريبي (وإلا فسيؤخذان من سجل الشركة). ثم احفظ. ومن هذه اللحظة تحصل كل فاتورة مبيعات تلقائيًا على رمز QR للمرحلة الأولى وعلى مستند فاتورة إلكترونية عند إصدارها.
لا يُستكمل سجلك السابق بأثر رجعي. تُسجَّل لحظة التفعيل، ولا تحصل الفواتير الصادرة قبلها على فاتورة إلكترونية تلقائيًا — فكل واحدة منها كانت ستأخذ رقم العدّاد التالي وتُبلَّغ متأخرة بأشهر. وإن احتجت إلى فاتورة إلكترونية لفاتورة أقدم فأنشئها عن قصد من قائمة المستندات (POST /api/v1/einvoicing-zatca/documents/generate/{invoiceId}). ولا يضيع شيء بالتعطيل ثم إعادة التفعيل: فالفاتورة الصادرة والفوترة الإلكترونية مفعّلة تحصل على فاتورتها الإلكترونية، والصادرة وهي معطّلة لا تحصل عليها أبدًا.
يجب أن يكون الرقم الضريبي لشركتك رقمًا من 15 خانة يبدأ بالرقم "3" وينتهي به — إذ تشترط الهيئة ذلك في طلب الشهادة.
التسجيل برمز التحقق (OTP) من بوابة فاتورة — خدمة ذاتية
لتتمكن من التوقيع والإرسال (المرحلة الثانية) تحتاج شركتك إلى CSID (معرّف الختم التشفيري) من الهيئة، وتحصل عليه بنفسك من بوابة فاتورة الخاصة بشركتك:
- سجّل الدخول إلى بوابة فاتورة (fatoora.zatca.gov.sa) بحساب شركتك المسجّلة في ضريبة القيمة المضافة، ثم أنشئ رمز تحقق (OTP) لربط حلّ فوترة إلكترونية. وصلاحية الرمز نحو ساعة واحدة.
- داخل النظام، افتح الفوترة الإلكترونية (ZATCA) ← ربط CSID (التسجيل)، والصق رمز التحقق، ثم اضغط طلب CSID. يُرسل الرمز مرة واحدة ويُستخدم فورًا، ولا يُخزَّن ولا يُعرض مرة أخرى.
- ينفّذ النظام مسار الهيئة كاملًا تلقائيًا: يولّد طلب الشهادة، ويجلب شهادة الامتثال (Compliance CSID)، وينفّذ فحوصات الامتثال المطلوبة من الهيئة، ثم يجلب شهادة الإنتاج (Production CSID). ويعرض الجدول الزمني للحالة كل خطوة على حدة.
- عندما تصبح الحالة مُسجَّلة (Onboarded) تكون شهادة شركتك فعّالة ومخزَّنة مشفّرة. وتظهر بصمة الشهادة وتاريخ انتهائها في الصفحة نفسها.
هذه هي خطوة "جاهز فور إدخال بيانات فاتورة الخاصة بك" كاملةً — دون أي تدخّل من فريق ColorsX74، ويبقى رمز التحقق ومفاتيحك داخل شركتك.
البيئات وبوابة الأمان
لدى الهيئة ثلاث بيئات، لكل منها بيانات اعتماد وعنوان أساسي خاص بها:
- البيئة التجريبية (Sandbox) — اختبار مفتوح للمطوّرين ويقبل بيانات وهمية. لا أثر قانوني لها. استخدمها لتجربة المسار.
- بيئة المحاكاة (Simulation) — ما قبل الإنتاج، وتتطلب رمز تحقق حقيقيًا من محاكاة بوابة فاتورة. لا أثر قانوني لها.
- بيئة الإنتاج (Production) — فواتير إلكترونية حقيقية ومُلزِمة قانونًا.
بوابة البيئة الصارمة. لا يمكن أبدًا استخدام شهادة صادرة من البيئة التجريبية أو من بيئة المحاكاة للإرسال إلى بيئة الإنتاج — يرفض النظام أي عدم تطابق. كما يجب أن يُفعِّل مشغّلٌ أول إرسال حقيقي إلى الإنتاج صراحةً (زر "Arm live Production submission" في شاشة التسجيل)، فحتى الشركة المسجَّلة بشكل صحيح في بيئة الإنتاج لن ترسل شيئًا إلى الهيئة قبل أن تفعّل ذلك بنفسك. سجّل شركتك في البيئة التي تنوي استخدامها فعلًا.
توقيع الفواتير وإرسالها
بعد ربط شهادة الإنتاج CSID، يمكن إرسال كل فاتورة إلكترونية إلى الهيئة (بإجراء "إرسال إلى ZATCA" في قائمة المستندات، أو تلقائيًا ضمن مسار الفوترة لديك):
- الفاتورة الضريبية / B2B (التصديق). تُصدَّق الفاتورة لدى الهيئة قبل مشاركتها مع المشتري. وإن رفضتها الهيئة فلا يجوز إصدارها قانونًا — صحّح البيانات وأعد الإرسال. وتحصل الفاتورة المصدَّقة على المستند المصدَّق الذي تعيده الهيئة.
- الفاتورة المبسطة / B2C (الإبلاغ). يُصدَر إيصال نقطة البيع فورًا برمز QR الخاص به، ويُبلَّغ عن الفاتورة إلى الهيئة خلال 24 ساعة. والإبلاغ لا يعطّل عملية البيع إطلاقًا.
الإرسال لا يتكرر أثره وآمن لإعادة المحاولة: يمكن إعادة المحاولة بعد انقطاع شبكة عابر دون كسر سلسلة التجزئة (تستبعد الهيئة التكرار اعتمادًا على معرّف الفاتورة UUID)، ولا يُعاد إرسال فاتورة سبق تصديقها أو الإبلاغ عنها.
حالات الفاتورة
GeneratedLocal / UblGenerated — أُنتج رمز QR للمرحلة الأولى وملف UBL. Signed — موقّعة بصيغة XAdES بشهادتك. Submitting — قيد الإرسال إلى الهيئة. Cleared — مصدَّقة ومقبولة من الهيئة للفواتير بين المنشآت (وهي المستند القانوني). Reported — مُبلَّغ عنها لفواتير الأفراد. ClearanceRejected / ReportingRejected — رفضتها الهيئة (راجع الرسالة). SubmissionFailed — فشل عابر أو محجوب (مثل عدم تفعيل الإرسال المباشر أو خطأ في البيئة) — يمكن إعادة المحاولة بأمان بعد المعالجة.
فاتورة إلكترونية مفقودة: الاستدراك التلقائي
تُنشأ الفاتورة الإلكترونية لحظة إصدار الفاتورة. فإن انقطعت هذه الخطوة — كأن يُعاد تشغيل الخادم في اللحظة الخطأ أو يقع خطأ أثناء الإنشاء — تبقى الفاتورة صادرة بلا فاتورة إلكترونية. وتعمل عملية استدراك في الخلفية كل بضع دقائق فتُنشئ المفقود منها، بالقواعد نفسها التي يتبعها المسار المعتاد:
- الفواتير الصادرة فقط. لا تُمسّ المسودات ولا الفواتير الملغاة.
- الفواتير الصادرة والفوترة الإلكترونية مفعّلة فقط (انظر تفعيل الوحدة).
- تنتظر 10 دقائق. لا تُلتقط الفاتورة إلا بعد أن تبقى دون تغيير 10 دقائق، فيأخذ المسار المعتاد فرصته أولًا دائمًا. وفي الحالتين تحصل الفاتورة على فاتورة إلكترونية واحدة فقط.
- لا تمسّ سلسلة الفواتير. ينشئ الاستدراك مستند المرحلة الأولى فقط (رمز QR واللقطة). أما عدّاد الفواتير وتجزئة الفاتورة السابقة فيُعيَّنان لاحقًا عند التوقيع أو الإرسال، فيأخذ المستند المتأخر الموضع التالي في آخر السلسلة، ويبقى حاملًا تاريخ إصداره الأصلي.
- أكثر من 20 دفعة واحدة تُحجز لمراجعة بشرية. فهذا العدد من الفواتير المفقودة يعني أن خللًا أكبر قد وقع، فلا يُنشأ شيء للشركة. ويُبلَّغ مشغّل المنصة (مرة في اليوم، مع العدد ورقم أقدم فاتورة)، ويستطيع إطلاق جولة استدراك واحدة لما يصل إلى 200 فاتورة، الأقدم أولًا، بعد التأكد من صحة القائمة. ويرى مديرو شركتك الإشعار نفسه.
- الفاتورة المعطوبة لا تعطّل غيرها. إن فشل إنشاء فاتورة واحدة تُسجَّل في جدول المستندات بحالة Failed مع الخطأ، وينتقل الاستدراك إلى التالية. وتظهر أيضًا في فحص ما قبل الإرسال مع زر إنشاء مرة أخرى: فبعد إصلاح السبب تُنشأ الفاتورة الإلكترونية بنقرة واحدة.
وعندما ينشئ الاستدراك مستندات، يتلقى مديروك إشعارًا بالعدد ورقم أقدم فاتورة — مرة في اليوم على الأكثر، ودائمًا بعد جولة أطلقها مشغّل المنصة. والمستندات المبسّطة (B2C) بينها متأخرة عن مهلة الأربع والعشرين ساعة للإبلاغ، فراجع الفوترة الإلكترونية (ZATCA) ← المستندات وأرسلها.
للمشغّل: الإطلاق هو POST /api/v1/einvoicing-zatca/admin/companies/{companyId}/catch-up
(للمشرف العام SuperAdmin فقط). يسمح لجولة الصيانة التالية بتجاوز حدّ العشرين مرة واحدة، ثم يعود الحد؛ والإطلاق الذي لا
يُستخدم خلال 24 ساعة تنتهي صلاحيته. ولا يمكن إطلاق شركة فوترتها الإلكترونية معطّلة أو ليس لها حدّ استدراك
(404)، ويُسجَّل كل إطلاق في سجل تدقيق تلك الشركة.
ملاحظات للمشغّل
- شركة واحدة، شهادة CSID واحدة. تُسجَّل كل شركة على حدة برمز التحقق الخاص بها. انتقل إلى الشركة أولًا ثم سجّلها.
- تبقى الأسرار مشفّرة. المفتاح الخاص وشهادة CSID والسر المرافق لها مشفّرة أثناء التخزين، ولا تُعرض ولا تُسجَّل ولا تعيدها الواجهة البرمجية — ولا يظهر سوى بصمة الشهادة وتاريخ انتهائها، وهما غير سرّيين.
- تجديد الشهادة. تنتهي صلاحية شهادات CSID (بعد سنة تقريبًا). وتعرض صفحة التسجيل تاريخ الانتهاء؛ أعد التسجيل قبل انقضائه.
- الإشعارات الدائنة تُصنَّف وتُرسَل تلقائيًا كمستند إشعار دائن لدى الهيئة.
- عند رفض إنشاء الفاتورة الإلكترونية، تُوضّح الرسالة السبب الآن. قد يُرفض الإنشاء لأربعة أسباب مختلفة — أن تكون الفاتورة لا تزال مسودة، أو أن تكون قد أُلغيت، أو ألّا تكون الفوترة الإلكترونية مفعّلة للمنشأة، أو ألّا تكون الفاتورة موجودة. وكانت هذه الحالات تُبلَّغ برسالة واحدة لا تذكر سوى السببين الأخيرين، فيبحث المشغّل عن خلل في الإعدادات لا وجود له بينما الفاتورة ببساطة لم تُصدَر بعد. أمّا الآن فيُذكر كل سبب على وجه التحديد.
- تتبنّى الفاتورة الإلكترونية رقم فاتورتها الحقيقي عند إصدارها. المستند الذي أُنشئ لفاتورة
كانت لا تزال مسودة يحمل المرجع المؤقّت
DRFT-…. وبمجرّد إصدار الفاتورة وحصولها على رقمها الحقيقي، يتبنّى المستند ذلك الرقم — ما دام لم يُقدَّم عنه شيء بعد. أمّا إذا كان المستند قد وُقِّع أو رُبط بالسلسلة أو أُرسل، فلا يُعاد كتابته أبدًا: السجل المُقدَّم يُصحَّح بإشعار دائن، لا بتعديله. ويعرضGET /api/v1/einvoicing-zatca/documents/stale-referencesأي مستند لم يعد رقمه المحفوظ مطابقًا لفاتورته، ويبيّن لكل حالة ما إذا كان إصلاحها التلقائي ممكنًا. تأكّد من أنّ هذه القائمة فارغة قبل أول إرسال فعلي. وتعرض صفحة الفوترة الإلكترونية الفحص نفسه في لوحة فحص ما قبل الإرسال، مع إجراء اعتماد رقم الفاتورة بنقرة واحدة للمستندات التي ما زال بإمكانها اعتماده — أمّا المُقدَّمة فتُعرض بلا إجراء، لأنّها تُصحَّح بإشعار دائن. وتعرض القائمة نفسها أيضًا أي فاتورة إلكترونية فشل إنشاؤها لسبب قد يكون زال (كسجل الاستدراك لخطأ ما)، مع إجراء إنشاء مرة أخرى؛ ولا يُعرض أبدًا رفضٌ بموجب قاعدة من قواعد الهيئة (BR-KSA) ولا سجل فاتورة ملغاة، لأنّ إعادة الإنشاء لا تغيّرهما.