BR-DEC-15مبلغ ضريبة بعملة المحاسبة مكتوب بأكثر من منزلتين عشريتين

يفحص مطابق ملف XML للفاتورة الإلكترونية في المرحلة الثانية قبل إرساله: تحقق مسبق وفق متطلبات هيئة الزكاة والضريبة والجمارك المنشورة، لا اعتماداً من الهيئة. وتشرح هذه الصفحة قاعدة واحدة هي BR-DEC-15.

افحص 5 فواتير مجاناً

خمس عمليات فحص شهرياً في باقة المجان. يُفحص الملف في الذاكرة ولا يُحفظ.

الرسالة كما تنشرها هيئة الزكاة والضريبة والجمارك

[BR-DEC-15]-The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.

ما الذي يذكره مطابق

مدخل لكل حالة تُذكر فيها هذه القاعدة في التقرير.

صورة القيمة في التقرير
صورة القيمة التي وُجدت — empty وnot_15_digits وما شابههما — لا القيمة نفسها.

مبلغ ضريبة بعملة المحاسبة مكتوب بأكثر من منزلتين عشريتين

صورة القيمة في التقريرmore_than_two_decimalsأكثر من منزلتين عشريتين

ما الخلل

العنصر cbc:TaxAmount الواقع مباشرةً داخل كتلة cac:TaxTotal، والذي توافق سمته currencyID رمز عملة الضريبة المعلن في العنصر cbc:TaxCurrencyCode، يحمل أكثر من محرفين بعد أول نقطة فيه، وترصد هيئة الزكاة والضريبة والجمارك ذلك بموجب القاعدة BR-DEC-15 من معيار EN 16931، وتصنّفه تحذيراً لا خطأً، فالتحذير وحده لا يؤدي إلى رفض المستند. والعنصر الذي تسمّيه الرسالة هو الحقل BT-111، أي إجمالي ضريبة القيمة المضافة للفاتورة معاداً ذكره بعملة المحاسبة التي يمسك بها البائع دفاتره. ويتبع ذلك أمران يحسن العلم بهما قبل البحث. الأول أن المستند الذي لا يعلن عملة ضريبة أصلاً لا يطابق نمطَ هذه القاعدة شيء فيه، فلا يمكن أن تُرصد عليه، ورصدها يعني أن عملة الضريبة معلنة في الملف. والثاني أن عملة الضريبة في الفاتورة السعودية هي في الغالب رمز عملة المستند نفسه، فيكون عنصر واحد موافقاً لنمط هذه القاعدة ولنمط القاعدة BR-DEC-13 معاً وتُرصد القاعدتان على رقم واحد: ملاحظتان وخلل واحد. وكما في القاعدة BR-DEC-13، النمط غير مقيَّد بأعلى المستند: فكتلة cac:TaxTotal الواقعة داخل عنصر cac:InvoiceLine مطابَقة كذلك، فمبلغ ضريبة بندٍ مكتوب بثلاث منازل يُرصد هنا وإن كانت الرسالة تسمّي إجمالي الفاتورة. وتعدّ القاعدة المحارف الواقعة بعد أول نقطة في نص العنصر ولا تحكم على مقدار القيمة، فالقيمة المكتوبة بثلاث منازل تخفق ولو كان الرقم الثالث صفراً، والقيمة التي لا نقطة فيها تجتاز مهما كان مقدارها، والعنصر الغائب أو الخالي يجتاز كذلك.

ما الذي تتحقق منه في وحدة الفوترة الإلكترونية

ابدأ بتحديد أيّ الرقمين بين يديك، فالمعالجة تختلف. فإن كانت عملة الضريبة وعملة المستند رمزاً واحداً فهذا هو الخلل الذي تصفه القاعدة BR-DEC-13 وعلاجه هناك: قرِّب مبلغ ضريبة كل بند مرة واحدة ثم اجمع القيم المقرَّبة. وإن اختلفت العملتان حقاً فمبلغ عملة المحاسبة مبلغ محوَّل، والتحويل هو ما يُنتج الكسر الطويل، إذ إن سعر تحويل بأربع منازل أو بستّ مطبَّقاً على مبلغ ذي منزلتين قلّما ينتهي إلى منزلتين. قرِّب بعد التحويل، وحوِّل الإجمالي بدل أن تحوِّل رقماً قُرِّب في موضع آخر، ليكون المطبوع هو ما تحمله الدفاتر. وتحقّق كذلك من أن السمة currencyID على كل مبلغ هي التي تقصدها، فالمبلغ الذي يوسَم بعملة الضريبة من قالب يثبّتها تثبيتاً هو طريق شائع لوقوع رقم عادي تحت هذه القاعدة.

الفحص الذي يُنفَّذ

منقول حرفياً من ملفات قواعد التحقق التي تنشرها الهيئة، عند الملف والسطر المذكورين أدناه. والتعبير المُنفَّذ هو ما يُقيَّم على المستند، أما التعبير المذكور في التقرير فهو ما يظهر عند الإخفاق، وهما لا يتطابقان دائماً.

التعبير المُنفَّذ

not((string-length(substring-after(.,'.'))<=2))

التعبير المذكور في التقرير

(string-length(substring-after(.,'.'))<=2)
العناصر التي يُقيَّم عليها
ubl:Invoice/cac:TaxTotal/cbc:TaxAmount[@currencyID = //cbc:TaxCurrencyCode]
المصدر
vendor/zatca/schematron/CEN-EN16931-UBL.xsl:1780

كما يرد في الإصدار 3.4.8 من حزمة أدوات التطوير SDK التي تنشرها الهيئة: النسخة المقتبسة هنا هي الملف الذي يتضمنه ذلك الإصدار بايتاً ببايت. والتاريخ في اسم الملف هو الاسم الذي تعطيه الهيئة للملف، أما القواعد فيه فهي قواعد الإصدار 3.4.8.

مثال عملي

مستند اصطناعي من مجموعة الاختبار المقيسة تُرصد عليه هذه القاعدة، تُعرض منه الأسطر التي يختلف فيها عن مستند اجتاز الفحص. ولا يذكر تقرير مطابق سوى صورة القيمة، لا القيمة نفسها.

الأسطر التي يختلف فيها عن مستند اجتاز الفحص

  • هذا المثال
  • مستند اجتاز الفحص
<cbc:InvoiceTypeCode name="0100000">388</cbc:InvoiceTypeCode><cbc:DocumentCurrencyCode>SAR</cbc:DocumentCurrencyCode>هذا المثال: <cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode>مستند اجتاز الفحص: <cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode><cac:AdditionalDocumentReference>  <cbc:ID>ICV</cbc:ID>⋯</cac:TaxTotal><cac:TaxTotal>هذا المثال:   <cbc:TaxAmount currencyID="USD">15.000</cbc:TaxAmount>مستند اجتاز الفحص:   <cbc:TaxAmount currencyID="SAR">15.00</cbc:TaxAmount></cac:TaxTotal><cac:LegalMonetaryTotal>
المستند
bad-101-total-vat-accounting-currency-decimals.xml
ما حكم به مطابق
لم يجتز
صورة القيمة في التقرير
more_than_two_decimalsأكثر من منزلتين عشريتين

نزّل هذا المثال (.xml)افحصه في مطابق

مثال هذه الصفحة، يُفحص بالقواعد نفسها التي يمر بها ملفك عند الرفع. بلا رفع وبلا تسجيل دخول.

قواعد تُقيَّم على الموضع نفسه من المستند، وكثيراً ما تُرصد عدة قواعد منها معاً بسبب قيمة واحدة خاطئة.

افحص فاتورة

افحص فاتورتك

© 2026 Hayatiq AI Solutions F.Z.E. جميع الحقوق محفوظة.