تظهر رسالة Bayer name is missing حين يرسل برنامجك المحاسبي فاتورة إلى نظام الفوترة الوطني فتعود مرفوضة برمز 400. ومعناها أن اسم المشتري غير موجود في ملف الفاتورة، في حالة يجعله فيها الدليل التقني إجباريًا.
وهذه الحالة محددة بشرطين لا ثالث لهما. الأول أن تكون الفاتورة ذممًا، والثاني أن تكون نقدية وتزيد قيمتها على 10,000 دينار أو ما يعادلها بالعملات الأجنبية. فإذا انطبق أحدهما، وجب أن يحمل الحقل cbc:RegistrationName في بيانات المشتري اسمه.
يشرح هذا المقال ما تعنيه الرسالة كما وردت في الدليل التقني الصادر عن دائرة ضريبة الدخل والمبيعات (الإصدار 1.5)، وكيف يحدد ملف الفاتورة نوع الدفع، ومكان اسم المشتري في القالب. ثم ينتقل إلى خطوات الإصلاح وقائمة فحص تستخدمها قبل الإرسال.
ما معنى رسالة Bayer name is missing
يصف الدليل التقني رمز 400 (Bad Request) بأنه خطأ في القيم المرسلة داخل ملف XML، ويُكتب تفصيله في الحقل EINV_MESSAGE من ملف الاستجابة. ومن الرسائل التي يذكرها تحت هذا الرمز رسالة Bayer name is missing، ويشرحها في الصفحة 101 بهذا النص:
«يدل بأن اسم المشتري غير موجود (مع العلم ان اسم المشتري إجباري في حال كانت الفاتورة ذمم أو كانت نقدية وقيمتها أكثر من 10 آلاف دينار أو ما يعادلها بالعملات الأجنبية)».

ولاحظ تهجئة الرسالة. فالكلمة الأولى فيها Bayer كما يرد حرفيًا في الدليل [sic]، والمقصود Buyer أي المشتري. انسخ نص الرسالة كما يعود إليك في ملف الاستجابة حين تبحث عنه أو تسجّله، ولا تصحّحه، لأن البحث عن Buyer name is missing قد لا يطابق النص الذي يعيده النظام.
والرسالة واحدة من رسائل الرفض التي يجمعها مقال أخطاء نظام الفوترة الوطني مع بقية الرموز. أما هذا المقال فيتناولها وحدها، بشرطها ومكانها في الملف وطريقة إصلاحها.
أين تظهر الرسالة في ملف الاستجابة
يعيد نظام الفوترة الوطني نتيجة الفحص داخل العنصر EINV_RESULTS، وفيه ثلاث مصفوفات هي INFO وWARNINGS وERRORS. ويحمل كل عنصر في هذه المصفوفات خمسة حقول، هي type وstatus وEINV_CODE وEINV_CATEGORY وEINV_MESSAGE. ونص Bayer name is missing يأتي في الحقل الأخير.
وإذا رُفضت الفاتورة حملت حالتها EINV_STATUS القيمة NOT_SUBMITTED، وعاد رمز QR والمعرّف الفريد ورقم الفاتورة بقيمة null. لذلك لا تحكم على الفاتورة من رمز HTTP وحده، واقرأ EINV_STATUS أولًا كما يوصي الدليل.
متى يكون اسم المشتري إجباريًا في ملف الفاتورة
يربط الدليل وجوب اسم المشتري بأمرين في الفاتورة نفسها، هما طريقة الدفع وقيمة الفاتورة. ويلخص الجدول التالي الحالات الثلاث:
والحد في نص الدائرة «أكثر من 10 آلاف دينار»، فالشرط يبدأ بعد هذا المبلغ لا عنده. ويتكرر الشرطان نفسهما في دليل إجراءات تنظيم الفاتورة الصادر عن الدائرة، فاسم المشتري مطلوب دائمًا في فاتورة الذمم، ومطلوب في الفاتورة النقدية إذا زادت قيمتها على 10,000 دينار.
كيف يعرف النظام أن الفاتورة ذمم أو نقدية
يقرأ النظام طريقة الدفع من السمة name من العنصر cbc:InvoiceTypeCode، وقيمتها رمز من ثلاث خانات. والخانة الثانية فيه تحدد طريقة الدفع، فالرقم 1 للنقدي والرقم 2 للذمم. أما الخانة الأولى فتحدد نوع التعامل، كالمحلية أو التصدير، والثالثة تحدد نوع الضريبة.
فالفاتورة المحلية الخاضعة لضريبة المبيعات العامة مثلًا تحمل 012 إذا كانت نقدية و022 إذا كانت ذممًا. وهذان الرمزان خاصان بهذه الحالة وحدها، وتتغير الخانتان الأولى والثالثة بتغير نوع الفاتورة وضريبتها. ويعني ذلك أن الخانة الثانية في ملفك هي ما يقرر أي شرط من الشرطين ينطبق.
فإذا ظهرت الرسالة على بيع دُفع ثمنه نقدًا بمبلغ صغير، فافحص هذه الخانة أولًا. فربما يرسل برنامجك الرقم 2 في موضع الرقم 1. وتفصيل الفرق بين النوعين في مقال الفاتورة النقدية وفاتورة الذمم في نظام الفوترة الوطني.
العنصر موجود في كل فاتورة، والمحتوى هو الشرط
يبدأ قالب بيانات المشتري في الدليل بالعنصر cac:AccountingCustomerParty، ويقع الاسم داخل cac:PartyLegalEntity. ويظلل الدليل العنصر cbc:RegistrationName باللون الأصفر، وهو لون العناصر الإجبارية، ويضع فوق القالب ملاحظة بالشرطين نفسيهما.

فالعنصر موجود في قالب كل فاتورة، لكن وجوب تعبئته باسم المشتري محكوم بالشرطين السابقين. ويشرح مقال الحقول الإجبارية والاختيارية في نظام الفوترة الوطني كيف تقرأ تظليل الأصفر والأخضر في القوالب كلها.
ويختلف الاسم عن رقم المشتري في القالب نفسه. فنوع المعرّف في السمة schemeID مظلل بالأصفر، وقيمه NIN للرقم الوطني وPN للرقم الشخصي لغير الأردني وTN للرقم الضريبي، أما قيمة الرقم نفسها فمظللة بالأخضر. ورسالة Bayer name is missing تخص الاسم وحده.
الفاتورة بعملة أجنبية
يقبل النظام ثماني عشرة عملة، الدينار الأردني افتراضًا ومعه سبع عشرة عملة أخرى، ويُغيَّر نوع العملة على مستوى الفاتورة كلها. وحد الاسم في الفاتورة النقدية يُقاس بما يعادل 10,000 دينار بالعملة الأجنبية. لكن الدليل التقني لا يتضمن عنصرًا لسعر الصرف، ولا قاعدة لتحويل المبلغ إلى الدينار. لذلك لا يحدد هذا المقال سعرًا أو طريقة للتحويل.
اسم المشتري في نظام تنظيم شؤون الفوترة
شرط الدليل التقني قاعدة فحص في ملف الفاتورة. وإلى جانبه ينص نظام تنظيم شؤون الفوترة والرقابة عليها لسنة 2019 في المادة (5/ب) على أن تحتوي الفاتورة على اسم المشتري بشكل واضح في حال بيع السلعة أو الخدمة الآجل أو البيع بالتقسيط أو على دفعات.
وهذا النص يحدد متى يجب الاسم، ولا يحدد رمز نوع الفاتورة. فالدليل التقني لا يذكر هل تُرسل الفاتورة المدفوعة جزئيًا على أنها نقدية أو ذمم. لكن إذا كان البيع بالتقسيط أو على دفعات، فاكتب اسم المشتري في الفاتورة لأن المادة (5/ب) تطلبه.
وفي المادة نفسها حد آخر قيمته 10,000 دينار يخص أمرًا مختلفًا. فالمادة (5/ج/2) تنص على أنه إذا زادت قيمة الفاتورة على (10000) دينار يثبت البائع استلامها من قبل المشتري. وهذا التزام بإثبات الاستلام، ولا يتناول اسم المشتري.
كيف تصلح خطأ Bayer name is missing
الإصلاح يجري في بيانات الفاتورة داخل برنامجك المحاسبي ثم في ملف الإرسال. اتبع هذه الخطوات بالترتيب:
- اقرأ الرسالة في
EINV_MESSAGE. تأكد أن النص Bayer name is missing، وأن حالة الفاتورةNOT_SUBMITTED. - افحص الخانة الثانية في رمز نوع الفاتورة. إذا كانت 2 فالفاتورة ذمم والاسم مطلوب في كل الأحوال. وإذا كانت 1 فانتقل إلى قيمة الفاتورة.
- تحقق من طريقة الدفع الفعلية. إذا كان البيع نقدًا ورمز الفاتورة يقول ذمم، فصحّح طريقة الدفع في الفاتورة قبل إعادة الإرسال، فالمادة (10) من نظام تنظيم شؤون الفوترة تجعل مسؤولية مطابقة الفاتورة للواقع الفعلي على البائع والمشتري على حد سواء.
- قارن القيمة بالحد. في الفاتورة النقدية، إذا زادت القيمة على 10,000 دينار أو ما يعادلها بالعملات الأجنبية، فالاسم مطلوب.
- أضف اسم المشتري. اكتب الاسم في بيانات العميل في برنامجك، ليصل إلى
cbc:RegistrationNameداخلcac:PartyLegalEntity، وتأكد أن الحقل لا يُرسل فارغًا. - أعد الإرسال بالرقم والمعرّف نفسيهما. يطلب الدليل عند فشل الإرسال إعادة الفاتورة برقمها
cbc:IDومعرّفهاcbc:UUIDنفسيهما، لا بمعرّف جديد، لأن توليد معرّف جديد قد يكرر الفاتورة.
وإذا ظهرت مع الرسالة رسائل أخرى في المصفوفة ERRORS، فأصلحها كلها قبل إعادة الإرسال. فمقال رسالة Total General Amount is Not Correct مثلًا يشرح خطأ المجاميع، وقد يظهر في الملف نفسه.
قائمة فحص قبل الإرسال
راجع هذه البنود في كل فاتورة قبل أن تخرج من برنامجك:
- الخانة الثانية في رمز نوع الفاتورة تطابق طريقة الدفع الفعلية، 1 للنقدي و2 للذمم.
- كل فاتورة ذمم تحمل اسم المشتري في
cbc:RegistrationName. - كل فاتورة نقدية تزيد قيمتها على 10,000 دينار أو ما يعادلها تحمل اسم المشتري.
- البيع الآجل أو بالتقسيط أو على دفعات يحمل اسم المشتري وفق المادة (5/ب).
- نوع معرّف المشتري في
schemeIDواحد منNINأوPNأوTN. - الرقم
cbc:IDوالمعرّفcbc:UUIDمحفوظان، لتعيد الإرسال بهما إذا رُفضت الفاتورة.
ويوصي الدليل التقني في إرشاداته بالتحقق من المجاميع والضرائب والرقم الضريبي ورقم المشتري والحقول الإجبارية قبل الإرسال، لتقليل أخطاء رمز 400.
كيف يساعدك قيود
حين تصدر فاتورتك من برنامج محاسبي، لا تكتب ملف XML بيدك. فمع تكامل قيود مع نظام الفوترة الوطني يبني قيود ملف الفاتورة بصيغة UBL 2.1 ومعرّفها الفريد، ويرسله دون أي تدخل يدوي. ويعمل كذلك على هذه الطبقة:
- فحص قبل الإرسال. يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها: الرقم الضريبي، ونوع المستند وطريقة الدفع، ونسبة ضريبة المبيعات العامة، واكتمال البنود، وينبهك بأي خطأ قبل إرسالها لتقليل حالات الرفض.
- حالة كل فاتورة أمامك. تعيد الدائرة حالة الفاتورة ورسالة الخطأ، ويعرضها قيود في لوحة الحالة.
- قائمة بما يحتاج إعادة إرسال. تعرض لوحة الحالة الفواتير التي لم تُرسل وتحتاج إلى إعادة إرسال.
- إعادة إرسال بالمعرّف نفسه. تعيد إرسال الفاتورة بمعرّف UUID نفسه.
والفحص المسبق تنبيه لا ضمان، وهو يغطي الحقول المذكورة أعلاه. لذلك تبقى صحة بيانات المشتري مسؤوليتك، ويبقى قبول الفاتورة لنظام الفوترة الوطني وحده.
أين تذهب بعد هذا المقال
- بقية رموز الرفض ورسائله: في مقال أخطاء نظام الفوترة الوطني: لماذا تُرفض فاتورتك وكيف تصلحها.
- الصورة الكاملة للنظام: كيف يعمل وكيف تربط منشأتك به، في مقال نظام الفوترة الوطني الإلكتروني في الأردن.
- تظليل الحقول في القوالب: في مقال الحقول الإجبارية والاختيارية في نظام الفوترة الوطني.
- قراءة ملف الاستجابة لرمز 400: في مقالنا عن خطأ 400 وقراءة الحقل EINV_MESSAGE.
فوترة إلكترونية ومحاسبة متكاملة في نظام واحد
قيود متكامل مع نظام الفوترة الوطني (JoFotara). تُصدر فاتورتك بالدينار الأردني من قيود فتُقيَّد في دفاترك تلقائيًا وتُرسل إلى النظام، وبعد قبولها يعود عليها رمز QR من دائرة ضريبة الدخل والمبيعات.
الأسئلة الشائعة
ما معنى رسالة Bayer name is missing؟
تعني أن اسم المشتري غير موجود في ملف الفاتورة، مع أن الفاتورة ذمم أو نقدية تزيد قيمتها على 10,000 دينار أو ما يعادلها بالعملات الأجنبية. ويصنفها الدليل التقني ضمن أخطاء رمز 400 التي يأتي تفصيلها في الحقل EINV_MESSAGE.
لماذا تُكتب Bayer لا Buyer؟
تُكتب كذلك لأن هذا هو نص الرسالة كما يرد حرفيًا في الدليل التقني، والمقصود Buyer أي المشتري. استخدم النص كما يعود إليك في ملف الاستجابة حين تبحث عنه أو تسجّله.
هل اسم المشتري إجباري في كل فاتورة؟
يجعله الدليل التقني إجباريًا في حالتين، فاتورة الذمم أيًا كانت قيمتها، والفاتورة النقدية التي تزيد قيمتها على 10,000 دينار. وتطلبه المادة (5/ب) من نظام تنظيم شؤون الفوترة أيضًا في البيع الآجل أو بالتقسيط أو على دفعات.
هل تُرفض فاتورة نقدية قيمتها 10,000 دينار تمامًا إذا خلت من اسم المشتري؟
ينص الدليل على «أكثر من 10 آلاف دينار»، فالشرط يبدأ بعد هذا المبلغ لا عنده. والفاتورة النقدية بقيمة 10,000 دينار أو أقل لا يجعل الدليل اسم مشتريها إجباريًا.
كيف يعرف النظام أن فاتورتي ذمم؟
يقرأ النظام الخانة الثانية من الرمز الثلاثي في السمة name من العنصر cbc:InvoiceTypeCode. فالرقم 1 للنقدي والرقم 2 للذمم، فإذا أرسل برنامجك 2 على بيع نقدي طُبّق عليه شرط الذمم.
هل أولّد معرّفًا فريدًا جديدًا عند إعادة الإرسال بعد إضافة الاسم؟
لا تولّد معرّفًا جديدًا. يطلب الدليل التقني إعادة الإرسال بالرقم cbc:ID والمعرّف cbc:UUID نفسيهما، لأن توليد معرّف جديد قد يؤدي إلى تكرار الفاتورة.
المراجع
- دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، 2026.
- نظام تنظيم شؤون الفوترة والرقابة عليها لسنة 2019، الصادر بمقتضى الفقرة (و) من المادة (23) من قانون ضريبة الدخل رقم (34) لسنة 2014.
