خصم الفاتورة في نظام الفوترة الوطني لا يُرسل خصمًا مستقلًا على إجمالي الفاتورة، بل يُرسل خصمًا على كل بند. فالدليل التقني الذي نشرته دائرة ضريبة الدخل والمبيعات ينص على أن النظام «لا يقبل الخصم على الفاتورة بشكل عام»، ويطلب ممن يحسب برنامجه الخصم على الإجمالي أن يوزعه على السلع والخدمات قبل إرسال الفاتورة. وما يظهر في رأس الملف من خصم ليس إلا مجموع خصومات البنود.
يشرح هذا المقال قواعد الخصم كما ترد في الإصدار 1.5 من الدليل التقني للربط، وهي أين يُكتب الخصم في ملف XML، ولماذا تكون قيمته موجبة دائمًا، وكيف يدخل في معادلة مبلغ البند، وما الذي يقوله الدليل عن توزيع خصم الإجمالي وما الذي يسكت عنه. ويمر على أمثلة الدليل الرقمية في فاتورة الدخل وفاتورة ضريبة المبيعات العامة وفاتورة الضريبة الخاصة. وهو موجّه للمحاسب الذي يمنح عملاءه خصمًا على الفاتورة كلها، وللمبرمج الذي يبني ملف الفاتورة من برنامج المنشأة.
أما الصورة العامة للنظام وطريقة الربط به ففي مقال نظام الفوترة الوطني الإلكتروني في الأردن، وأما عناصر البند كلها عنصرًا عنصرًا ففي مقال بنود الفاتورة InvoiceLine في نظام الفوترة الوطني.
ما هو خصم الفاتورة في نظام الفوترة الوطني
يعرف ملف الفاتورة في نظام الفوترة الوطني نوعًا واحدًا من الخصم، هو الخصم الذي يُمنح على سلعة أو خدمة بعينها داخل البند. ويصف الدليل العنصر الذي يحمل الخصم في رأس الفاتورة بأنه «مجموع قيمة خصم السلع»، ويعلل ذلك بأن النظام «لا يقبل الخصم على الفاتورة بشكل عام». ثم يضيف بالأحمر تحت الوصف القاعدة التي يُبنى عليها هذا المقال.
«في حال كان نظام المكلف يحسب الخصم على اجمالي الفاتورة يجب ان يتم توزيع الخصم على السلع و الخدمات قبل ترحيل البيانات الى نظام الفوترة».

تحمل هذه الفقرة ثلاثة أحكام. الأول أن الخصم على الإجمالي لا يصل إلى النظام بصيغته الأصلية. والثاني أن تحويله إلى خصومات بنود مهمة نظام البائع، وتتم قبل الإرسال لا بعده. والثالث أن الرقم الذي يُكتب في رأس الفاتورة يُستخرج من البنود بالمعادلة AllowanceCharge.Amount = Sum (AllowanceCharge.Amount (Line))، فهو حاصل جمع لا قيمة يختارها البائع.
ولا يعني ذلك أن المنشأة ممنوعة من منح عميلها خصمًا على الفاتورة كلها. فمنح الخصم قرار تجاري بين البائع والمشتري، والدليل لا يتناوله. ما يحكمه الدليل هو طريقة ظهور هذا الخصم في ملف الفاتورة، وهي أن يظهر موزعًا على البنود.
أين يُكتب الخصم في ملف الفاتورة
يظهر الخصم في ملف الفاتورة في ثلاثة مواضع، واحد في كل بند واثنان في رأس الفاتورة. والجدول التالي يجمعها مع القاعدة التي يضعها الدليل لكل موضع.
مرِّر الجدول أفقيًا لعرض بقية الأعمدة
يتضح من الجدول أن الموضعين في رأس الفاتورة يحملان القيمة نفسها. فالعنصر cac:AllowanceCharge في الرأس والعنصر AllowanceTotalAmount داخل cac:LegalMonetaryTotal كلاهما يساوي مجموع خصومات البنود. ولا يكفي أن يُملأ أحدهما دون الآخر، فهما عنصران منفصلان في الملف، والدليل يطلب في كل منهما المجموع ذاته.
ويستعمل الدليل في كتلة الخصم برأس الفاتورة عنصرين بقيمة ثابتة، هما cbc:ChargeIndicator وقيمته false، وcbc:AllowanceChargeReason وقيمته في المثال discount. ويبقى العنصر cbc:Amount وحده متغيرًا يملؤه نظام البائع بمجموع خصومات البنود.
الخصم على البند: قيمة موجبة تُطرح من مبلغ البند
الخصم في البند هو الأساس الذي تُبنى عليه بقية مواضع الخصم. ويُكتب في العنصر cbc:Amount داخل كتلة cac:AllowanceCharge في البند، ويصفه الدليل بأنه «قيمة الخصم للسلعة أو الخدمة». وتحته شرطان مكتوبان بالأحمر.

ينص الأول على أن «تكون قيمة الخصم بالموجب فقط». فالخصم يُكتب رقمًا موجبًا، والمعادلة هي التي تطرحه. وإذا كتب برنامجك الخصم بإشارة سالبة ظنًّا أن الإشارة تعبّر عن الطرح، خالف هذا القيد. ويشرح مقال رفض الكمية أو السعر السالب في نظام الفوترة الوطني القيم السالبة في الملف وبديلها. وينص الثاني على أن الخصم يقبل حتى 9 خانات عشرية.
أما طريقة دخول الخصم في حساب البند فتحددها معادلة مبلغ البند قبل الضريبة cbc:LineExtensionAmount.

يكتب الدليل المعادلة بالصيغة LineExtensionAmount = (quantity * unitPrice) - Discount، ويشرحها بالعربية بأن المبلغ الإجمالي للسلعة أو الخدمة يساوي (سعر الوحدة × الكمية) − خصم السلعة أو الخدمة. فالخصم يُطرح من حاصل ضرب الكمية في سعر الوحدة، والناتج هو مبلغ البند بعد الخصم وقبل الضريبة.
ولهذه المعادلة أثر مباشر في الضريبة. ففي فاتورة ضريبة المبيعات العامة يحسب الدليل ضريبة البند بالمعادلة (الكمية × سعر الوحدة − الخصم) × نسبة الضريبة، أي على مبلغ البند بعد خصمه. ثم يُجمع مبلغ البند وضريبته في cbc:RoundingAmount. فخصم البند يخفض مبلغه ويخفض ضريبته معًا، إلا في حالة سعر المستهلك التي يأتي شرحها لاحقًا.
توزيع خصم الإجمالي على البنود: ما يقوله الدليل وما لا يقوله
يوجب الدليل توزيع خصم الإجمالي على البنود، لكنه لا يحدد طريقة هذا التوزيع. فلا يذكر توزيعًا بنسبة قيمة كل بند، ولا بالتساوي، ولا على بند بعينه، ولا يورد معادلة لذلك. وكل معادلة توزيع تراها منسوبة إلى نظام الفوترة الوطني ليست من الدليل التقني.
ما يحدده الدليل هو الشروط التي يجب أن تتحقق في نتيجة التوزيع، أيًّا كانت الطريقة التي يختارها برنامجك.
- كل حصة خصم موجبة. الحصة التي تقع على أي بند تُكتب رقمًا موجبًا، وفق قيد «بالموجب فقط».
- مبلغ كل بند يتبع المعادلة. مبلغ البند بعد التوزيع يساوي الكمية في سعر الوحدة مطروحًا منه حصته من الخصم.
- المجموع يطابق الرأس. مجموع حصص البنود يساوي قيمة
cac:AllowanceChargeفي رأس الفاتورة، ويساويAllowanceTotalAmount. - الضريبة تُحسب بعد التوزيع. ضريبة كل بند تُحسب على مبلغه بعد حصته من الخصم، لا على مبلغه قبل التوزيع.
ونضيف إلى هذه الشروط ملاحظة من عندنا، وهي استنتاج من المعادلات لا نص في الدليل. حين تجمع الفاتورة بنودًا بنسب ضريبة مختلفة، أو بندًا خاضعًا وبندًا معفى، يتغير مجموع الضريبة بتغير البند الذي تقع عليه حصة الخصم. والمثال التوضيحي التالي من إعدادنا، وليس من الدليل، ويبين ذلك على أرقام مثال فاتورة ضريبة المبيعات العامة في الدليل.
مرِّر الجدول أفقيًا لعرض بقية الأعمدة
في الحالتين يبقى إجمالي الفاتورة قبل الخصم 116.000 والخصم 2.000، لكن مجموع الضريبة يتغير من 4.480 إلى 4.620، فيتغير المبلغ المستحق معه. والدليل لا يبين أي الحالتين أصح، ولا يتناول الأثر الضريبي لاختيار البند الذي يحمل الخصم. لذلك نرى أن اختيار طريقة التوزيع قرار تتخذه المنشأة مع محاسبها أو مستشارها الضريبي بحسب حقيقة الخصم الذي منحته، ثم تطبقه في برنامجها بطريقة ثابتة على كل الفواتير. وهذه توصية منا، لا قاعدة من الدليل.
وتبقى مسألة التقريب حاضرة عند التوزيع. فالدليل يكرر تحت كل مبلغ ملاحظة تسمح بالتقريب إلى 3 خانات عشرية بفارق لا يتجاوز 0.001. فإذا قسّم برنامجك خصمًا على عدة بنود، فتأكد بعد التقريب أن مجموع الحصص يساوي الخصم الذي في رأس الفاتورة.
أمثلة الدليل: الخصم في المجاميع
يعرض الدليل في الصفحة 19 مثالًا لمجاميع فاتورة دخل فيها بندان، على كل منهما خصم. والصورة التالية تنقل المثال كما هو.

يقوم المثال على بندين في الصفحات 19 إلى 21 من الدليل. البند الأول حاصل ضرب كميته في سعر وحدته 66، وعليه خصم 2، فمبلغه 64. والبند الثاني حاصل ضربه 50، وعليه خصم 5، فمبلغه 45. ومن هذين البندين تخرج مجاميع الرأس كما يلي.
TaxExclusiveAmountيساوي 116.000، وهو مجموع الكمية في سعر الوحدة للبندين قبل الخصم (66 + 50).AllowanceTotalAmountيساوي 7.000، وهو مجموع خصمي البندين (2 + 5).cac:AllowanceChargeفي الرأس يساوي 7.000 كذلك، أي القيمة نفسها.TaxInclusiveAmountوPayableAmountيساويان 109.000، وهو مجموع مبلغي البندين بعد الخصم (64 + 45)، لأن بنود فاتورة الدخل لا تحمل كتلة ضريبة.
يلفت المثال إلى أن TaxExclusiveAmount إجمالي قبل الخصم لا بعده. فالخصم يظهر في الرأس عنصرًا مستقلًا، ثم يُطرح في المبلغ المستحق. ويحمل المثال خصمين على بندين مجموعهما 7.000، ولا يقول الدليل هل نشأ هذا الخصم على البنود أصلًا أم وُزّع من خصم على الإجمالي، فلا يُستنتج منه طريقة توزيع.
ويتكرر النمط نفسه في نوعي الفاتورة الآخرين. والجدول التالي يجمع أرقام الخصم في أمثلة الدليل الثلاثة.
وفي فاتورة الضريبة الخاصة يكتب الدليل معادلة الإجمالي بالكلمات «اجمالي الفاتورة = (اجمالي الفاتورة قبل الخصم − مجموع قيمة الخصم + مجموع الضريبة الخاصة + مجموع قيمة الضريبة العامة)». فالخصم يُطرح من الإجمالي قبل الخصم، ثم تُضاف الضريبتان. وتفصيل الضريبة الخاصة نفسها في مقال الضريبة الخاصة في ملف فاتورة نظام الفوترة الوطني.
وإذا جاء ردّ النظام برفض الفاتورة لأن المجاميع لا تطابق البنود، فراجع مقال رسالة Total General Amount is Not Correct، ففيه معادلات المجاميع كاملة وقائمة فحص للأرقام قبل إعادة الإرسال.
الخصم مع سعر المستهلك: حالة لا يخفض فيها الخصم أساس الضريبة
أضاف الإصدار 1.5 من الدليل عنصر سعر المستهلك cac:ItemPriceExtension، وهو السعر النهائي للمستهلك الذي يُستعمل أساسًا للضريبة. ولا يُستعمل إلا بصلاحية تُمنح بطلب من المكلف، وهي متاحة للمسجلين في الضريبة العامة على المبيعات أو الضريبة الخاصة، وتُطبَّق على كل بنود الفاتورة.
وحين يكون سعر المستهلك أعلى من سعر الوحدة، تُحسب الضريبة على الكمية في سعر المستهلك، فلا يخفضها خصم البند. ويبقى مبلغ البند LineExtensionAmount محسوبًا بالمعادلة المعتادة، أي الكمية في سعر الوحدة مطروحًا منه الخصم. وأمثلة الدليل توضح الفرق.
- سعر المستهلك يساوي سعر الوحدة. بند كميته 10 وسعر وحدته 5.000 وعليه خصم 10.000، فمبلغه 40.000، وضريبته 6.400، وإجماليه 46.400.
- سعر المستهلك أعلى من سعر الوحدة. سعر المستهلك 6.000، فالضريبة 10 × 6 × 16% = 9.600، مع أن الخصم 10.000 ما زال يُطرح من مبلغ البند، والإجمالي 49.600.
فمن يعمل بسعر المستهلك يراجع ضريبة البند على هذا الأساس، ولا يفترض أن كل خصم يخفض الضريبة.
الخصم في نموذج الفاتورة على منصة نظام الفوترة الوطني
القاعدة نفسها تظهر لمن يصدر فواتيره من المنصة مباشرة دون برنامج مربوط. ففي نموذج الفاتورة الذي يعرضه دليل إجراءات تنظيم الفاتورة لعام 2026، يقع حقل «قيمة الخصم» ضمن قسم «معلومات او بيانات الخدمة او السلعة»، إلى جانب الوصف والكمية وسعر الوحدة ونسبة الضريبة العامة، وقيمته الافتراضية 0.
فالخصم في النموذج يُدخل مع كل سلعة أو خدمة قبل الضغط على «إضافة»، ولا يورد الدليل في النموذج حقلًا لخصم على إجمالي الفاتورة. والنتيجة العملية، كما نقرؤها من النموذج، أن من أراد خصمًا على الفاتورة كلها يوزعه بنفسه على السلع قبل إدخالها. وخطوات تعبئة النموذج كاملة في مقال إصدار فاتورة من نظام الفوترة الوطني.
حالات قريبة خارج نطاق هذا المقال
بعض مسائل الخصم تتصل بهذا الموضوع لكنها تُشرح في مواضع أخرى، ونكتفي هنا بالإشارة إليها.
- الخصم في فاتورة الإرجاع الجزئي. يضع الدليل قاعدة خاصة لخصم البند حين يُرجع المشتري جزءًا من الكمية، وهي خارج نطاق هذا المقال.
- التقريب. تفاصيل ملاحظة الخانات العشرية وفارق 0.001 خارج نطاق هذا المقال، ويكفي هنا أن مجموع الحصص بعد التقريب يجب أن يطابق الرأس.
- الفاتورة المختلطة. اختيار الفئة الصحيحة لكل بند، خاضعًا كان أو معفى أو بنسبة صفر، مشروح في مقال فئات الضريبة S وZ وO في نظام الفوترة الوطني.
قائمة فحص الخصم قبل الإرسال
راجع هذه النقاط على كل فاتورة فيها خصم قبل إرسالها إلى نظام الفوترة الوطني.
- لا خصم على الإجمالي في الملف. كل خصم منحته على الفاتورة كلها موزع على البنود.
- قيمة كل خصم في البنود موجبة، وبحد أعلى 9 خانات عشرية.
- مبلغ كل بند يساوي الكمية في سعر الوحدة مطروحًا منه خصم البند.
- ضريبة كل بند محسوبة على مبلغه بعد الخصم، إلا إذا كنت تعمل بسعر مستهلك أعلى من سعر الوحدة.
- العنصر
cac:AllowanceChargeفي الرأس يساوي مجموع خصومات البنود. - العنصر
AllowanceTotalAmountيساوي القيمة نفسها. TaxExclusiveAmountيساوي مجموع الكمية في سعر الوحدة قبل الخصم.- مجموع الحصص بعد التقريب يساوي الخصم الذي في الرأس، والفارق في أي مبلغ لا يتجاوز 0.001.
- طريقة توزيع خصم الإجمالي ثابتة في برنامجك، وموثقة لديك على أنها اختيار منشأتك لا قاعدة من الدليل.
كيف يساعدك قيود عند إرسال الفاتورة
حين تُصدر الفاتورة من برنامج محاسبي مربوط بالنظام، لا تكتب عناصر الملف بيدك. يبني قيود ملف الفاتورة بصيغة UBL 2.1 مع معرّفها الفريد، ويرسله إلى نظام الفوترة الوطني دون أي تدخل يدوي، عبر تكامل قيود مع نظام الفوترة الوطني.
- فحص قبل الإرسال. يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها، وهي الرقم الضريبي، ونوع المستند وطريقة الدفع، ونسبة ضريبة المبيعات العامة، واكتمال البنود، وينبهك بأي خطأ قبل إرسالها لتقليل حالات الرفض.
- حالة كل فاتورة أمامك. تعيد الدائرة حالة الفاتورة ورسالة الخطأ، ويعرضها قيود في لوحة الحالة.
- إعادة إرسال بالمعرّف نفسه. تعرض لوحة الحالة الفواتير التي لم تُرسل وتحتاج إلى إعادة إرسال، وتُعاد بمعرّف UUID نفسه فلا تتكرر.
والفحص المسبق تنبيه لا ضمان، فهو يغطي الحقول الأربعة المذكورة، ويبقى قبول الفاتورة قرارًا لنظام الفوترة الوطني وحده. ولمعرفة طريقة ربط منشأتك بالنظام، تعرّف على نظام الفوترة الوطني مع قيود، أو تصفح مركز نظام الفوترة الوطني في الأردن.
فوترة إلكترونية ومحاسبة متكاملة في نظام واحد
قيود متكامل مع نظام الفوترة الوطني (JoFotara). تُصدر فاتورتك بالدينار الأردني من قيود فتُقيَّد في دفاترك تلقائيًا وتُرسل إلى النظام، وبعد قبولها يعود عليها رمز QR من دائرة ضريبة الدخل والمبيعات.
الأسئلة الشائعة
هل يقبل نظام الفوترة الوطني خصمًا على إجمالي الفاتورة؟
لا يقبله، فالدليل التقني ينص على أن النظام «لا يقبل الخصم على الفاتورة بشكل عام». ويجب على من يحسب برنامجه الخصم على الإجمالي أن يوزعه على السلع والخدمات قبل إرسال الفاتورة.
كيف أوزع خصم الإجمالي على بنود الفاتورة؟
يترك الدليل التقني طريقة التوزيع لنظام البائع، فهو يوجب التوزيع ولا يذكر له طريقة أو معادلة. والمطلوب أن تكون كل حصة موجبة، وأن يساوي مجموع الحصص الخصم المكتوب في رأس الفاتورة، وأن تُحسب ضريبة كل بند بعد حصته.
هل أكتب الخصم في ملف الفاتورة بإشارة سالبة؟
تُكتب قيمة الخصم بالموجب دائمًا، فالدليل ينص على أن «تكون قيمة الخصم بالموجب فقط». والمعادلة هي التي تطرح الخصم من حاصل ضرب الكمية في سعر الوحدة.
ما الفرق بين AllowanceCharge وAllowanceTotalAmount في رأس الفاتورة؟
يمثل كل منهما عنصرًا مستقلًا في الملف، الأول كتلة الخصم في رأس الفاتورة والثاني جزء من المجاميع داخل LegalMonetaryTotal. ويطلب الدليل أن يساوي كلاهما مجموع خصومات البنود، فيحملان القيمة نفسها.
هل يُحسب TaxExclusiveAmount قبل الخصم أم بعده؟
يُحسب قبل الخصم، فمعادلته في الدليل مجموع الكمية في سعر الوحدة لكل البنود. وفي مثال فاتورة الدخل يساوي 116.000 مع أن الخصم 7.000، ثم يُطرح الخصم في المبلغ المستحق.
هل يخفض خصم البند ضريبة المبيعات العامة دائمًا؟
يخفضها في البند المعتاد، لأن الضريبة تُحسب على مبلغ البند بعد الخصم. أما إذا كان المكلف يعمل بسعر مستهلك أعلى من سعر الوحدة، فتُحسب الضريبة على الكمية في سعر المستهلك ولا يخفضها الخصم.
المراجع
- دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، 2026.
- دائرة ضريبة الدخل والمبيعات، دليل إجراءات تنظيم الفاتورة في نظام الفوترة الوطني الإلكتروني الأردني، إصدار 2026.
