BR-O-10التفصيل الضريبي الخارج عن نطاق الضريبة لا يذكر سبباً
توقّف العمل بهذه القاعدة منذ حزمة القواعد 2.0.0: فالإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها الهيئة لم يعد يتضمن الفحص الذي كانت تقابله، فلم يعد مطابق يرصدها. وقد تظل التقارير الصادرة عن حزم قواعد أسبق تسمّيها، والشروح أدناه محفوظة من أجلها.
صورة القيمة التي وُجدت — empty وnot_15_digits وما شابههما — لا القيمة نفسها.
التفصيل الضريبي الخارج عن نطاق الضريبة لا يذكر سبباً
صورة القيمة في التقريرexemption_reason_missingلا سبب إعفاء
ما الخلل
لا ترصد هذه الملاحظة إلا حزم القواعد السابقة للإصدار 2.0.0: فالإصدار 3.4.8 من حزمة أدوات التطوير SDK، الذي تقرؤه حزمة القواعد 2.0.0، حذف القاعدة BR-O-10، وخلفتها القاعدة BR-KSA-24 التي تطلب من التفصيل الخارج عن نطاق الضريبة رمز سبب بدرجة تحذير، ولا تقبل القاعدة BR-KSA-CL-04 فيه إلا VATEX-SA-OOS؛ فلا يحمل هذه الملاحظة تقرير صادر عن الحزمة 2.0.0. وما يلي وصف القاعدة كما كان ينفّذها الإصدار 3.0.8. أحد عناصر cac:TaxSubtotal الواقعة مباشرة تحت كتلة cac:TaxTotal الخاصة بالفاتورة مرمَّز O، أي خارج عن نطاق الضريبة، تحت النظام الضريبي لضريبة القيمة المضافة، ولا تحمل فئته في cac:TaxCategory عنصر cbc:TaxExemptionReason ولا عنصر cbc:TaxExemptionReasonCode. وتشترط القاعدة BR-O-10 من معيار EN 16931، التي كانت تنفّذها هيئة الزكاة والضريبة والجمارك، أحدهما، وتشترط أن تكون له قيمة. وهي أشدّ من نظيرتها في الفئة المعفاة من الضريبة: فالقاعدة BR-E-10، التي حذفها الإصدار 3.4.8 كذلك، لم تكن تختبر إلا وجود أحد العنصرين، وكان يفي بها عنصر لا شيء فيه، بينما كانت هذه القاعدة تختبر الوجود والمحتوى معاً. وكانت القاعدتان متجاورتين في ملفات قواعد التحقق المنشورة ولا تفترقان إلا بهذا الشرط الواحد، وهو ما يدلّ على أن الفرق مقصود لا سهو.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
موضع السبب هو cac:TaxSubtotal/cac:TaxCategory، نصاً في cbc:TaxExemptionReason أو رمزاً في cbc:TaxExemptionReasonCode، وهو خاصية من خصائص التفصيل لا من خصائص البند. وتحفظه أغلب الأنظمة على الرمز الضريبي بوصفه سبب إعفاء أو سبب عدم خضوع، ويبقى فارغاً حين يُنشأ الرمز نسخاً عن رمز خاضع للضريبة. وفي الإصدار 3.4.8 فالقيمة المطلوبة هي رمز السبب VATEX-SA-OOS، تطلبه القاعدة BR-KSA-24 وتفحصه القاعدة BR-KSA-CL-04.
سبب التفصيل الخارج عن نطاق الضريبة مكتوب وفارغ
صورة القيمة في التقريرexemption_reason_emptyسبب الإعفاء موجود لكنه فارغ
ما الخلل
لا ترصد هذه الملاحظة إلا حزم القواعد السابقة للإصدار 2.0.0: فالإصدار 3.4.8 من حزمة أدوات التطوير SDK، الذي تقرؤه حزمة القواعد 2.0.0، حذف القاعدة BR-O-10، وخلفتها القاعدة BR-KSA-24 التي تطلب من التفصيل الخارج عن نطاق الضريبة رمز سبب بدرجة تحذير، ولا تقبل القاعدة BR-KSA-CL-04 فيه إلا VATEX-SA-OOS؛ فلا يحمل هذه الملاحظة تقرير صادر عن الحزمة 2.0.0. وما يلي وصف القاعدة كما كان ينفّذها الإصدار 3.0.8. أحد عناصر cac:TaxSubtotal الواقعة مباشرة تحت كتلة cac:TaxTotal الخاصة بالفاتورة مرمَّز O، أي خارج عن نطاق الضريبة، تحت النظام الضريبي لضريبة القيمة المضافة، وتحمل فئته في cac:TaxCategory عنصر cbc:TaxExemptionReason أو عنصر cbc:TaxExemptionReasonCode، وكل نسخة من هذين العنصرين فارغة. والقاعدة BR-O-10 من معيار EN 16931، التي كانت تنفّذها هيئة الزكاة والضريبة والجمارك، مكتوبة شرطين على كل عنصر: أن يوجد، وألّا تكون قيمته النص الفارغ؛ والمخفق هنا هو الثاني. وهذا الشرط الثاني بعينه هو ما لا تحمله قاعدة الفئة المعفاة من الضريبة: فالعنصر cbc:TaxExemptionReason الفارغ كان يفي بالقاعدة BR-E-10، التي حذفها الإصدار 3.4.8 كذلك، ويخفق في هذه، فإضافة عنصر فارغ لرفع ملاحظة الفئة المعفاة لا ترفع هذه الملاحظة. والمقارنة تجري على النص الخام بلا تسوية للمسافات، فالسبب المؤلَّف من مسافة واحدة يفي بهذه القاعدة فعلاً.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
العنصر يُكتب والقيمة لا تُكتب، وهذا يشير إلى القيمة التي يقرؤها الربط لا إلى القالب. ابحث عن سبب إعفاء محفوظ نصاً فارغاً لا قيمةً خالية على الرمز الضريبي، وعن خطوة تنسيق تعيد نصاً خالياً حين تُسلَّم قيمة خالية، وعن حقل سبب مُلئ على الرموز المعفاة وتُرك خالياً على الرمز الخارج عن النطاق. ولا تعالج هذا بكتابة مسافة في الحقل: فهي تفي بهذه القاعدة بعينها، وليست سبباً ينتفع به قارئ الفاتورة. وفي الإصدار 3.4.8 اكتب رمز السبب VATEX-SA-OOS، تطلبه القاعدة BR-KSA-24 وتفحصه القاعدة BR-KSA-CL-04.