BR-KSA-68 يرفض الفاتورة

عملة الاحتساب الضريبي (BT-6) غير موجودة

الفاتورة السعودية تصرّح بعملتين: العملة التي فوترت بها، والعملة التي تُحتسب بها الضريبة. والثانية إلزامية ولو كانتا معًا الريال ولم يكن في المستند شيء أجنبي.

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

Tax currency code (BT-6) must exist in an invoice.

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

حقلان منفصلان. عملة الفاتورة (BT-5) هي التي عُبِّر بها عن المبالغ — ما سعّرت به وما يدفعه العميل. وعملة الاحتساب الضريبي (BT-6) هي العملة التي تُحتسب بها الضريبة، وهي الريال في الفاتورة السعودية. وهذا الكود يفحص شيئًا واحدًا: أن يكون BT-6 موجودًا في المستند.

وليس شرطًا معلّقًا على حال: لا توجد صورة لفاتورة إلكترونية سعودية تُترك فيها عملة الاحتساب، والفاتورة بالريال كلها ليست استثناءً — تكتب الريال صراحةً في عنصر مستقل.

وثلاث قواعد تقع على هذا الحقل ويفيدك تمييزها: هذه ودرجتها خطأ تقول إن BT-6 يجب أن يوجد، وBR-KSA-EN16931-02 ودرجتها خطأ تقول إن قيمته لا بد أن تكون SAR، وBR-KSA-EN16931-09 ودرجتها تحذير تحكم ما يلزم المستندَ حملُه بعد هذا التصريح: كتلة ضريبة واحدة بلا تفصيل بداخلها تحمل مبلغ الضريبة بالريال.

والعنصر هو cbc:TaxCurrencyCode في مستوى الفاتورة، إلى جانب cbc:DocumentCurrencyCode. أما الخاصية currencyID على المبالغ فليست هذا الحقل ولا تغني عنه.

لماذا يحدث؟

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

  • XML مولَّد من قالب EN 16931 عام يكون فيه BT-6 اختياريًا. وهو في قواعد المملكة ليس كذلك، فيمرّ القالب من التحقق الأوروبي ويسقط هنا.
  • نظام يحذف الحقل حين تتطابق العملتان، بحجة أن تكرار الريال لا يضيف شيئًا.
  • إخراج العنصر فارغًا أو بمسافة بيضاء، من ربط كانت قيمته المصدر خالية.
  • ضبط العملة في الخاصية currencyID على المبالغ وحدها دون إخراج العنصر المستقل.

كيف تصلحه

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

  1. 1
    أخرِج العنصر دائمًا

    العنصر cbc:TaxCurrencyCode بالقيمة SAR، إلى جانب cbc:DocumentCurrencyCode، في كل مستند: فاتورة وإشعارًا دائنًا ومدينًا. واكتبه ثابتًا لا مشتقًا من إعدادات المنشأة — ففي الفاتورة السعودية لا شيء يُشتقّ هنا.

  2. 2
    ثم احمل ما يوجبه

    بمجرد التصريح بـ BT-6 يلزم أن تطابقه بنية الضريبة: كتلة أولى بالتفصيل بعملة الفاتورة، وثانية تحمل مبلغ الضريبة بالريال بلا تفصيل بداخلها. وهذه الكتلة الثانية هي BR-KSA-EN16931-09، ودرجتها تحذير لا رفض، ولذلك تكون في الغالب أول ما تراه بعد إصلاح هذا الكود.

  3. 3
    إن كنت تفوتر بعملة أجنبية

    يبقى BT-5 العملة التي فوترت بها ويبقى BT-6 الريال، وتُحوَّل الضريبة لكتلة الريال بسعر الصرف الذي تعتمده منشأتك. وقاعدتان أخريان تراقبان هذا الجمع: BR-KSA-97 تتوقع اختلاف مبلغَي الضريبة متى كانت عملة الفاتورة غير الريال، وBR-KSA-88 وBR-KSA-89 تتوقعان أن تسمّي حقول سعر الصرف — إن وُجدت — العملتين نفسيهما.

بعد التصحيح أعد إرسال الفاتورة. الفاتورة المرفوضة لم تُسجَّل عند الهيئة، فلا تحتاج إشعارًا دائنًا — أرسل الفاتورة الصحيحة نفسها.

هل يمنعه ZATCA Tools؟

نعم، لا بالتحقق بل بشكل المنتج: ZATCA Tools لا يصدر إلا بالريال. يضبط المولِّد عملة الفاتورة وعملة الاحتساب على SAR في كل مستند، فيكون BT-6 حاضرًا دائمًا وصحيحًا دائمًا. والفوترة بعملة أجنبية غير مدعومة عندنا أصلًا، وهذه هي الصياغة الأمينة للجملة نفسها: الحقل لا يخطئ هنا لأن الحالة التي تجعله مثيرًا للاهتمام لا تقع.

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

BR-KSA-EN16931-02
نص الرسالة الرسمي فيالمرجع الكامل.
BR-KSA-EN16931-09 تحذير
إجمالي الضريبة بالريال مفقود أو مكرر
BR-KSA-CL-02
نص الرسالة الرسمي فيالمرجع الكامل.

أسئلة شائعة

كل ما في فاتورتي بالريال — لماذا يطلب عملة احتساب أصلًا؟ +
لأن الحقل يقرّر واقعة عن المستند لا يصف تحويلًا: الضريبة تُحتسب بالريال، والفاتورة تقول ذلك سواء طابقت عملة الفوترة أو خالفتها. وتركه رفض لا ترتيب.
أضفت BT-6 فظهر لي BR-KSA-EN16931-09 — هل زدت الأمر سوءًا؟ +
لا، بل انتقلت من رفض إلى تحذير. التصريح بعملة الاحتساب يُدخل كتلة الضريبة بالريال في الحساب، وذلك الكود عن بنيتها. والفاتورة مقبولة وهو قائم، وإصلاحه في صفحته.
هل يجوز أن تكون BT-6 غير الريال؟ +
لا في الفاتورة الإلكترونية السعودية. قاعدة مستقلة هي BR-KSA-EN16931-02 تشترط أن تكون القيمة SAR وترفض ما عداها — فلا يبقى لك من هذا الكود إلا سؤال وجود العنصر.
أصلحت هذه — ولا تريد التالية

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

ابدأ مجانًا

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