الفاتورة خرجت من برنامجك، والرد وصل، والشاشة تقول إن الطلب تم بنجاح. لكن رمز الاستجابة السريعة لم يظهر على الفاتورة، والزبون واقف ينتظر ورقة يستطيع الاحتجاج بها أمام دائرة ضريبة الدخل والمبيعات.
هذا هو أكثر سوء فهم تكلفةً في أخطاء نظام الفوترة الوطني (JoFotara): أن يُقرأ رمز الاستجابة الفني على أنه قبول للفاتورة. الرمز الفني يخبرك أن الرسالة وصلت. حالة الفاتورة نفسها شيء آخر تمامًا، وتُقرأ من حقل مختلف في الرد.
هذا الدليل مكتوب لمن يشغّل الربط فعليًا: صاحب المنشأة الذي ترتد فواتيره، والمحاسب الذي يتابع الفروقات، والمبرمج الذي يقرأ الاستجابة. لن نشرح هنا ما هو النظام الوطني ولا من الملزم به، ولن نعيد خطوات الربط. سنبدأ من اللحظة التي رُفضت فيها فاتورتك، ونصل إلى السبب والإجراء. كل رمز ورسالة في هذا الدليل مأخوذ من الدليل التقني للربط الصادر عن الدائرة في نسخته 1.5، ومن دليل الأسئلة والأجوبة الرسمي.
القاعدة الأولى: الفاتورة لا تُقرأ من رمز HTTP
قبل أي تشخيص، اضبط طريقة قراءتك للرد. الدليل التقني صريح في هذه النقطة، ويجعلها أولى إرشاداته التشغيلية: القرار النهائي في حالة الفاتورة يُؤخذ من حقل EINV_STATUS، لا من رمز الاستجابة الفني.
الرد يحمل عدة حقول، أهمها ثلاثة. Response Status Code وهو النتيجة التقنية للاتصال، وEINV_STATUS وهو الحالة الفعلية للفاتورة، وEINV_MESSAGE الذي يحمل تفصيل الخطأ أو سبب الرفض. ويأتي معها EINV_QR الذي يحمل رمز الاستجابة السريعة، وEINV_SINGED_INVOICE وهي الفاتورة الموقّعة العائدة من النظام.
ويأتي معها حقل EINV_RESULTS، وفيه حالة الفاتورة إلى جانب مصفوفات للمعلومات والتحذيرات والأخطاء. ومن إرشادات الدليل التشغيلية أن تسجّل هذه التفاصيل كاملة في سجلك الداخلي، وأن تعرض للمستخدم النهائي رسالة مبسّطة. هذا التقسيم مقصود: الموظف على الشاشة يحتاج جملة واحدة تخبره ماذا يفعل، بينما يحتاج من يشخّص المشكلة لاحقًا النص الكامل للخطأ. ويحمل الرد أيضًا رقم الفاتورة المرسل ورقمها الفريد، وهما ما تطابق بهما الرد على الفاتورة الصحيحة في سجلك.
لحقل EINV_STATUS ثلاث قيم، ولكل واحدة معنى تشغيلي مختلف:
- SUBMITTED: الفاتورة مقبولة، ورمز الاستجابة السريعة عاد في
EINV_QR. هذه هي الحالة الوحيدة التي تعني أن الفاتورة معتمدة. - ALREADY_SUBMITTED: أرسلت الفاتورة نفسها مرة أخرى بالمعرّف والرقم الفريد ذاتهما، فأعاد النظام رمز الاستجابة الأصلي. هذه ليست مشكلة، بل هي الطريقة الموثّقة لاستعادة رمز فشلت في تخزينه.
- NOT_SUBMITTED: الفاتورة مرفوضة. رمز الاستجابة الفني لن يكون 200، وحقول الرمز والرقم الفريد ورقم الفاتورة تعود فارغة.
والقاعدة العملية التي تترتب على ذلك: الفاتورة لا تُعدّ مستلمة ومقبولة إلا إذا عاد رمز الاستجابة السريعة في EINV_QR، وهذا الرمز يجب أن يُطبع على الفاتورة التي يستلمها المشتري. أي مسار بيع يطبع الفاتورة قبل وصول الرمز يُنتج ورقة لا تصلح مستندًا ضريبيًا.
خريطة الأخطاء الأربعة: أيها يخصك
الأخطاء الشائعة التي يوثّقها الدليل التقني أربعة، ولكل واحد منها عائلة أسباب مختلفة تمامًا. الخطأ الأول في التشخيص عادةً هو معالجة خطأ اتصال على أنه خطأ في بيانات الفاتورة.
والتمييز بين العائلات ليس ترفًا تقنيًا، لأن كل عائلة تُصلَح في مكان مختلف. عائلتان منها لا علاقة لهما بالفاتورة التي بين يديك: المصادقة والاتصال. وعائلة ثالثة تعود إلى بيانات ثابتة في ملف منشأتك تتكرر على كل فاتورة. والرابعة وحدها تخص محتوى الفاتورة نفسها.
ويضع الدليل قاعدة وقائية قبل ذلك كله: تحقّق من المجاميع والضرائب ورقم المكلف ورقم المشتري والحقول الإلزامية قبل الإرسال، فهذا وحده يقلّل رسائل رمز 400. ويضيف أن الملف يجب أن يطابق معيار UBL 2.1، وأن أي خلل في بنيته يرفض الفاتورة بصرف النظر عن صحة أرقامها. ويوصي كذلك باستخدام صيغة زمنية موحّدة وثابتة، فتاريخ الإصدار يُرسل بصيغة محدّدة هي سنة ثم شهر ثم يوم، فاثبت على هذه الصيغة في كل ما ترسله ولا تتركها لإعدادات الخادم لديك.
| الرمز | العائلة | السبب الرسمي | أين تبحث |
|---|---|---|---|
| 500 | بيانات هوية المكلف أو نسبة الضريبة | رقم ضريبي خاطئ أو تسلسل مصدر دخل خاطئ، وبدرجة أقل بيانات اعتماد خاطئة، أو نسبة ضريبة خارج القائمة المعتمدة | إعدادات المنشأة في برنامجك |
| 403 | المصادقة | رقم المستخدم أو المفتاح السري غير صحيح | بيانات الاعتماد المخزّنة |
| 504 | الاتصال | تعذّر الوصول إلى النظام الوطني: جدار الحماية لديك أو الموقع | الشبكة، لا الفاتورة |
| 400 | محتوى الفاتورة | أخطاء في قيم ملف XML، مفصّلة في EINV_MESSAGE |
الفاتورة نفسها |
اقرأ الجدول من اليمين إلى اليسار عند التشخيص. رمز 504 لا يستدعي فتح الفاتورة أصلًا، و403 لا يستدعي مراجعة الحقول، و500 يبدأ من ملف المنشأة لا من سطور الفاتورة. هذا الترتيب وحده يختصر أغلب وقت البحث.
خطأ 500: ابدأ من هوية المكلف لا من الفاتورة
رمز 500 هو الأكثر إرباكًا، لأن اسمه يوحي بعطل في الخادم بينما أسبابه الموثّقة تعود إلى بياناتك أنت.
وما يجعله مربكًا أكثر أن مصدره بيانات ثابتة لا تتغير من فاتورة إلى أخرى. فبيانات البائع تُرسل مع كل فاتورة: رمز الدولة، ورقم المنشأة الضريبي، واسمها كما هو مسجّل لدى الدائرة. وتسلسل مصدر الدخل يُرسل معها في كل مرة ضمن بيانات النشاط. فإذا كان أحدها خاطئًا، رُفضت كل فاتورة ترسلها، لا فاتورة بعينها.
ولهذا فإن ظهور 500 على فاتورة واحدة بينما تمر البقية يوجّه الشك إلى السبب الوحيد الذي يتغيّر من فاتورة إلى أخرى، وهو نسبة الضريبة المطبّقة على أصناف تلك الفاتورة تحديدًا. أما إن كان الرفض شاملًا فابدأ من ملف المنشأة. ولاحظ أن الدليل يربط الرسائل التفصيلية التي تشير إلى حقل بعينه برمز 400 وحده، ولا يذكر مثلها لرمز 500. فإن لم تجد رسالة تدلّك على حقل، فذلك في ذاته مؤشر على أن تبحث خارج الفاتورة. يذكر الدليل الأسباب التالية:
- الرقم الضريبي خاطئ. الرقم المرسل في بيانات البائع يجب أن يطابق المسجّل لدى الدائرة، واسم البائع كذلك يُرسل كما هو مسجّل لديها لا كما تكتبه في مطبوعاتك.
- تسلسل مصدر الدخل خاطئ. وهو مع الرقم الضريبي السببان الأبرز اللذان يذكرهما الدليل لهذا الرمز. تسلسل مصدر الدخل حقل إلزامي في كل فاتورة تُرسل عبر الواجهة البرمجية، ويُرسل ضمن بيانات النشاط. وهو ليس حقلًا خاصًا بمن يصدر الفواتير يدويًا من البوابة: من يربط نظامه لديه تسلسل ويختاره.
- نسبة ضريبة خارج القائمة. النسب المقبولة لضريبة المبيعات العامة محدّدة وقائمتها مغلقة: 0 و1 و2 و3 و4 و5 و7 و8 و10 و16. أي نسبة خارجها سبب شائع لرمز 500، ومن ذلك النسب التي تتولّد عن حساب تلقائي مقرّب بشكل خاطئ.
وبدرجة أقل شيوعًا، قد يعود 500 إلى رقم مستخدم أو مفتاح سري خاطئ. لذلك إذا لم يكن لديك تسلسل مصدر دخل صحيح ولا نسبة خارج القائمة، فافحص بيانات الاعتماد قبل أن تفتح ملف الفاتورة.
ترتيب الفحص المقترح: تحقق من الرقم الضريبي واسم البائع كما هما لدى الدائرة، ثم من تسلسل مصدر الدخل المختار في إعدادات الربط، ثم من نسب الضريبة المطبّقة على أصنافك. ثلاث خطوات قبل أن تلمس الفاتورة.
خطأ 403: بيانات اعتماد لا فاتورة
رمز 403 له سبب واحد موثّق: رقم المستخدم أو المفتاح السري غير صحيح. هذان المفتاحان يصدران من خدمة ربط الأجهزة داخل النظام الوطني، وهما مسؤوليتك وحدك، والدليل يضع تبعة أي استخدام غير مصرّح به عليك بالكامل.
والدليل يوصي كذلك بحماية هذين المفتاحين وعدم تضمينهما بشكل مكشوف داخل الشيفرة، وهي توصية أمنية قبل أن تكون تقنية.
ما يستحق الانتباه هنا أن 403 غالبًا لا يظهر يوم الربط، بل بعده. الأسباب العملية المتكررة هي نسخ المفتاح مع مسافة زائدة، أو استخدام بيانات بيئة اختبار داخلية في الإرسال الفعلي، أو تغيير بيانات الاعتماد بعد ربط جديد من دون تحديثها في البرنامج. ولا يوجد في الدليل التقني ما يشير إلى بيئة اختبار رسمية للنظام الوطني، فلا تبنِ إجراءك على وجودها.
خطوات الحصول على هذين المفتاحين ليست موضوع هذا الدليل، وتجدها مشروحة بالتفصيل في مقالة خطوات الربط التقني خطوة بخطوة.
خطأ 504: المشكلة في الطريق لا في الفاتورة
رمز 504 يعني تعذّر الوصول إلى النظام الوطني، وسببه إما جدار الحماية لديك وإما الموقع نفسه. لا تعيد بناء الفاتورة ولا تغيّر حقولها في هذه الحالة.
ولأن الفاتورة لم تصل أصلًا، فلا وجود لحالة تقرؤها ولا لرمز استجابة سريعة تنتظره. هذه هي الحالة الوحيدة التي يكون فيها الصمت طبيعيًا ولا يدل على رفض، ولا يصح أن تُسجَّل الفاتورة عندها مرفوضة في دفاترك.
الإرشاد الرسمي هنا دقيق ومهم: عند انقطاع الاتصال أو انتهاء المهلة، أعد الإرسال من دون توليد رقم فريد جديد. توليد رقم فريد جديد عند كل محاولة هو ما يُنتج فواتير مكرّرة، والدليل يحذّر منه صراحة.
وإذا كنت تشغّل نقطة بيع أو متجرًا إلكترونيًا، فاجعل هذه الحالة جزءًا من إجراء يومي لا استثناءً: كيف تُعرض الفواتير التي لم يعد لها رمز بعد، ومن يعيد إرسالها، ومتى. مسار المتجر تحديدًا مشروح في ربط المتجر الإلكتروني بنظام الفوترة الوطني.
خطأ 400: رسائل التحقق وما تعنيه بالضبط
رمز 400 هو الأكثر تفصيلًا والأسهل إصلاحًا، لأن سبب الرفض يصل مكتوبًا في EINV_MESSAGE. الرسائل المتكررة التي يوثّقها الدليل ثمانٍ، وبعضها مكتوب بإملاء غير دقيق في المصدر نفسه، فلا تظن أنك أخطأت في القراءة.
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
General tax percentage must be zero
BuyerTaxNumber: The buyer's taxpayer number is not associated with the developmental arear
Postal code length is incorrect
Invalid Invoice Minification
قاعدة اسم المشتري: متى يصبح إلزاميًا
رسالة Bayer name is missing تربك كثيرين لأن الاسم ليس إلزاميًا دائمًا. القاعدة الموثّقة بسيطة وذات شرطين: اسم المشتري إلزامي إذا كانت الفاتورة ذممًا، وإلزامي كذلك إذا كانت نقدية وتجاوزت قيمتها 10,000 دينار أو ما يعادلها بالعملات الأخرى. خارج هاتين الحالتين لا يُطلب الاسم.
وإلى جانب الاسم، رقم هاتف المشتري أرقام فقط وبطول بين 9 و14 خانة، ورمز المحافظة يُرسل بصيغته المعتمدة مثل JO-AM لعمّان وJO-IR لإربد، والرقم المعرّف للمشتري له نوع محدّد: الرقم الوطني أو الرقم الشخصي لغير الأردني أو الرقم الضريبي.
فخ الصفر: الفرق بين S وZ وO
فئات الضريبة ثلاث ولكل منها معنى قانوني مختلف. S للخاضع بنسبة غير الصفر، وZ للمعفى، وO للخاضع بنسبة الصفر. الخطأ المتكرر هو إرسال نسبة صفر مع الفئة S، وهو ما يُنتج الرسالة أعلاه حرفيًا.
وهناك حالة أوسع من ذلك: فواتير التصدير والمناطق التنموية والترانزيت والتجارة الخارجية والتنازل داخل المنطقة الحرة، كلها يجب أن تكون كل سطورها بنسبة صفر وفئة O. سطر واحد بنسبة أخرى يكفي لرفض الفاتورة. أما تفاصيل نسب ضريبة المبيعات العامة نفسها فمشروحة في ضريبة المبيعات في الأردن.
خمسة أسباب رفض لا يخطر ببالك أنها السبب
بعض حالات الرفض تأتي من قرارات تبدو محاسبية بحتة، لكنها تصطدم بقواعد بنية الفاتورة.
وأغلبها يعود إلى معادلات المجاميع، وهي محدّدة في الدليل ولا تحتمل اجتهادًا. فالمبلغ قبل الضريبة هو مجموع الكمية مضروبة في سعر الوحدة لكل سطر، وقيمة السطر هي حاصل ضرب الكمية في السعر ناقصًا الخصم، والضريبة تُحسب على هذه القيمة بعد الخصم لا قبله. أما المبلغ الواجب الدفع فهو مجموع قيم السطور شاملةً ضريبتها.
ومتى تجاوز الفارق بين حساب برنامجك وهذا الترتيب حدّ التقريب المسموح، عادت رسالة عدم صحة المجموع. لذلك يستحق الأمر أن تفحص المعادلة نفسها لا أن تعيد إدخال الفاتورة. وتزداد الحاجة إلى ذلك مع الضريبة الخاصة، فهي تُرسل في كتلة ضريبية ثانية مستقلة، وتُحسب ضريبة المبيعات العامة بعدها على قيمة السطر مضافًا إليها الضريبة الخاصة لا على قيمة السطر وحدها. ويبقى مجموع السطر الواحد في كل الأحوال هو قيمته مضافًا إليها ضريبته. وهذه أكثر الأسباب تكرارًا في التطبيق العملي:
- خصم على مستوى الفاتورة. النظام لا يقبل خصمًا يُطبّق على الفاتورة ككل. إذا كان برنامجك يمنح خصمًا إجماليًا، فعليه توزيعه على السطور قبل الإرسال. وقيمة خصم السطر تُرسل موجبة دائمًا.
- عملة مختلفة داخل الفاتورة. العملة تُحدَّد للفاتورة كاملة لا لكل سطر، والدينار هو الأصل مع عملات أخرى مدعومة.
- كمية صفرية أو سالبة. الكمية يجب أن تكون أكبر من صفر. التصحيح بالسالب ليس مسارًا مقبولًا، وله مسار آخر ستقرأه بعد قليل.
- تقريب خارج الحد. التقريب مسموح حتى ثلاث خانات عشرية، والفارق المقبول لا يتجاوز 0.001. الفروق الصغيرة المتراكمة من حساب السعر شاملًا الضريبة هي سبب متكرر لرسالة المجاميع.
- عدّاد الفاتورة. لكل فاتورة عدّاد يبدأ من 1 ويتصاعد. اضطرابه يظهر متأخرًا وعلى شكل فجوات يصعب تفسيرها لاحقًا.
ولاحظ فرقًا يغيب عن كثيرين: فاتورة الدخل لا تحمل كتلة ضريبة أصلًا، فسطورها كمية وسعر وخصم واسم صنف فقط. أما رسالة عدم التخويل بنوع الفاتورة فالدليل يربطها بعدم تطابق نوع الفاتورة مع تسجيلك الضريبي، لا بمحتوى السطور.
المعرّف والرقم الفريد: لماذا تتكرر فواتيرك
مفتاح الفاتورة ليس رقمها وحده، بل رقمها مع الرقم الفريد معًا. الرقم الفريد يولّده نظامك أنت، وهنا مكمن الخطأ الأكثر كلفة.
ويرافق هذين المفتاحين عدّاد الفاتورة، ويُرسل في مرجع مستند إضافي يحمل الرمز ICV. وهو رقم صحيح يبدأ من 1 ويتصاعد بلا سقف، ومهمته تتبّع تسلسل ما أرسلته. وهو منفصل عن رقم الفاتورة نفسه، فلا تخلط بينهما ولا تشتق أحدهما من الآخر.
إذا فشل الإرسال فولّد نظامك رقمًا فريدًا جديدًا عند إعادة المحاولة، فأنت لا تعيد إرسال الفاتورة نفسها بل تُنشئ فاتورة ثانية. الدليل يحذّر من هذا تحديدًا، ويجعل إعادة الإرسال بالمعرّف والرقم الفريد ذاتهما إرشادًا ثابتًا.
والفائدة الثانية لهذه القاعدة أنها طريقتك لاستعادة رمز استجابة ضاع منك: أعد الإرسال بالبيانات نفسها، فتعود الحالة ALREADY_SUBMITTED ومعها الرمز الأصلي. لذلك يوصي الدليل بتخزين رقم الفاتورة والرقم الفريد ورمز الاستجابة والحالة لكل فاتورة، والاحتفاظ بسجل كامل لعمليات الإرسال والردود وإعادة الإرسال.
أخطاء ما قبل الإرسال: عندما تكون المشكلة في الحساب
ليست كل الأخطاء تقنية. دليل الأسئلة والأجوبة الرسمي يوثّق مجموعة من الحالات التي تسبق الفاتورة أصلًا، وهي من أكثر ما يستهلك وقت المنشآت.
وأغلب هذه الحالات يدور حول تمييز واحد: الفرق بين المستخدم الرئيسي والمستخدم الفرعي. المستخدم الرئيسي هو من يُنشئ المستخدمين الفرعيين، والفواتير تُنظَّم من المستخدم الفرعي وحده. وكثير من أسئلة الدعم مصدره أن صاحب المنشأة يبحث عن خيار لا يظهر أصلًا على الشاشة التي يقف عليها.
ويضاف إلى ذلك تفصيلان صغيران يعطّلان التسجيل من أوله: وجوب السماح بالنوافذ المنبثقة في المتصفح، وشروط كلمة المرور وهي ثماني خانات فأكثر تجمع حروفًا وأرقامًا ورموزًا، بحرفين على الأقل أحدهما كبير. ويسجّل الدليل حالة أخرى تستحق الانتباه: من ربط جهازه بالخطأ وهو لا يملك برنامجًا محاسبيًا يُعالَج بالطريقة نفسها التي يُعالَج بها اختفاء خيار تنظيم الفاتورة، فالسببان واحد في جوهرهما. ويبقى استخراج شهادة التسجيل متاحًا من خدمات الدائرة بعد إتمام إنشاء الحساب. وهذه أبرز الحالات الموثّقة:
- «تم إيقاف الحساب الرجاء الاتصال بمسؤول النظام». السبب الرسمي أن المستخدم الفرعي موقوف، والحل تفعيله من المستخدم الرئيسي.
- لا يظهر خيار الفوترة الوطني في الخدمات الإلكترونية. السبب أن نوع ملف المكلف «مستخدمين»، والحل تقديم طلب لتحويل الملف إلى «أفراد».
- الدخول للتسجيل يعيدك إلى الصفحة الرئيسية. السبب عدم وجود تسلسل مصدر دخل، والحل إضافته. وهو السبب نفسه الذي يظهر لاحقًا على شكل رمز 500.
- لا يظهر خيار تنظيم فاتورة. إما أنك على شاشة المستخدم الرئيسي، وإما أنه نُقر على خيار ربط الأجهزة. الفواتير تُنظَّم من المستخدم الفرعي وحده.
- رمز التحقق يصل إلى رقم الهاتف القديم. إدخال كلمة المرور بشكل خاطئ يؤدي إلى تحديث رقم الهاتف.
هذه الحالات تفسّر لماذا يبدو أحيانًا أن «الربط لا يعمل» بينما الربط سليم والحساب هو المعطّل. وإذا كنت تراجع ما إذا كان التزامك قائمًا أصلًا، فمقالة من الملزم بالفوترة الإلكترونية في الأردن تجيب عن ذلك، ويمكنك قياس جاهزيتك عبر أداة فحص الجاهزية.
رُفضت فاتورة بعد تسليمها للزبون: ما المسار
هنا يسأل كثيرون عن التعديل، والجواب أن تعديل فاتورة صادرة غير متاح. النسخة 1.5 من الدليل التقني تعرّف نوعين فقط: فاتورة جديدة وفاتورة إرجاع، والأخيرة هي إشعار دائن. ولا تعريف لإشعار مدين فيها.
المسار العملي إذن يمر عبر فاتورة الإرجاع، وهي على الكميات فقط ولا تتجاوز الكمية المباعة في الفاتورة الأصلية، مع ذكر سبب الإرجاع. تفاصيل هذا المسار وقواعده مشروحة في إشعار الدائن في نظام الفوترة الوطني، وحدود التعديل نفسها في تعديل فاتورة صادرة.
ولفاتورة الإرجاع متطلبات خاصة يذكرها الدليل: أن تحمل مرجعًا للفاتورة الأصلية برقمها ورقمها الفريد وقيمتها الإجمالية، وأن يُذكر سبب الإرجاع نصًا. ويجوز أن ترجع على الفاتورة الواحدة أكثر من مرة جزئيًا حتى تُستنفد الكميات المباعة. أما كتلة بيانات المشتري في فاتورة الإرجاع فوصفها ثابت لا يقبل تغييرًا ولا إضافة.
ولأن الإرجاع يطابق السطور بمعرّفاتها، فإن إهمال حفظ معرّف السطر من البيعة الأصلية يتحوّل إلى مشكلة يوم الإرجاع لا يوم البيع.
عشر دقائق لتشخيص أي رفض
هذا ترتيب فحص يمكن لموظف غير تقني تنفيذه قبل تصعيد المشكلة. وهو مبني على قاعدة واحدة: افحص الأرخص أولًا، أي ما يمكن نفيه بنظرة واحدة قبل ما يحتاج فتح ملف الفاتورة وقراءة سطورها.
وقبل أن تبدأ، احتفظ بنص الرد كاملًا. الدليل يوصي بتخزين رقم الفاتورة ورقمها الفريد ورمز الاستجابة والحالة لكل فاتورة، وبالاحتفاظ بسجل مفصّل لعمليات الإرسال والردود وإعادة الإرسال. من دون ذلك ستشخّص كل مرة من الصفر، وستفقد القدرة على معرفة ما إذا كان الرفض متكررًا أم جديدًا.
ولاحظ أن الترتيب أدناه يفحص العائلات قبل الحقول. فحص عائلة واحدة يستغرق ثوانٍ وينفي أو يثبت ربع الاحتمالات دفعة واحدة، بينما فحص حقل بعينه يستغرق دقائق وقد لا ينفي شيئًا. وهذا هو الفرق بين عشر دقائق ونصف يوم على الفاتورة الواحدة. والخطوات العشر أدناه مرتّبة على هذا الأساس: الأربع الأولى تحسم العائلة، والست الباقية تفحص الحقول التي تخص عائلة المحتوى وحدها.
- اقرأ
EINV_STATUSأولًا، لا رمز الاستجابة الفني. إن كانت الحالةALREADY_SUBMITTEDفالفاتورة مقبولة أصلًا والرمز عاد إليك. - إن كان الرمز 504، فالمشكلة في الاتصال. أعد الإرسال لاحقًا بالمعرّف والرقم الفريد ذاتهما.
- إن كان 403، فافحص رقم المستخدم والمفتاح السري المخزّنين في البرنامج قبل أي شيء آخر.
- إن كان 500، فافحص بالترتيب: الرقم الضريبي، ثم تسلسل مصدر الدخل، ثم نسبة الضريبة المطبّقة.
- إن كان 400، فاقرأ
EINV_MESSAGEحرفيًا وطابقه على جدول الرسائل أعلاه. - افحص نوع الفاتورة مقابل تسجيلك الضريبي: فاتورة دخل أم مبيعات عامة.
- افحص اسم المشتري مقابل قاعدة الذمم وقاعدة 10,000 دينار.
- افحص وجود خصم على مستوى الفاتورة لم يوزَّع على السطور.
- افحص فرادة معرّفات السطور داخل الفاتورة.
- سجّل الحالة والرسالة كاملة قبل أي محاولة جديدة، فالرسالة هي دليلك الوحيد إن تكرر الرفض.
وإن تكرر النمط نفسه على فواتير متعددة، فالمشكلة إعداد لا فاتورة. عندها راجع إعدادات المنشأة والأصناف ونسب الضريبة مرة واحدة بدل معالجة كل فاتورة على حدة. ولمن يوازن بين الإصدار اليدوي من البوابة والإصدار من نظام محاسبي، تفصّل المفاضلة مقالة البوابة المجانية أم نظام محاسبي.
كيف يقلّل قيود هذه الأخطاء
قيود متكامل مع نظام الفوترة الوطني، والفكرة التي تعنيك هنا أن الفاتورة تُبنى مرة واحدة داخل نظامك المحاسبي ثم تُرسل، بلا إعادة إدخال في البوابة وبلا نسخة ثانية من البيانات.
وإذا عدت إلى الأخطاء الأربعة أعلاه، ستجد أن ثلاثًا من عائلاتها لا تسكن الفاتورة أصلًا، بل بيانات ثابتة تتكرر معها: الرقم الضريبي، وتسلسل مصدر الدخل، ونسبة الضريبة على الصنف. تُضبط مرة واحدة، ثم تُعاد على كل فاتورة بعدها.
وهذا هو الفارق العملي بين معالجة الرفض فاتورةً فاتورة ومعالجته مرة واحدة في مكانه. ما يلي ليس وعدًا بألا تُرفض فاتورة، فالقواعد قواعد الدائرة لا قواعد البرنامج، لكنه يقلّل عدد المواضع التي يمكن أن يتسرّب منها الخطأ. والمعيار الذي تقيس به أي نظام هنا واحد: كم موضعًا يجب أن تضبطه بيدك قبل أن تخرج الفاتورة صحيحة، وكم مرة يتكرر هذا الضبط على مدار الشهر. وهو معيار يصلح لأي نظام تفكر فيه، لا لنظام بعينه:
- محرّك ضريبي أردني. ضريبة المبيعات العامة 16% مع النسب المخفّضة ومنطق المعفى والخاضع لنسبة الصفر، والتسمية داخل النظام «ضريبة المبيعات العامة 16%». وبذلك تكون النسب التي تعمل عليها هي النسب الأردنية، وهي الموضع الذي تتسرّب منه عادةً نسبة خارج القائمة المعتمدة.
- قالب فاتورة ضريبية أردنية. يحمل الرقم الضريبي، وبالعربية والإنجليزية، ورمز الاستجابة السريعة العائد من النظام الوطني، والحقول الإلزامية.
- أنواع المستندات الأربعة. فاتورة دخل، وفاتورة ضريبة مبيعات عامة، وفاتورة ضريبة خاصة، وفاتورة إرجاع وهي إشعار دائن. وهو ما يقابل ما يعرّفه الدليل التقني.
- الدينار الأردني في الفوترة والتنسيق، مع دعم تعدد العملات في الحسابات.
- الاستيراد عبر إكسل مع تقرير أخطاء لكل سطر يصل بالبريد، وتسجيل كل محاولة في تقرير النشاط. مفيد تحديدًا عند إدخال أرصدة أو أصناف بالجملة، حيث يبدأ كثير من أخطاء البيانات لاحقًا.
- صلاحيات المستخدمين وإدارة الفروع لضبط من يصدر ومن يعتمد، وتقارير لمتابعة ما صدر فعلًا.
- تطبيق جوال وواجهة برمجية وZapier لمن يصل إلى النظام من متجر إلكتروني أو أداة أخرى، عبر المسار: المنصة ثم Zapier أو الواجهة البرمجية ثم قيود ثم النظام الوطني.
- خبرة تشغيل تحت إلزام مماثل. أكثر من 25,000 منشأة تعمل على قيود في السوق السعودي تحت إلزام فوترة إلكترونية مشابه. هذه خبرة تشغيل تحت إلزام، منقولة الآن إلى المتطلبات الأردنية.
وللمحاسب الذي يدير أكثر من عميل، تشرح صفحة التكامل للمحاسبين ومكاتب المحاسبة جانب المكاتب المحاسبية، بينما تعرض صفحة متوافق مع نظام الفوترة الوطني الصورة من جهة صاحب المنشأة. ونظرة أشمل على الحزمة كاملة في قيود في الأردن.
أسئلة شائعة
وصلني رمز 200 لكن الفاتورة بلا رمز استجابة سريعة، فهل هي معتمدة؟
لا. رمز الاستجابة الفني يعني أن الطلب عولج تقنيًا فقط. الحكم على الفاتورة يؤخذ من حقل EINV_STATUS، ولا تُعدّ الفاتورة مستلمة ومقبولة إلا إذا عاد رمز الاستجابة السريعة في حقل EINV_QR. وهذا الرمز يجب أن يُطبع على الفاتورة.
ما أكثر سبب لرمز 500؟
يذكر الدليل التقني رقمًا ضريبيًا خاطئًا أو تسلسل مصدر دخل خاطئًا كسبب أول، ثم بيانات اعتماد خاطئة بدرجة أقل، ثم نسبة ضريبة خارج القائمة المعتمدة. ابدأ الفحص من بيانات المنشأة وتسلسل مصدر الدخل قبل أن تفتح الفاتورة.
أعدت إرسال الفاتورة فصارت مكرّرة، ما الخطأ؟
على الأرجح أن نظامك ولّد رقمًا فريدًا جديدًا عند إعادة المحاولة. مفتاح الفاتورة هو رقمها مع رقمها الفريد معًا، وإعادة الإرسال يجب أن تتم بالقيمتين ذاتهما. عندها تعود الحالة ALREADY_SUBMITTED ومعها رمز الاستجابة الأصلي بدل فاتورة ثانية.
كيف أعرف أن الخطأ في الاتصال لا في بيانات الفاتورة؟
رمز 504 يعني تعذّر الوصول إلى النظام، وسببه جدار الحماية لديك أو الموقع نفسه. في هذه الحالة لا تعدّل الفاتورة إطلاقًا، وأعد الإرسال لاحقًا بالمعرّف والرقم الفريد نفسيهما.
متى يكون اسم المشتري إلزاميًا؟
اسم المشتري إلزامي في كل فاتورة ذمم، وإلزامي أيضًا في الفاتورة النقدية إذا تجاوزت قيمتها 10,000 دينار أو ما يعادلها. غياب الاسم في هاتين الحالتين يُنتج رسالة رفض صريحة ضمن رمز 400.
ضريبتي صفر لكن الفاتورة تُرفض، لماذا؟
لأن فئة الضريبة على الأرجح مضبوطة على S بينما النسبة صفر. النسبة الصفرية تستدعي الفئة O، والمعفاة تستدعي Z. وفي فواتير التصدير والمناطق التنموية والترانزيت والتجارة الخارجية والتنازل داخل المنطقة الحرة، يجب أن تكون كل السطور بنسبة صفر وفئة O.
هل يمكنني تعديل فاتورة مرفوضة بعد أن سلّمتها للزبون؟
الفاتورة الصادرة لا تُعدَّل. النسخة 1.5 من الدليل التقني تعرّف نوعين فقط: فاتورة جديدة وفاتورة إرجاع وهي إشعار دائن. التصحيح يتم بفاتورة إرجاع على الكميات فقط، ولا تتجاوز الكمية المباعة في الفاتورة الأصلية، مع بيان سبب الإرجاع.
كيف أتأكد أن فاتورة استلمتها من مورّد صحيحة؟
امسح رمز الاستجابة السريعة بتطبيق سند من خيار التحقق من المستندات الرقمية. سيعرض التطبيق ما إذا كانت الوثيقة صحيحة، مع بيانات الفاتورة الأساسية المحمولة داخل الرمز. التفاصيل في مقالة التحقق من الفاتورة بتطبيق سند.
الخلاصة
معظم حالات الرفض في النظام الوطني ليست أعطالًا، بل رسائل دقيقة تشير إلى حقل بعينه. والفارق بين منشأة تعالج الرفض في دقائق وأخرى تعالجه في أيام هو ترتيب القراءة: الحالة قبل الرمز الفني، والرسالة قبل التخمين، وبيانات المنشأة قبل سطور الفاتورة.
ثلاثة إجراءات تغلق أغلب هذا الباب دفعةً واحدة. خزّن رقم الفاتورة ورقمها الفريد ورمز الاستجابة والحالة لكل فاتورة. أعد الإرسال دائمًا بالمعرّف والرقم الفريد ذاتهما. وراجع نسب الضريبة وفئاتها على مستوى الأصناف مرة واحدة بدل معالجتها فاتورة بفاتورة.
ابدأ اليوم بخطوة واحدة: افتح آخر عشر فواتير مرفوضة لديك، واكتب أمام كل واحدة الرسالة الحرفية التي عادت منها. ستجد على الأرجح أن ثلاث رسائل فقط تفسّر العشر جميعًا، وأن إصلاح إعداد واحد يغلق أكثر من نصفها. ولمن يبني الربط من جهة النظام المحاسبي، تكمل مقالة متطلبات الفاتورة الإلكترونية في الأردن صورة الحقول الإلزامية، بينما تشرح دليل نظام الفوترة الوطني الصورة الكاملة للنظام.


