يحتوي الدليل التقني الصادر عن دائرة ضريبة الدخل والمبيعات على نموذج كامل لفاتورة الإرجاع على فاتورة بيع خاضعة لضريبة المبيعات العامة، يمتد من الصفحة 45 إلى الصفحة 56 في الإصدار 1.5. ويشرح هذا المقال مثال XML لإرجاع فاتورة ضريبة المبيعات العامة كتلةً كتلة، فيبيّن ما يحمله كل عنصر، ونوع القيمة التي توضع فيه، والقاعدة التي يذكرها الدليل له، وما الذي يختلف فيه الإرجاع عن فاتورة البيع الأصلية.
المقال موجّه لمن يبني الربط بين برنامج محاسبي أو نظام موارد ونظام الفوترة الوطني. وهو شرح لبنية المثال، لا ملف جاهز للإرسال. فلم يُرسل أي مثال من الدليل ولا أي مقطع في هذا المقال إلى النظام، لأن الدليل لا يوثق بيئة تجريبية مفتوحة للمكلفين أو المطورين، وتفصيل ذلك في مقال اختبار إرسال الفواتير إلى نظام الفوترة الوطني دون بيئة رسمية. ويلاحظ أيضًا أن قيم المثال لا تتطابق مع فاتورة البيع التي يُفترض أنه يُرجع منها، ونعرض ذلك بصفحاته في قسم مستقل.
مثال XML لإرجاع فاتورة ضريبة المبيعات العامة: موقعه في الدليل وطريقة قراءته
يأتي النموذج في القسم «رابعاً: فاتورة إرجاع المبيعات العامة»، بعد نموذج فاتورة المبيعات العامة الجديدة مباشرة. ويتبع الدليل في كل نموذج الترتيب نفسه، فيعرض القالب أولًا ثم جدولًا يصف كل عنصر ثم مثالًا بقيم مكتوبة.
ويفرّق القالب بين ثلاثة أنواع من العناصر بالألوان (ص12). فالمظلل بالأصفر متغيرات «إجبارية» يعبئها نظام البائع، والمظلل بالأخضر متغيرات «اختيارية»، «وباقي العناصر وصف ثابت بدون تغيير». وطريقة قراءة هذا التظليل مشروحة في مقال الحقول الإجبارية والاختيارية في نظام الفوترة الوطني. ويبدأ الملف كله بمقدمة XML والعنصر cbc:ProfileID بالقيمة reporting:1.0، كما في كل فواتير النظام، ويُبنى وفق معيار UBL 2.1 في نظام الفوترة الوطني.
يقسم الدليل نموذج الإرجاع إلى سبع كتل مرقّمة بالأحرف من A إلى G. ويلخص الجدول التالي كل كتلة وصفحاتها وما يميزها عن فاتورة البيع.
مرِّر الجدول أفقيًا لعرض بقية الأعمدة
الكتل الجديدة تمامًا اثنتان، هما كتلة المرجع داخل الرأس وكتلة سبب الإرجاع. أما الباقي فموجود في فاتورة البيع، لكن قيمه في الإرجاع تخضع لقواعد إضافية تربطها بالفاتورة الأصلية.
الكتلة A: رأس فاتورة الإرجاع ومرجع الفاتورة الأصلية (ص46 وص47)
تجمع الكتلة الأولى بيانات مستندين في موضع واحد. فأعلاها يخص فاتورة الإرجاع نفسها، ووسطها يشير إلى الفاتورة الأصلية، وآخرها يحمل عداد الفاتورة.

وهذه قراءة العناصر بالترتيب الذي يظهر في القالب.
cbc:IDوcbc:UUIDفي الرأس. يصفهما القالب بأنهما «رقم فاتورة الارجاع» و«رقم متسلسل لفاتورة الارجاع». فهما رقم جديد ومعرّف فريد جديد يولّده نظامك للمستند الجديد، ويجعل الدليل الرقم والمعرّف معًا مفتاحًا للفاتورة. وتفصيل المعرّف في مقال المعرّف الفريد UUID في نظام الفوترة الوطني.cbc:IssueDate. تاريخ فاتورة الإرجاع بالصيغة yyyy-mm-dd، كما في جميع أمثلة XML في الدليل.cbc:InvoiceTypeCode. قيمة العنصر 381 لفاتورة الإرجاع، بدل 388 للفاتورة الجديدة. أما السمةnameفيكتب فيها القالب «طريقة الدفع ونوع الفاتورة»، وفاتورة الإرجاع تأخذ رمز الفاتورة الأصلية نفسه. ومن أمثلة الدليل لرموز الإرجاع في هذه العائلة (ص47) الرموز 012 و022 و112 و122 و212 و222، والرقم الأخير 2 فيها هو رقم عائلة ضريبة المبيعات العامة.cbc:DocumentCurrencyCodeوcbc:TaxCurrencyCode. يظهر فيهما JOD في القالب، وفاتورة الإرجاع تأخذ عملة الفاتورة الأصلية نفسها.cac:BillingReference. تحمل ثلاث قيم كلها من الفاتورة الأصلية، هي رقمها ومعرّفها الفريد وإجماليها فيcbc:DocumentDescription. وشرح كل قيمة ومصدرها في نظامك في مقال مرجع الفاتورة الأصلية في نظام الفوترة الوطني.cac:AdditionalDocumentReference. يحمل المعرّف الثابت ICV ثم «عداد الفاتورة» الذي يولّده المكلف تسلسليًا. وتفصيله في مقال عداد الفاتورة ICV في نظام الفوترة الوطني.
ويخلو قالب رأس إرجاع المبيعات العامة من العنصر cbc:Note، وهو عنصر اختياري في فاتورة البيع، في حين يبقى اختياريًا في رأس إرجاع فاتورة الدخل. والمقطع التالي يعرض هيكل الكتلة مع وصف عربي في موضع كل قيمة. وهو مقطع للشرح لا يُرسل كما هو.
<cbc:ID>رقم فاتورة الإرجاع الجديد</cbc:ID>
<cbc:UUID>معرّف فريد جديد يولّده نظامك للإرجاع</cbc:UUID>
<cbc:IssueDate>تاريخ الإرجاع بالصيغة yyyy-mm-dd</cbc:IssueDate>
<cbc:InvoiceTypeCode name="رمز الفاتورة الأصلية مثل 012">381</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>عملة الفاتورة الأصلية</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>عملة الفاتورة الأصلية</cbc:TaxCurrencyCode>
<cac:BillingReference>
<cac:InvoiceDocumentReference>
<cbc:ID>رقم الفاتورة الأصلية</cbc:ID>
<cbc:UUID>المعرّف الفريد للفاتورة الأصلية</cbc:UUID>
<cbc:DocumentDescription>إجمالي الفاتورة الأصلية كاملًا</cbc:DocumentDescription>
</cac:InvoiceDocumentReference>
</cac:BillingReference>
<cac:AdditionalDocumentReference>
<cbc:ID>ICV</cbc:ID>
<cbc:UUID>قيمة عداد الفاتورة</cbc:UUID>
</cac:AdditionalDocumentReference>
العبارات العربية داخل المقطع ليست قيمًا تُرسل، بل تدل على ما يوضع مكانها.
الكتلتان B وD: بيانات البائع وتسلسل مصدر الدخل (ص48 وص50)
لا يضيف الإرجاع جديدًا إلى هاتين الكتلتين، فهما بنية فاتورة البيع نفسها.
- بيانات البائع (
cac:AccountingSupplierParty). رمز الدولة JO، والرقم الضريبي للبائع فيcbc:CompanyID، ونظام الضريبة VAT، واسم البائع فيcbc:RegistrationNameكما هو مسجل لدى الدائرة. - تسلسل مصدر الدخل (
cac:SellerSupplierParty). يحمل العنصرcbc:IDفيها تسلسل مصدر الدخل. وبيانات الربط، أي رقم المستخدم والمفتاح السري، مرتبطة بتسلسل واحد لكل منها.
ويذكر الدليل في جدول الأخطاء (ص101) أن الخطأ في الرقم الضريبي أو تسلسل مصدر الدخل من أسباب الرد 500.
الكتلة C: بيانات المشتري ومطابقتها للفاتورة الأصلية (ص49 وص50)
كتلة المشتري في الإرجاع هي بنية كتلة المشتري في فاتورة البيع، من نوع الرقم التعريفي وقيمته إلى الرمز البريدي ورمز المحافظة والهاتف والاسم. والفرق قاعدة واحدة يضعها الدليل فوق القالب مباشرة.

ينص الدليل على أنه «يجب أن تتوافق بيانات المشتري في فاتورة الإرجاع مع بياناته في فاتورة البيع الأصلية المرتبطة بها». والنتيجة العملية أن نظامك لا يقرأ بيانات المشتري من سجل العميل الحالي عند إنشاء الإرجاع، بل من سجل الفاتورة الأصلية كما أُرسلت. فإذا تغيّر هاتف العميل أو عنوانه بعد البيع، يبقى الإرجاع على البيانات التي حملتها الفاتورة الأصلية.
وتبقى قواعد الحقول نفسها سارية، ومنها أن الرمز البريدي بحد أعلى 5 خانات، وأن رمز المحافظة من القائمة التي يوردها الدليل، وأن اسم المشتري إلزامي في فاتورة الذمم وفي الفاتورة النقدية التي تزيد قيمتها على 10,000 دينار أو ما يعادلها. وبما أن الإرجاع يحمل بيانات الأصلية، فما كان مكتوبًا فيها يُنقل كما هو. وقالب المشتري في هذا النموذج يطابق قالب المشتري في نموذج إرجاع فاتورة الضريبة الخاصة (ص76 وص77) في البنية والتظليل.
الكتلة E: سبب الإرجاع في PaymentMeans (ص50)
هذه الكتلة لا وجود لها في فاتورة البيع، وهي إلزامية في كل إرجاع.

cbc:PaymentMeansCode. القيمة 10 مع السمةlistID="UN/ECE 4461"، وهي غير مظللة في القالب، أي أنها وصف ثابت يُنقل كما هو.cbc:InstructionNote. نص حر يكتب فيه سبب الإرجاع، ومثال الدليل «تم الارجاع بسبب خلل في المنتج».
واسم الكتلة يوحي بطريقة الدفع، لكنها لا تحملها. فطريقة الدفع في نظام الفوترة الوطني هي الرقم الثاني من رمز السمة name في cbc:InvoiceTypeCode، والإرجاع يأخذه من الفاتورة الأصلية. وشرح الكتلة وما يُكتب فيها في مقال سبب الإرجاع في نظام الفوترة الوطني.
<cac:PaymentMeans> <cbc:PaymentMeansCode listID="UN/ECE 4461">10</cbc:PaymentMeansCode> <cbc:InstructionNote>سبب الإرجاع نصًا حرًا</cbc:InstructionNote> </cac:PaymentMeans>
الكتلة F: مجاميع الإرجاع للجزء المُرجع وحده (ص51 وص52)
تحمل كتلة المجاميع في فاتورة الإرجاع أرقام ما يُرجع فقط، لا أرقام الفاتورة الأصلية. ويصف الدليل المجاميع بأنها «للجزء المراد ارجاعه»، ويصف إجمالي الضريبة في cac:TaxTotal بأنه «مجموع قيم الضريبة المراد ارجاعها من الفاتورة».
فيظهر في ملف الإرجاع رقمان إجماليان لا يختلطان، إجمالي الإرجاع في كتلة المجاميع، وإجمالي الفاتورة الأصلية كاملًا في cbc:DocumentDescription داخل كتلة المرجع. وتنطبق على كل مبلغ قاعدة التقريب التي يكررها الدليل، أي حتى 3 خانات عشرية وبحد أعلى 9 خانات، بفرق لا يزيد على 0.001.
وإذا ردّ النظام برسالة خطأ في المجاميع، فطريقة تتبعها في مقال رسالة Total General Amount is Not Correct.
الكتلة G: بنود الإرجاع والكميات المرجعة (ص53 إلى ص56)
كتلة البنود هي موضع الإرجاع الفعلي، لأن الإرجاع في نظام الفوترة الوطني يكون على الكميات وحدها. والبند المرجع يحمل بنية بند فاتورة البيع، وتفصيلها في مقال بنود الفاتورة InvoiceLine في نظام الفوترة الوطني، مع القواعد التالية.
مرِّر الجدول أفقيًا لعرض بقية الأعمدة
ويضع الدليل للكميات ثلاث قواعد. فالإرجاع على الكميات لا على المبالغ، ولا يجوز أن تتجاوز الكمية المرجعة الكمية المبيعة في الفاتورة الأصلية، ويجوز أكثر من إرجاع جزئي على الفاتورة نفسها حتى تنفد الكميات. وطريقة حساب الكمية المتبقية لكل بند في مقال إرجاع يتجاوز الكمية الأصلية في نظام الفوترة الوطني.
ويلاحظ في قالب البنود أمران. الأول أن بنود إرجاع المبيعات العامة تضيف العنصر cbc:BaseQuantity بوحدة C62 وقيمة 1، وهو لا يظهر في بنود فاتورة البيع، ولا يورد الدليل قائمة بالوحدات ولا قاعدة لها. والثاني أن قالب بند الإرجاع يتضمن العنصر cbc:TaxableAmount، أي المبلغ الخاضع للضريبة، وقيمته الكمية المرجعة مضروبة في سعر الوحدة بعد طرح الخصم. وتصنيف كل بند يُشرح في مقال فئات الضريبة S وZ وO في نظام الفوترة الوطني.
حصة الخصم في البند المرجع (ص55)
إذا كان في البند الأصلي خصم، فلا يُنقل الخصم إلى الإرجاع كما هو إلا إذا أُرجعت الكمية كلها.

ونص الدليل «اذا كان الارجاع لكامل كمية السلعة او الخدمة فيجب وضع الخصم (إن وجد) كاملا، أما اذا كان الارجاع لجزء من الكمية فيجب ان يكون الخصم (إن وجد) جزء من الخصم الكلي للسلعة او الخدمة حسب الكمية المرجعة». ويضيف أن قيمة الخصم «بالموجب فقط»، وأنها رقم صحيح أو عشري حتى 9 خانات عشرية.
يربط الدليل حصة الخصم بالكمية المرجعة، لكنه لا يورد معادلة لها. لذلك لا نقدم هنا معادلة على أنها من الدليل، أما قراءة هذه العبارة بمثال رقمي فمشروحة في قسم «الخصم في الإرجاع الجزئي» من مقال إرجاع يتجاوز الكمية الأصلية في نظام الفوترة الوطني. والخصم في فاتورة البيع نفسها، ومنه توزيع خصم الإجمالي على البنود، مشروح في مقال خصم الفاتورة في نظام الفوترة الوطني.
ما لا يتطابق في مثال الدليل مع فاتورته الأصلية
بعد كل قالب يورد الدليل مثالًا بقيم مكتوبة. ومثال إرجاع المبيعات العامة لا يتطابق مع مثال فاتورة المبيعات العامة الجديدة الذي يسبقه، ولذلك لا يصلح مرجعًا للقيم. ويلاحظ فيه ما يلي.
- المعرّف الفريد في المرجع (ص47). يشير المثال إلى معرّف فريد يختلف عن معرّف الفاتورة الأصلية في مثالها.
- المجاميع (ص47 وص55 وص56). لا تتطابق أرقام الإرجاع في المثال مع أرقام فاتورته الأصلية، فلا يصلح أي منها مرجعًا لحساب إرجاع حقيقي.
- تصنيف البند المعفى (ص55 وص56). البند الذي يحمل في الفاتورة الأصلية التصنيف
Zبنسبة 0% يظهر في مثال الإرجاع بالتصنيفSونسبة 10%.
هذه الملاحظات لا تمس بنية النموذج، فالقالب ووصف العناصر هما ما تبني عليه. ولا نعيد هنا حساب أرقام المثال ولا نقترح لها أرقامًا بديلة، لأن الدليل لا يورد مثالًا مطابقًا. والقاعدة العملية أن تبني كل إرجاع من سجل الفاتورة الأصلية المحفوظ عندك، فتأخذ منه رقمها ومعرّفها وإجماليها وبيانات المشتري وأرقام البنود وأسماءها وأسعارها، ثم تكتب الكميات المرجعة وحدها. ونجمع بقية ملاحظات الأمثلة في مقال أمثلة الدليل التقني لنظام الفوترة الوطني.
ولنموذجي الإرجاع الآخرين في الدليل مقالان مستقلان، أحدهما لإرجاع فاتورة الدخل والآخر لإرجاع فاتورة بضريبة خاصة، ولكل منهما ملاحظاته على أمثلته.
قائمة فحص قبل إرسال فاتورة الإرجاع
القائمة التالية مبنية على قواعد الدليل المذكورة أعلاه، وترتيبها يتبع ترتيب الكتل في الملف.
- الرأس. رقم ومعرّف فريد جديدان لفاتورة الإرجاع، والقيمة 381، والسمة
nameبرمز الفاتورة الأصلية، وعملتها نفسها، والتاريخ بالصيغة yyyy-mm-dd. - المرجع. رقم الفاتورة الأصلية ومعرّفها وإجماليها الكامل، مأخوذة من سجلها المحفوظ.
- العداد. قيمة العداد التالية في تسلسل نظامك.
- البائع والتسلسل. الرقم الضريبي واسم البائع وتسلسل مصدر الدخل كما في بيانات الربط.
- المشتري. بيانات المشتري كما في الفاتورة الأصلية، لا كما في سجل العميل اليوم.
- السبب. الرمز 10 ونص سبب الإرجاع في
cbc:InstructionNote. - البنود. رقم البند واسمه وسعره كما في الأصلية، وكمية أكبر من صفر لا تتجاوز المتبقي، وحصة خصم تتبع الكمية المرجعة.
- المجاميع. مجاميع الجزء المرجع وحده، وإجمالي ضريبة يساوي مجموع ضريبة البنود المرجعة.
- بعد الإرسال. اقرأ الحالة من
EINV_STATUS، وأعد الإرسال عند الفشل بالرقم والمعرّف نفسيهما.
وتوصي إرشادات الدليل (ص104) بحفظ رقم الفاتورة ومعرّفها ورمز QR وحالتها، وبالاحتفاظ بأرقام بنود فاتورة البيع لأن الإرجاع يطابقها. ولأن الإرجاع يرتبط بالفاتورة الأصلية من عدة جهات، فالنتيجة العملية أن يحفظ نظامك لكل فاتورة مقبولة إجماليها وبيانات مشتريها وكميات بنودها أيضًا. ولصورة عامة عن الإرجاع من جهة المحاسب لا المطوّر، اقرأ مقال إشعار الدائن في نظام الفوترة الوطني.
كيف يتعامل قيود مع فاتورة الإرجاع
بناء ملف الإرجاع وحفظ ما يحتاجه من الفاتورة الأصلية عمل يقع على نظام المكلف، وهو ما يتولاه البرنامج المحاسبي المربوط بنظام الفوترة الوطني. وأنواع المستندات في قيود للأردن هي الأربعة التي يحددها نظام الفوترة الوطني، أي فاتورة الدخل وفاتورة ضريبة المبيعات العامة وفاتورة الضريبة الخاصة وفاتورة الإرجاع.
- بناء الملف والإرسال. يبني قيود ملف الفاتورة بصيغة UBL 2.1 مع المعرّف الفريد، ويرسله إلى نظام الفوترة الوطني دون أي تدخل يدوي.
- فحص الحقول قبل الإرسال. يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها، وهي الرقم الضريبي ونوع المستند وطريقة الدفع ونسبة ضريبة المبيعات العامة واكتمال البنود، وينبهك بأي خطأ قبل إرسالها لتقليل حالات الرفض.
- حالة كل فاتورة. تعيد الدائرة حالة الفاتورة ورسالة الخطأ، ويعرضها قيود في لوحة الحالة، ومنها «مرسلة» و«مرسلة مسبقًا» و«لم تُرسل» مع رسالة الخطأ.
- إعادة الإرسال. تعرض لوحة الحالة الفواتير التي لم تُرسل وتحتاج إلى إعادة إرسال، وحين تعيد إرسالها تُرسل بالمعرّف UUID نفسه.
ولصورة أوسع عن النظام وطريقة ربط منشأتك به، اقرأ مقال نظام الفوترة الوطني الالكتروني، أو تعرّف على ما يقدمه قيود في صفحة نظام الفوترة الوطني.
فوترة إلكترونية ومحاسبة متكاملة في نظام واحد
قيود متكامل مع نظام الفوترة الوطني (JoFotara). تُصدر فاتورتك بالدينار الأردني من قيود فتُقيَّد في دفاترك تلقائيًا وتُرسل إلى النظام، وبعد قبولها يعود عليها رمز QR من دائرة ضريبة الدخل والمبيعات.
الأسئلة الشائعة
هل يصلح مثال XML لإرجاع فاتورة ضريبة المبيعات العامة في الدليل للنسخ والإرسال؟
يصلح المثال لفهم البنية وترتيب العناصر فقط. فقيمه لا تتطابق مع مثال الفاتورة الأصلية في المعرّف الفريد والمجاميع وتصنيف أحد البنود (ص47 وص55 وص56)، ولم يُختبر على النظام لأن الدليل لا يوثق بيئة تجريبية. وتُبنى فاتورة الإرجاع الفعلية من سجل الفاتورة الأصلية في نظامك.
ما القيمة التي توضع في InvoiceTypeCode لفاتورة الإرجاع؟
توضع القيمة 381 في العنصر نفسه، وتبقى السمة name برمز الفاتورة الأصلية، مثل 012 لفاتورة مبيعات عامة محلية نقدية أو 022 للمحلية بالذمم. فالقيمة تقول إن المستند إرجاع، والرمز يقول نوع الفاتورة التي يُرجع منها.
هل أضيف العنصر cbc:Note إلى رأس فاتورة الإرجاع؟
يخلو قالب رأس إرجاع المبيعات العامة في الدليل من هذا العنصر، ويُكتب سبب الإرجاع في cbc:InstructionNote داخل كتلة PaymentMeans. أما رأس إرجاع فاتورة الدخل فيبقى فيه العنصر اختياريًا.
كيف يُحسب الخصم في بند أُرجعت منه كمية جزئية؟
يشترط الدليل أن يكون الخصم «جزء من الخصم الكلي للسلعة او الخدمة حسب الكمية المرجعة»، وأن يوضع كاملًا إذا أُرجعت الكمية كلها. ولا يورد الدليل معادلة لهذه الحصة، والقيمة تُكتب موجبة حتى 9 خانات عشرية.
هل أستعمل بيانات العميل الحالية في فاتورة الإرجاع؟
يشترط الدليل أن تتوافق بيانات المشتري في فاتورة الإرجاع مع بياناته في فاتورة البيع الأصلية المرتبطة بها. لذلك تُؤخذ البيانات من سجل الفاتورة الأصلية كما أُرسلت، حتى لو تغيّر شيء منها في سجل العميل بعد البيع.
هل يمكن إرجاع مبلغ دون كمية في فاتورة ضريبة المبيعات العامة؟
ينص الدليل على أن الإرجاع يكون على الكميات فقط، وفي حدود الكمية المبيعة في الفاتورة الأصلية. ويجوز أكثر من إرجاع جزئي على الفاتورة نفسها حتى تنفد كمياتها.
المراجع
- دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، 2026، ص10 وص12 وص45 إلى ص56 وص76 وص77 وص101 وص104.
