BR-KSA-80: المبلغ المدفوع مسبقًا يساوي مجموع مبالغ الدفعات وضريبتها

الشرح من فريق ماثل، مبني على نص قواعد الهيئة والشرط اللي ينفّذه SDK 3.4.8 · آخر تحديث

تحذير: الفاتورة تنقبل مع تحذيربشرط، شوف الشرحالحقول: BT-113, KSA-31, KSA-32

يجب أن يساوي cac:LegalMonetaryTotal/cbc:PrepaidAmount (BT-113)، مقرّبًا إلى خانتين، مجموع كل cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount (KSA-31) على مستوى الأسطر مضافًا إليه مجموع cbc:TaxAmount (KSA-32). ويُصدر الفحص الفعلي التحذير أيضًا إذا وُجدت هذه التفاصيل على مستوى السطر بينما PrepaidAmount صفر أو غير موجود، وإذا كان PrepaidAmount غير صفري والمجموعان موجبين وكان أي cac:DocumentReference/cbc:DocumentTypeCode في الأسطر غير 386.

كيف تحلها

اجعل cbc:PrepaidAmount مساويًا لمجموع TaxableAmount و TaxAmount في أسطر الدفعات المقدمة (مثال: 1000 + 150 تعطي <cbc:PrepaidAmount currencyID="SAR">1150.00</cbc:PrepaidAmount>)، واستخدم DocumentTypeCode = 386 في تلك الأسطر، ولا تضع cac:TaxSubtotal على مستوى السطر إلا عند وجود دفعة مقدمة.

نص الهيئة الرسمي

[BR-KSA-80] - The Pre-Paid amount (BT-113) must be equal to the sum total of the Prepayment VAT category Taxable Amount (KSA-31) and the Prepayment VAT Category Tax Amount (KSA-32).
المصدر: ZATCA SDK 3.4.8 · ZATCA KSA rules

متى تفشل (الشرط اللي ينفّذه SDK الهيئة)

(($prepaid-amount = 0 or not($prepaid-amount-exists)) and (($taxable-amount-exists) or ($tax-amount-exists))) or (($prepaid-amount != 0 ) and ($taxable-amount-sum > 0) and ($tax-amount-sum > 0) and $any-document-type-code-not-386 ) or (format-number($prepaid-amount, '#.00') != format-number($total-tax-amount, '#.00'))

قواعد قريبة

افحص فاتورتك على قواعد الهيئة

الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.

افحص فاتورة أو جرّب ماثل