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
أخرِج العنصر دائمًا
العنصر
cbc:TaxCurrencyCodeبالقيمةSAR، إلى جانبcbc:DocumentCurrencyCode، في كل مستند: فاتورة وإشعارًا دائنًا ومدينًا. واكتبه ثابتًا لا مشتقًا من إعدادات المنشأة — ففي الفاتورة السعودية لا شيء يُشتقّ هنا. -
2
ثم احمل ما يوجبه
بمجرد التصريح بـ BT-6 يلزم أن تطابقه بنية الضريبة: كتلة أولى بالتفصيل بعملة الفاتورة، وثانية تحمل مبلغ الضريبة بالريال بلا تفصيل بداخلها. وهذه الكتلة الثانية هي BR-KSA-EN16931-09، ودرجتها تحذير لا رفض، ولذلك تكون في الغالب أول ما تراه بعد إصلاح هذا الكود.
-
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 غير الريال؟ +
ZATCA Tools يبني التوقيع والبصمة والعدّاد والترميز عنك، ويتحقق من البيانات قبل الإرسال. مجاني بالكامل حاليًا، وبدون بطاقة ائتمانية.
ابدأ مجانًا