يفحص مطابق ملف XML للفاتورة الإلكترونية في المرحلة الثانية قبل إرساله: تحقق مسبق وفق متطلبات هيئة الزكاة والضريبة والجمارك المنشورة، لا اعتماداً من الهيئة. وتشرح هذه الصفحة قاعدة واحدة هي BR-45.
خمس عمليات فحص شهرياً في باقة المجان. يُفحص الملف في الذاكرة ولا يُحفظ.
الرسالة كما تنشرها هيئة الزكاة والضريبة والجمارك
[BR-45]-Each VAT breakdown (BG-23) shall have a VAT category taxable amount (BT-116).
فحوص أخرى تُذكر في التقرير نفسه
BR-CO-17
[BR-CO-17]-VAT category tax amount (BT-117) = VAT category taxable amount (BT-116) x (VAT category rate (BT-119) / 100), rounded to two decimals.
BR-E-08
[BR-E-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Exempt from VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Exempt from VAT".
BR-Z-08
[BR-Z-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Zero rated" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Zero Rated".
ما الذي يذكره مطابق
مدخل لكل حالة تُذكر فيها هذه القاعدة في التقرير.
صورة القيمة في التقرير
صورة القيمة التي وُجدت — empty وnot_15_digits وما شابههما — لا القيمة نفسها.
التفصيل الضريبي لا يذكر المبلغ الخاضع
صورة القيمة في التقريرtaxable_amount_missingالمبلغ الخاضع غير موجود
ما الخلل
أحد عناصر cac:TaxSubtotal الواقعة مباشرة تحت كتلة cac:TaxTotal الخاصة بالفاتورة، أي بند من بنود تفصيل ضريبة القيمة المضافة، لا يحمل العنصر cbc:TaxableAmount، أي المبلغ الخاضع للفئة الضريبية (BT-116). وتشترط القاعدة BR-45 من معيار EN 16931، التي تنفّذها أداة الفحص لدى هيئة الزكاة والضريبة والجمارك، هذا العنصر في كل بند من التفصيل على مستوى المستند، وترفض الهيئة المستند بموجبها: فالقاعدة مصنَّفة خطأً في ملفات قواعد التحقق المنشورة، وأداة الهيئة نفسها تعيد نتيجة إخفاق على مستند بهذه الحال. والفحص للوجود وحده، فالمبلغ الفارغ أو غير الرقمي تُرصد عليه ملاحظة أخرى، ومخطط XML لا يشترط العنصر، فالتصدير الذي يسقطه ينتج مستنداً سليم البنية ترفضه الهيئة. والتفصيل الضريبي الواقع داخل بند الفاتورة خارج نطاق هذه القاعدة. وتوقّع أن تذكر التفصيل نفسه القواعد التي تقارن المبلغ الخاضع بالبنود (BR-O-08 وBR-S-08 وBR-Z-08 وBR-E-08) وبمبلغ الضريبة (BR-CO-17)، لأن المبلغ الغائب لا يساوي شيئاً.
ما الذي تتحقق منه في وحدة الفوترة الإلكترونية
اكتب العنصر cbc:TaxableAmount في كل عنصر cac:TaxSubtotal من تفصيل ضريبة القيمة المضافة للمستند، بما في ذلك المجموعات الخاضعة بنسبة الصفر والمعفاة والخارجة عن نطاق الضريبة، بمنزلتين عشريتين وبالسمة currencyID نفسها التي تحملها بقية المبالغ. والسبب المعتاد تصدير يكبت عناصر المبالغ التي قيمتها صفر، وهو ما تقع فيه المجموعة الخاضعة بنسبة الصفر أو المعفاة بالضبط؛ فأصلح الكبت مرة واحدة تكتسب كل المجموعات العنصر.
الفحص الذي يُنفَّذ
منقول حرفياً من ملفات قواعد التحقق التي تنشرها الهيئة، عند الملف والسطر المذكورين أدناه. والتعبير المُنفَّذ هو ما يُقيَّم على المستند، أما التعبير المذكور في التقرير فهو ما يظهر عند الإخفاق، وهما لا يتطابقان دائماً.
التعبير المُنفَّذ
not(exists(cbc:TaxableAmount))
التعبير المذكور في التقرير
exists(cbc:TaxableAmount)
العناصر التي يُقيَّم عليها
/ubl:Invoice/cac:TaxTotal/cac:TaxSubtotal
المصدر
vendor/zatca/schematron/CEN-EN16931-UBL.xsl:1207
كما يرد في الإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها الهيئة: النسخة المقتبسة هنا هي الملف الذي يتضمنه ذلك الإصدار بايتاً ببايت. والتاريخ في اسم الملف هو الاسم الذي تعطيه الهيئة للملف، أما القواعد فيه فهي قواعد الإصدار 3.4.8.
مثال عملي
مستند اصطناعي من مجموعة الاختبار المقيسة تُرصد عليه هذه القاعدة، تُعرض منه الأسطر التي يختلف فيها عن مستند اجتاز الفحص. ولا يذكر تقرير مطابق سوى صورة القيمة، لا القيمة نفسها.