Qoyod
الأسعار

 دليل المعرفة

بنود الفاتورة InvoiceLine في نظام الفوترة الوطني وقيودها

بنود الفاتورة InvoiceLine في نظام الفوترة الوطني هي الكتل التي يصف فيها ملف الفاتورة كل سلعة أو خدمة على حدة. فلكل سلعة أو خدمة كتلة cac:InvoiceLine مستقلة، فيها رقم البند وكميته وسعر الوحدة والخصم ومبلغ البند، وفيها ضريبته إذا كانت الفاتورة فاتورة ضريبة مبيعات. ومن هذه الكتل تُبنى مجاميع الفاتورة في رأس الملف، فما يُكتب في البند ينتقل إلى الإجمالي.

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

أما ترتيب حقول الملف كله وحكم كل حقل بين الإجباري والاختياري ففي مقال الحقول الإجبارية والاختيارية في نظام الفوترة الوطني، وأما الصورة العامة للنظام ففي مقال نظام الفوترة الوطني الالكتروني.

ما هي بنود الفاتورة InvoiceLine في نظام الفوترة الوطني

يقسم الدليل ملف الفاتورة إلى رأس يحمل بيانات الفاتورة نفسها، مثل رقمها ومعرّفها الفريد وتاريخها ونوعها، وإلى بنود تحمل تفاصيل السلع والخدمات. ويعنون الدليل قالب البنود في فاتورة ضريبة المبيعات العامة بعبارة «المدخلات الخاصة بتفاصيل سلع الفاتورة العامة».

ويتكرر العنصر cac:InvoiceLine في الملف بعدد السلع والخدمات في الفاتورة. فالفاتورة التي تبيع ثلاث سلع تحمل ثلاث كتل، لكل منها رقم ومبالغ مستقلة. ويطبّق الدليل على البنود ما يطبّقه على الملف كله، فالعناصر المظللة بالأصفر متغيرات إجبارية يملؤها نظام البائع، وما لا تظليل عليه وصف ثابت يُنسخ كما هو.

قالب InvoiceLine للفاتورة العامة في الدليل التقني: ID رقم تسلسلي وInvoicedQuantity بوحدة PCE وLineExtensionAmount، ثم TaxTotal بقيمة الضريبة وRoundingAmount وTaxSubtotal بالفئة S والنسبة، وسعر الوحدة قبل الضريبة والخصم في AllowanceCharge
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص41

يُظهر القالب ترتيب العناصر داخل البند. يأتي رقم البند أولًا، ثم الكمية، ثم مبلغ البند قبل الضريبة. وبعدها كتلة الضريبة cac:TaxTotal، ثم اسم السلعة أو الخدمة داخل cac:Item، ثم السعر والخصم داخل cac:Price. وهذا هو الترتيب الذي يورده قالب الدليل لبند فاتورة ضريبة المبيعات العامة.

عناصر البند وقيد كل عنصر

يجمع الجدول التالي عناصر بند فاتورة ضريبة المبيعات العامة كما يصفها الدليل، مع القيد الذي يضعه على كل عنصر. والأقسام التي تليه تشرح كل عنصر بتفصيل أكبر.

مرِّر الجدول أفقيًا لعرض بقية الأعمدة

العنصر ما يحمله القيد في الدليل
cbc:ID رقم تسلسلي خاص بكل سلعة أو خدمة «لا يتكرر على مستوى الفاتورة الواحدة»
cbc:InvoicedQuantity كمية السلعة أو الخدمة، مع السمة unitCode="PCE" عدد صحيح أو عشري أكبر من 0، بحد أعلى 9 خانات عشرية
cbc:LineExtensionAmount مبلغ البند قبل الضريبة (الكمية × سعر الوحدة) − الخصم
cbc:TaxAmount قيمة الضريبة على البند (الكمية × سعر الوحدة − الخصم) × نسبة الضريبة
cbc:RoundingAmount المبلغ الإجمالي للبند شاملًا الضريبة مبلغ البند قبل الضريبة + قيمة الضريبة
cbc:Name اسم السلعة أو الخدمة أو وصفها داخل cac:Item
cbc:PriceAmount سعر الوحدة قبل الضريبة عدد صحيح أو عشري أكبر من 0، بحد أعلى 9 خانات عشرية
cbc:Amount قيمة الخصم على البند، داخل cac:AllowanceCharge بالموجب فقط، بحد أعلى 9 خانات عشرية

تحمل كل المبالغ في أمثلة الدليل السمة currencyID="JO"، ومنها مبالغ البند الأربعة. ولا يحدد الدليل القيم التي يقبلها النظام لهذه السمة، فلا يُستنتج من أمثلته حكم قيمة أخرى.

رقم البند cbc:ID: تسلسلي ولا يتكرر داخل الفاتورة

يصف الدليل رقم البند بأنه «رقم تسلسلي خاص لكل (سلعة أو خدمة)»، ويضيف بالأحمر أنه «لا يتكرر على مستوى الفاتورة الواحدة». فالبند الأول يأخذ رقمًا، والثاني رقمًا غيره، ولا يجوز أن يحمل بندان في الملف نفسه الرقم ذاته.

ولا علاقة لهذا الرقم برقم الفاتورة، مع أن العنصرين يحملان الاسم نفسه cbc:ID. فرقم الفاتورة في رأس الملف، وهو مع المعرّف الفريد cbc:UUID المفتاح الذي تُعرف به الفاتورة. أما رقم البند فداخل كتلة cac:InvoiceLine، ونطاقه الفاتورة الواحدة فقط.

وإذا تكرر رقم البند في الملف رُفضت الفاتورة، وأسباب ذلك وطريقة إصلاحه في مقال رسالة The ID number must be unique.

الكمية InvoicedQuantity ووحدة القياس unitCode

يحمل العنصر cbc:InvoicedQuantity كمية السلعة أو الخدمة في البند. ويشترط الدليل أن تكون «عدد صحيح او عدد عشري شريطة ان تكون اكبر من 0 وخانات عشرية كحد اعلى لغاية 9». فالكمية الصفرية أو السالبة لا تستوفي شرط الدليل في بند فاتورة البيع، والكمية العشرية تستوفيه ما دامت في حدود تسع خانات.

وتأتي الكمية في كل أمثلة الدليل لفواتير البيع الجديدة مع السمة unitCode="PCE". وتضيف بنود فاتورة الإرجاع في ضريبة المبيعات العامة عنصرًا آخر هو <cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>. ولا يورد الدليل قائمة برموز وحدات القياس، ولا قاعدة تحدد ما يُقبل منها وما يُرفض. لذلك لا يمكن القول من الدليل وحده إن النظام يقبل وحدة أخرى مثل الكيلوغرام أو اللتر أو يرفضها.

السعر والخصم: PriceAmount وAllowanceCharge

يقع السعر والخصم معًا داخل الكتلة cac:Price. ويحمل العنصر cbc:PriceAmount سعر الوحدة، ويصفه قالب فاتورة ضريبة المبيعات العامة بأنه «سعر الوحدة قبل الضريبة». فالسعر في البند سعر صافٍ دائمًا، والضريبة تُحسب عليه في كتلة مستقلة. ويشترط الدليل في سعر الوحدة ما يشترطه في الكمية، أي أن يكون أكبر من 0 بحد أعلى تسع خانات عشرية.

جدول وصف عناصر البند في الدليل التقني: ID لا يتكرر على مستوى الفاتورة، والكمية وسعر الوحدة أكبر من 0 بحد 9 خانات عشرية، وLineExtensionAmount = (الكمية × سعر الوحدة) − الخصم، وقيمة الخصم بالموجب فقط
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص20

ويأتي الخصم بعد السعر في كتلة cac:AllowanceCharge، وفيها ثلاثة عناصر. الأول cbc:ChargeIndicator وقيمته الثابتة false، والثاني cbc:AllowanceChargeReason وقيمته الثابتة DISCOUNT، والثالث cbc:Amount وفيه قيمة الخصم. والعنصران الأولان وصف ثابت في القالب، والثالث وحده متغير يملؤه نظام البائع.

ويشترط الدليل في قيمة الخصم أن تكون «بالموجب فقط». فالخصم يُكتب رقمًا موجبًا، والمعادلة هي التي تطرحه من مبلغ البند. أما كتابته بإشارة سالبة فتخالف هذا القيد.

والخصم في ملف نظام الفوترة الوطني خصم بند. فالنظام لا يقبل خصمًا مستقلًا على إجمالي الفاتورة، وما يظهر في رأس الملف من خصم هو مجموع خصومات البنود. فإذا خصم البائع من إجمالي الفاتورة وجب توزيع الخصم على البنود قبل الإرسال.

مبلغ البند LineExtensionAmount

يحمل العنصر cbc:LineExtensionAmount مبلغ البند بعد الخصم وقبل الضريبة. ومعادلته في الدليل LineExtensionAmount = (quantity * unitPrice) - Discount، أي حاصل ضرب الكمية في سعر الوحدة مطروحًا منه خصم البند.

هذا العنصر هو قاعدة البند كله. فعليه تُحسب الضريبة، وإليه تُضاف قيمتها ليخرج إجمالي البند. لذلك يمتد أي خطأ فيه إلى العنصرين اللاحقين وإلى مجاميع الفاتورة. وتُبنى مجاميع الفاتورة في رأس الملف من عناصر البنود، والمعادلات التي تربط البنود بالمجاميع وأسباب رفض الفاتورة حين لا تتطابق مشروحة في مقال رسالة Total General Amount is Not Correct.

كتلة الضريبة في البند: TaxAmount وRoundingAmount

تحمل بنود فواتير ضريبة المبيعات العامة كتلة cac:TaxTotal، وفيها عنصران رئيسان. الأول cbc:TaxAmount ويحمل قيمة الضريبة على البند، ومعادلته في الدليل (الكمية × سعر الوحدة − الخصم) × نسبة الضريبة. والثاني cbc:RoundingAmount ويحمل إجمالي البند شاملًا الضريبة، ومعادلته مبلغ البند قبل الضريبة مضافًا إليه قيمة الضريبة.

وتحت هذين العنصرين كتلة cac:TaxSubtotal تكرر قيمة الضريبة، وتحمل فئة الضريبة ونسبتها ومخططها. فالفئة في العنصر cbc:ID بالمخطط UN/ECE 5305، والنسبة في cbc:Percent، ومخطط الضريبة VAT. ومعنى الفئات S وZ وO ومتى تُستخدم كل منها في مقال فئات الضريبة S وZ وO في نظام الفوترة الوطني.

ويظهر في قوالب الإرجاع والضريبة الخاصة عنصر إضافي هو cbc:TaxableAmount، وقيمته الكمية × سعر الوحدة − الخصم. ولا يظهر هذا العنصر في قالب بند فاتورة ضريبة المبيعات العامة الجديدة. أما بند فاتورة الضريبة الخاصة فيحمل كتلة ضريبة إضافية بمخطط مستقل، وتُحسب ضريبة المبيعات العامة فيه على مبلغ البند مضافًا إليه الضريبة الخاصة، وتفصيلها في مقال الضريبة الخاصة في ملف فاتورة نظام الفوترة الوطني. وكذلك يتغير أساس الضريبة لمن حصل من الدائرة على صلاحية سعر المستهلك وكان سعر المستهلك أعلى من سعر الوحدة، إذ تُحسب الضريبة حينها على الكمية × سعر المستهلك. فمعادلتا TaxAmount وRoundingAmount السابقتان تخصان بند فاتورة ضريبة المبيعات العامة في حالته المعتادة.

بند واحد من مثال الدليل

يتضمن مثال الدليل لفاتورة ضريبة المبيعات العامة بندًا خاضعًا بنسبة 7. ويوضح الجدول التالي العنصر الذي يحمل كل رقم من أرقامه، وكيف يُشتق كل عنصر من سابقه.

مرِّر الجدول أفقيًا لعرض بقية الأعمدة

العنصر القيمة في المثال من أين جاءت
الكمية × سعر الوحدة 66 33 × 2
cbc:Amount (الخصم) 2 خصم البند، يُكتب موجبًا
cbc:LineExtensionAmount 64 66 − 2
cbc:Percent 7 نسبة البند مع الفئة S
cbc:TaxAmount 4.48 64 × 7%
cbc:RoundingAmount 68.48 64 + 4.48

تُظهر هذه السلسلة أن البند يحسب نفسه بنفسه. فالضريبة تُحسب على مبلغ البند بعد الخصم، لا على السعر قبله، وإجمالي البند يجمع المبلغين. وما يظهر في رأس الملف من مجاميع يُجمع من هذه القيم بندًا بندًا.

بنود فاتورة الدخل: لا كتلة TaxTotal

يختلف بند فاتورة الدخل عن بند فاتورة ضريبة المبيعات في أمر واحد جوهري، هو غياب كتلة الضريبة كلها. فبند فاتورة الدخل لا يحمل cac:TaxTotal، ولا قيمة ضريبة، ولا إجماليًا شاملًا الضريبة، ولا فئة ولا نسبة.

قالب InvoiceLine لفاتورة الدخل في الدليل التقني بلا عنصر TaxTotal: ID والكمية وLineExtensionAmount ووصف السلعة وسعر الوحدة والخصم
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص20

يتكون بند فاتورة الدخل في قالب الدليل من رقم البند، والكمية بالوحدة PCE، ومبلغ البند cbc:LineExtensionAmount، واسم السلعة أو الخدمة، ثم سعر الوحدة والخصم. وتبقى قيود هذه العناصر كما هي في بند فاتورة ضريبة المبيعات، فالرقم لا يتكرر، والكمية والسعر أكبر من صفر، والخصم بالموجب.

ومن أمثلة الدليل لفاتورة الدخل بندان، الأول 33 × 2 − 2 = 64، والثاني 10 × 5 − 5 = 45. ويقف كل منهما عند مبلغ البند، فلا ضريبة تُضاف إليه. ولذلك فإن نسخ قالب بند ضريبة المبيعات في فاتورة دخل يضيف إلى الملف كتلة لا مكان لها في قالب فاتورة الدخل.

ونوع الفاتورة نفسه يجب أن يتناسب مع الرقم الضريبي للبائع وتسلسل مصدر الدخل. فإذا أرسل مكلف مسجل في ضريبة المبيعات العامة فاتورة دخل، أو العكس، فقد تعود الفاتورة برسالة الرفض التي يشرحها مقال رسالة This user is not authorized.

احتفظ بأرقام البنود: فاتورة الإرجاع تطابق البنود بالرقم

لا تنتهي حياة رقم البند عند قبول الفاتورة. فالدليل يضيف إلى إرشاداته العشر ملاحظة صريحة عن رقم البند في فاتورة البيع.

ملاحظة الدليل التقني: يجب الاحتفاظ برقم ID الخاص بالسلعة عند إصدار فاتورة البيع لاستخدامه لاحقًا في عمليات الإرجاع ومطابقة السلعة المرتجعة مع الفاتورة الأصلية
المصدر: دائرة ضريبة الدخل والمبيعات، الدليل التقني للربط مع نظام الفوترة الوطني من خلال واجهة برمجة التطبيقات (API)، الإصدار 1.5، ص104

تنص الملاحظة على وجوب الاحتفاظ برقم ID الخاص بالسلعة عند إصدار فاتورة البيع، لاستخدامه لاحقًا في عمليات الإرجاع ومطابقة السلعة المرتجعة مع الفاتورة الأصلية. والسبب أن فاتورة الإرجاع في نظام الفوترة الوطني تُبنى على البنود. فالدليل يشترط أن يكون «رقم الID للسلعة او الخدمة المراد ارجاعها كما هو في الفاتورة الاصلية»، وكذلك اسمها وسعر وحدتها.

ويضع الدليل لبند الإرجاع قيودًا أخرى. فالإرجاع يكون على الكميات فقط، ولا يتجاوز الكمية المباعة في الفاتورة الأصلية. والكمية المرتجعة أكبر من صفر، ويجوز أن تكون كاملة أو جزءًا منها برقم صحيح أو عشري. ويجوز أن تتعدد فواتير الإرجاع الجزئي على فاتورة أصلية واحدة حتى تنفد كمياتها.

فإذا أعاد نظام البائع ترقيم البنود بعد الإصدار، أو لم يحفظ أرقامها أصلًا، صعب عليه أن يبني بند إرجاع يطابق البند الأصلي. لذلك يُحفظ رقم كل بند مع الفاتورة، إلى جانب رقمها ومعرّفها الفريد ورمز QR الذي يعود بعد قبولها.

قائمة فحص البند قبل الإرسال

تجمع القائمة التالية قيود البند التي يذكرها الدليل، بترتيب العناصر في القالب.

  1. رقم البند. رقم تسلسلي لكل سلعة أو خدمة، ولا يتكرر داخل الفاتورة.
  2. الكمية. أكبر من صفر، بحد أعلى تسع خانات عشرية، مع السمة unitCode كما في قالب الدليل.
  3. مبلغ البند. الكمية × سعر الوحدة − الخصم، محسوبًا من القيم المرسلة في البند نفسه.
  4. كتلة الضريبة. موجودة في بند فاتورة ضريبة المبيعات، وغائبة تمامًا عن بند فاتورة الدخل.
  5. قيمة الضريبة. محسوبة على مبلغ البند بعد الخصم، بنسبة البند وفئته، في البند المعتاد بلا ضريبة خاصة ولا سعر مستهلك أعلى من سعر الوحدة.
  6. إجمالي البند. مبلغ البند قبل الضريبة + قيمة الضريبة.
  7. سعر الوحدة. قبل الضريبة، وأكبر من صفر.
  8. الخصم. بالموجب فقط، وعلى مستوى البند لا الفاتورة.
  9. الحفظ بعد القبول. رقم كل بند محفوظ مع الفاتورة لاستخدامه في الإرجاع.

يسبق هذا الفحص ما يشترطه الدليل في إرشاداته من التحقق من المجاميع والضرائب والحقول الإجبارية قبل الإرسال. فإذا رُفضت الفاتورة رغم ذلك، فتفصيل الخطأ يرد في الاستجابة، وطريقة قراءته في مقال خطأ 400 في نظام الفوترة الوطني.

كيف يتعامل قيود مع بنود الفاتورة

حين تُصدر الفاتورة من برنامج محاسبي مربوط بالنظام، لا تكتب عناصر البند بيدك في ملف XML. يبني قيود ملف الفاتورة بصيغة UBL 2.1 مع معرّفها الفريد، ويرسله إلى نظام الفوترة الوطني دون أي تدخل يدوي، عبر تكامل قيود مع نظام الفوترة الوطني.

  • فحص قبل الإرسال. يفحص قيود كل فاتورة على مستوى الحقول لحظة إنشائها، وهي الرقم الضريبي، ونوع المستند وطريقة الدفع، ونسبة ضريبة المبيعات العامة، واكتمال البنود، وينبهك بأي خطأ قبل إرسالها لتقليل حالات الرفض.
  • حالة كل فاتورة أمامك. تعيد الدائرة حالة الفاتورة ورسالة الخطأ، ويعرضها قيود في لوحة الحالة.
  • إعادة إرسال بالمعرّف نفسه. تعرض لوحة الحالة الفواتير التي لم تُرسل وتحتاج إلى إعادة إرسال، وتُعاد بمعرّف UUID نفسه فلا تتكرر.

والفحص المسبق تنبيه لا ضمان. فهو يغطي الحقول الأربعة المذكورة، ويبقى قبول الفاتورة قرارًا لنظام الفوترة الوطني وحده. ولمعرفة طريقة ربط منشأتك بالنظام، تعرّف على نظام الفوترة الوطني مع قيود، أو تصفح مركز نظام الفوترة الوطني في الأردن.

قيود · نظام الفوترة الوطني

فوترة إلكترونية ومحاسبة متكاملة في نظام واحد

ينبهك قيود بأي خطأ في حقول الفاتورة، ومنها اكتمال البنود، قبل إرسالها إلى نظام الفوترة الوطني، ويعرض حالة كل فاتورة في لوحة الحالة.

الأسئلة الشائعة

ما هي بنود الفاتورة InvoiceLine في نظام الفوترة الوطني؟

تمثل بنود الفاتورة الكتل التي يصف فيها ملف XML كل سلعة أو خدمة على حدة. ويحمل كل بند رقمه وكميته ومبلغه قبل الضريبة واسم السلعة وسعر الوحدة والخصم، ويحمل كتلة الضريبة في فواتير ضريبة المبيعات.

هل يجوز أن يتكرر رقم البند داخل الفاتورة الواحدة؟

لا يجوز ذلك، فالدليل التقني ينص على أن رقم البند «لا يتكرر على مستوى الفاتورة الواحدة». وإذا تكرر رُفضت الفاتورة برسالة The ID number must be unique.

ما وحدة القياس التي تظهر في أمثلة الدليل؟

تظهر الوحدة PCE في كل أمثلة فواتير البيع الجديدة، وتضيف بنود إرجاع ضريبة المبيعات العامة العنصر BaseQuantity بالوحدة C62. ولا يورد الدليل قائمة برموز الوحدات ولا قاعدة لقبولها.

هل يُكتب سعر الوحدة شاملًا الضريبة؟

يُكتب سعر الوحدة قبل الضريبة، فالدليل يصف العنصر PriceAmount بأنه «سعر الوحدة قبل الضريبة». وتُحسب الضريبة في البند المعتاد على مبلغ البند بعد الخصم، وتظهر في كتلة مستقلة.

هل تحمل بنود فاتورة الدخل ضريبة؟

لا تحمل بنود فاتورة الدخل كتلة TaxTotal أصلًا. فبندها يقتصر على الرقم والكمية ومبلغ البند والاسم وسعر الوحدة والخصم.

كيف ترتبط بنود فاتورة الإرجاع ببنود الفاتورة الأصلية؟

ترتبط بالرقم، إذ يشترط الدليل أن يأتي رقم البند المرتجع واسمه وسعر وحدته كما هي في الفاتورة الأصلية. لذلك يوصي الدليل بالاحتفاظ برقم كل بند عند إصدار فاتورة البيع.

المراجع

الأدلّة الإرشادية

تابع رحلة التعلّم

استكشف بقية أدلّة قيود الإرشادية، أو ابدأ بتطبيق ما تعلّمته.

ندوات مباشرة يقدمها فريق قيود لمساعدتك في استخدام البرنامج بسهولة والرد على أسئلتك.

تعرّف على أحدث تحديثات فيود والتحسينات المستمرة والخصائص الجديدة في مكان واحد.

فريقنا جاهز لمساعدتك وتقديم الدعم الفوري لأي مشكلة تواجهها على مدار الساعة