BR-CO-12: إجمالي الرسوم يجب أن يساوي مجموع رسوم مستوى المستند

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

خطأ: الفاتورة تنرفضكل الفواتيرالحقول: BT-108, BT-99

في الإصدار SDK 3.4.8 يقارن الفحص الفعلي قيمة cac:LegalMonetaryTotal/cbc:ChargeTotalAmount (BT-108) بمجموع cbc:Amount (BT-99) لعناصر cac:AllowanceCharge على مستوى المستند التي فيها cbc:ChargeIndicator = true، مقرّباً إلى منزلتين عشريتين؛ وينجح إذا غاب الاثنان، ويفشل إذا وُجد ChargeTotalAmount فارغاً. نص الاختبار المدرج في القاعدة نسخة من معادلة الخصومات (BR-CO-11) ولا يطابق الرسالة الرسمية.

كيف تحلها

اجعل cbc:ChargeTotalAmount مساوياً لمجموع مبالغ رسوم مستوى المستند بعد التقريب، أو احذف العنصر كلياً إذا لم توجد رسوم على مستوى المستند (لا تتركه فارغاً).

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

[BR-CO-12]-Sum of charges on document level (BT-108) = Σ Document level charge amount (BT-99).
المصدر: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules

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

not(xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()])))

قواعد قريبة

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

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

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