تظهر رسالة General tax percentage must be zero حين يرسل برنامجك المحاسبي فاتورة إلى نظام الفوترة الوطني فتعود مرفوضة برمز 400. ومعناها أن في الفاتورة سطرًا نسبة ضريبته 0%، لكن التصنيف الضريبي المرسل معه هو S، وهذا التصنيف لا يُستخدم مع نسبة الصفر.
يبدأ الإصلاح من سطور الفاتورة. حدّد السطور التي تحمل نسبة 0%، وغيّر تصنيفها إلى Z إن كانت السلعة أو الخدمة معفاة، أو إلى O إن كانت خاضعة لنسبة الصفر. وفي فواتير التصدير والأنواع غير المحلية الأخرى ينص الدليل على O لجميع السلع. ثم أعد الإرسال برقم الفاتورة ومعرّفها نفسيهما.
يشرح هذا المقال الرسالة كما وردت في الدليل التقني الصادر عن دائرة ضريبة الدخل والمبيعات (الإصدار 1.5)، والعلاقة بين حقلي التصنيف والنسبة في سطر الفاتورة. ثم يعرض أنواع الفواتير التي يشترط فيها الدليل نسبة 0%، وخطوات الإصلاح قبل إعادة الإرسال.
ما معنى رسالة General tax percentage must be zero
يصف الدليل التقني رمز 400 (Bad Request) بأنه خطأ في القيم المرسلة داخل ملف XML، ويُكتب تفصيله في الحقل EINV_MESSAGE من ملف الاستجابة. ومن الرسائل التي يذكرها تحت هذا الرمز رسالة General tax percentage must be zero، ويشرحها بهذا النص:
«يدل بأن نسبة الضريبة حينما تكون 0% يجب ان يكون ال Category الخاص بالضريبة قيمته O وليس S حسب الجدول الموجود صفحة رقم (42)».

فالرسالة تتعلق بحقلين في سطر واحد من الفاتورة، هما نسبة الضريبة وتصنيفها. ولا تعني أن نسبة الصفر نفسها خطأ، بل أن التصنيف المرسل معها لا يناسبها.
ويحيل الشرح إلى جدول الصفحة 42 من الدليل. وهذا الجدول يذكر تصنيفين اثنين لنسبة 0%، لا تصنيفًا واحدًا. لذلك تُقرأ الرسالة مع الجدول على أنه عند نسبة 0% لا يُستخدم التصنيف S، ويُستخدم Z للمعفى وO للخاضع لنسبة الصفر.
والفاتورة المرفوضة بهذه الرسالة لم تُقبل، فلا يعود عليها رمز QR، وتكون حالتها في ملف الاستجابة NOT_SUBMITTED. ولموقع هذه الرسالة بين بقية رموز الرفض راجع مقال أخطاء نظام الفوترة الوطني.
التصنيف الضريبي ونسبة الضريبة في سطر الفاتورة
يحمل كل سطر في فاتورة ضريبة المبيعات العامة حقلين متلازمين. الأول هو التصنيف الضريبي، ويُرسل في العنصر cbc:ID ذي السمة schemeID="UN/ECE 5305". والثاني هو نسبة الضريبة العامة على السلعة أو الخدمة، وتُرسل في العنصر cbc:Percent.
ويحدد جدول الصفحة 42 القيم الثلاث المسموح بها للتصنيف، والنسبة التي تقابل كل قيمة:

فالقيمتان Z وO كلتاهما تقابلان نسبة 0%، والفرق بينهما في وصف السلعة أو الخدمة لا في الرقم. أما S فمخصص للنسب غير الصفرية فقط. وهذه هي القاعدة التي تفحصها الرسالة، فإذا كانت النسبة 0% والتصنيف S رُفضت الفاتورة.
ولا تعني صياغة الرسالة أن Z مرفوض. فالجدول نفسه يقبله عند نسبة 0%، وأمثلة الدليل لفاتورة ضريبة المبيعات العامة ترسل سطرًا لسلعة معفاة بالتصنيف Z ونسبة 0%. ففي أحد أمثلته سطر من 10 وحدات بسعر 5 للوحدة، يُرسل بالتصنيف Z فتكون ضريبته صفرًا ومجموعه 50.
المعفى والخاضع لنسبة الصفر
اختيار Z أو O ليس قرارًا تقنيًا في ملف الفاتورة، بل يتبع المعاملة الضريبية للسلعة أو الخدمة. فقانون الضريبة العامة على المبيعات يفرّق بين السلع والخدمات المعفاة والسلع والخدمات الخاضعة لنسبة الصفر، ومن آثار هذا الفرق أن المعفى لا تُخصم معه ضريبة المدخلات. وتجد قوائم الفئتين وأمثلتهما في مقال ضريبة المبيعات في الأردن.
لذلك راجع تصنيف السلعة في برنامجك مع محاسبك قبل تعديله، ولا تبدّل بين Z وO لمجرد أن الفاتورة رُفضت. فكلاهما يجتاز هذا الفحص، لكن واحدًا منهما فقط يصف السلعة وصفًا صحيحًا.
أنواع الفواتير التي تشترط نسبة 0%
يقرأ نظام الفوترة الوطني نوع الفاتورة من العنصر InvoiceTypeCode. فقيمته تحدد هل الفاتورة جديدة أم فاتورة إرجاع، وسمته name تحمل رمزًا من ثلاث خانات. الخانة الأولى في هذا الرمز تحدد نوع التعامل، والثانية طريقة الدفع (نقدي أو ذمم)، والثالثة نوع الضريبة. ويضع الدليل لكل نوع تعامل شرطًا في عمود «محددات»:
فالفاتورة المحلية لا يضع عليها الدليل شرطًا في نسبة الضريبة. أما في الأنواع الخمسة الأخرى فيشترط في فواتير ضريبة المبيعات العامة والضريبة الخاصة أن تكون نسبة الضريبة 0%. وعليه لا يصح في سطور هذه الفواتير التصنيف S، لأنه مخصص للنسب غير الصفرية.
ويحدد جدول الصفحة 42، في فاتورة ضريبة المبيعات العامة، التصنيف المطلوب في هذه الأنواع أيضًا: «في حال كان نوع الفاتورة تصدير أو مناطق تنموية أو ترانزيت أو تجارة خارجية أو تنازل داخل المنطقة الحرة يشترط أن تكون نسبة الضريبة 0% وتعبأ القيمة O لجميع السلع». فسطور هذه الفواتير تُرسل بالتصنيف O، أما اختيار Z أو O بحسب السلعة فيخص الفاتورة المحلية.
ويضيف الدليل لفواتير المناطق التنموية شرطين آخرين، هما أن يكون الرقم الضريبي للمشتري إجباريًا ومسجلًا في المناطق التنموية، وأن يكون هناك «كتاب إعفاء ساري مُدخل على النظام المالي». ولهذه الحالة رسالة رفض مستقلة نتناولها في مقال خطأ BuyerTaxNumber في فواتير المناطق التنموية.
ولا يخص شرط النسبة فواتير الدخل. فبحسب الدليل لا تحمل سطور فاتورة الدخل بيانات ضريبة أصلًا، ولا يضع عمود «محددات» شرط النسبة على أنواعها، باستثناء شرط الرقم الضريبي للمشتري في المناطق التنموية.
وتذكّر أن ملف الإرسال يصرّح بنوع الفاتورة، لكنه لا يقرره وحده. فالخانة الثالثة تتبع تسجيلك لدى دائرة ضريبة الدخل والمبيعات، ونوع التعامل يتبع حقيقة البيع. ولا يكفي تغيير الرمز في الملف لتجاوز شرط النسبة.
حالات تؤدي إلى رسالة General tax percentage must be zero
القاعدة واحدة، لكن الطريق إليها يختلف. وهذه حالات تنتج الرسالة بحسب نص القاعدة، فإذا كانت فاتورتك في إحداها فابدأ الفحص منها:
- سلعة معفاة أو خاضعة لنسبة الصفر بتصنيف
S. إذا كان برنامجك يضعSعلى كل السطور ثم تُخفَّض النسبة إلى 0% لسلعة بعينها، يخرج السطر بنسبة صفر وتصنيفS. - فاتورة من نوع غير محلي ببيانات سطر محلية. يحدث هذا إذا كانت الفاتورة تصديرًا أو ترانزيتًا مثلًا، وأُرسلت سطورها بنسبة 0% مع بقاء التصنيف
Sالذي تحمله السطور ذات النسب غير الصفرية. - تعديل النسبة دون التصنيف. يحدث هذا إذا عُدّلت النسبة في السطر يدويًا إلى صفر، وبقي حقل التصنيف على قيمته السابقة.
وفي الحالات الثلاث يكون الحل في حقل التصنيف لا في النسبة. فالنسبة 0% صحيحة، والتصنيف هو الذي لا يناسبها.
خطوات إصلاح الفاتورة قبل إعادة إرسالها
- اقرأ الرسالة كما عادت. احفظ نص
EINV_MESSAGEوحالة الفاتورةEINV_STATUSفي سجلك قبل أي تعديل، فهما مرجعك إن تكرر الرفض. - حدّد السطور التي نسبتها 0%. افحص العنصر
cbc:Percentفي كل سطر، واستخرج السطور التي قيمته فيها صفر. - طابق التصنيف مع وصف السلعة. اجعل التصنيف
Zإذا كانت السلعة أو الخدمة معفاة، وOإذا كانت خاضعة لنسبة الصفر. ولا تتركSعلى أي سطر نسبته 0%. - راجع نوع الفاتورة. إذا كانت الفاتورة تصديرًا أو مناطق تنموية أو ترانزيتًا أو تجارة خارجية أو تنازلًا داخل المنطقة الحرة، فالدليل يشترط أن تكون نسبة الضريبة 0%، وينص جدول الصفحة 42 على تعبئة القيمة
Oلجميع السلع. فتحقق أن سطور ضريبة المبيعات العامة كلها بهذه النسبة وهذا التصنيف. - أعد حساب السطر والمجاميع. ضريبة السطر الذي نسبته 0% تساوي صفرًا، ومجموعه يساوي قيمته بعد الخصم. فإذا تغيّرت ضريبة أي سطر، فطابق مجاميع الفاتورة مع مجموع السطور حتى لا تنتقل إلى رسالة أخرى، كما في مقال خطأ مجموع الفاتورة.
- أعد الإرسال بالرقم والمعرّف نفسيهما. يوصي الدليل عند إعادة الإرسال باستخدام رقم الفاتورة ومعرّفها الفريد (UUID) نفسيهما، لا توليد معرّف جديد.
- احكم على النتيجة من حالة الفاتورة. الحالة
SUBMITTEDتعني أن الفاتورة قُبلت ويعود معها رمز QR. ولا تكتفِ برمز HTTP وحده.
الفرق بينها وبين نسبة ضريبة غير مقبولة
تختلف هذه الرسالة عن حالة أخرى تبدو قريبة منها، وهي إرسال نسبة ضريبة لا يقبلها الحقل cbc:Percent أصلًا. فرسالة General tax percentage must be zero تأتي مع رمز 400، والنسبة فيها مقبولة (صفر) والخطأ في التصنيف المرافق لها.
أما النسبة التي لا ترد في قائمة القيم التي يقبلها الحقل، فيذكرها الدليل بين أسباب رمز 500 لا بين رسائل رمز 400. وهذه القائمة قائمة تحقق تقنية تحدد ما يقبله الحقل عند الإرسال، وليست جدولًا بنسب ضريبة المبيعات العامة التي يفرضها القانون. وتفصيل هذه الحالة في مقال خطأ 500 في نظام الفوترة الوطني.
كيف يساعدك قيود
حين تصدر فاتورتك من برنامج محاسبي، لا تكتب ملف XML بيدك. يبني تكامل قيود مع نظام الفوترة الوطني ملف الفاتورة بصيغة UBL 2.1 ومعرّفها الفريد، ويرسله دون أي تدخل يدوي. ويعمل كذلك على هذه الطبقة:
- فحص قبل الإرسال. يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها: الرقم الضريبي، ونوع المستند وطريقة الدفع، ونسبة ضريبة المبيعات العامة، واكتمال البنود، وينبهك بأي خطأ قبل إرسالها لتقليل حالات الرفض.
- حالة كل فاتورة أمامك. تعيد الدائرة حالة الفاتورة ورسالة الخطأ، ويعرضها قيود في لوحة الحالة.
- قائمة بما يحتاج إعادة إرسال. تعرض لوحة الحالة الفواتير التي لم تُرسل وتحتاج إلى إعادة إرسال.
- إعادة إرسال بالمعرّف نفسه. تعيد إرسال الفاتورة بمعرّف UUID نفسه.
والفحص المسبق تنبيه لا ضمان. فهو يغطي الحقول الأربعة المذكورة، ويبقى قبول الفاتورة لنظام الفوترة الوطني وحده.
أين تذهب بعد هذا المقال
- بقية رموز الرفض ورسائله: في مقال أخطاء نظام الفوترة الوطني: لماذا تُرفض فاتورتك وكيف تصلحها.
- الصورة الكاملة للنظام: كيف يعمل وكيف تربط منشأتك به، في مقال نظام الفوترة الوطني الإلكتروني في الأردن.
- قراءة رسائل رمز 400 عمومًا: في مقال خطأ 400 في نظام الفوترة الوطني.
- التصنيفات الثلاثة بالتفصيل: في مقال فئات الضريبة S وZ وO في نظام الفوترة الوطني.
فوترة إلكترونية ومحاسبة متكاملة في نظام واحد
قيود متكامل مع نظام الفوترة الوطني (JoFotara). تُصدر فاتورتك بالدينار الأردني من قيود فتُقيَّد في دفاترك تلقائيًا وتُرسل إلى النظام، وبعد قبولها يعود عليها رمز QR من دائرة ضريبة الدخل والمبيعات.
الأسئلة الشائعة
ما معنى رسالة General tax percentage must be zero؟
تعني أن في الفاتورة سطرًا نسبة ضريبته 0% أُرسل بالتصنيف الضريبي S. ويصنفها الدليل التقني ضمن رسائل رمز 400، ويحيل في شرحها إلى جدول التصنيفات في الصفحة 42.
هل يرفض نظام الفوترة الوطني التصنيف Z عند نسبة 0%؟
لا يرفضه بحسب جدول الصفحة 42 من الدليل التقني. فالجدول يقابل نسبة 0% بتصنيفين، هما Z للسلعة أو الخدمة المعفاة وO للخاضعة لنسبة الصفر، والمرفوض عند هذه النسبة هو S وحده. أما في فواتير التصدير والأنواع غير المحلية الأخرى فينص الجدول نفسه على تعبئة O لجميع السلع.
كيف أعرف هل أستخدم Z أم O؟
يتبع الاختيار المعاملة الضريبية للسلعة أو الخدمة لا ملف الفاتورة. فالسلعة المعفاة تُرسل بالتصنيف Z، والخاضعة لنسبة الصفر بالتصنيف O، وهذا في الفاتورة المحلية. أما فواتير التصدير والمناطق التنموية والترانزيت والتجارة الخارجية والتنازل داخل المناطق الحرة فينص الدليل فيها على O لجميع السلع. وإن لم تكن متأكدًا من معاملة سلعة ما، فراجعها مع محاسبك قبل الإرسال.
ما أنواع الفواتير التي يشترط فيها الدليل نسبة 0%؟
يشترطها الدليل في فواتير ضريبة المبيعات العامة والضريبة الخاصة من خمسة أنواع، هي التصدير والمناطق التنموية والترانزيت والتجارة الخارجية والتنازل داخل المناطق الحرة. ولا يضع شرطًا على النسبة في الفاتورة المحلية. وينص جدول الصفحة 42 على تعبئة التصنيف O لجميع السلع في فواتير ضريبة المبيعات العامة من هذه الأنواع.
هل أولّد معرّفًا فريدًا جديدًا عند إعادة الإرسال بعد الإصلاح؟
يوصي الدليل بإعادة الإرسال برقم الفاتورة ومعرّفها الفريد نفسيهما. فالفاتورة المرفوضة لم تُقبل، وتوليد معرّف جديد قد يؤدي إلى تكرارها.
المراجع
- دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، 2026.
