A VAT breakdown (BG-23) with VAT Category code (BT-118) 'Zero rated' shall have a VAT exception reason code (BT-121).
ماذا يعني هذا؟
الموضع المفحوص هو التفصيل الضريبي للمستند (BG-23): كل cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory قيمة cbc:ID فيه (BT-118) هي Z. وداخله يجب أن يوجد cbc:TaxExemptionReasonCode (BT-121) وألّا يكون فارغًا بعد حذف المسافات. والفحص لكل تفصيل على حدة، ولا تسمّي القاعدة عائلة المستند: الفاتورة الضريبية والمبسطة وإشعاراتهما الدائنة والمدينة سواء.
والاختبار المنفَّذ في المخطط المُصرَّف الذي تنشره الهيئة مع حزمة التطوير يسأل عن الوجود وحده: هل العنصر حاضر وفيه شيء؟ نصّ الاختبار المطبوع بجانب الرسالة يسرد قائمة رموز، لكن الشرط الذي يُنفَّذ فعلًا لا يقارن القيمة بها. مقارنة القيمة عمل قاعدة أخرى هي BR-KSA-CL-04 ودرجتها تحذير كذلك: رمز من قائمة المعفاة على تفصيل صفري يمرّ من هذه القاعدة ويسقط في تلك.
والقائمة التي تقبلها BR-KSA-CL-04 للفئة الصفرية، ونصوصها كما في الفقرة 11.2.4 من مواصفة XML: VATEX-SA-32 تصدير السلع، وVATEX-SA-33 تصدير الخدمات، وVATEX-SA-34-1 إلى VATEX-SA-34-5 للنقل الدولي للبضائع والركاب وما يتصل به ووسائل النقل المؤهلة، وVATEX-SA-35 الأدوية والمعدات الطبية، وVATEX-SA-36 المعادن المؤهلة، وVATEX-SA-EDU التعليم الخاص لمواطن، وVATEX-SA-HEA الرعاية الصحية الخاصة لمواطن، وVATEX-SA-MLTRY السلع العسكرية المؤهلة. ونسخة الحزمة التي قرأناها تقبل فوقها VATEX-SA-DIPLOMAT وVATEX-SA-DUTYFREE وVATEX-SA-ROYALDECREE، ونصوصها ليست في جدول المواصفة الذي بين أيدينا — فخذها من قائمة الهيئة الحالية على zatca.gov.sa.
والرمز لا يسافر وحده: متى وُجد لزم معه نصّ السبب (BT-120) في cbc:TaxExemptionReason، وإلا جاء تحذير BR-KSA-83. ومطابقة النص حرفيًا بنصّ الهيئة مكتوبة في المخطط لكنها معطَّلة فيه بتعليق، فالمنفَّذ اليوم أن يوجد نصّ غير فارغ. ويبقى الأسلم أن تكتب نصّ الهيئة الإنجليزي نفسه.
ودرجتها تحذير: الفاتورة تُجاز ويعود الكود مع القبول في warningMessages. وفي تجاربنا على بيئة الهيئة التجريبية عاد المستند الصفري الذي لا يحمل العنصر أصلًا بهذا الكود وحده. أما BR-KSA-CL-04 فيسكت حين يغيب العنصر أو يفرغ: شرطه المنفَّذ يعدّ الرمز الغائب مقبولًا ويترك التنبيه لهذه القاعدة، وهذا ما رأيناه في الرد الحي. ولسطور الدفعة المقدمة توأم لهذه القاعدة هو BR-KSA-93.
لماذا يحدث؟
مرتّبة من الأشيع إلى الأقل شيوعًا — الأرجح أن سببك في الأول أو الثاني.
-
السبب مكتوب على البند وحده، في
cac:Item/cac:ClassifiedTaxCategory. صيغة UBL تسمح بالعنصر هناك، لكن هذه القاعدة لا تقرأ إلا التفصيل الضريبي للمستند، فالنسخة التي على البند لا تراها. -
نظام مبني على المواصفة الأوروبية EN16931 كما هي: فيها القاعدة
BR-Z-10التي تمنع أي سبب على التفصيل الصفري، فيحذفه النظام عمدًا. نسخة الهيئة من تلك القواعد أسقطتBR-Z-10وأضافت هذه القاعدة التي تطلب العكس. -
نصّ السبب مُرسَل بلا رمزه:
Export of goodsفيcbc:TaxExemptionReasonوcbc:TaxExemptionReasonCodeغائب. النص هو BT-120 والرمز هو BT-121، والقاعدة تسأل عن الرمز. -
عنصر الرمز يُكتب دائمًا في القالب ويُملأ أحيانًا، فيخرج
<cbc:TaxExemptionReasonCode/>فارغًا أو بمسافات — والفارغ عند القاعدة كالغائب. -
متجر يشحن خارج المملكة فيصفّر الضريبة على الطلب، والتكامل يحوّل الفئة إلى
Zولا يضيفVATEX-SA-32للسلع أوVATEX-SA-33للخدمات. -
الفئة غُيّرت إلى
Zلإسكات الضريبة على بند — عيّنة أو هدية أو خصم أو سعر قيل إنه شامل — بلا سند نظامي. هنا غياب الرمز عَرَض لا علّة: لا رمز لأن التوريد ليس صفريًا أصلًا. -
الرمز في غير موضعه: في حقل النص، أو ملصوقًا بحرف الفئة (
Z-VATEX-SA-32)، أو في ملاحظة المستند.
كيف تصلحه
4 خطوات، ثم أعد إرسال الفاتورة.
-
1
اكتب الرمز ونصه في التفصيل الضريبي للمستند
داخل كل
cac:TaxSubtotal/cac:TaxCategoryفئتهZ، وبعدcbc:Percentمباشرة:<cbc:TaxExemptionReasonCode>VATEX-SA-32</cbc:TaxExemptionReasonCode>ثم<cbc:TaxExemptionReason>Export of goods</cbc:TaxExemptionReason>، ثمcac:TaxScheme. الرمز بحروف كبيرة كما في القائمة، بلا مسافات ولا بادئة. ولا بأس بتركه على البند كذلك، لكن موضعه الذي يُفحص هو هذا. -
2
اختر السبب من واقع التوريد
السبب وصف لما جرى فعلًا: سلع غادرت المملكة، أو خدمة لغير مقيم، أو دواء، أو نقل دولي. أمّا هل ينطبق التصفير على توريدك، وبأي شروط، وما المستندات التي تحفظها سندًا له كمستندات الشحن، فسؤال نظامي مرجعه مستشارك الضريبي وzatca.gov.sa لا نحن. وإن لم تجد في القائمة سببًا يصف البيع، فالأرجح أن الحرف نفسه خطأ وأن البند خاضع
S— والحروف الأربعة في BR-KSA-18. -
3
لا تضع سببًا على التفصيل الخاضع
لا تحلّ التحذير بكتابة سبب على كل تفصيل في المستند. التفصيل الخاضع
Sلا يحمل سببًا، والقاعدة الأوروبيةBR-S-10الباقية في نسخة الهيئة تحذّر منه. والرمز التعليمي والصحي تحديدًا يجرّان شرطًا آخر:VATEX-SA-EDUوVATEX-SA-HEAيوجبان هوية وطنية للمشتري بنص BR-KSA-49 ودرجتها خطأ. -
4
الفاتورة المقبولة لا تُعدَّل
التحذير يعني أن المستند سُجّل كما هو، فلا تعيد إرساله ولا تعدّله. أصلح الربط للمستندات التالية. وإن تبيّن أن الفئة نفسها كانت خطأ — لا الرمز وحده — فطريق التصحيح إشعار دائن ثم فاتورة جديدة بالمعاملة الصحيحة بعد أن يؤكدها مستشارك، وخطواته في كيف تصدر إشعارًا دائنًا.
هذا الكود لا يمنع القبول، فالفاتورة الحالية نظامية. صحّح البيانات لتختفي التحذيرات من الفواتير القادمة.
هل يمنعه ZATCA Tools؟
لا يمنعه، وهذا قرار لا سهو: السبب في ZATCA Tools اختياري ولا نخمّنه، لأن سببًا مخمَّنًا يعلن للهيئة سندًا نظاميًا لم يقله التاجر. في نموذج الفاتورة تظهر قائمة المعاملة الضريبية متى أضافت المنشأة الصفرية في ملف المنشأة، وبجانبها قائمة السبب وأول خياراتها «بدون تحديد»، ويُقترح فيها سبب المنشأة الافتراضي أو آخر سبب استعملته لهذه الفئة. وأول فاتورة صفرية بلا سابقة تبدأ بلا سبب ما لم يختره التاجر، فتُصدر وتُقبل بهذا التحذير. وفي واجهة البرمجة حقل tax_reason_code اختياري: إن غاب أخذ البند سبب البنود الأخرى من فئته في المستند نفسه متى اتفقت على سبب واحد؛ فإن ذكرت سببين بقي بلا سبب لأن اختيار أحدهما تخمين، وعاد الرد بحالة warnings وفيه هذا الكود؛ وإن لم يُذكر سبب في المستند أخذ السبب الافتراضي للمنشأة لهذه الفئة، ثم آخر سبب استُعمل لها في مستنداتها المُصدرة، وإلا خرج بلا سبب بالتحذير نفسه. أما رمز لا تعرفه قائمتنا، أو رمز من فئة أخرى، أو رمز على بند خاضع، فيُرد قبل التوقيع بخطأ invalid_lines. وطلبات شوبيفاي المشحونة خارج المملكة بلا ضريبة تصدر صفرية برمز VATEX-SA-32 دائمًا، فلا يخرج منها صفري بلا سبب. والإشعار الدائن أو المدين يرث فئة الفاتورة الأصل وسببها، فإشعار على فاتورة صفرية بلا سبب يعود بالتحذير نفسه. والرمز يُكتب مع نصه الإنجليزي في التفصيل الضريبي للمستند وحده، ولكل سبب تفصيله الضريبي المستقل: مستند من واجهة البرمجة يجمع سببين صفريين مختلفين يخرج بتفصيلين، كل سبب بمبلغه، وتقبله الهيئة مع تحذير BR-Z-08. والإشعار الكامل يعيد لكل سبب حصته. وقائمتنا لا تشمل VATEX-SA-MLTRY ولا الرموز الأحدث في حزمة الهيئة، وواجهة البرمجة ترفضها.
أكواد لها علاقة
BR-KSA-CL-04
تحذير
BR-KSA-83
تحذير
BR-KSA-23
تحذير
BR-KSA-24
تحذير
BR-KSA-49
يرفض الفاتورة
BR-KSA-18
يرفض الفاتورة
أسئلة شائعة
هل رُفضت فاتورتي بسبب هذا الكود؟ +
errorMessages التي ترفض عن warningMessages التي تُسجَّل فقط. وطريقة قراءته في فاتورتي مرفوضة من الهيئة.كتبت الرمز على البند نفسه، فلماذا عاد التحذير؟ +
cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory على مستوى المستند، والعنصر داخل cac:ClassifiedTaxCategory في البند لا يدخل فحصها. انقل الرمز ونصه إلى التفصيل الضريبي، أو اكتبهما في الموضعين.ألا يكفي نصّ السبب «Export of goods» دون الرمز؟ +
BR-KSA-83 متى وُجد الرمز. المواصفة الأوروبية تقبل أحدهما في مواضع أخرى، ونسخة الهيئة لا تقبل هنا إلا الرمز.اخترت VATEX-SA-EDU فطُلبت هوية وطنية للمشتري — لماذا؟ +
NAT، وإلا رُفض بـ BR-KSA-49. والتفاصيل في صفحتها.ما الفرق بين هذه القاعدة و BR-KSA-CL-04؟ +
BR-KSA-CL-04 تسأل: هل الرمز من قائمة فئته؟ فرمز المعفاة VATEX-SA-29 على تفصيل صفري يرضي هذه ويُسقط تلك. وكلتاهما تحذير.ZATCA Tools يبني التوقيع والبصمة والعدّاد والترميز عنك، ويتحقق من البيانات قبل الإرسال. ابدأ مجانًا، وبدون بطاقة ائتمانية.
ابدأ مجانًا