Qoyod
منتجات قيود
نظام نقاط البيع
كاشير ZATCA متكامل لمحلاتك مع دفع مرن
قيود فليفرز
كاشير سحابي مصمَّم خصيصًا للمطاعم والكافيهات
قيود HR
الموظفون والرواتب والإجازات وفق نظام العمل السعودي
قيود CRM
من العميل المحتمل إلى الفاتورة في قيود
مساكن
إدارة جمعيات اتحاد الملاك
قيود للمؤسسات
نظام ERP للشركات من 200 إلى 1,000 موظف
الأسعار
Qoyod
الأسعار

 دليل المعرفة

التحقق قبل الإرسال إلى نظام الفوترة الوطني: قائمة فحص

التحقق قبل الإرسال إلى نظام الفوترة الوطني هو أن يفحص برنامجك المحاسبي ملف الفاتورة بنفسه قبل أن يرسله إلى دائرة ضريبة الدخل والمبيعات، فيكتشف الخطأ الذي كانت الدائرة سترفض الفاتورة بسببه. وهو الإرشاد الثاني من الإرشادات العشر في الدليل التقني للربط، وغايته المعلنة فيه «تقليل أخطاء 400».

الجواب المختصر أن الدليل لا ينشر قائمة فحص جاهزة، لكنه يوثق القواعد التي تقوم عليها، موزعة على جداول الحقول ومعادلات المجاميع ورسائل الأخطاء. ويجمع هذا المقال تلك القواعد في قائمة فحص واحدة مرتبة حسب أجزاء الفاتورة، ولكل فحص القاعدة كما وردت في الدليل والخطأ الذي يقابله والمقال الذي يشرحه بالتفصيل. وهو موجّه إلى من يبني ربط نظام محاسبي أو نظام تخطيط موارد المؤسسات مع نظام الفوترة الوطني أو يراجعه.

الإرشاد 2 «التحقق قبل الإرسال» في الدليل التقني: التأكد من صحة البيانات قبل الإرسال مثل المجاميع والضرائب ورقم المكلف ورقم المشتري والحقول الإلزامية لتقليل أخطاء 400، ولا طمس فيه
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص104

ما يطلبه الإرشاد الثاني: التحقق قبل الإرسال إلى نظام الفوترة الوطني

يرد الإرشاد في جدول الإرشادات في الصفحة 104 من الدليل التقني (الإصدار 1.5) بعنوان «التحقق قبل الإرسال»، ونص وصفه ما يلي.

«التأكد من صحة البيانات قبل الإرسال مثل: المجاميع، الضرائب، رقم المكلف، رقم المشتري، والحقول الإلزامية لتقليل أخطاء 400».

في هذا النص ثلاث ملاحظات تحدد طريقة بناء الفحص.

  • الأمثلة ليست حصرًا. كلمة «مثل» تعني أن المجاميع والضرائب والرقمين والحقول الإلزامية أمثلة على ما يُفحص. وبقية القواعد موزعة في جداول الدليل ورسائل أخطائه، وهي التي تجمعها القائمة أدناه.
  • الغاية تقليل رمز 400. يربط الدليل الإرشاد بهذا الرمز تحديدًا، وهو الرمز الذي يعود حين تكون في قيم ملف XML قيمة خاطئة، ويصل تفصيلها في حقل EINV_MESSAGE. وطريقة قراءة هذه الرسائل في مقال خطأ 400 في نظام الفوترة الوطني.
  • الإرشاد يكمّل الإرشاد الأول. الأول يطلب أن يطابق الملف معيار UBL 2.1 في بنيته، والثاني ينتقل إلى صحة القيم داخل تلك البنية. ولذلك تبدأ القائمة بالبنية ثم تنتقل إلى القيم.

ويشرح مقال الإرشادات العشر لنظام الفوترة الوطني موقع هذا الإرشاد بين الإرشادات الأخرى. أما هنا فنفصّل ما يفحصه نظامك فعلًا، فحصًا فحصًا.

ما يستطيع نظامك فحصه وما لا يستطيعه

قبل كتابة أي قاعدة فحص، يفيد أن تفرّق بين ثلاثة أنواع من الشروط، لأن موقع كل نوع من التحقق المسبق مختلف.

شروط يحسمها الملف وحده

هذه شروط يستطيع نظامك أن يحكم عليها كاملة دون الرجوع إلى أي جهة. ومنها أن يكون وسم الفتح في سطر واحد، وأن يكون رقم كل بند فريدًا، وألا يزيد الرمز البريدي على 5 خانات، وأن تتطابق المجاميع مع البنود، وأن يتفق تصنيف الضريبة مع نسبتها. وهذه هي الجزء الأكبر من القائمة، وفحصها محليًا يمنع وصول الفاتورة الخاطئة إلى النظام أصلًا.

شروط تعتمد على بيانات لدى الدائرة

بعض القيم صحتها مرتبطة بسجلات الدائرة لا بالملف. فالدليل يذكر أن رمز 500 يعود عند خطأ في الرقم الضريبي أو تسلسل مصدر الدخل، وأن رسالة This user is not authorized to submit this type of invoice تظهر حين يرسل المكلف نوع فاتورة لا يتناسب مع رقمه الضريبي أو تسلسل مصدر الدخل الخاص به. ويشترط في فاتورة المناطق التنموية أن يكون المشتري مسجلًا فيها ومعه كتاب إعفاء ساري المفعول مُدخل على النظام المالي.

يستطيع نظامك هنا أن يتأكد أن الحقل غير فارغ، وأن قيمته تطابق ما حفظته أنت في إعدادات الربط عن تسجيلك. لكنه لا يرى سجلات الدائرة، فلا يستطيع أن يؤكد أن المشتري مسجل في المناطق التنموية مثلًا. وهذه الشروط تبقى نتيجتها في رد النظام.

أخطاء لا علاقة لها بقيم الفاتورة

يذكر الدليل رمز 403 لخطأ في رقم المستخدم أو المفتاح السري، ورمز 504 لتعذر الوصول إلى النظام بسبب جدار الحماية لدى المكلف أو موقع الدائرة. ولا يكشف فحص ملف الفاتورة أيًّا منهما، لأن الخلل فيهما في بيانات الربط أو في الاتصال، لا في الملف.

تظليل الدليل: من أين تعرف ما يجب تعبئته

ذكر الإرشاد «الحقول الإلزامية» دون أن يعدّدها، ومرجعها في الدليل هو تظليل الجداول. ففي الصفحة 12 يشرح الدليل مفتاح الألوان الذي يتكرر في كل قوالب الفواتير.

مفتاح الألوان في الدليل التقني: الأصفر متغيرات إجبارية والأخضر متغيرات اختيارية، مع قالب معلومات الفاتورة الأساسية، ولا طمس فيه
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص12

العناصر المظللة بالأصفر متغيرات يجب أن يعبئها نظام البائع، والمظللة بالأخضر متغيرات اختيارية، وما بقي وصف ثابت ينسخ دون تغيير. والعناصر الخضراء في القوالب كلها خمسة، هي الملاحظة cbc:Note وقيمة رقم المشتري والرمز البريدي ورمز المحافظة والهاتف. وما سواها من المتغيرات إجباري.

ويضيف الدليل شروطًا تغيّر حكم بعض الحقول بحسب نوع الفاتورة. فاسم المشتري يصبح واجبًا في فاتورة الذمم وفي الفاتورة النقدية التي تزيد قيمتها على الحد المذكور، والرقم الضريبي للمشتري يصبح إجباريًا في فاتورة المناطق التنموية. ولذلك لا يكفي أن يفحص نظامك الحقول الصفراء، بل عليه أن يقرأ نوع الفاتورة أولًا ثم يطبق شروطها. وتفصيل التظليل وما يتغير بنوع الفاتورة في مقال الحقول الإجبارية والاختيارية في نظام الفوترة الوطني.

قائمة فحص قبل الإرسال إلى نظام الفوترة الوطني

الجداول التالية مرتبة حسب أجزاء ملف الفاتورة، من البنية إلى المجاميع. وكل سطر فيها قاعدة موثقة في الدليل التقني الإصدار 1.5، وحيث لا يذكر الدليل رسالة خطأ خاصة بقاعدة قلنا ذلك صراحة بدل أن نخمّن الرسالة.

1. البنية وهوية الفاتورة

مرِّر الجدول أفقيًا لعرض بقية الأعمدة

الفحص القاعدة الموثقة في الدليل الخطأ الذي يقابله للتفصيل
بنية الملف ملف XML مطابق لمعيار UBL 2.1 (الإرشاد الأول، ص104) أي خلل في البنية يؤدي إلى رفض الفاتورة مقال معيار UBL 2.1
المقدمة ووسم الفتح المقدمة نفسها في كل ملف، ووسم الفتح <Invoice> بكامل خصائصه في سطر واحد (ص10) Invalid Invoice Minification (ص102) مقال رسالة Invalid Invoice Minification
قيمة cbc:ProfileID القيمة reporting:1.0 في كل فاتورة (ص10) لا يذكر الدليل رسالة خاصة بها مقال معيار UBL 2.1 نفسه
رقم الفاتورة ومعرّفها الفريد cbc:ID وcbc:UUID معًا هما مفتاح الفاتورة، والمعرّف يولّده نظامك ويُحفظ توليد معرّف جديد عند إعادة الإرسال يكرر الفواتير مقال المعرّف الفريد UUID
تاريخ الفاتورة الصيغة yyyy-mm-dd كما في جميع أمثلة XML في الدليل لا يذكر الدليل رسالة خاصة بها لا يوجد
نوع الفاتورة القيمة 388 للفاتورة الجديدة و381 للإرجاع، والخاصية name من ثلاث خانات تحدد نوع التجارة وطريقة الدفع ونوع الضريبة This user is not authorized to submit this type of invoice مقال رسالة نوع الفاتورة غير المصرح
عداد الفاتورة ICV عداد ينشئه المكلف يبدأ تسلسليًا من 1 (ص13) لا يذكر الدليل رسالة خاصة بها مقال عداد الفاتورة ICV

ويضاف إلى هذا الجزء شرط لا يُفحص بقاعدة بل بسلوك، وهو أن يُحفظ رقم الفاتورة ومعرّفها الفريد قبل الإرسال، حتى إذا احتجت إلى إعادة الإرسال أعدته بالقيمتين نفسيهما.

2. البائع والمشتري

مرِّر الجدول أفقيًا لعرض بقية الأعمدة

الفحص القاعدة الموثقة في الدليل الخطأ الذي يقابله للتفصيل
الرقم الضريبي للبائع cbc:CompanyID في كتلة البائع يحمل الرقم الضريبي للبائع خطأ الرقم الضريبي من أسباب رمز 500 (ص101) مقال خطأ 500
تسلسل مصدر الدخل cac:SellerSupplierParty/cbc:ID يحمل تسلسل مصدر الدخل الذي يرسل عليه نظامك رمز 500، أو رسالة عدم التصريح بنوع الفاتورة إذا لم يتناسب النوع مع التسلسل مقال خطأ 500
اسم البائع cbc:RegistrationName كما هو مسجل لدى الدائرة لا يذكر الدليل رسالة خاصة بها لا يوجد
نوع رقم المشتري الخاصية schemeID بإحدى القيم NIN أو PN أو TN، والرقم أرقام فقط لا يذكر الدليل رسالة خاصة بها مقال بيانات المشتري
اسم المشتري إجباري في فاتورة الذمم، وفي الفاتورة النقدية إذا زادت قيمتها على 10 آلاف دينار أو ما يعادلها بالعملات الأجنبية Bayer name is missing مقال رسالة Bayer name is missing
الرمز البريدي cbc:PostalZone بحد أعلى 5 خانات Postal code length is incorrect مقال رسالة طول الرمز البريدي
هاتف المشتري أرقام فقط، بحد أدنى 9 أرقام وحد أعلى 14 رقمًا لا يذكر الدليل رسالة خاصة بها لا يوجد
رمز المحافظة رمز من جدول المحافظات في الدليل، مثل JO-AM لعمّان وJO-IR لإربد لا يذكر الدليل رسالة خاصة بها مقال رموز المحافظات
الرقم الضريبي للمشتري في المناطق التنموية إجباري في هذا النوع، ويجب أن يكون المشتري مسجلًا في المناطق التنموية ومعه كتاب إعفاء ساري المفعول مُدخل على النظام المالي BuyerTaxNumber: The buyer's taxpayer number is not associated with the developmental arear مقال خطأ BuyerTaxNumber

3. البنود والضرائب

مرِّر الجدول أفقيًا لعرض بقية الأعمدة

الفحص القاعدة الموثقة في الدليل الخطأ الذي يقابله للتفصيل
رقم البند cbc:ID في كل بند تسلسلي وفريد داخل الفاتورة، ويُحفظ لأن الإرجاع يطابق البنود به The ID number must be unique مقال رسالة تكرار رقم البند
الكمية أكبر من صفر، وحتى 9 خانات عشرية لا يذكر الدليل رسالة خاصة بها مقال بنود الفاتورة InvoiceLine
سعر الوحدة قبل الضريبة، وأكبر من صفر، وحتى 9 خانات عشرية لا يذكر الدليل رسالة خاصة بها مقال بنود الفاتورة InvoiceLine
الخصم على مستوى البند، وبالموجب فقط. وخصم الفاتورة كلها يُوزَّع على البنود قبل الإرسال يظهر أثره في المجاميع مقال رسالة Total General Amount is Not Correct
تصنيف الضريبة مع نسبتها التصنيف S لأي نسبة غير الصفر. وعند نسبة 0% لا يُستخدم S، بل Z للمعفى وO للخاضع لنسبة الصفر General tax percentage must be zero مقال رسالة General tax percentage must be zero
الأنواع غير المحلية في فواتير التصدير والمناطق التنموية والترانزيت والتجارة الخارجية والتنازل داخل المنطقة الحرة، النسبة 0% والقيمة O لجميع السلع (ص42 وص69) General tax percentage must be zero المقال السابق نفسه
النسبة ضمن ما تقبله الواجهة قيمة cbc:Percent من القائمة التي يذكرها الدليل للفواتير الجديدة (ص42) نسبة خارج القائمة من أسباب رمز 500 (ص101) مقال النسبة غير المقبولة
الضريبة الخاصة قيمة تُدخل دون عمليات حسابية، في TaxSubtotal نوعه OTH بلا عنصر cbc:Percent، ويأتي قبل كتلة الضريبة العامة يظهر أثرها في المجاميع مقال الضريبة الخاصة OTH
فاتورة الدخل لا تحمل بنودها ولا رأسها كتلة TaxTotal لا يذكر الدليل رسالة خاصة بها لا يوجد

القائمة التي يذكرها الدليل للنسب في الصفحة 42 هي 0 و1 و2 و3 و4 و5 و7 و8 و10 و16. وهي قائمة القيم التي تقبلها الواجهة البرمجية في هذا الحقل، لا جدول بنسب ضريبة المبيعات العامة المقررة قانونًا، فلا تستدل بها على وجود نسبة بعينها. ويلاحظ أن صفحات فواتير الإرجاع تذكر القائمة دون الصفر.

4. المجاميع

رسالة Total General Amount is Not Correct هي أولى الرسائل التي يذكرها الدليل لرمز 400، وفحص المجاميع محليًا هو أوضح تطبيق للإرشاد الثاني. والجدول يلخص المعادلات كما وردت في الدليل.

مرِّر الجدول أفقيًا لعرض بقية الأعمدة

العنصر القاعدة في الدليل ما تقارنه به
LineExtensionAmount (الكمية × سعر الوحدة) − الخصم قيم البند نفسه
TaxAmount في البند (الكمية × سعر الوحدة − الخصم) × النسبة، ويضاف مبلغ الضريبة الخاصة إلى الأساس في بنودها نسبة البند وتصنيفه
RoundingAmount قيمة البند مضافًا إليها ضريبته العامة، والضريبة الخاصة إن وُجدت مجموع البند
TaxExclusiveAmount مجموع (الكمية × سعر الوحدة) قبل الخصم البنود كلها
AllowanceTotalAmount وAllowanceCharge في الرأس كلاهما مجموع خصومات البنود بعضهما وخصومات البنود
TaxInclusiveAmount وPayableAmount كلاهما مجموع RoundingAmount في البنود بعضهما
TaxTotal في الرأس مجموع الضريبة العامة في البنود، في فواتير ضريبة المبيعات العامة والضريبة الخاصة ضريبة البنود
التقريب حتى 3 خانات عشرية وبحد أعلى 9، بفارق لا يزيد على 0.001 كل مبلغ

ولا يقبل النظام خصمًا مستقلًا على الفاتورة كلها، فإن كان نظامك يخصم من الإجمالي فعليه أن يوزع الخصم على البنود قبل بناء الملف. والأمثلة الرقمية من الدليل وطريقة مطابقتها في مقال رسالة Total General Amount is Not Correct.

5. فواتير الإرجاع

لفاتورة الإرجاع شروط إضافية يفحصها نظامك قبل الإرسال، وكلها موثقة في الدليل.

  • تحمل كتلة cac:BillingReference رقم الفاتورة الأصلية ومعرّفها الفريد وإجماليها.
  • سبب الإرجاع إجباري، ويُكتب نصًا في cbc:InstructionNote داخل cac:PaymentMeans.
  • الإرجاع على الكميات فقط، ولا يتجاوز الكمية المبيعة في الفاتورة الأصلية، ويجوز أكثر من إرجاع جزئي على الفاتورة نفسها حتى تنفد الكمية.
  • رقم البند واسمه وسعر وحدته كما هي في الفاتورة الأصلية.
  • بيانات المشتري تتوافق مع بياناته في فاتورة البيع الأصلية.
  • إذا كان الإرجاع لجزء من الكمية فالخصم جزء من الخصم الكلي للسلعة «حسب الكمية المرجعة».
  • رمز نوع الفاتورة في الخاصية name هو رمز الفاتورة الأصلية نفسه، والقيمة 381.

رسائل الأخطاء التي تستهدفها قائمة الفحص

يذكر الدليل في الصفحتين 101 و102 الرسائل الأهم لرمز 400 بعبارة «ومن أهمها»، أي أنها ليست القائمة الكاملة. وكل رسالة منها تقابل سطرًا أو أكثر في الجداول السابقة، وهذا ما يجعلها مرجعًا جيدًا لاختبار قواعد الفحص في نظامك.

شرح 400 Bad Request في الدليل التقني وأهم رسائله: Total General Amount is Not Correct وThis user is not authorized to submit this type of invoice وBayer name is missing وThe ID number must be unique، ولا طمس فيه
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص101
تتمة رسائل 400 في الدليل التقني: General tax percentage must be zero ورسالة BuyerTaxNumber للمناطق التنموية وPostal code length is incorrect، ولا طمس فيه
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص102

ويمكنك أن تستعمل هذه الرسائل بطريقتين. الأولى أن تتأكد أن لكل رسالة قاعدة فحص تقابلها في نظامك. والثانية أن تكتب رسالة الفحص الداخلية بلغة يفهمها المحاسب، فالإرشاد السادس في الدليل يطلب تسجيل الأخطاء بالتفصيل داخليًا وعرض رسالة مبسطة للمستخدم. ويلاحظ أن بعض الرسائل مكتوبة في الدليل بإملاء غير دقيق، مثل Bayer name is missing، فابحث في الردود بالنص كما يصل.

ما لا يوثقه الدليل فلا تبنِ عليه قاعدة فحص

الفحص المسبق مفيد بقدر ما تطابق قواعده قواعد النظام. وقاعدة يخترعها المطور قد ترفض فاتورة صحيحة أو تجيز فاتورة خاطئة. وفي الدليل الإصدار 1.5 مسائل لا يذكر لها قاعدة، فلا تجعلها شرطًا في نظامك قبل أن تتأكد منها.

  • حقول عنوان المشتري الأخرى. لا يذكر الدليل من عنوان المشتري إلا الرمز البريدي ورمز المحافظة.
  • القيم المقبولة في الخاصية currencyID. تستخدم أمثلة الدليل القيمة JO على كل مبلغ، ولا يذكر الدليل هل تقبل قيم أخرى.
  • رموز وحدات القياس. لا يظهر في بنود الفواتير الجديدة إلا الرمز PCE، ولا يضع الدليل قائمة بالرموز ولا قاعدة لها.
  • سعر الصرف. لا يحتوي الدليل عنصرًا لسعر الصرف ولا قاعدة للتحويل إلى الدينار.

ولا تنسخ أمثلة XML في الدليل كما هي لتختبر بها قواعدك، فبعضها يحتوي معرّفات فريدة غير صحيحة الصيغة أو علامات اقتباس مكررة. ويجمع مقال مستقل في مركز المطورين هذه الملاحظات، كما يتناول مقال آخر اختبار إرسال الفواتير إلى نظام الفوترة الوطني.

أين يقع الفحص في مسار الإرسال

لا يحدد الدليل متى يجري الفحص داخل نظامك ولا ترتيبه. والترتيب التالي اقتراح من قيود يتبع منطق الإرشادات نفسها.

  1. افحص الفاتورة عند إنشائها، قبل أن تُبنى في ملف XML، حتى يصحح المحاسب القيمة وهو يعمل عليها.
  2. افحص الملف بعد بنائه وقبل ترميزه بترميز Base64، للتأكد من البنية ووسم الفتح والمجاميع كما ستصل فعلًا.
  3. احفظ رقم الفاتورة ومعرّفها الفريد قبل الإرسال.
  4. أرسل الفاتورة، ثم احكم عليها من قيمة EINV_STATUS في ملف الاستجابة لا من رمز HTTP وحده، كما يطلب الإرشاد الرابع.
  5. إذا عاد خطأ رغم الفحص، فاقرأ EINV_MESSAGE وأضف القاعدة الناقصة إلى قائمتك، ثم أعد الإرسال بالرقم نفسه والمعرّف الفريد نفسه.

وبعد القبول يعود رمز الاستجابة السريع في EINV_QR، والدليل يطلب إظهاره على فاتورة البائع. ولا تُعد الفاتورة مستلمة ومقبولة دون هذا الرمز.

كيف يساعدك قيود في التحقق قبل الإرسال

إذا كنت تصدر فواتيرك من قيود، فهو يفحص كل فاتورة على مستوى الحقول لحظة إنشائها، فيفحص الرقم الضريبي ونوع المستند وطريقة الدفع ونسبة ضريبة المبيعات العامة واكتمال البنود، وينبهك بأي خطأ قبل إرسالها إلى نظام الفوترة الوطني لتقليل حالات الرفض. وهذا تنبيه يساعدك على التصحيح، لا ضمان بقبول الفاتورة، فالحكم النهائي يبقى لدائرة ضريبة الدخل والمبيعات.

وبعد الإرسال تعيد الدائرة حالة الفاتورة ورسالة الخطأ إن وُجد، ويعرضها قيود في لوحة الحالة. والفواتير التي لم تُرسل تظهر في اللوحة بحاجة إلى إعادة إرسال، وحين تعيد إرسالها يُستخدم المعرّف الفريد نفسه.

أين تذهب بعد هذا المقال

قيود · نظام الفوترة الوطني

فوترة إلكترونية ومحاسبة متكاملة في نظام واحد

ينبهك قيود بأي خطأ في حقول الفاتورة قبل إرسالها إلى نظام الفوترة الوطني لتقليل حالات الرفض، ويعرض حالة كل فاتورة في لوحة الحالة.

الأسئلة الشائعة

ما المقصود بالتحقق قبل الإرسال إلى نظام الفوترة الوطني؟

يقصد به الإرشاد الثاني في الدليل التقني لدائرة ضريبة الدخل والمبيعات، وهو أن يتأكد نظامك من صحة بيانات الفاتورة قبل إرسالها، مثل المجاميع والضرائب ورقم المكلف ورقم المشتري والحقول الإجبارية. والغاية التي يذكرها الدليل هي تقليل أخطاء 400.

هل يضمن التحقق المسبق قبول الفاتورة؟

لا يضمن التحقق المسبق القبول، لكنه يقلل الرفض. فبعض الشروط تعتمد على بيانات لدى الدائرة لا يراها نظامك، مثل تسجيلك وتسلسل مصدر الدخل وتسجيل المشتري في المناطق التنموية، ويبقى الحكم النهائي لقيمة EINV_STATUS في ملف الاستجابة.

هل ينشر الدليل قائمة كاملة بقواعد الفحص؟

يذكر الإرشاد الثاني أمثلة بكلمة «مثل»، ولا ينشر الدليل قائمة موحدة بكل قواعد الفحص. لذلك جمعنا في هذا المقال القواعد الموثقة في جداول الدليل ورسائل الأخطاء، ولم نضف إليها قاعدة لا يذكرها.

كيف أعرف الحقول الإجبارية في ملف الفاتورة؟

تعرفها من تظليل الجداول في الدليل التقني الإصدار 1.5، فالأصفر متغيرات إجبارية والأخضر متغيرات اختيارية، وباقي العناصر وصف ثابت ينسخ كما هو.

ماذا أفعل إذا رُفضت الفاتورة رغم الفحص؟

اقرأ رسالة EINV_MESSAGE في ملف الاستجابة كما هي، وأصلح القيمة التي تشير إليها، ثم أعد الإرسال بالرقم نفسه والمعرّف الفريد نفسه دون توليد معرّف جديد.

هل يفحص قيود الفاتورة قبل إرسالها؟

يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها، فيفحص الرقم الضريبي ونوع المستند وطريقة الدفع ونسبة ضريبة المبيعات العامة واكتمال البنود، وينبهك بأي خطأ قبل إرسالها إلى نظام الفوترة الوطني لتقليل حالات الرفض.

المراجع

  • دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، 2026.
الأدلّة الإرشادية

تابع رحلة التعلّم

استكشف بقية أدلّة قيود الإرشادية، أو ابدأ بتطبيق ما تعلّمته.

ندوات مباشرة يقدمها فريق قيود لمساعدتك في استخدام البرنامج بسهولة والرد على أسئلتك.

تعرّف على أحدث تحديثات فيود والتحسينات المستمرة والخصائص الجديدة في مكان واحد.

فريقنا جاهز لمساعدتك وتقديم الدعم الفوري لأي مشكلة تواجهها على مدار الساعة