Only one tax total (BG-22) with tax subtotals must be provided.Refer to Calculation of VAT.
ماذا يعني هذا؟
هذه توأم BR-KSA-EN16931-09، لكنها تعدّ النوع الآخر من الكتل. مع التصريح بعملة الاحتساب يحمل المستند كتلتي cac:TaxTotal: كتلة مفصَّلة فيها مبلغ الضريبة الإجمالي وcac:TaxSubtotal لكل فئة ضريبية بعملة الفاتورة، وكتلة خالية من التفصيل تحمل مبلغ الضريبة الإجمالي بالريال وحده. تلك القاعدة تريد كتلة خالية واحدة بالضبط، وهذه تريد كتلة مفصَّلة واحدة بالضبط.
وكل الفئات تدخل تلك الكتلة الواحدة. فالرسالة تحيل إلى «Calculation of VAT»، وهو قسم حساب الضريبة في معيار تنفيذ XML الذي تنشره الهيئة، ويطلب تفصيلًا واحدًا لكل توليفة مميَّزة من رمز الفئة والنسبة، ومثاله المحلول يضع تفصيل الفئة الأساسية وتفصيل الفئة المعفاة متجاورين داخل cac:TaxTotal واحدة. فالفئة الثانية cac:TaxSubtotal ثانٍ، لا كتلة إجمالي ثانية.
والكتلة المقصودة هي التي تقع مباشرة تحت الفاتورة: المعيار نفسه يذكر موضع هذه القاعدة /ubl:Invoice/cac:TaxTotal/cac:TaxSubtotal، وقاموس البيانات يربطها بإجمالي ضريبة الفاتورة (BT-110) وبإجماليها بعملة الاحتساب (BT-111). أما cac:TaxTotal داخل كل بند فعنصر آخر، يحمل ضريبة البند (KSA-11) وإجماليه شاملًا الضريبة (KSA-12).
ودرجته في المخطط تحذير: المستند يُقبل ويُسجَّل التحذير معه.
لماذا يحدث؟
مرتّبة من الأشيع إلى الأقل شيوعًا — الأرجح أن سببك في الأول أو الثاني.
-
كتلة
cac:TaxTotalلكل فئة ضريبية: فاتورة فيها بنود خاضعة وبنود صفرية تخرج بكتلتين في كلٍّ منهما تفصيل واحد، بدل كتلة واحدة فيها تفصيلان. - التفصيل منسوخ إلى كتلة الريال كذلك — كأن يحدث ذلك أثناء إضافة تلك الكتلة لإصلاح BR-KSA-EN16931-09 — فتحمل الكتلتان تفصيلًا ولا تبقى كتلة خالية، ويصل الكودان معًا.
-
نسبة واحدة مكتوبة بصيغتين،
15في بند و15.00في آخر، تُجمَّع فئتين وتأخذ كلٌّ منهما كتلة. والمعيار صريح في أن الأصفار اللاحقة لا تقسم التفصيل. -
كتلة ضريبة المستند مكتوبة داخل الحلقة التي تمرّ على البنود، فيكسب المستند كتلة مفصَّلة لكل بند في مستواه هو، بدل كتلة داخل كل
cac:InvoiceLine. - إشعار دائن أو مدين يُجمَّع بإلحاق كتلة ضريبة الفاتورة الأصلية بكتلة الإشعار نفسه.
كيف تصلحه
4 خطوات، ثم أعد إرسال الفاتورة.
-
1
جمّع البنود ثم اكتب كتلة مفصَّلة واحدة
جمّع حسب رمز الفئة والنسبة — و
15و15.00مجموعة واحدة — واكتبcac:TaxTotalواحدة فيها مبلغ الضريبة الإجمالي وcac:TaxSubtotalلكل مجموعة، بمبلغها الخاضع ومبلغ ضريبتها وcac:TaxCategoryالخاصة بها. وحروف الفئات في BR-KSA-18. -
2
أبقِ كتلة الريال خالية
الكتلة الأخرى
cac:TaxTotalفيهاcbc:TaxAmountبالخاصيةcurrencyID="SAR"، ولاcac:TaxSubtotalفيها. فإن دخلتها نسخة من التفصيل فاحذفها: خلوّها من التفصيل هو وظيفتها، وقاعدتها BR-KSA-EN16931-09. -
3
اشتقّ الإجمالي من التفاصيل
معيار تنفيذ XML يعرّف إجمالي ضريبة الفاتورة بأنه مجموع مبالغ ضريبة الفئات. فاجمع التفاصيل التي كتبتها للتو بدل حساب الإجمالي في مسار مستقل، فتتسق الكتلة المفصَّلة مع نفسها بحكم البناء.
-
4
وافحص مسار الإشعارات وحده
إن كانت الإشعارات الدائنة والمدينة تُبنى في كود غير كود الفواتير فاختبره منفصلًا: إشعار يُلحق كتلة ضريبة الفاتورة بكتلته يسقط هنا والفواتير كلها سليمة. وتفصيل الإشعارات في الإشعارات الدائنة والمدينة.
هذا الكود لا يمنع القبول، فالفاتورة الحالية نظامية. صحّح البيانات لتختفي التحذيرات من الفواتير القادمة.
هل يمنعه ZATCA Tools؟
نعم، بحكم البناء. مُولِّد الحمولة يضع تفاصيل ضريبة المستند كلها — تفصيلًا لكل فئة — داخل إجمالي ضريبة واحد، ومكتبة الـ XML تكتب ذلك كتلة cac:TaxTotal واحدة فيها التفاصيل، وإلى جانبها كتلة خالية تحمل المبلغ نفسه بالريال. وقرأنا المخرَج بأنفسنا ولم نكتفِ بالنيّة: مستند يخلط بنودًا خاضعة وبنودًا صفرية يخرج بكتلة مفصَّلة واحدة فيها تفصيلان، وكتلة خالية واحدة. ولا تقبل شاشة ولا حقل في الـ API ولا تكامل متجر إجماليَّ ضريبة أو تفصيلًا أو مبلغ ضريبة من الخارج؛ الكتلتان محسوبتان من البنود.
أكواد لها علاقة
أسئلة شائعة
هل رُفضت فاتورتي بسبب هذا الكود؟ +
فاتورتي فيها بنود خاضعة وبنود صفرية — أليس الصحيح كتلتين؟ +
cac:TaxSubtotal خاصًا بها داخل الكتلة المفصَّلة الواحدة، وهكذا بُني المثال المحلول في معيار تنفيذ XML تمامًا. أما الكتلة الثانية التي يحملها مستندك فعلًا فهي كتلة الريال الخالية.بنود ملفي يحمل كلٌّ منها TaxTotal — هل تُحسب؟ +
/ubl:Invoice/cac:TaxTotal/cac:TaxSubtotal. أما cac:TaxTotal الخاصة بالبند فعنصر آخر مكانه داخل cac:InvoiceLine، بل إن بند الدفعة المقدمة يحمل فيها تفصيلًا خاصًا به عن قصد (KSA-31 وKSA-32). والذي نقرؤه من المخطط المُصرَّف نص كل قاعدة ودرجتها لا شرط تنفيذها، فلا نستطيع أن نريك الفحص نفسه؛ والملف الذي يحمل في مستوى الفاتورة كتلة مفصَّلة واحدة بالضبط هو الشكل الذي تصفه الرسالة.أضفت كتلة الريال لإصلاح BR-KSA-EN16931-09 فظهر هذا — ماذا حدث؟ +
cac:TaxSubtotal من النسخة، فيصير في الملف كتلة من كل نوع.ZATCA Tools يبني التوقيع والبصمة والعدّاد والترميز عنك، ويتحقق من البيانات قبل الإرسال. ابدأ مجانًا، وبدون بطاقة ائتمانية.
ابدأ مجانًا