Field character limits for the Buyer Address - City field (BT-52) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters.
ماذا يعني هذا؟
ما تعيده واجهة الهيئة المباشرة نصًّا: [BR-KSA-F-06-C25] - Field character limits for the Buyer Address - City field (BT-52) have not been met. The minimum limit is 1 character and the maximum limit is 127 characters. وهذا النص يطابق ما في مستخرج SDK المطبوع أعلى الصفحة حرفًا بحرف، بخلاف قاعدة الشارع BR-KSA-F-06-C23 التي اختلف فيها الحدّ الأعلى بين الاثنين.
الحقل هو BT-52، أي cbc:CityName داخل cac:AccountingCustomerParty/cac:Party/cac:PostalAddress. والقاعدة قاعدة طول: تقيس المحارف ولا تسأل عن الوجود. أقلّ من محرف واحد يُخفق، وأكثر من 127 يُخفق.
وصفر محرف يصل إلى المتحقّق من طريقين: عنصر كُتب فارغًا مثل <cbc:CityName/>، وعنصر لم يُكتب. ورأينا التحذير يعود على فاتورة قياسية خلا عنوان مشتريها من كل شيء، والمستند الذي أصدرها لا يكتب عناصر عنوان فارغة أصلًا — فلا تفترض أن حذف العنصر يُسكت قاعدة طول.
ولهذا الحقل خاصية تميّزه عن الشارع والحي: المدينة ليست معلومة يصعب الحصول عليها. كل مشترٍ يعرف مدينته، وكل نموذج شراء يسألها، وكل عنوان شحن يحملها. فحين يصل الحقل فارغًا فالسبب في تسعة من عشرة ليس أن المعلومة غائبة، بل أنها لم تصل: عمود لم يُطابَق في الاستيراد، أو حقل في نموذج ويب اسمه town بينما الربط يقرأ city، أو قائمة اختيار أُرسل منها الخيار الأول الفارغ. ابحث في الربط قبل أن تبحث في بيانات العميل.
وثلاث قواعد تتكلم عن المدينة من ثلاث جهات وتعود معًا في الرد الواحد: BR-KSA-10 تطلب الشارع والمدينة ورمز الدولة في الفاتورة الضريبية وإشعاراتها، وBR-KSA-63 تطلب العناصر الستة من المشتري السعودي، وهذه تقيس الطول. مدينة حقيقية في خانتها تُسكت الثلاث معًا.
ودرجتها تحذير: الفاتورة مُجازة والملاحظة مسجَّلة معها، فلا يتوقف بيع. لكن فاتورة ضريبية بلا مدينة مشترٍ مستند ناقص في دفتر المشتري قبل دفترك، وقسم حساباته قد يسأل عنه — والتحذير يعود مع كل فاتورة لذلك العميل ما دام سجله على حاله.
لماذا يحدث؟
مرتّبة من الأشيع إلى الأقل شيوعًا — الأرجح أن سببك في الأول أو الثاني.
- قائمة اختيار للمدن خيارها الأول «اختر المدينة» وقيمته سلسلة فارغة، فتُرسَل كما هي ويُكتب العنصر بلا قيمة.
-
استيراد من جدول بيانات عنوان عموده «البلد» أو «المنطقة» أو
town، فلم يُطابَق بعمود المدينة وبقي الحقل خاليًا. - عنوان مأخوذ من صفحة إتمام طلب لا تطلب المدينة إلزاميًا — شائع في متاجر التوصيل بالموقع الجغرافي، حيث الإحداثيات كافية للمندوب ولا تكفي للمستند الضريبي.
-
المدينة والحي تبادلا مكانيهما عند الربط، فامتلأ حقل الحي بالمدينة وبقي حقل المدينة فارغًا — يقع هذا كثيرًا حين يسمّي النظام الأجنبي الحقلين
cityوdistrictبترتيب مخالف لترتيب نموذجك. - المنطقة الإدارية كُتبت مكان المدينة ثم أُفرغت في التنظيف: «المنطقة الشرقية» ليست مدينة، ومن حذفها لم يضع بدلها شيئًا.
-
الحدّ الأعلى من الجهة الأخرى — نادر لكنه يقع: سطر عنوان كامل أو اسم مدينة مكتوب بلغتين ووصف بينهما، في حقل حدّه
127محرفًا.
كيف تصلحه
4 خطوات، ثم أعد إرسال الفاتورة.
-
1
افحص الربط قبل أن تفحص العميل
خذ فاتورة واحدة حملت التحذير وانظر في ملف XML الذي أُرسل: إن كان
<cbc:CityName/>مكتوبًا وفارغًا فالعطب في التسلسل، وإن كان غائبًا فالعطب في المصدر. ثم ارجع إلى سجل العميل في نظامك: إن كانت المدينة موجودة فيه والحقل يصل فارغًا فالمشكلة في المطابقة بين عمودك وحقل BT-52، وهي تُصلح مرة واحدة لكل الفواتير القادمة. -
2
المدينة مدينة — لا منطقة ولا حي
اكتب في BT-52 اسم المدينة كما في العنوان الوطني: «الرياض»، «جدة»، «الخبر». المنطقة الإدارية ليست مدينة، والحي له حقله الخاص (KSA-4) وقاعدته الخاصة BR-KSA-F-06-C28. ونقل قيمة من أحدهما إلى الآخر ليُملأ الحقلان يجعل المستند يقرّر على المشتري ما ليس صحيحًا.
-
3
اجعل القيمة الفارغة قيمة غائبة
في الربط: حوّل السلسلة الفارغة وقيمة «اختر» وقيمة المسافات إلى غياب قبل بناء الحمولة، لا بعدها. عنصر فارغ في مستند موقَّع لا يفيد أحدًا؛ ولا تملأه بشرطة أو بنقطة لتستوفي محرفًا واحدًا، فتلك قيمة تمرّ من القاعدة وتكذب على قارئ الفاتورة.
-
4
صحّح السجل، والفاتورة الصادرة لا تُعاد
المستند الذي حمل التحذير مُجاز ولا يحتاج إعادة إصدار. صحّح المدينة في سجل العميل فتخرج فواتيره التالية نظيفة. وأسرع طريق لبقية العنوان هو العنوان الوطني المختصر للمشتري، وتفصيله في العنوان الوطني في الفاتورة الإلكترونية: الحقول الستة وأين تجدها.
هذا الكود لا يمنع القبول، فالفاتورة الحالية نظامية. صحّح البيانات لتختفي التحذيرات من الفواتير القادمة.
هل يمنعه ZATCA Tools؟
لا يقع من عندنا على جهة المشتري. مدينة العميل في ZATCA Tools تُكتب كما أدخلها التاجر أو كما وصلت من العنوان الوطني المختصر، ولا يوجد في المنتج كله مسار يضع مدينة بديلة مكان مدينة غائبة. والحقل الخالي — أو المكتوب مسافات، فالتسوية تحذفها — يُحذف من الحمولة قبل بنائها، ومُولِّد XML يكتب العنصر فقط حين تكون له قيمة، ومكتبة التوقيع ترفض سلسلة فارغة في هذا الحقل. واختبار في المستودع يثبت أن الجزء الناقص يغيب ولا يُكتب فارغًا ولا يُملأ بعلامة. ويأتي قبل ذلك تنبيهان: سطر تحت اسم العميل في نموذج الفاتورة يسمّي ما ينقص من عنوانه، ونافذة عند الإصدار تسمّيه مرة أخرى وتعرض إكمال البيانات أو المتابعة. والنصف الآخر بالأمانة نفسها، وهو على جهة البائع لا المشتري: مُولِّد الحمولة يحمل قيمًا افتراضية لعنوان المنشأة حين يخلو سجلها منها، ومنها مدينة افتراضية. ذلك حقل آخر — BT-37 — وكود آخر هو BR-KSA-F-06-C7، لا الذي تقرأ عنه هنا؛ ونقوله لأن من ينظر في تحذيرات عنوانه كلها يستحق أن يعرف أيّها من بياناته وأيّها من عندنا. ويلاحق ذلك النقصَ تنبيهُ بيانات المنشأة على لوحة التحكم وفي الإعدادات حتى تكتمل.
أكواد لها علاقة
BR-KSA-F-06-C23
تحذير
BR-KSA-F-06-C28
تحذير
BR-KSA-63
تحذير
BR-KSA-10
تحذير
BR-KSA-F-06-C7
أسئلة شائعة
هل رُفضت فاتورتي بسبب هذا الكود؟ +
errorMessages لا في warningMessages. وطريقة قراءة الرد كاملةً في فاتورتي مرفوضة من الهيئة.العميل لا يذكر مدينته وأنا لا أعرفها — ماذا أكتب؟ +
هل أكتب المنطقة إن لم أعرف المدينة؟ +
اسم المدينة بالعربية والإنجليزية معًا — هل يخالف الحد؟ +
127 محرفًا، واسم مدينة باللغتين يبقى دونه بكثير. الذي يتجاوز الحدّ عادةً سطر عنوان كامل وُضع في خانة المدينة، لا اسم مكتوب بلغتين. واكتبه بلغة واحدة على أي حال: الحقل للمدينة لا لترجمتها.فواتيري المبسطة لا تحمل هذا التحذير — لماذا؟ +
ZATCA Tools يبني التوقيع والبصمة والعدّاد والترميز عنك، ويتحقق من البيانات قبل الإرسال. ابدأ مجانًا، وبدون بطاقة ائتمانية.
ابدأ مجانًا