BR-KSA-CL-04 تحذير — الفاتورة تُقبل

رمز سبب الإعفاء (BT-121) ليس من قائمة فئته

متى حمل التفصيل الضريبي لفئة صفرية أو معفاة أو خارج النطاق رمز سبب إعفاء، لم يُقبل إلا رمز من قائمة VATEX الخاصة بتلك الفئة، بحروفه كما هي. VATEX-SA-34 بلا لاحقته، وvatex-sa-35 بحروف صغيرة، ورمز صفري على تفصيل معفى — كلها تسقط هنا. والدرجة تحذير، فالفاتورة تُقبل.

نص الرسالة كما ترسلها الهيئة بالإنجليزية، بلا تعديل

If VAT category Code (BT-118) is 'Z', or 'E', VAT exemption (or exception) reason code (BT-121) must exist with one of the values from paragraph 11.2.4 of XML implementation standards on Tax exemption (or exception) reason code - specific to Saudi Arabia.

ماذا يعني هذا؟

القاعدة تعمل على التفصيل الضريبي (BG-23) لا على البند: على كل cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory حرفه في cbc:ID هو Z أو E أو O. وتقرأ فيه رمز السبب cbc:TaxExemptionReasonCode وتقارنه بقائمة الحرف الذي بجواره، لا بالقوائم كلها. أما cac:ClassifiedTaxCategory في البند فيحمل الحرف والنسبة، ولا تنظر فيه هذه القاعدة.

والقوائم كما في الشرط المنفَّذ في حزمة الهيئة (SDK R3.4.8): للصفرية Z الرموز 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؛ وللمعفاة E الرموز VATEX-SA-29 وVATEX-SA-29-7 وVATEX-SA-30؛ ولما خرج عن النطاق O رمز واحد هو VATEX-SA-OOS. فالرسالة تذكر Z وE وحدهما، والشرط يشمل O أيضًا.

وفي قائمة الصفرية داخل الحزمة أربعة رموز أخرى لا يحملها جدول الفقرة 11.2.4 في الإصدار 1.2 من معايير XML: VATEX-SA-DIPLOMAT وVATEX-SA-DUTYFREE وVATEX-SA-ROYALDECREE وVATEX-SA-32(bis). الشرط يقبلها، لكن تحقّق من الجدول الساري على zatca.gov.sa قبل أن تبني عليها.

والمقارنة حرفية: الرمز كلمة واحدة بعينها من القائمة، بحروف كبيرة؛ المسافات حوله تُحذف قبل المقارنة، أما مسافة داخله فتُسقطه. ولا تتكلم القاعدة إلا حين يوجد رمز غير فارغ: التفصيل الذي بلا رمز، أو برمز فارغ، يمرّ منها — فللغياب أكواده: BR-KSA-69 للصفرية وBR-KSA-23 للمعفاة وBR-KSA-24 لما خرج عن النطاق. فهذا الكود معناه دائمًا: كتبتَ رمزًا، وليس في قائمة فئته.

ودرجته تحذير: الفاتورة تُقبل وتُسجَّل والتحذير معها. لكن الرمز هو السند الذي من أجله لا ضريبة على هذا الوعاء، ورمز من خارج القائمة سند لا تعرفه القائمة. وحين يكون الرمز VATEX-SA-EDU أو VATEX-SA-HEA تنضمّ قاعدة أخرى درجتها خطأ: BR-KSA-49 تطلب الهوية الوطنية للمشتري.

لماذا يحدث؟

مرتّبة من الأشيع إلى الأقل شيوعًا — الأرجح أن سببك في الأول أو الثاني.

  • رمز بلا لاحقته: VATEX-SA-34 وحده، والقائمة لا تعرف إلا VATEX-SA-34-1 إلى VATEX-SA-34-5؛ أو لاحقة مخترعة قياسًا عليها مثل VATEX-SA-29-1.
  • تهجئة غير التهجئة: vatex-sa-35 بحروف صغيرة، أو VATEX_SA_35 بشرطات سفلية، أو VATEX SA 35 بمسافات.
  • شرطة غير الشرطة: رمز منسوخ من ملف PDF أو Word تحوّلت فيه الشرطة العادية إلى شرطة طويلة –، فيبدو صحيحًا للعين ولا يطابق حرفًا.
  • رمز من قائمة فئة أخرى: VATEX-SA-29 (خدمات مالية معفاة) على تفصيل صفري، أو VATEX-SA-32 على تفصيل معفى، أو أي رمز غير VATEX-SA-OOS على تفصيل خارج النطاق — وأكثره من ربط يأخذ السبب من قائمة واحدة لكل ما ليس خاضعًا.
  • نص السبب في خانة الرمز: Export of goods حيث يُنتظر VATEX-SA-32.
  • رموز المواصفة الأوروبية من نظام مستورد، مثل VATEX-EU-G أو VATEX-EU-O؛ القائمة السعودية لا تعرفها.

كيف تصلحه

3 خطوات، ثم أعد إرسال الفاتورة.

  1. 1
    اجعل الرمز قيمة من قائمة مغلقة لا نصًا حرًّا

    خزّن الرمز في نظامك قيمة من تعداد ثابت مربوط بفئته، لا حقلًا نصيًا يُكتب فيه ما شاء المستخدم. وإن جاءك الرمز من مدخل خارجي فوحّده مرة واحدة — حروف كبيرة ولا مسافات حوله — ثم ارفض ما لا يطابق قائمة فئته قبل أن يُبنى الـ XML، بدل أن ترسله وتنتظر التحذير. والجدول الرسمي في الفقرة 11.2.4 من معايير XML على zatca.gov.sa.

  2. 2
    اكتبه في التفصيل الضريبي تحت الحرف الذي يخصّه

    مكانه كتلة الفئة داخل التفصيل، بعد الحرف والنسبة ومعه نص السبب: <cac:TaxCategory><cbc:ID>Z</cbc:ID><cbc:Percent>0</cbc:Percent><cbc:TaxExemptionReasonCode>VATEX-SA-35</cbc:TaxExemptionReasonCode><cbc:TaxExemptionReason>Medicines and medical equipment</cbc:TaxExemptionReason><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>. وتأكد أن الرمز من قائمة الحرف الذي فوقه: رمز صحيح تحت حرف خاطئ يسقط كما يسقط رمز مخترع. والنص نفسه له قاعدته: BR-KSA-83.

  3. 3
    اختر اللاحقة التي تصف التوريد

    رموز النقل الدولي خمسة لا واحد: VATEX-SA-34-1 نقل البضائع، وVATEX-SA-34-2 نقل الركاب، وVATEX-SA-34-3 الخدمات المرتبطة بنقل الركاب الدولي والتابعة له، وVATEX-SA-34-4 توريد وسيلة نقل مؤهلة، وVATEX-SA-34-5 الخدمات المتعلقة بنقل البضائع أو الركاب. وأيّها ينطبق على توريدك سؤال ضريبي مرجعه zatca.gov.sa؛ ما تقوله القاعدة أن الرمز بلا لاحقة ليس واحدًا منها.

هذا الكود لا يمنع القبول، فالفاتورة الحالية نظامية. صحّح البيانات لتختفي التحذيرات من الفواتير القادمة.

هل يمنعه ZATCA Tools؟

نعم. رمز السبب في ZATCA Tools لا يُكتب نصًا حرًّا: يُختار من قائمة ثابتة في TaxCategories تضم خمسة عشر رمزًا، كل رمز مربوط بفئته، والدالة reasonCodeFor تُسقط أي رمز لا ينتمي إلى فئة البند قبل أن يُبنى التفصيل الضريبي — فالرمز الذي يصل إلى XML من قائمة فئته دائمًا. ونموذج الفاتورة لا يعرض إلا أسباب المعاملة المختارة، والـ API يحوّل الحروف الصغيرة إلى كبيرة ثم يردّ الطلب بخطأ 422 إن كان الرمز خارج القائمة أو من فئة أخرى، والفئة O تأخذ VATEX-SA-OOS دائمًا. وحدّان نذكرهما: قائمتنا لا تضم بعدُ VATEX-SA-MLTRY ولا الرموز الأربعة الأحدث، فمن يحتاجها لا يجدها عندنا اليوم؛ والسبب اختياري للفئتين Z وE، فإن تُرك لم يُكتب رمز أصلًا، وذلك يأتي بتحذير آخر هو BR-KSA-69 أو BR-KSA-23 لا بهذا.

أكواد لها علاقة

أسئلة شائعة

كتبت الرمز صحيحًا والتحذير باقٍ — أين الخطأ؟ +
في أحد ثلاثة: الحرف الذي فوقه، فالرمز يُقارن بقائمة فئته لا بالقوائم كلها؛ أو محرف لا تراه العين، كشرطة طويلة أو مسافة غير منقطعة منسوخة من مستند؛ أو الكتلة نفسها، إذ قد يكون الرمز صحيحًا في شاشة نظامك وخاطئًا في التفصيل الذي أُرسل. افتح الـ XML المُرسَل واقرأ cbc:TaxExemptionReasonCode في كل cac:TaxSubtotal حرفًا حرفًا.
ما الفرق بينه وبين BR-KSA-69 و23 و24؟ +
تلك تتكلم حين يغيب الرمز أو يكون فارغًا، وهذا حين يوجد رمز ليس في القائمة. ولا يجتمعان على تفصيل واحد: الرمز الفارغ يمرّ من هذه القاعدة، والرمز غير الفارغ يمرّ من تلك. فإن رأيت هذا الكود فالعلاج تصحيح الرمز لا إضافته.
هل يُكتب الرمز على كل بند أيضًا؟ +
لا. البند يحمل في cac:ClassifiedTaxCategory الحرف والنسبة، والسبب يُكتب مرة واحدة على التفصيل الضريبي لفئته، وهكذا يكتبه مثال الفاتورة المبسطة الصفرية في حزمة الهيئة نفسها. وهذه القاعدة لا تقرأ غير التفصيل.
قُبلت الفاتورة مع هذا التحذير — هل عليّ شيء تجاهها؟ +
المستند سُجّل كما أُرسل، ورمزه لا يتغيّر. إن كان الخطأ تهجئة والسند نفسه صحيحًا فصحّح الربط وتخرج الفواتير التالية سليمة. وإن كانت الفئة نفسها خاطئة — توريد معفى أُرسل صفريًا مثلًا — فتلك معاملة ضريبية لمستند صادر، تُصحَّح بإشعار، والحكم فيها لمستشارك أو لـ zatca.gov.sa. وطريقة الإشعار في كيف تصدر إشعارًا دائنًا.
هل أستخدم VATEX-SA-DIPLOMAT أو VATEX-SA-DUTYFREE؟ +
الشرط المنفَّذ في حزمة الهيئة يقبلهما على الفئة Z، لكنهما ليسا في جدول الإصدار 1.2 من معايير XML. فتحقّق من الجدول الساري على zatca.gov.sa، ومن انطباق السند على توريدك، قبل أن تكتب أيًّا منهما.
أصلحت هذه — ولا تريد التالية

ZATCA Tools يبني التوقيع والبصمة والعدّاد والترميز عنك، ويتحقق من البيانات قبل الإرسال. ابدأ مجانًا، وبدون بطاقة ائتمانية.

ابدأ مجانًا

← كل أكواد أخطاء ZATCA