جدول INV6 في SAP Business One (فاتورة المبيعات (الأقساط))

INV6 هو جدول SAP Business One الذي يخزن أقساط كل فاتورة مبيعات: صف واحد لكل فاتورة وقسط، مع تاريخ استحقاقه ومبلغه والمبلغ المدفوع وحالته. لكل فاتورة صف واحد على الأقل. اربطه بـ OINV عبر DocEntry لتحليل أعمار الذمم حسب تاريخ استحقاق القسط بدلًا من تاريخ استحقاق الفاتورة.

الحقول الرئيسية في INV6

الحقلما يحتويه
DocEntryالمفتاح الداخلي للفاتورة. يُربط بـ OINV.DocEntry.
InstlmntIDرقم القسط داخل الفاتورة، يبدأ من 1.
ObjTypeنوع الكائن، 13 لفواتير المبيعات.
DueDateتاريخ استحقاق هذا القسط.
StatusO = مفتوح، C = مغلق.
InstPrcntالقسط كنسبة مئوية من الفاتورة.
InsTotal / InsTotalFC / InsTotalSyمبلغ القسط بالعملة المحلية والأجنبية وعملة النظام.
PaidToDate / PaidFC / PaidSysالمبلغ المدفوع بالفعل من هذا القسط.
VatSum / VatPaidمبلغ ضريبة القسط والضريبة المدفوعة حتى الآن.
DunnLevelمستوى المطالبة الذي بلغه هذا القسط.
WTSum / WTAppliedمبلغ ضريبة الاستقطاع وضريبة الاستقطاع المطبقة.

كيف يرتبط INV6 بالجداول الأخرى

INV6 جدول فرعي لـ OINV مثل INV1، لكنه يقسم الفاتورة حسب تاريخ الدفع بدلًا من الصنف. اربط INV6.DocEntry = OINV.DocEntry؛ والزوج DocEntry مع InstlmntID فريد. ويأتي عدد الأقساط من شروط الدفع للفاتورة (يشير OINV.GroupNum إلى OCTG، حيث يحتوي InstNum على عدد الأقساط).

عمليات الربط الشائعة

  • OINV T0 INNER JOIN INV6 T1 ON T1.DocEntry = T0.DocEntry (أقساط الفاتورة)
  • OINV T0 INNER JOIN OCTG T2 ON T2.GroupNum = T0.GroupNum (شروط الدفع)
  • OINV T0 INNER JOIN OCRD T3 ON T3.CardCode = T0.CardCode (العميل)

متى تستخدم جدول INV6

استخدم INV6 لأعمار الذمم حسب القسط، ولقوائم التحصيل لما يستحق هذا الأسبوع، وللتحقق من الدفعات الجزئية على الفواتير المدفوعة على أجزاء. تحتاجه الشركات التي تبيع بشروط تقسيط (مثل 30/60/90 يومًا)، لأن تاريخ استحقاق الفاتورة وحده لا يُظهر إلا التاريخ الأخير.

مثال على استعلام: الأقساط المفتوحة مع أيام التأخير

SQL Server

SELECT T0.DocNum, T0.CardCode, T0.CardName, T1.InstlmntID, T1.DueDate,
  T1.InsTotal, T1.PaidToDate, T1.InsTotal - T1.PaidToDate AS OpenAmount,
  DATEDIFF(day, T1.DueDate, GETDATE()) AS DaysOverdue
FROM OINV T0
INNER JOIN INV6 T1 ON T1.DocEntry = T0.DocEntry
WHERE T1.Status = 'O' AND T0.CANCELED = 'N'
ORDER BY T1.DueDate, T0.DocNum

SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)

SELECT T0."DocNum", T0."CardCode", T0."CardName", T1."InstlmntID", T1."DueDate",
  T1."InsTotal", T1."PaidToDate", T1."InsTotal" - T1."PaidToDate" AS "OpenAmount",
  DAYS_BETWEEN(T1."DueDate", CURRENT_TIMESTAMP) AS "DaysOverdue"
FROM OINV T0
INNER JOIN INV6 T1 ON T1."DocEntry" = T0."DocEntry"
WHERE T1."Status" = 'O' AND T0."CANCELED" = 'N'
ORDER BY T1."DueDate", T0."DocNum"

الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.

خطأ شائع: تحليل الأعمار على OINV.DocDueDate عندما تكون للفواتير أقساط

الفاتورة المقسمة على ثلاثة أقساط لها DocDueDate واحد في الرأس، لكن لها ثلاثة تواريخ استحقاق في INV6. وتقرير الأعمار المبني على OINV وحده يُظهر المبلغ المفتوح كله مستحقًا في تاريخ واحد. اقرأ INV6 عندما تكون لشروط الدفع أكثر من قسط، واجمع InsTotal ناقص PaidToDate لكل قسط. انظر استعلام أعمار ذمم العملاء.

استعلامات جاهزة تستخدم INV6

أسئلة حول جدول INV6

هل لكل فاتورة مبيعات صف في INV6؟

نعم. الفاتورة التي ليس لها شروط دفع بالتقسيط لها صف واحد بـ InstlmntID 1 للمبلغ كله؛ والفواتير ذات الأقساط لها صف لكل قسط.

كيف أربط INV6 بـ OINV؟

عبر INV6.DocEntry = OINV.DocEntry. ويحدد DocEntry مع InstlmntID قسطًا واحدًا.

ماذا تعني قيم Status في INV6؟

O يعني أن القسط مفتوح و C يعني أنه مغلق (مدفوع بالكامل أو مغلق مع الفاتورة).

جداول ذات صلة

OINV (فاتورة المبيعات (الرأس)) · INV1 (فاتورة المبيعات (الأسطر)) · OCTG (شروط الدفع) · OCRD (شركاء الأعمال) · ابحث في كل جداول SAP Business One

المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.

جاهز للبدء؟

أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.