Qoyod
الأسعار

 دليل المعرفة

رمز QR الصادر من دائرة ضريبة الدخل والمبيعات EINV_QR: من أين يأتي ومتى

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

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

يشرح هذا المقال موقع الحقل في رد النظام، ومن أين يأتي الرمز، ومتى يعود ومتى لا يعود، وما الذي يطلبه الدليل بعد وصوله، وما الذي لا يذكره الدليل عنه فلا يصح البناء عليه.

الجزء السفلي من مخطط إرسال الفاتورة في الدليل التقني: نتيجة إرسال الفاتورة من نظام الفوترة إلى نظام المكلف، Submitted (Success) وAlready Submitted تعيدان Signed Invoice وQR Code، وError تعيد Error List، ولا طمس فيه
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص9

ما هو رمز QR الصادر من دائرة ضريبة الدخل والمبيعات EINV_QR

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

  • EINV_STATUS. الحالة المعتمدة للفاتورة، وهي التي يُحكم بها على القبول أو الرفض.
  • EINV_RESULTS. نتيجة الفحص، وفيها مصفوفات للمعلومات والتحذيرات والأخطاء.
  • EINV_MESSAGE. تفاصيل الخطأ أو سبب الرفض.
  • EINV_QR. رمز QR الخاص بالفاتورة المعتمدة.
  • EINV_NUM. رقم الفاتورة المرسل.
  • EINV_INV_UUID. المعرّف الفريد للفاتورة.
  • EINV_SINGED_INVOICE. الفاتورة الموقعة التي يعيدها النظام، وتظهر في أمثلة الرد في الدليل (ص98 إلى ص100). والاسم مكتوب في الدليل بهذا الهجاء، فاكتبه في برنامجك كما ورد.

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

وفي الحديث العام يُقال «رمز QR» أو «رمز الاستجابة السريع»، والدليل يستخدم التعبيرين ويكتب الرمز أحيانًا QR CODE بحروف كبيرة. والمقصود في كل ذلك شيء واحد هو القيمة التي تعود في الحقل EINV_QR.

من أين يأتي الرمز ولماذا لا يولّده برنامجك

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

  1. Submitted (Success). يعود منه إلى نظام المكلف «Signed Invoice & QR Code»، أي الفاتورة الموقعة ورمز QR.
  2. Already Submitted. يعود منه الشيئان نفسهما.
  3. Error. يعود منه «Error List»، أي قائمة الأخطاء، دون رمز.

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

ويترتب على هذا المسار ثلاث نتائج عملية لمن يبني الربط.

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

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

متى يظهر رمز QR في رد النظام

يرد الحقل EINV_QR ضمن عناصر الرد، لكن قيمته تتبع حالة الفاتورة في EINV_STATUS. ولهذه الحالة في الدليل ثلاث قيم (ص98)، والجدول الآتي يجمع ما يذكره الدليل عن الرمز في كل منها.

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

الحالة وصفها في الدليل ما يعود في حقل الرمز ما تفعله بعدها
SUBMITTED «تم اعتماد الفاتورة بنجاح» يعود رمز QR في الحقل EINV_QR ومعه الفاتورة الموقعة. تتأكد من وجود الرمز وتحفظه وتظهره على فاتورة البائع.
ALREADY_SUBMITTED «الفاتورة معتمدة مسبقًا» يعود رمز QR الخاص بالفاتورة المرسلة سابقًا. تحفظ الرمز إن لم يكن محفوظًا لديك.
NOT_SUBMITTED «لم يتم اعتماد الفاتورة بسبب وجود خطأ» لا يعود رمز، فالحقول EINV_QR وEINV_INV_UUID وEINV_NUM وEINV_SINGED_INVOICE فارغة. تقرأ سبب الرفض في EINV_MESSAGE وتصلحه ثم تعيد الإرسال.

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

ولا تبنِ حكمك على رمز الاستجابة الفني وحده. فالإرشاد الرابع في الدليل (ص104) يطلب تحديد الحالة النهائية للفاتورة من EINV_STATUS لا من الرمز الفني. ثم يضيف الدليل شرطًا يخص الرمز نفسه، وهو موضوع القسم التالي.

وجود الرمز في الرد شرط لاكتمال استلام الفاتورة

لا يكتفي الدليل بأن يعيد النظام الرمز، بل يجعل وجوده في الرد شرطًا صريحًا. ففي الملاحظات التشغيلية (ص104) يرد هذا النص.

«يجب التحقق من وجود رمز الاستجابة السريع QR CODE في العنصر EINV_QR ضمن ملف الاستجابة الصادر من نظام الفوترة الوطني لاكتمال عملية استلام الفاتورة واعتمادها من نظام الفوترة الوطني، كما يجب اظهار QR CODE رمز الاستجابة السريع على فاتورة البائع».

الملاحظات التشغيلية في الدليل التقني ومنها: يجب التحقق من وجود رمز QR CODE في العنصر EINV_QR ضمن ملف الاستجابة الصادر من نظام الفوترة الوطني لاكتمال عملية استلام الفاتورة واعتمادها، كما يجب إظهاره على فاتورة البائع، ولا طمس فيها
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص104

في النص واجبان متتاليان، ولكل منهما أثر في تصميم برنامجك.

  • الواجب الأول يخص الرد. على برنامجك أن يقرأ الحقل EINV_QR ويتأكد أن فيه قيمة قبل أن يعدّ الفاتورة مكتملة. فالرد الذي يعود دون رمز لا يكفي لاعتبار الفاتورة مستلمة ومعتمدة.
  • الواجب الثاني يخص الفاتورة. الرمز الذي عاد يُظهَر على فاتورة البائع. والفعل في الدليل «إظهار»، وتفصيل ما تحفظه وتعرضه بعد القبول هو موضوع مقال حالة SUBMITTED في نظام الفوترة الوطني.

ويقترن بهذا الشرط الإرشاد الخامس في الدليل (ص104)، الذي يطلب تخزين رقم الفاتورة ID والمعرّف الفريد UUID ورمز QR وقيمة EINV_STATUS لأغراض التتبع وإعادة الاسترجاع. فالرمز إذن ليس قيمة تعرضها مرة ثم تتركها، بل بيان تحفظه مع الفاتورة. ويجمع مقال الإرشادات العشر لنظام الفوترة الوطني هذه النصوص في مكان واحد.

إذا لم يُحفظ الرمز عند الإرسال الأول

قد يصل الرد إلى برنامجك ثم يتعذر حفظ الرمز، أو ينقطع الاتصال بعد قبول الفاتورة وقبل وصول الرد. في الحالتين تكون الفاتورة مقبولة لدى النظام، ورمزها غير محفوظ لديك. والدليل يعالج هذا الموقف بنص صريح في تعريف الحالة ALREADY_SUBMITTED (ص99).

تعريف ALREADY_SUBMITTED في الدليل التقني: الفاتورة مرسلة سابقًا ويتم إرجاع QR CODE الخاص بها، وتتيح هذه الحالة استرجاع رمز QR إذا تعذر حفظه أو تخزينه عند الإرسال الأول، ولا طمس فيه
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص99

تقول الملاحظة الثانية تحت التعريف «تتيح هذه الحالة للمكلف إمكانية استرجاع رمز الاستجابة السريعة (QR Code) الخاص بالفاتورة التي تم إرسالها مسبقًا، في حال تعذّر حفظه أو تخزينه عند الإرسال الأول». والطريق إليها أن تعيد إرسال الفاتورة برقمها ID ومعرّفها الفريد UUID الأصليين، فيعود الرد بالرمز الأصلي. ولا يتحقق ذلك إذا ولّد برنامجك معرّفًا جديدًا، ولهذا يطلب الدليل الاحتفاظ بالمعرّف وإعادة استخدامه، كما يشرح مقال المعرّف الفريد UUID في نظام الفوترة الوطني.

أما خطوات الاستعادة بالتفصيل وما يلزم مراجعته قبلها، فهي في مقال حالة ALREADY_SUBMITTED في نظام الفوترة الوطني.

قراءة الرمز بعد إظهاره على الفاتورة

بعد أن يُظهَر الرمز على الفاتورة، يحدد الدليل طريقًا واحدًا لقراءته والتأكد منه، وهو تطبيق سند. ونص الدليل (ص106): «في حال رغبة المكلف بالتحقق من رمز الاستجابة السريع (QR Code)، يمكنه ذلك من خلال مسحه باستخدام تطبيق سند فقط من خيار التحقق من المستندات الرقمية». وكلمة «فقط» في النص نفسه، فلا يذكر الدليل تطبيقًا آخر لقراءة الرمز.

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

ما الذي لا يذكره الدليل عن الرمز

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

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

وتقرير ما لا يذكره الدليل هنا لا يعني أن الإجابة غير موجودة لدى الدائرة، بل يعني أنها ليست في الدليل التقني المنشور. وللاستفسار يذكر الدليل (ص104) التواصل مع لجنة الدعم الفني لشؤون الفوترة في دائرة ضريبة الدخل والمبيعات عبر موقعها istd.gov.jo.

قائمة فحص لرمز QR في نظامك

إذا كنت تبني الربط أو تراجعه، فهذه أسئلة تمر عليها بالترتيب، وكل سؤال منها مبني على نص في الدليل.

  • هل يقرأ برنامجك الرمز من الحقل EINV_QR في الرد، ولا يولّده بنفسه؟
  • هل يحكم برنامجك على الفاتورة بقيمة EINV_STATUS لا برمز الاستجابة الفني وحده؟
  • هل يتأكد برنامجك من وجود قيمة في EINV_QR قبل أن يعدّ الفاتورة مكتملة؟
  • هل يخزّن برنامجك الرمز مع رقم الفاتورة ومعرّفها الفريد وحالتها؟
  • هل يظهر الرمز على فاتورة البائع؟
  • هل يحتفظ برنامجك بالمعرّف الفريد قبل الإرسال، حتى تستطيع استعادة الرمز عند الحاجة بإعادة إرسال الفاتورة برقمها ومعرّفها الفريد نفسيهما؟
  • هل يتعامل برنامجك مع الحالة ALREADY_SUBMITTED على أنها قبول سابق يعود معه الرمز، لا على أنها خطأ؟

كيف يتعامل قيود مع رمز QR

ما سبق عمل يقع على البرنامج المربوط بنظام الفوترة الوطني. وفي قيود يبني البرنامج ملف الفاتورة بصيغة UBL 2.1 مع المعرّف الفريد ويرسله إلى النظام دون أي تدخل يدوي. ورمز QR لا يولّده قيود، بل تعيده الدائرة بعد قبول الفاتورة، ويظهر على الفاتورة التي يصدرها قيود.

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

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

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

قيود متكامل مع نظام الفوترة الوطني (JoFotara). تُصدر فاتورتك بالدينار الأردني من قيود فتُقيَّد في دفاترك تلقائيًا وتُرسل إلى النظام، وبعد قبولها يعود عليها رمز QR من دائرة ضريبة الدخل والمبيعات.

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

ما هو رمز QR الصادر من دائرة ضريبة الدخل والمبيعات EINV_QR؟

هو رمز QR الذي يعيده نظام الفوترة الوطني في الحقل EINV_QR من رده على إرسال الفاتورة. ويصفه الدليل التقني بأنه رمز الفاتورة المعتمدة، ويعود بعد قبولها.

هل يولّد برنامجي المحاسبي رمز QR بنفسه؟

لا يولّده. يرسل برنامجك ملف الفاتورة، والنظام هو الذي يعيد الرمز بعد قبولها، كما يظهر في مخطط الإرسال في الدليل التقني (ص9).

متى يظهر رمز QR في رد النظام؟

يظهر حين تكون حالة الفاتورة SUBMITTED، أي عند قبولها لأول مرة، ويظهر كذلك مع ALREADY_SUBMITTED حين تُعاد فاتورة مقبولة بنفس ID وUUID. ويعود الحقل فارغًا مع NOT_SUBMITTED.

هل يكفي أن يعود رمز الاستجابة الفني 200 لأعدّ الفاتورة مقبولة؟

لا يكفي. يطلب الدليل تحديد الحالة النهائية من EINV_STATUS، ويطلب التأكد من وجود الرمز في EINV_QR لاكتمال استلام الفاتورة واعتمادها.

ماذا أفعل إذا لم أحفظ رمز QR لفاتورة مقبولة؟

أعد إرسال الفاتورة برقمها ومعرّفها الفريد الأصليين. يعود الرد بالحالة ALREADY_SUBMITTED ومعه الرمز الأصلي، فتحفظه وتظهره على فاتورة البائع.

هل يشرح الدليل التقني محتوى رمز QR وترتيب بياناته؟

لا يشرحه. يذكر الدليل أن بيانات الفاتورة الأساسية موجودة داخل الرمز ويقرؤها تطبيق سند، لكنه لا يوثق ترتيبها أو صيغتها داخل الرمز.

المراجع

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

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

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

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

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

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