فاتورة فيها بند خاضع وبند معفى في نظام الفوترة الوطني هي فاتورة ضريبة مبيعات عامة واحدة يحمل أحد بنودها الفئة S بنسبة غير الصفر، ويحمل بند آخر منها الفئة Z بنسبة 0. والدليل التقني الذي نشرته دائرة ضريبة الدخل والمبيعات يورد هذه الحالة نفسها مثالًا لفاتورة المبيعات العامة في إصداره 1.5، فيجمع في ملف واحد بندًا وصفه «مثال على سلعة خاضعة للضريبة» وبندًا وصفه «مثال على سلعة معفية من الضريبة».
يتتبع هذا المقال ذلك المثال عنصرًا عنصرًا. يبدأ بالقيم التي يحتاجها نظام البائع لكل بند، ثم يكتب عناصر البند الخاضع بترتيبها في ملف XML، ثم يبيّن ما يتغير في البند المعفى وما يبقى كما هو، ثم يصعد إلى رأس الفاتورة ليشرح من أين يأتي كل مجموع وأين يدخل البند المعفى فيه. أما تعريف الفئات الثلاث والفرق بين Z وO ففي مقال فئات الضريبة S وZ وO في نظام الفوترة الوطني، وأما الرفض الذي يقع حين لا تتطابق المجاميع ففي مقال رسالة Total General Amount is Not Correct.
كل رقم في هذا المقال مأخوذ من مثال الدليل في الصفحات 40 و42 و43 و44، ولم نضف إليه بندًا ولا نسبة. والنسبة 7% فيه هي القيمة التي اختارها الدليل للمثال، أما النسبة التي تنطبق على سلعة أو خدمة بعينها فيحددها قانون الضريبة العامة على المبيعات، لا هذا المثال.
كيف تُبنى فاتورة فيها بند خاضع وبند معفى في نظام الفوترة الوطني
يقوم المثال على قاعدة واحدة، وهي أن فئة الضريبة ونسبتها تُكتبان داخل كل بند، لا على مستوى الفاتورة. فكل عنصر cac:InvoiceLine يحمل كتلة cac:TaxTotal خاصة به، وفيها الفئة في الحقل cbc:ID بالمخطط UN/ECE 5305، والنسبة في الحقل cbc:Percent. لذلك لا يحمل الملف حقلًا يصف الفاتورة كلها بأنها خاضعة أو معفاة، بل يصف كل بند نفسه.
أما رأس الفاتورة فلا يكرر الفئات. فهو يجمع ما في البنود في مجاميع، أهمها مجموع ضريبة المبيعات العامة في cac:TaxTotal، والمجاميع النقدية في cac:LegalMonetaryTotal. ويوضح الجدول التالي ما يُكتب في كل مستوى من مستويات الملف.
وقبل البنود يحدد رأس الفاتورة نوعها في العنصر cbc:InvoiceTypeCode. فالرمز المكتوب في الخاصية name من ثلاثة أرقام، أولها نوع التعامل وهو 0 للفاتورة المحلية، وثانيها طريقة الدفع، وثالثها نوع الضريبة وهو 2 لضريبة المبيعات العامة. والرقم الأول هو الذي يعنينا هنا. فالدليل ينص في الصفحة 42 على أنه «في حال كان نوع الفاتورة تصدير أو مناطق تنموية أو ترانزيت أو تجارة خارجية أو تنازل داخل المنطقة الحرة يشترط أن تكون نسبة الضريبة 0% وتعبأ القيمة O لجميع السلع». فهذه الأنواع الخمسة لا تحمل بندًا بالفئة S، ويبقى الجمع بين بند S وبند Z من شأن الفاتورة المحلية.
القيم التي يحتاجها كل بند قبل كتابة ملف XML
يحتاج نظام البائع إلى خمس قيم لكل بند حتى يكتب عناصره. ثلاث منها رقمية، وهي الكمية وسعر الوحدة قبل الضريبة والخصم. واثنتان ضريبيتان، وهما الفئة والنسبة. وكل مبلغ آخر في البند محسوب من هذه القيم الخمس، وهذه قيم المثال.
والقيود على هذه القيم واحدة في البندين، لأن الدليل يضعها في جدول البند الذي يُملأ لكل بند. فالكمية «عدد صحيح او عدد عشري شريطة ان تكون اكبر من 0» حتى تسع خانات عشرية، والخصم «بالموجب فقط» حتى تسع خانات عشرية. أما سعر الوحدة فلا يكتب الدليل تحته في جدول فاتورة المبيعات العامة قيدًا، وإنما يرد هذا القيد نفسه تحت سعر الوحدة في جدول فاتورة الدخل. ووحدة القياس في المثال PCE، ولا يورد الدليل قائمة بوحدات غيرها. وتفصيل كل عنصر من هذه العناصر وقيده في مقال بنود الفاتورة InvoiceLine في نظام الفوترة الوطني.
البند الأول بالفئة S عنصرًا عنصرًا
يفتتح الدليل البند الأول بعبارة «بداية (السلعة أو الخدمة) الأولى»، ويضع بجانبه «مثال على سلعة خاضعة للضريبة». وتأتي عناصره في الملف بالترتيب الذي في الجدول، مع مصدر كل قيمة.
مرِّر الجدول أفقيًا لعرض بقية الأعمدة

في هذا البند ثلاث ملاحظات. الأولى أن قيمة الضريبة تُكتب مرتين، مرة في cac:TaxTotal ومرة في cac:TaxSubtotal، والقيمتان متساويتان في المثال. والثانية أن العنصر cbc:TaxableAmount لا يرد في قالب فاتورة المبيعات العامة الجديدة، مع أنه يرد في قوالب الإرجاع والضريبة الخاصة، فلا يُكتب المبلغ الخاضع للضريبة هنا في عنصر مستقل. والثالثة أن الخصم يُطرح قبل حساب الضريبة، فالنسبة تُطبق على المبلغ بعد الخصم وهو 64.00.
البند الثاني بالفئة Z وما الذي يتغير فيه
يفتتح الدليل البند الثاني بعبارة «بداية (السلعة أو الخدمة) الثانية»، ويضع بجانبه «مثال على سلعة معفية من الضريبة». وبنيته هي بنية البند الأول نفسها عنصرًا بعنصر، ولا يختلف فيه إلا ما يحمل القيم. ويضع الجدول التالي البندين متقابلين.
مرِّر الجدول أفقيًا لعرض بقية الأعمدة

أهم ما في هذا البند أنه يحتفظ بكتلة cac:TaxTotal كاملة، بقيم صفرية. فالبند المعفى في فاتورة المبيعات العامة ليس بندًا بلا كتلة ضريبة في هيكل الملف، وإنما بند ضريبته صفر وفئته Z. وهذا يختلف عن فاتورة الدخل، التي لا تحمل بنودها كتلة TaxTotal أصلًا. ولا يذكر الدليل هذه الكتلة ضمن الحقول الاختيارية في تظليل قوالبه، والمثال نفسه يُبقيها في البند المعفى. وطريقة قراءة التظليل في مقال الحقول الإجبارية والاختيارية في نظام الفوترة الوطني.
وخصم هذا البند في المثال 0.00، إذ يُبقي المثال كتلة الخصم في العنصر cac:Price بقيمة صفرية، فقيمته 50.00 تساوي 10 × 5، ومجموع الخصم في رأس الفاتورة 2.000 هو خصم البند الأول وحده. ويبقى رمز المخطط VAT في البند المعفى كما هو، فالذي يدل على الإعفاء هو الفئة Z لا المخطط. ونسبة 0 مع الفئة Z مقبولة في جدول الدليل، والممنوع بنص رسالة الخطأ في الدليل أن تأتي نسبة 0% مع الفئة S، وتفصيل هذه الرسالة في مقال رسالة General tax percentage must be zero.
معادلات البند كما يكتبها الدليل
يكتب الدليل تحت كل مبلغ في البند معادلته. وهي ثلاث معادلات تُطبق على البندين دون تمييز بين الفئات، والفرق في النتيجة يأتي من النسبة وحدها.

ويكرر الدليل تحت كل معادلة ملاحظة التقريب نفسها، ونصها «يمكن التقريب لغاية (3) خانات عشرية وبحد أعلى (9) خانات عشرية بحيث أن الفرق يكون أقل من أو يساوي (0.001)». ويلاحظ في المثال أن مبالغ البنود مكتوبة بخانتين عشريتين، مثل 4.48 و68.48، وأن مجاميع الرأس مكتوبة بثلاث خانات، مثل 4.480 و118.480. ولا يشرح الدليل هذا الاختلاف، فنسجله كما ورد دون تفسير.
رأس الفاتورة وأين يدخل فيه البند المعفى
يكتب الدليل معادلات مجاميع الفاتورة في الصفحة 39، ويعرض مثالها في الصفحة 40 في ثلاث كتل. الأولى خصم الفاتورة في cac:AllowanceCharge، والثانية مجموع الضريبة في cac:TaxTotal، والثالثة المجاميع النقدية في cac:LegalMonetaryTotal.

مرِّر الجدول أفقيًا لعرض بقية الأعمدة
يتضح من الجدول أن البند المعفى يغيب عن مجموع الضريبة وحده، ويحضر في كل مجموع نقدي. ويلاحظ أن TaxExclusiveAmount يُحسب قبل الخصم، فهو مجموع الكمية × السعر في البندين قبل طرح خصم البند الأول. ويلاحظ أيضًا أن cac:TaxTotal في رأس الفاتورة يحمل في المثال قيمة واحدة هي 4.480، دون تفصيل لكل فئة. فالفئتان S وZ لا تظهران في الرأس، ويظهر أثرهما في المجموع فقط.
ويشترط الدليل أن يساوي خصم الرأس في AllowanceCharge وAllowanceTotalAmount كلاهما مجموع خصومات البنود. فلا يقبل النظام خصمًا مستقلًا على مستوى الفاتورة، وإن كان نظامك يخصم من الفاتورة كلها فعليه أن يوزع الخصم على البنود قبل الإرسال. ولا يحدد الدليل طريقة لهذا التوزيع. غير أن معادلة الضريبة في البند تبيّن أثره في الفاتورة التي تجمع الفئتين، فالخصم الذي يقع على بند S يُنقص أساس ضريبته، والخصم الذي يقع على بند Z لا يغير ضريبة قيمتها صفر.
ثلاثة فحوص لمجاميع فاتورة تجمع الفئتين
قبل إرسال فاتورة فيها بنود من فئتين، أجرِ ثلاثة فحوص قصيرة على مجاميعها. وكلها مأخوذة من معادلات الدليل، وأرقامها من مثاله.
- فحص الضريبة. اجمع ضريبة البنود ذات الفئة S، ثم أضف إليها بنود Z بقيمة صفر. ففي المثال 4.48 + 0.00 = 4.480، وهي قيمة
cac:TaxTotalفي الرأس. وإن ظهرت ضريبة على بند Z فالخطأ في نسبته أو في فئته. - فحص المبالغ قبل الضريبة. تأكد أن بنود Z داخلة في
TaxExclusiveAmount. ففي المثال 66 + 50 = 116.000، وإن جاء المجموع 66 وحده فقد سقط البند المعفى منه. - فحص المبلغ المستحق. احسبه بطريقتين. الأولى جمع
RoundingAmountفي البنود، أي 68.48 + 50.00. والثانية 116.000 − 2.000 + 4.480. والنتيجة في الطريقتين 118.480، وهي مطابقة حسابية للتحقق، لا معادلة ينص عليها الدليل لهذا العنصر.
وإن لم تتطابق المجاميع فقد تعيد الواجهة رسالة من نوع Total General Amount is Not Correct. وأسباب هذه الرسالة وطريقة إصلاحها وإعادة الإرسال بعدها مشروحة في مقال رسالة Total General Amount is Not Correct في نظام الفوترة الوطني.
أخطاء تخص الجمع بين بند خاضع وبند معفى
هذه أخطاء يرتبط كل منها بوجود فئتين في فاتورة واحدة، مع ما يقوله الدليل في كل منها.
إرجاع بند من فاتورة تجمع الفئتين
لا تُعدّل الفاتورة بعد قبولها، وتُصحح بفاتورة إرجاع. والإرجاع في الدليل على الكميات فقط، ولا يتجاوز الكمية المبيعة في الفاتورة الأصلية. ويشترط الدليل أن يأتي رقم البند واسمه وسعر الوحدة في فاتورة الإرجاع «كما هو في الفاتورة الاصلية»، ولهذا يلزمك حفظ رقم كل بند في الفاتورة التي تجمع الفئتين، لأن بنود الإرجاع تطابق بنود الأصل بأرقامها.
وللبند الأول في المثال خصم، فإن أُرجع جزء من كميته طُبقت قاعدة الدليل في الخصم، ونصها «اذا كان الارجاع لكامل كمية السلعة او الخدمة فيجب وضع الخصم (إن وجد) كاملا، أما اذا كان الارجاع لجزء من الكمية فيجب ان يكون الخصم (إن وجد) جزء من الخصم الكلي للسلعة او الخدمة حسب الكمية المرجعة». ولا يورد الدليل معادلة لهذا الجزء.
ويلاحظ في مثال فاتورة الإرجاع العامة في الدليل (ص47 و55 و56) أنه لا يطابق الفاتورة الأصلية التي شرحناها، إذ يحوّل البند المعفى Z إلى الفئة S. فلا يصلح هذا المثال مرجعًا لفئة البند المعفى عند إرجاعه، ولا تنسخه كما هو.
قائمة فحص قبل إرسال فاتورة فيها بند خاضع وبند معفى في نظام الفوترة الوطني
- نوع الفاتورة في
cbc:InvoiceTypeCodeمحلي، ورقمه الأخير 2 لضريبة المبيعات العامة. - لكل بند رقم
cbc:IDمختلف عن غيره، ومحفوظ لديك لاستعماله في الإرجاع. - كل بند خاضع يحمل الفئة S ونسبة من القيم التي تقبلها الواجهة غير الصفر.
- كل بند معفى يحمل الفئة Z ونسبة 0، وكل بند خاضع لنسبة الصفر يحمل O.
- البند المعفى يحتفظ بكتلة
cac:TaxTotalبقيم صفرية، كما في المثال. LineExtensionAmountفي كل بند يساوي الكمية × السعر ناقص خصم البند.- ضريبة الرأس تساوي مجموع ضريبة البنود، وبنود Z تضيف إليه صفرًا.
TaxExclusiveAmountوPayableAmountيشملان البنود المعفاة بقيمها الكاملة.- خصم الرأس في
AllowanceChargeوAllowanceTotalAmountيساوي مجموع خصومات البنود. - الفرق في كل مبلغ بعد التقريب لا يتجاوز 0.001.
كيف يبني قيود فاتورة تجمع بنودًا بفئات مختلفة
حين تُصدر الفاتورة من برنامج محاسبي مربوط بالنظام، لا تكتب عناصر كل بند بيدك في ملف XML. يبني قيود ملف الفاتورة بصيغة UBL 2.1 مع معرّفها الفريد، ويرسله إلى نظام الفوترة الوطني دون أي تدخل يدوي، عبر تكامل قيود مع نظام الفوترة الوطني.
- فحص قبل الإرسال. يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها، وهي الرقم الضريبي، ونوع المستند وطريقة الدفع، ونسبة ضريبة المبيعات العامة، واكتمال البنود، وينبهك بأي خطأ قبل إرسالها لتقليل حالات الرفض.
- حالة كل فاتورة أمامك. تعيد الدائرة حالة الفاتورة ورسالة الخطأ، ويعرضها قيود في لوحة الحالة.
- إعادة إرسال بالمعرّف نفسه. تعرض لوحة الحالة الفواتير التي لم تُرسل وتحتاج إلى إعادة إرسال، وتُعاد بمعرّف UUID نفسه.
والفحص المسبق تنبيه لا ضمان. فهو يغطي الحقول الأربعة المذكورة، ويبقى قبول الفاتورة قرارًا لنظام الفوترة الوطني وحده. وللصورة الكاملة عن النظام، اقرأ مقال نظام الفوترة الوطني الإلكتروني في الأردن، أو تعرّف على قيود ونظام الفوترة الوطني.
فوترة إلكترونية ومحاسبة متكاملة في نظام واحد
ينبهك قيود بأي خطأ في حقول الفاتورة، ومنها نسبة ضريبة المبيعات العامة واكتمال البنود، قبل إرسالها إلى نظام الفوترة الوطني، ويعرض حالة كل فاتورة في لوحة الحالة.
الأسئلة الشائعة
هل يقبل الدليل التقني فاتورة فيها بند خاضع وبند معفى؟
يورد الدليل التقني هذه الحالة نفسها مثالًا لفاتورة المبيعات العامة، إذ يجمع بندًا بالفئة S ونسبة 7 وبندًا بالفئة Z ونسبة 0 في فاتورة واحدة. فالفئة والنسبة تُكتبان لكل بند على حدة، لا للفاتورة كلها.
هل يحتاج البند المعفى إلى كتلة TaxTotal؟
يُبقي مثال الدليل كتلة TaxTotal في البند المعفى بقيم صفرية، فقيمة الضريبة 0.00 والإجمالي شامل الضريبة 50.00. ولا يذكر الدليل هذه الكتلة ضمن الحقول الاختيارية في تظليل قوالبه.
كيف يُحسب مجموع الضريبة في رأس فاتورة تجمع الفئتين؟
يُحسب مجموع الضريبة بجمع قيم ضريبة البنود كلها، فالبنود ذات الفئة Z تضيف صفرًا. وفي مثال الدليل يساوي المجموع 4.480، وهو ضريبة البند الخاضع وحده.
هل يدخل البند المعفى في TaxExclusiveAmount وPayableAmount؟
يدخل البند المعفى في المجموعين بقيمته الكاملة. ففي المثال TaxExclusiveAmount يساوي 116.000 ويشمل 50 من البند المعفى، وPayableAmount يساوي 118.480 ويشمل 50.00 منه.
هل تجمع فاتورة التصدير بين بند S وبند Z؟
يشترط الدليل في فواتير التصدير والمناطق التنموية والترانزيت والتجارة الخارجية والتنازل داخل المنطقة الحرة أن تكون نسبة الضريبة 0% وأن تُعبأ القيمة O لجميع السلع. فهذه الفواتير لا تحمل بندًا بالفئة S، والجمع بين الفئتين يخص الفاتورة المحلية.
هل النسبة 7% في المثال هي نسبة ضريبة سلعة معينة؟
اختار الدليل النسبة 7% قيمةً للمثال فقط. أما النسبة التي تنطبق على سلعة أو خدمة بعينها فيحددها قانون الضريبة العامة على المبيعات.
المراجع
- دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، 2026، الصفحات 20 و39 إلى 44 و47 و54 إلى 56.
