BR-CO-12: إجمالي الرسوم يجب أن يساوي مجموع رسوم مستوى المستند
في الإصدار 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()])))
قواعد قريبة
- BR-36 · يجب أن تحمل كل رسوم إضافية على مستوى المستند مبلغًا (BT-99)
- BR-CO-13 · الإجمالي دون الضريبة = البنود - الخصومات + الرسوم
- BR-E-08 · المبلغ الخاضع للفئة E يجب أن يطابق البنود والتعديلات المعفاة
- BR-KSA-EN16931-03 · مبلغ الخصم أو الرسم = المبلغ الأساسي × النسبة ÷ 100
- BR-O-08 · المبلغ الخاضع للضريبة للفئة O يطابق مجموع بنودها
- BR-S-08 · المبلغ الخاضع للضريبة للفئة S يطابق مجموع بنودها
افحص فاتورتك على قواعد الهيئة
الصق الـ XML وتشوف كل الأخطاء والتحذيرات، والفحص يصير في متصفحك وما ترسل الفاتورة لأي مكان.
افحص فاتورة أو جرّب ماثل