Ezees ERP · مركز المساعدة

الربط مع هيئة الزكاة والضريبة والجمارك – الفاتورة الإلكترونية المرحلة الثانية

تربط أداة 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 تبقى لازمة لإجراء الربط أول مرة، ولإرسال ما لم يُرسل أو ما رُفض.

قبل البدء

  1. التسجيل في بوابة فاتورة: يجب أن تكون منشأتك مسجلة في ضريبة القيمة المضافة، وأن يكون لديك دخول إلى بوابة فاتورة (fatoora.zatca.gov.sa) لاستخراج رمز OTP.
  2. بيانات الشركة والفرع: اسم الشركة بالإنجليزية، والرقم الضريبي للفرع (15 رقمًا يبدأ بـ3 وينتهي بـ3)، والسجل التجاري، والدولة، والعنوان الوطني كاملًا: الشارع، ورقم المبنى، والحي، والمدينة، والرمز البريدي. تُقرأ هذه البيانات تلقائيًا في الطلب وفي كل فاتورة.
  3. بيانات العملاء: للعميل الشركة أدخل الرقم الضريبي والعنوان الوطني، واجعل نوع - ETA شركة (B). للفرد اجعل النوع شخص (P) واترك الرقم الضريبي فارغًا. التفاصيل في الرقم الضريبي والفاتورة الإلكترونية للعملاء.
  4. إعدادات الضريبة: نسبة 15% وتفعيل وضع الفاتورة السعودية (Print QR Code) من تبويب الضرائب.
  5. ترحيل الفواتير: لا تظهر للإرسال إلا الفواتير المرحّلة.
  6. الجهاز: اتصال إنترنت، وبرنامج OpenSSL مثبت على الجهاز، وحزمة أدوات ZATCA التي يجهزها الدعم الفني. نفّذ كل خطوات الربط والإرسال من نفس الجهاز، لأن الشهادة والمفتاح الخاص يُحفظان في مجلد ZatcaConfig داخل مجلد البرنامج، وبيانات الدخول تُربط باسم الجهاز.
المفتاح الخاص ورمز secret وشهادة الإنتاج هي هوية منشأتك أمام الهيئة. لا ترسل مجلد ZatcaConfig ولا لقطات شاشة الردود لأي جهة، واحتفظ بنسخة احتياطية منه في مكان آمن.

بيئة المحاكاة وبيئة الإنتاج

تعمل الأداة على إحدى بيئتين لمنصة فاتورة، ويحددها الدعم الفني عند التثبيت:

البيئةالاستخدامأثر الفواتير
المحاكاة (Simulation)تجربة الربط والتدريب قبل التشغيل الفعلي. يُستخرج OTP من بوابة المحاكاة.لا أثر ضريبي لها.
الإنتاج (Core)التشغيل الفعلي.كل فاتورة تُعتمد أو يُبلَّغ بها تُعد فاتورة رسمية.

الشهادات منفصلة لكل بيئة. عند الانتقال من المحاكاة إلى الإنتاج أعد خطوات الربط كاملة برمز OTP من بوابة الإنتاج.

الخطوة 1: إنشاء طلب الشهادة CSR

  1. اضغط Generate CSR. تمتلئ الحقول تلقائيًا من بيانات الفرع الذي سجلت الدخول عليه.
  2. راجع الحقول (الجدول التالي)، وأكمل Invoice Type وLocation وIndustry.
  3. اضغط Generate csr. تظهر مسارات الملفات ومحتوى Private Key وPublic Key وCSr.
  4. اضغط 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نشاط المنشأة.
الضغط على «Generate csr» ينشئ مفتاحًا خاصًا جديدًا ويستبدل القديم. بعد التشغيل الفعلي يتوقف الإرسال بالشهادة الحالية إذا أعدت إنشاء الـ CSR، ولا يمكن استرجاع المفتاح القديم إلا من نسخة احتياطية. لا تستخدمه إلا عند ربط جديد كامل.

الخطوة 2: شهادة الامتثال برمز OTP

  1. ادخل بوابة فاتورة واختر إضافة وحدة إصدار فواتير (EGS)، ثم استخرج رمز OTP. الرمز صالح لمدة قصيرة (ساعة تقريبًا)، فاستخدمه فورًا.
  2. في شاشة Compliance CSID (تُفتح من زر Compliance form) تأكد من وجود الطلب في خانة CSR، أو اضغط Choose واختر ملف Cert.csr.
  3. اكتب الرمز في خانة OTP واضغط Send.
  4. عند النجاح تظهر رسالة Values saved. ويظهر رد المنصة في الصندوق السفلي، وتُحفظ شهادة الامتثال ورقم الطلب على هذا الجهاز.

إذا ظهر خطأ يتعلق بالـ OTP فالرمز منتهٍ أو مستخدم من قبل. استخرج رمزًا جديدًا وأعد الإرسال، دون إعادة إنشاء الـ CSR.

الخطوة 3: فحوص الامتثال

قبل منح شهادة الإنتاج تطلب الهيئة فاتورة ناجحة من كل نوع ستصدره. استخدم شاشة Compliance Invoice:

  1. اختر النوع من Invoice Type Code. يظهر بجانبه رمز النوع والنوع الفرعي.
  2. اختر رقم الفاتورة من InvCode. تظهر أصنافها وكمياتها وأسعارها في الجدول.
  3. اضغط Send. تظهر successfully عند النجاح، أو Not successfully مع سبب الرفض.
  4. كرر لكل نوع مطلوب حسب 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 فاتورة من هذا النوع لعميل مناسب ثم أعد فتح الشاشة.

الفاتورة التي تنجح في فحص الامتثال تُعلَّم «مرسلة» (Success) ولا تظهر بعد ذلك للإرسال الفعلي. استخدم في الفحوص فواتير اختبار مخصصة لهذا الغرض (ويُفضَّل إجراء الفحوص في بيئة المحاكاة أولًا)، ونسّق مع الدعم الفني بشأن هذه الفواتير قبل التشغيل الفعلي.

الخطوة 4: شهادة الإنتاج

  1. اضغط Producrion CSID (onboarding). تظهر رسالة Values loaded successfully. ويظهر Compliance Request ID تلقائيًا.
  2. اضغط Send.
  3. عند النجاح تُحفظ الشهادة في ZatcaConfig\Cert.pem وتظهر رسالتا الحفظ والنسخ، ثم Production tokens updated successfully.

من هذه اللحظة أصبح الجهاز جاهزًا لإرسال الفواتير الفعلية.

إذا ظهرت No values found. Ensure you have made a request first. فلم تُنجز الخطوة 2 على هذا الجهاز. وإذا رفضت المنصة الطلب فغالبًا لم تكتمل فحوص الامتثال لكل الأنواع المطلوبة.

تجديد الشهادة

لشهادة الإنتاج تاريخ انتهاء. عند قرب انتهائها أو عند تعطل الجهاز يجب الحصول على شهادة جديدة.

زر Send وزر Choose في شاشة Production CSID (Renewal) لا ينفذان أي إجراء في الإصدار الحالي. لتجديد الشهادة تواصل مع الدعم الفني، أو أعد خطوات الربط من 1 إلى 4 برمز OTP جديد. بعد التجديد أرسل فاتورة واحدة وتأكد من نجاحها قبل الإرسال الجماعي.

إرسال الفواتير (Invoice Report)

  1. اضغط Invoice Report.
  2. حدد الفترة From وTo (الافتراضي آخر 7 أيام)، وBranch. لتصفية فواتير عنوان معين فعّل Title واختره.
  3. اختر Type: Sell Invoice (فواتير البيع) أو Credit Invoice (المرتجعات / الإشعارات الدائنة).
  4. اختر Stat: Not Sent لعرض ما لم يُرسل أو ما رُفض، أو Success لعرض ما نجح.
  5. اضغط زر البحث (العدسة الصفراء). تظهر الفواتير مرتبة بالتاريخ. اضغط على فاتورة لعرض أصنافها في الجدول السفلي.
  6. علّم عمود Add للفواتير المطلوبة، أو فعّل SelectAll لتحديد كل الفواتير غير المرسلة. يظهر مجموع Tax وTotal للمحدد بالعملة المحلية.
  7. اضغط Send Zatca. تُوقَّع الفواتير وتُرسل واحدة تلو الأخرى، ويظهر لكل فاتورة سطر في صندوق الرسائل: Invoice … was Sent أو Invoice … Error : …. بعد الانتهاء تُحدَّث القائمة تلقائيًا.
  • الفواتير الناجحة لا يمكن تحديدها مرة أخرى.
  • أرسل الفواتير بترتيب تواريخها ولا تؤجل فاتورة قديمة، لأن كل فاتورة تحمل بصمة الفاتورة السابقة (سلسلة PIH).
  • الفاتورة المبسطة يجب الإبلاغ عنها خلال 24 ساعة من إصدارها، والفاتورة الضريبية يجب اعتمادها قبل تسليمها للعميل.

بعد التأكد من سطر was Sent، اعرض Stat = Success وتأكد من ظهور الفاتورة فيها، فهذا هو التأكيد النهائي لقبولها.

أنواع الفواتير والإشعارات

المستند في Ezees ERPالعميلالنوع عند الهيئةطريقة الإرسال
فاتورة بيعله رقم ضريبيفاتورة ضريبية (Standard – 388)اعتماد (Clearance): تعتمدها المنصة قبل التسليم.
فاتورة بيعبلا رقم ضريبيفاتورة ضريبية مبسطة (Simplified – 388)إبلاغ (Reporting) خلال 24 ساعة.
مرتجع بيع / اشعار دائنله رقم ضريبيإشعار دائن ضريبي (381)اعتماد.
مرتجع بيع / اشعار دائنبلا رقم ضريبيإشعار دائن مبسط (381)إبلاغ.

عند الإرسال الفعلي يُحدَّد النوع (ضريبية أو مبسطة) بوجود الرقم الضريبي في بطاقة العميل. عميل شركة بلا رقم ضريبي تُرسل فواتيره كمبسطة.

الإشعار الدائن: اربط المرتجع دائمًا بالفاتورة الأصلية عند إنشائه (انظر ربط المرتجع بالفاتورة)، فالهيئة تتطلب مرجع الفاتورة الأصلية وسبب الإصدار. وبعد إرسال الفاتورة لا تعدلها، بل صححها بإشعار دائن.
الإشعار المدين: اختيار Debit Invoice في قائمة Type لا يعمل بشكل صحيح في الإصدار الحالي، فقد تُرسل الإشعارات المدينة كفواتير عادية أو يفشل إرسالها. لا ترسلها من هذه الشاشة قبل مراجعة الدعم الفني.

رمز 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 / reportingStatusCLEARED أو REPORTED: قُبلت. NOT_CLEARED أو NOT_REPORTED: رُفضت.
validationResults.statusPASS سليمة، WARNING قُبلت مع ملاحظات، ERROR مرفوضة.
errorMessagesأسباب الرفض. لكل خطأ code وmessage يشرح الحقل المخالف (مثل الرقم الضريبي أو العنوان). يجب تصحيحها ثم إعادة الإرسال.
warningMessagesملاحظات لا تمنع القبول، لكن عالجها في الفواتير القادمة لأن الهيئة قد تشددها لاحقًا.

خيار Xml File في نفس القائمة لا يعرض الملف في الإصدار الحالي. نسخ الفواتير الموقعة محفوظة في مجلد ZatcaConfig\Invoices داخل مجلد البرنامج، مقسمة إلى Standard وSimplified ثم General وCredit وDebit.

إعادة إرسال الفواتير المرفوضة

  1. في Invoice Report اختر Stat = Not Sent واعرض الفترة.
  2. افتح Json Response للفاتورة واقرأ errorMessages.
  3. صحح السبب في Ezees ERP: بيانات العميل (الرقم الضريبي، العنوان الوطني) في بطاقة العميل، أو بيانات الفرع، أو إعدادات الضريبة.
  4. حدد الفاتورة واضغط 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.