BR-KSA-40رقم التسجيل في ضريبة القيمة المضافة للبائع فارغ
يفحص مطابق ملف XML للفاتورة الإلكترونية في المرحلة الثانية قبل إرساله: تحقق مسبق وفق متطلبات هيئة الزكاة والضريبة والجمارك المنشورة، لا اعتماداً من الهيئة. وتشرح هذه الصفحة قاعدة واحدة هي BR-KSA-40.
خمس عمليات فحص شهرياً في باقة المجان. يُفحص الملف في الذاكرة ولا يُحفظ.
الرسالة كما تنشرها هيئة الزكاة والضريبة والجمارك
[BR-KSA-40]-If it exists in the invoice, the seller VAT registration number (BT-31) must contain 15 digits. The first and the last digits are "3"..
ما الذي يذكره مطابق
مدخل لكل حالة تُذكر فيها هذه القاعدة في التقرير.
صورة القيمة في التقرير
صورة القيمة التي وُجدت — empty وnot_15_digits وما شابههما — لا القيمة نفسها.
رقم التسجيل في ضريبة القيمة المضافة للبائع فارغ
صورة القيمة في التقريرemptyموجود لكنه فارغ
ما الخلل
البائع مسجَّل في النظام الضريبي VAT، والعنصر cbc:CompanyID الذي يحمل رقم تسجيل البائع في ضريبة القيمة المضافة BT-31 موجود لكنه لا يحمل قيمة. وتشترط هيئة الزكاة والضريبة والجمارك أن يكون هذا الرقم خمسة عشر رقماً يبدأ وينتهي بالرقم 3 بموجب القاعدة BR-KSA-40، والقيمة الفارغة لا تجتاز هذا الفحص. ويُلاحظ أن القاعدة نفسها تتصرف على نحو مختلف مع المشتري: فرقم المشتري الفارغ يُتجاوز، ورقم البائع الفارغ لا يُتجاوز.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
العنصر يُكتب والقيمة خلفه لا تُكتب، وهذا يعني عادةً أن الحقل فارغ في سجل المنشأة أو الفرع الذي يقرؤه التصدير لا أنه غائب من الربط. راجع رقم التسجيل في ضريبة القيمة المضافة المحفوظ على الجهة المُصدِرة، وعلى الفرع كذلك إن كان نظامك يحفظ رقماً لكل فرع، وتأكد من أن التصدير يقرأ الجهة التي أصدرت هذا المستند فعلاً.
رقم التسجيل في ضريبة القيمة المضافة للبائع ليس خمسة عشر رقماً
صورة القيمة في التقريرnot_15_digitsليس خمسة عشر رقماً
ما الخلل
رقم تسجيل البائع في ضريبة القيمة المضافة BT-31، الوارد في العنصر cbc:CompanyID تحت النظام الضريبي VAT للبائع، ليس خمسة عشر رقماً بالضبط. وترفضه هيئة الزكاة والضريبة والجمارك بموجب القاعدة BR-KSA-40 التي تشترط خمسة عشر رقماً لا غير؛ فالأقصر والأطول وأي محرف ليس رقماً كلها تخفق في الفحص نفسه.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
أرسل الأرقام الخمسة عشر وحدها: بلا مسافات ولا شرطات ولا بادئة VAT أو SA ولا فواصل تجميع. والأسباب الشائعة: رقم محفوظ بتنسيق للعرض ويُصدَّر كما هو محفوظ، وقيمة حُشيت أو بُترت إلى عرض عمود ثابت، وربط رقم السجل التجاري في هذا الحقل خطأً وهو رقم آخر من عشرة أرقام عادةً. صحّح ذلك في سجل المنشأة أو في الربط لا في الملف المصدَّر.
رقم التسجيل في ضريبة القيمة المضافة للبائع لا يبدأ بالرقم 3
صورة القيمة في التقريرfirst_digit_not_3لا يبدأ بالرقم 3
ما الخلل
رقم تسجيل البائع في ضريبة القيمة المضافة BT-31، الوارد في العنصر cbc:CompanyID تحت النظام الضريبي VAT للبائع، خمسة عشر رقماً لكنه لا يبدأ بالرقم 3. وكل رقم تسجيل سعودي في ضريبة القيمة المضافة يبدأ به، وترفض هيئة الزكاة والضريبة والجمارك ما لا يبدأ به بموجب القاعدة BR-KSA-40.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
الرقم المكوَّن من خمس عشرة خانة ويبدأ بغير ذلك هو في العادة معرِّف آخر رُبط بهذا الحقل: رقم سجل تجاري، أو معرِّف وطني، أو رمز حساب عميل. راجع رقم التسجيل في ضريبة القيمة المضافة المسجَّل على الجهة المُصدِرة في نظامك. وإن كان محفوظاً على نحو صحيح وظل التصدير يكتب غيره فالربط يقرأ الحقل الخطأ.
رقم التسجيل في ضريبة القيمة المضافة للبائع لا ينتهي بالرقم 3
صورة القيمة في التقريرlast_digit_not_3لا ينتهي بالرقم 3
ما الخلل
رقم تسجيل البائع في ضريبة القيمة المضافة BT-31، الوارد في العنصر cbc:CompanyID تحت النظام الضريبي VAT للبائع، خمسة عشر رقماً لكنه لا ينتهي بالرقم 3. وكل رقم تسجيل سعودي في ضريبة القيمة المضافة ينتهي به، وترفض هيئة الزكاة والضريبة والجمارك ما لا ينتهي به بموجب القاعدة BR-KSA-40.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
الخانة الأخيرة هي الأكثر عرضة للضياع أو التغيّر في طريق التصدير: قيمة بُترت إلى أربع عشرة خانة ثم حُشيت، أو رقم نُقل من مستند التفّ سطره، أو معرِّف مجموعة أُلحق مكان الخانة الأخيرة. قارن القيمة في الملف المصدَّر بشهادة التسجيل خانةً خانة. وإن كان نظامك يحفظ رقم مجموعة ورقماً لكل جهة فتأكد من أيِّ الرقمين يقرأ التصدير.
الفحص الذي يُنفَّذ
منقول حرفياً من ملفات قواعد التحقق التي تنشرها الهيئة، عند الملف والسطر المذكورين أدناه. والتعبير المُنفَّذ هو ما يُقيَّم على المستند، أما التعبير المذكور في التقرير فهو ما يظهر عند الإخفاق، وهما لا يتطابقان دائماً.
التعبير المُنفَّذ
not(matches(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, '^[0-9]{15}$') and starts-with(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, '3') and ends-with(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, '3'))
التعبير المذكور في التقرير
matches(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, '^[0-9]{15}$') and starts-with(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, '3') and ends-with(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, '3')
كما يرد في الإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها الهيئة: النسخة المقتبسة هنا هي الملف الذي يتضمنه ذلك الإصدار بايتاً ببايت. والتاريخ في اسم الملف هو الاسم الذي تعطيه الهيئة للملف، أما القواعد فيه فهي قواعد الإصدار 3.4.8.
مثال عملي
مستند اصطناعي من مجموعة الاختبار المقيسة تُرصد عليه هذه القاعدة، تُعرض منه الأسطر التي يختلف فيها عن مستند اجتاز الفحص. ولا يذكر تقرير مطابق سوى صورة القيمة، لا القيمة نفسها.