الربط مع هيئة الزكاة والضريبة والجمارك – الفاتورة الإلكترونية المرحلة الثانية
تربط أداة EzeeZatca برنامج Ezees ERP بمنصة فاتورة التابعة لهيئة الزكاة والضريبة والجمارك (ZATCA). من خلالها تحصل على الشهادات الرقمية مرة واحدة، ثم ترسل الفواتير والإشعارات الدائنة الموقّعة إلكترونيًا، وتتابع حالة كل فاتورة وسبب رفضها.
نظرة عامة وشاشة البداية
بعد تسجيل الدخول واختيار الفرع تظهر شاشة EzeeZatca، وفيها الأزرار التالية:
| الزر | الاستخدام | متى |
|---|---|---|
| Generate CSR | إنشاء المفتاح الخاص وطلب توقيع الشهادة (CSR)، ومنه تفتح شاشة شهادة الامتثال. | مرة واحدة عند الربط. |
| Compliance Invoice | إرسال فواتير اختبار لفحوص الامتثال. | بعد شهادة الامتثال. |
| Producrion CSID (onboarding) | الحصول على شهادة الإنتاج التي تُرسل بها الفواتير الفعلية. | بعد نجاح فحوص الامتثال. |
| Production CSID (Renewal) | تجديد شهادة الإنتاج. | انظر التنبيه. |
| Invoice Report | عرض الفواتير وإرسالها ومتابعة حالتها. | يوميًا. |
| Validator | يفتح نسخة مبسطة من قائمة الفواتير (النوع: البيع / المرتجع بيع). | استخدم Invoice Report بدلًا منها. |
| LogOut | إغلاق الأداة. |
يمكن أيضًا إرسال الفاتورة تلقائيًا بعد حفظها من داخل Ezees ERP بتفعيل خيار ارسال الفواتير الى المنظومة مباشرة - Zatca SA في تبويب الضرائب بالإعدادات. أداة EzeeZatca تبقى لازمة لإجراء الربط أول مرة، ولإرسال ما لم يُرسل أو ما رُفض.
قبل البدء
- التسجيل في بوابة فاتورة: يجب أن تكون منشأتك مسجلة في ضريبة القيمة المضافة، وأن يكون لديك دخول إلى بوابة فاتورة (fatoora.zatca.gov.sa) لاستخراج رمز OTP.
- بيانات الشركة والفرع: اسم الشركة بالإنجليزية، والرقم الضريبي للفرع (15 رقمًا يبدأ بـ3 وينتهي بـ3)، والسجل التجاري، والدولة، والعنوان الوطني كاملًا: الشارع، ورقم المبنى، والحي، والمدينة، والرمز البريدي. تُقرأ هذه البيانات تلقائيًا في الطلب وفي كل فاتورة.
- بيانات العملاء: للعميل الشركة أدخل الرقم الضريبي والعنوان الوطني، واجعل نوع - ETA شركة (B). للفرد اجعل النوع شخص (P) واترك الرقم الضريبي فارغًا. التفاصيل في الرقم الضريبي والفاتورة الإلكترونية للعملاء.
- إعدادات الضريبة: نسبة 15% وتفعيل وضع الفاتورة السعودية (Print QR Code) من تبويب الضرائب.
- ترحيل الفواتير: لا تظهر للإرسال إلا الفواتير المرحّلة.
- الجهاز: اتصال إنترنت، وبرنامج
OpenSSLمثبت على الجهاز، وحزمة أدوات ZATCA التي يجهزها الدعم الفني. نفّذ كل خطوات الربط والإرسال من نفس الجهاز، لأن الشهادة والمفتاح الخاص يُحفظان في مجلدZatcaConfigداخل مجلد البرنامج، وبيانات الدخول تُربط باسم الجهاز.
secret وشهادة الإنتاج هي هوية منشأتك أمام الهيئة. لا ترسل مجلد ZatcaConfig ولا لقطات شاشة الردود لأي جهة، واحتفظ بنسخة احتياطية منه في مكان آمن.بيئة المحاكاة وبيئة الإنتاج
تعمل الأداة على إحدى بيئتين لمنصة فاتورة، ويحددها الدعم الفني عند التثبيت:
| البيئة | الاستخدام | أثر الفواتير |
|---|---|---|
| المحاكاة (Simulation) | تجربة الربط والتدريب قبل التشغيل الفعلي. يُستخرج OTP من بوابة المحاكاة. | لا أثر ضريبي لها. |
| الإنتاج (Core) | التشغيل الفعلي. | كل فاتورة تُعتمد أو يُبلَّغ بها تُعد فاتورة رسمية. |
الشهادات منفصلة لكل بيئة. عند الانتقال من المحاكاة إلى الإنتاج أعد خطوات الربط كاملة برمز OTP من بوابة الإنتاج.
الخطوة 1: إنشاء طلب الشهادة CSR
- اضغط Generate CSR. تمتلئ الحقول تلقائيًا من بيانات الفرع الذي سجلت الدخول عليه.
- راجع الحقول (الجدول التالي)، وأكمل Invoice Type وLocation وIndustry.
- اضغط Generate csr. تظهر مسارات الملفات ومحتوى Private Key وPublic Key وCSr.
- اضغط Compliance form لفتح شاشة شهادة الامتثال وفيها الـ CSR جاهز.
| الحقل | المحتوى |
|---|---|
| Common Name | يتكوّن تلقائيًا من الرقم الضريبي والسجل التجاري للفرع. |
| Serial Number | الرقم التسلسلي للجهاز (الشركة المصنّعة والطراز والمعرّف). زر ... يعيد قراءته. |
| Organization Identifier | الرقم الضريبي للفرع (15 رقمًا). |
| Organization Unit Name / TIN | اسم الفرع، أو الرقم المميز (TIN) إذا كانت المنشأة ضمن مجموعة ضريبية. |
| Country Name | الدولة، وتكون SA. |
| Organization Name | اسم الشركة بالإنجليزية. |
| Invoice Type | أنواع الفواتير التي تصدرها: 1100 ضريبية ومبسطة معًا، 1000 ضريبية فقط، 0100 مبسطة فقط. |
| Location | عنوان الفرع. |
| Industry | نشاط المنشأة. |
الخطوة 2: شهادة الامتثال برمز OTP
- ادخل بوابة فاتورة واختر إضافة وحدة إصدار فواتير (EGS)، ثم استخرج رمز OTP. الرمز صالح لمدة قصيرة (ساعة تقريبًا)، فاستخدمه فورًا.
- في شاشة Compliance CSID (تُفتح من زر Compliance form) تأكد من وجود الطلب في خانة CSR، أو اضغط Choose واختر ملف
Cert.csr. - اكتب الرمز في خانة OTP واضغط Send.
- عند النجاح تظهر رسالة Values saved. ويظهر رد المنصة في الصندوق السفلي، وتُحفظ شهادة الامتثال ورقم الطلب على هذا الجهاز.
إذا ظهر خطأ يتعلق بالـ OTP فالرمز منتهٍ أو مستخدم من قبل. استخرج رمزًا جديدًا وأعد الإرسال، دون إعادة إنشاء الـ CSR.
الخطوة 3: فحوص الامتثال
قبل منح شهادة الإنتاج تطلب الهيئة فاتورة ناجحة من كل نوع ستصدره. استخدم شاشة Compliance Invoice:
- اختر النوع من Invoice Type Code. يظهر بجانبه رمز النوع والنوع الفرعي.
- اختر رقم الفاتورة من InvCode. تظهر أصنافها وكمياتها وأسعارها في الجدول.
- اضغط Send. تظهر successfully عند النجاح، أو Not successfully مع سبب الرفض.
- كرر لكل نوع مطلوب حسب Invoice Type الذي اخترته في الـ CSR.
| النوع في القائمة | الفواتير التي تظهر |
|---|---|
| Standard Invoice | فواتير بيع مرحّلة لعميل نوعه شركة (B). |
| Standard Invoice Credit note | مرتجعات بيع (إشعارات دائنة) لعميل شركة، مرتبطة بفاتورة أصلية. |
| Standard Invoice debit note | فواتير بيع لعميل شركة مرتبطة بفاتورة سابقة (إشعار مدين). |
| Simplified Invoice | فواتير بيع مرحّلة لعميل نوعه شخص (P). |
| Simplified credit note Invoice | مرتجعات بيع لعميل شخص. |
| Simplified debit note Invoice | إشعارات مدينة لعميل شخص. |
إذا كانت القائمة فارغة لنوع معين، أنشئ ورحّل في Ezees ERP فاتورة من هذا النوع لعميل مناسب ثم أعد فتح الشاشة.
الخطوة 4: شهادة الإنتاج
- اضغط Producrion CSID (onboarding). تظهر رسالة Values loaded successfully. ويظهر Compliance Request ID تلقائيًا.
- اضغط Send.
- عند النجاح تُحفظ الشهادة في
ZatcaConfig\Cert.pemوتظهر رسالتا الحفظ والنسخ، ثم Production tokens updated successfully.
من هذه اللحظة أصبح الجهاز جاهزًا لإرسال الفواتير الفعلية.
إذا ظهرت No values found. Ensure you have made a request first. فلم تُنجز الخطوة 2 على هذا الجهاز. وإذا رفضت المنصة الطلب فغالبًا لم تكتمل فحوص الامتثال لكل الأنواع المطلوبة.
تجديد الشهادة
لشهادة الإنتاج تاريخ انتهاء. عند قرب انتهائها أو عند تعطل الجهاز يجب الحصول على شهادة جديدة.
إرسال الفواتير (Invoice Report)
- اضغط Invoice Report.
- حدد الفترة From وTo (الافتراضي آخر 7 أيام)، وBranch. لتصفية فواتير عنوان معين فعّل Title واختره.
- اختر Type: Sell Invoice (فواتير البيع) أو Credit Invoice (المرتجعات / الإشعارات الدائنة).
- اختر Stat: Not Sent لعرض ما لم يُرسل أو ما رُفض، أو Success لعرض ما نجح.
- اضغط زر البحث (العدسة الصفراء). تظهر الفواتير مرتبة بالتاريخ. اضغط على فاتورة لعرض أصنافها في الجدول السفلي.
- علّم عمود Add للفواتير المطلوبة، أو فعّل SelectAll لتحديد كل الفواتير غير المرسلة. يظهر مجموع Tax وTotal للمحدد بالعملة المحلية.
- اضغط Send Zatca. تُوقَّع الفواتير وتُرسل واحدة تلو الأخرى، ويظهر لكل فاتورة سطر في صندوق الرسائل: Invoice … was Sent أو Invoice … Error : …. بعد الانتهاء تُحدَّث القائمة تلقائيًا.
- الفواتير الناجحة لا يمكن تحديدها مرة أخرى.
- أرسل الفواتير بترتيب تواريخها ولا تؤجل فاتورة قديمة، لأن كل فاتورة تحمل بصمة الفاتورة السابقة (سلسلة PIH).
- الفاتورة المبسطة يجب الإبلاغ عنها خلال 24 ساعة من إصدارها، والفاتورة الضريبية يجب اعتمادها قبل تسليمها للعميل.
بعد التأكد من سطر was Sent، اعرض Stat = Success وتأكد من ظهور الفاتورة فيها، فهذا هو التأكيد النهائي لقبولها.
أنواع الفواتير والإشعارات
| المستند في Ezees ERP | العميل | النوع عند الهيئة | طريقة الإرسال |
|---|---|---|---|
| فاتورة بيع | له رقم ضريبي | فاتورة ضريبية (Standard – 388) | اعتماد (Clearance): تعتمدها المنصة قبل التسليم. |
| فاتورة بيع | بلا رقم ضريبي | فاتورة ضريبية مبسطة (Simplified – 388) | إبلاغ (Reporting) خلال 24 ساعة. |
| مرتجع بيع / اشعار دائن | له رقم ضريبي | إشعار دائن ضريبي (381) | اعتماد. |
| مرتجع بيع / اشعار دائن | بلا رقم ضريبي | إشعار دائن مبسط (381) | إبلاغ. |
عند الإرسال الفعلي يُحدَّد النوع (ضريبية أو مبسطة) بوجود الرقم الضريبي في بطاقة العميل. عميل شركة بلا رقم ضريبي تُرسل فواتيره كمبسطة.
رمز QR
- عند نجاح الإرسال يُحفظ رمز QR الخاص بالمرحلة الثانية (ويتضمن التوقيع الرقمي) مع الفاتورة.
- عند طباعة الفاتورة من Ezees ERP مع تفعيل Print QR Code يُطبع هذا الرمز. أما الفاتورة التي لم تُرسل بعد فيُطبع عليها رمز مبسط (اسم البائع، والرقم الضريبي، والتاريخ، والإجمالي، والضريبة).
- لذلك أعد طباعة الفاتورة بعد نجاح إرسالها إذا كانت النسخة الأولى قد طُبعت قبل الإرسال.
حالة الفاتورة وقراءة الرد
| الحالة في قائمة Stat | المعنى |
|---|---|
| Not Sent | لم تُرسل بعد، أو أُرسلت ورُفضت (not reported / not cleared). يظهر تاريخ آخر محاولة في عمود Eta_SendDate. |
| Success | قُبلت: اعتُمدت (cleared) أو بُلّغ عنها (reported)، أو اجتازت فحص الامتثال (complianced). |
عرض رد المنصة (Json Response)
حدد الفاتورة في Invoice Report واضغط بزر الفأرة الأيمن ثم Json Response. تُفتح نافذة JsonPreview بآخر رد من المنصة، وزر Copy ينسخه لإرساله للدعم الفني. أهم ما في الرد:
| الجزء | كيف تقرؤه |
|---|---|
clearanceStatus / reportingStatus | CLEARED أو REPORTED: قُبلت. NOT_CLEARED أو NOT_REPORTED: رُفضت. |
validationResults.status | PASS سليمة، WARNING قُبلت مع ملاحظات، ERROR مرفوضة. |
errorMessages | أسباب الرفض. لكل خطأ code وmessage يشرح الحقل المخالف (مثل الرقم الضريبي أو العنوان). يجب تصحيحها ثم إعادة الإرسال. |
warningMessages | ملاحظات لا تمنع القبول، لكن عالجها في الفواتير القادمة لأن الهيئة قد تشددها لاحقًا. |
خيار Xml File في نفس القائمة لا يعرض الملف في الإصدار الحالي. نسخ الفواتير الموقعة محفوظة في مجلد ZatcaConfig\Invoices داخل مجلد البرنامج، مقسمة إلى Standard وSimplified ثم General وCredit وDebit.
إعادة إرسال الفواتير المرفوضة
- في Invoice Report اختر Stat = Not Sent واعرض الفترة.
- افتح Json Response للفاتورة واقرأ
errorMessages. - صحح السبب في Ezees ERP: بيانات العميل (الرقم الضريبي، العنوان الوطني) في بطاقة العميل، أو بيانات الفرع، أو إعدادات الضريبة.
- حدد الفاتورة واضغط Send Zatca مرة أخرى.
إذا كان الخطأ في بيانات الفاتورة نفسها (السعر أو الكمية) وكانت ضريبية مرفوضة، فهي لم تُعتمد بعد ويمكن تصحيحها. أما الفاتورة المقبولة فلا تُعدَّل، وتُصحَّح بإشعار دائن.
الرسائل الشائعة
| الرسالة | المعنى والحل |
|---|---|
| OpenSSL executable not found... | برنامج OpenSSL غير مثبت على الجهاز. اطلب تثبيته من الدعم الفني. |
| OTP is empty. / CSR Encoded text is empty. | أكمل رمز OTP أو الـ CSR قبل الضغط على Send. |
| Binary Security Token or Secret is missing or empty in the response. | المنصة لم تُصدر الشهادة. اقرأ الرد في الصندوق؛ غالبًا الـ OTP منتهٍ أو بيانات الـ CSR غير مطابقة. |
| Error:User And Pass missed | لا توجد شهادة على هذا الجهاز. أكمل خطوات الربط، أو أرسل من الجهاز الذي تم عليه الربط. |
| Error:Check internet connection | لا يوجد اتصال بمنصة فاتورة. |
| StatusCode: 401, ReasonPhrase: 'Unauthorized' | الشهادة غير صالحة أو منتهية أو من بيئة أخرى. راجع التجديد. |
| Error: BadRequest - ... | الفاتورة مرفوضة لمخالفة في بياناتها. اقرأ errorMessages وصحح ثم أعد الإرسال. |
| No data available for the selected invoice. | الفاتورة بلا أصناف، أو ينقصها مدينة العميل أو بيانات الفرع. |
| Could not find file ... Cert.pem | شهادة الإنتاج غير موجودة على هذا الجهاز. أكمل الخطوة 4. |
أسئلة شائعة
ما الفرق بين الفاتورة الضريبية والمبسطة في الربط؟
الضريبية (B2B) لعميل له رقم ضريبي، وتُعتمد من المنصة قبل تسليمها. المبسطة (B2C) لعميل بلا رقم ضريبي، ويُبلَّغ بها خلال 24 ساعة.
هل أحتاج ربطًا منفصلًا لكل فرع أو جهاز؟
نعم. كل وحدة إصدار فواتير (جهاز/فرع) تحتاج CSR وشهادة خاصة بها برمز OTP مستقل، والإرسال يتم من الجهاز الذي حصل على الشهادة.
رُفضت فاتورة، هل أنشئ فاتورة جديدة؟
لا. صحح السبب وأعد إرسال نفس الفاتورة من قائمة Not Sent.
لماذا لا تظهر فاتورة في قائمة الإرسال؟
تأكد أنها مرحّلة، وأنها في الفترة والفرع المختارين، وأن Stat = Not Sent. الفاتورة المستخدمة في فحص الامتثال تظهر ضمن Success.