Skip to content
العربية
  • There are no suggestions because the search field is empty.

استيراد فواتير المبيعات في نظام قيود (Qoyod)

 استيراد فواتير المبيعات في نظام قيود (Qoyod)

المسار في النظام: المبيعات ‹ فواتير المبيعات ‹ استيراد الفواتير

1. نظرة عامة على الخاصية

خاصية استيراد فواتير المبيعات تتيح للمستخدم إنشاء عدد كبير من فواتير المبيعات (حتى 5000 صف في الملف الواحد) دفعة واحدة عبر رفع ملف إكسل (xlsx) بدلًا من إدخال كل فاتورة يدويًا من واجهة النظام.

الفئة المستهدفة:

  • المنشآت المنتقلة من نظام محاسبي آخر وتريد ترحيل فواتيرها المحفوظة في إكسل إلى قيود.
  • المحاسبون ومكاتب المحاسبة الذين يسجّلون دفعات كبيرة من الفواتير.
  • المنشآت ذات الحجم الكبير من فواتير المبيعات (نقاط بيع تجميعية، متاجر، إلخ).

التوفر: الخاصية متاحة تلقائيًا لجميع عملاء قيود، على جميع الباقات، دون الحاجة لأي إعداد مسبق أو ترقية أو تفعيل خاص.

2. خطوات الاستخدام من واجهة المستخدم
  1. من القائمة الجانبية: المبيعات ‹ فواتير المبيعات.
  2. الضغط على زر "استيراد الفواتير" (يظهر في أعلى صفحة فواتير المبيعات، وأيضًا كرابط مباشر ضمن قائمة المبيعات الجانبية الفرعية).
  3. في صفحة الاستيراد تظهر ثلاث خطوات إرشادية:
    • تحميل القالب: رابط "xlsx" لتنزيل نموذج إكسل جاهز ومُخصص لحساب المنشأة (القوائم المنسدلة بداخله معبأة مسبقًا بالقيم الفعلية المعتمدة في حساب العميل نفسه: مواقعه، ضرائبه، طرق الدفع المفعّلة لديه... إلخ).
    • تعبئة البيانات: تعبئة بيانات الفاتورة وبنودها داخل الملف المحمَّل.
    • رفع الملف: اختيار الملف المعبأ من الجهاز عبر منطقة "انقر لاختيار الملف".
  4. بعد اختيار الملف تظهر رسالة "✓ تم اختيار الملف بنجاح" واسم الملف مرفقًا أسفل منطقة الرفع.
  5. الضغط على زر "استيراد الفواتير" (الزر الأزرق الكبير أسفل الصفحة) لبدء عملية التحقق والمعالجة الفعلية.

آلية العمل الداخلية:

  • إذا فشل أي صف واحد في هذا التحقق الفوري، يتوقف الاستيراد بالكامل ولا يُنشأ أي شيء إطلاقًا — حتى الفواتير/الصفوف الصحيحة ضمن نفس الملف لا تُستورد. تظهر رسالة "يحتوي هذا الملف على أخطاء. يرجى إصلاحها والمحاولة مرة أخرى." مع جدول يعرض رقم الصف (رقم الصف الفعلي في ملف الإكسل، بحيث الصف 1 و2 هما صفا العناوين والبيانات تبدأ من الصف 3) ونص الخطأ لكل صف فاشل، وقد يحتوي على أكثر من صف خاطئ في نفس الوقت.
  • إذا نجح التحقق الفوري لكل الصفوف، يعيد الخادم استجابة نجاح فورية بنص: "تم استلام الملف وجاري معالجته. سنرسل لك بريدًا إلكترونيًا عند الانتهاء." ثم تُعالَج عملية إنشاء الفواتير فعليًا في الخلفية، ويمكن للمستخدم التنقل بحرية في النظام دون انتظار. في الملفات الصغيرة (سطر أو سطرين) تظهر الفاتورة الجديدة في قائمة فواتير المبيعات خلال ثوانٍ معدودة.
3. بنية ملف القالب بالتفصيل

جدول الأعمدة الكامل (بالترتيب الفعلي من A إلى V)

A — مرجع الفاتورة / التسلسل

  • إلزامي؟ نعم
  • النوع: نص (حتى 191 حرفًا حسب تلميح إكسل)
  • ملاحظات وقاعدة التحقق الفعلية: مفتاح تجميع البنود؛ كرر نفس القيمة في كل صف ينتمي لنفس الفاتورة. ليس بالضرورة رقم الفاتورة النهائي الذي سيظهر للعميل، بل مرجع/معرّف تُستخدم لتجميع الصفوف فقط، لكن قيود يعرضه فعليًا كحقل "المرجع" في قائمة الفواتير ويُستخدم كمعرّف فريد (انظر قاعدة عدم التكرار في القسم 9).

B — الوصف

  • إلزامي؟ لا
  • النوع: نص حر
  • ملاحظات: وصف عام للفاتورة.

C — الرقم المرجعي للعميل

  • إلزامي؟ نعم
  • النوع: نص (حتى 191 حرفًا)
  • ملاحظات: يجب أن يطابق حقل "الرقم المرجعي" (Reference Number) في بيانات العميل نفسه، وليس اسم العميل إطلاقًا. هذا أكثر سبب شائع لفشل الاستيراد.
  • تسجيل فاتورة بعدة بنود يتطلب تكراره في كل صف.

D — تاريخ الإصدار

  • إلزامي؟ نعم
  • النوع: تاريخ نصي بصيغة DD/MM/YYYY
  • ملاحظات وقاعدة التحقق الفعلية: لن يُقبل أي تنسيق آخر (مثل YYYY-MM-DD) — يُرفض بخطأ "تاريخ غير صحيح أو مفقود".
  • تسجيل فاتورة بعدة بنود يتطلب تكراره في كل صف.

E — تاريخ الاستحقاق

  • إلزامي؟ اختياري
  • النوع: تاريخ نصي DD/MM/YYYY

F — تاريخ التوريد

  • إلزامي؟ لا
  • النوع: تاريخ نصي DD/MM/YYYY
  • ملاحظات: إذا تُرك فارغًا، يأخذ تلقائيًا نفس قيمة "تاريخ الإصدار".

G — الموقع

  • إلزامي؟ نعم
  • النوع: قائمة منسدلة
  • ملاحظات وقاعدة التحقق الفعلية: يجب أن تكون القيمة أحد المواقع/الفروع المفعّلة والمسموح بها لصلاحيات المستخدم بالضبط كما تظهر في القائمة. القيمة الحرة أو الموقع غير الموجود/غير المصرَّح به يُرفض بخطأ "الموقع غير موجود أو غير مسموح به لمستخدمك."

H — طريقة الدفع

  • إلزامي؟ اختياري في الوضع العادي، إلزامي فقط إذا كانت المنشأة في المرحلة الثانية من الفوترة الإلكترونية (Phase 2 / ZATCA)
  • النوع: قائمة منسدلة
  • ملاحظات: القيم القياسية: نقدي، بالأجل، دفعة لحساب البنك، بطاقة بنك، غير محدد. تركه فارغًا في منشأة غير مُفعَّل عليها ربط الفوترة الإلكترونية (المرحلة الثانية) لا يسبب أي خطأ وتُنشأ الفاتورة بنجاح بدون طريقة دفع محددة.

I — الشروط والأحكام

  • إلزامي؟ لا
  • النوع: نص حر
  • ملاحظات وقاعدة التحقق الفعلية: يظهر كنص في أسفل الفاتورة.

J — الملاحظات

  • إلزامي؟ لا
  • النوع: نص حر
  • ملاحظات وقاعدة التحقق الفعلية: ملاحظات داخلية/تظهر على الفاتورة.

K — قيمة خصم المستند

  • إلزامي؟ لا
  • النوع: رقم
  • ملاحظات وقاعدة التحقق الفعلية: خصم على مستوى الفاتورة الكاملة (وليس على بند معيّن). يجب أن يكون أكبر من صفر إن أُدخل (اتركه فارغًا لعدم تطبيق خصم). ملاحظة مهمة: اتركه فارغ بحال لا يكون خصم للمستند.

L — حساب خصم المستند

  • إلزامي؟ لا
  • النوع: قائمة منسدلة (حسابات دليل الحسابات)
  • ملاحظات وقاعدة التحقق الفعلية: يُستخدم لتخصيص الخصم لحساب محاسبي معيّن. اختياري حتى لو كان K معبأً (انظر ملاحظة K أعلاه).

M — الفئة الضريبية لخصم المستند

  • إلزامي؟ لا
  • النوع: قائمة منسدلة (نفس قائمة ضرائب العمود V)
  • ملاحظات وقاعدة التحقق الفعلية: الفئة الضريبية المرتبطة بخصم المستند.

N — الرقم التسلسلي/الباركود للمنتج

  • إلزامي؟ ⚠️ إلزامي لكل بند — راجع القسم 4
  • النوع: نص/رقم
  • ملاحظات: يُطابَق بالكود التسلسلي أو الباركود المسجَّل على المنتج في قسم "المنتجات والتكاليف".

O — وصف المنتج

  • إلزامي؟ لا (لكن لا يُغني عن N حاليًا)
  • النوع: نص حر
  • ملاحظات وقاعدة التحقق الفعلية: وصف إضافي يظهر بجانب اسم المنتج على الفاتورة (ليس بديلاً عن الكود، انظر القسم 4).

P — الكمية (بالوحدة الأساسية)

  • إلزامي؟ نعم
  • النوع: رقم موجب
  • ملاحظات: يجب أن تكون أكبر من صفر تمامًا؛ القيمة صفر أو الفارغة أو السالبة تُرفض بخطأ "يجب أن تكون الكمية أكبر من صفر." تقبل الكسور العشرية.

Q — وحدة التحويل

  • إلزامي؟ لا
  • النوع: قائمة منسدلة (وحدات القياس العامة في الحساب)
  • ملاحظات وقاعدة التحقق الفعلية: يجب أن تكون هذه الوحدة من الوحدات المُعرَّفة تحديدًا كوحدة تحويل لهذا المنتج بالذات ضمن إعدادات المنتج نفسه، وليس أي وحدة عامة من قائمة وحدات القياس في النظام — وإلا يظهر خطأ: وحدة التحويل "X" غير مضبوطة لهذا المنتج. إن تُركت فارغة، تُستخدم الوحدة الأساسية للمنتج والكمية في العمود P تُقرأ بهذه الوحدة مباشرة.

R — سعر الوحدة

  • إلزامي؟ نعم
  • النوع: رقم
  • ملاحظات وقاعدة التحقق الفعلية: يجب أن يكون صفرًا أو أكبر (لا يُقبل سالبًا) — خطأ عند السالب: "لا يمكن أن يكون سعر الوحدة سالبًا." السعر صفر مسموح به (فاتورة بقيمة صفرية للبند).

S — شامل الضريبة؟

  • إلزامي؟ نعم، إلزامي لكل بند
  • النوع: قائمة منسدلة (نعم / لا)
  • ملاحظات وقاعدة التحقق الفعلية: تحدد هل السعر المُدخل في R يشمل الضريبة بالفعل أم لا. تركه فارغًا يُرفض بخطأ: "شامل الضريبة مطلوب لكل بند. يرجى اختيار قيمة من القائمة المنسدلة." — راجع القسم 6 لأمثلة حسابية.

T — نسبة الخصم

  • إلزامي؟ لا
  • النوع: رقم من (0–100)
  • ملاحظات وقاعدة التحقق الفعلية: خصم بالنسبة المئوية على مستوى البند. لا يجوز ملؤه مع العمود U معًا في نفس البند (انظر القسم 4). القيم أكبر من 100 تمر من التحقق الفوري لكنها تفشل لاحقًا في مرحلة الإنشاء برسالة خطأ تقنية غير مُترجمة بالكامل (انظر القسم 9 — حالة خاصة).

U — قيمة الخصم

  • إلزامي؟ لا
  • النوع: رقم عشري ≥ 0
  • ملاحظات وقاعدة التحقق الفعلية: خصم بمبلغ ثابت على مستوى البند. لا يجوز ملؤه مع العمود T معًا.

V — الضريبة%

  • إلزامي؟ نعم، إلزامي لكل بند
  • النوع: قائمة منسدلة (فئات الضرائب المُعرَّفة في الحساب)
  • ملاحظات وقاعدة التحقق الفعلية: القيمة غير الموجودة في القائمة تُرفض بخطأ: "قيمة الضريبة غير معروفة. يرجى استخدام قيمة من القائمة المنسدلة في القالب."

ملاحظة عامة على كل القوائم المنسدلة (G, H, L, M, Q, S, V): هذه القوائم ليست ثابتة في النظام، بل تُبنى ديناميكيًا من البيانات الفعلية المُعدَّة مسبقًا في حساب المنشأة (مواقعها، ضرائبها المُعرَّفة، حساباتها، وحدات قياسها). لذلك يجب دائمًا تحميل قالب جديد من نفس الحساب مباشرة قبل كل عملية استيراد، لأن أي قالب قديم محفوظ من قبل (أو مُعاد استخدامه من حساب/فترة سابقة) لن يعكس التعديلات اللاحقة (إضافة موقع جديد، تعديل اسم ضريبة، حذف طريقة دفع...)، وهذا هو تحديدًا سبب رسالة "النموذج قديم" الموثقة.

4. ⚠️ تنبيهات هامة جدًا

4.1 قاعدة تجميع بنود الفاتورة الواحدة

يجب أن تكون بيانات الرأس "متطابقة تمامًا أو فارغة" في كل الصفوف — وليس "مكرَّرة إلزاميًا في كل صف"

هذه أهم نقطة على الإطلاق لبناء أداة تحقق آلي صحيحة، وتم التأكد منها بثلاثة اختبارات منفصلة ومتقاطعة:

  • حالة 1 (نجاح): فاتورة من بندين بنفس المرجع، حيث بيانات الرأس (رقم مرجعي للعميل، التواريخ، الموقع، طريقة الدفع، الوصف) معبأة فقط في الصف الأول، وفارغة تمامًا في الصف الثاني ⇦ نجحت العملية وأُنشئت فاتورة واحدة بالبندين معًا.
  • حالة 2 (فشل): نفس الفاتورة، لكن بيانات الرأس مكرَّرة في كلا الصفين، مع اختلاف بسيط فقط في عمود "الوصف" (نص مختلف بين الصف الأول والثاني) ⇦ فشلت العملية بخطأ فوري صريح: تختلف بيانات الفاتورة بين الصفوف التي تحمل نفس المرجع (مع رقم الصف الثاني تحديدًا).
  • حالة 3 (نجاح): نفس الفاتورة، مع تكرار متطابق حرفيًا 100% لكل بيانات الرأس (بما فيها الوصف) في الصفين ⇦ نجحت العملية.

الخلاصة العملية الدقيقة: عند إنشاء فاتورة متعددة البنود بنفس "مرجع الفاتورة"، لكل عمود من أعمدة "رأس الفاتورة" (المرجع، الوصف، الرقم المرجعي للعميل، تاريخ الإصدار، تاريخ الاستحقاق، تاريخ التوريد، الموقع، طريقة الدفع، الشروط والأحكام، الملاحظات، وحقول خصم المستند الثلاثة) قاعدتان مقبولتان فقط، ولا ثالث لهما:

  1. تُعبَّأ في الصف الأول فقط وتُترك فارغة تمامًا في كل الصفوف التالية لنفس المجموعة (الأسلوب المُوصى به والأوضح)، أو
  2. تُكرَّر بنفس القيمة حرفيًا وبدون أي اختلاف (حتى مسافة إضافية أو حرف مختلف) في كل صفوف المجموعة.

أي مزيج بينهما (تعبئة جزئية مختلفة، أو تكرار مع اختلاف بسيط) يوقف الملف بالكامل برسالة "تختلف بيانات الفاتورة بين الصفوف التي تحمل نفس المرجع". هذا يخالف أي إرشاد يفيد بوجوب "تكرار بيانات الفاتورة الرئيسية إلزاميًا في كل صف" لفواتير المبيعات — فالتكرار مسموح به فقط كخيار بديل بشرط التطابق التام، وليس إلزاميًا، والأسلوب الأضمن هو تعبئة الصف الأول فقط.

أعمدة بنود الفاتورة الفعلية فقط لا تخضع لهذه القاعدة، وتختلف بطبيعتها من بند لآخر: رمز المنتج، وصف المنتج، الكمية، وحدة التحويل، سعر الوحدة، شامل الضريبة، نسبة/قيمة الخصم، والضريبة.

5. الحقول الإلزامية — الخلاصة النهائية المؤكدة

على مستوى الفاتورة (تُعبَّأ مرة واحدة لكل فاتورة، وفق قاعدة القسم 4.3)

  • مرجع الفاتورة / التسلسل (A)
  • الرقم المرجعي للعميل (C) — بالرقم المرجعي وليس الاسم
  • تاريخ الإصدار (D) — بصيغة DD/MM/YYYY حصرًا
  • الموقع (G) — من القائمة المنسدلة فقط
  • طريقة الدفع (H) — إلزامي فقط لمنشآت الفوترة الإلكترونية المرحلة الثانية

على مستوى كل بند (سطر) داخل الفاتورة

  • رمز المنتج/الباركود (N) — إلزامي فعليًا دائمًا، لا بديل عنه حاليًا
  • الكمية (P) — أكبر من صفر
  • سعر الوحدة (R) — صفر أو أكبر
  • شامل الضريبة؟ (S) — نعم/لا، إلزامي
  • الضريبة% (V) — من القائمة المنسدلة، إلزامي
7. رسائل الأخطاء الفعلية الكاملة (نص حرفي) وحلولها

الجدول التالي هو أهم جزء لأداة الدعم الآلي/التحقق، لأنه يحتوي على النص الحرفي الفعلي الذي يعرضه النظام حاليًا لكل حالة خطأ تم اختبارها، وليس نصًا مُعادَ صياغته:

الموقع غير موجود أو غير مسموح به لمستخدمك.

  • السبب الفعلي: القيمة في عمود "الموقع" (G) غير مطابقة حرفيًا لأي موقع من قائمة القالب، أو المستخدم لا يملك صلاحية الوصول لهذا الموقع.
  • الحل: استخدم القيمة كما هي تمامًا من القائمة المنسدلة في قالب مُحمَّل حديثًا؛ تأكد أن صلاحيات المستخدم تشمل هذا الموقع من الإعدادات.

لم يتم العثور على العميل. يرجى استخدام كود عميل موجود.

  • السبب الفعلي: عمود "الرقم المرجعي للعميل" (C) يحتوي اسم العميل بدلًا من رقمه المرجعي، أو رقم مرجعي غير موجود إطلاقًا.
  • الحل: افتح سجل العميل تحت "العملاء" وانسخ قيمة حقل "الرقم المرجعي" (وليس اسم المنشأة) بالضبط.

رمز المنتج (SKU) أو الباركود مطلوب لكل بند.

  • السبب الفعلي: عمود N فارغ (بغض النظر عن تعبئة عمود الوصف O).
  • الحل: أنشئ المنتج أولًا في "المنتجات والتكاليف" واستخدم كوده التسلسلي أو باركوده في العمود N.

أدخل نسبة الخصم أو مبلغ الخصم، وليس كليهما.

  • السبب الفعلي: تم ملء كل من عمود "نسبة الخصم" (T) و"قيمة الخصم" (U) في نفس البند.
  • الحل: اترك أحد العمودين فارغًا تمامًا.

الملف فارغ، يرجى تعبئة البيانات

  • السبب الفعلي: الملف المرفوع لا يحتوي على أي صف بيانات بعد صفي العناوين.
  • الحل: تأكد من إدخال البيانات فعليًا بدءًا من الصف الثالث قبل الحفظ.

تختلف بيانات الفاتورة بين الصفوف التي تحمل نفس المرجع

  • السبب الفعلي: تكرار "مرجع الفاتورة" (A) في أكثر من صف مع اختلاف ولو بسيط في أي من حقول رأس الفاتورة الأخرى بين تلك الصفوف.
  • الحل: راجع القسم 4.3: إما اترك حقول الرأس فارغة بعد الصف الأول، أو كرّرها بتطابق تام حرفيًا.

قيمة الضريبة غير معروفة. يرجى استخدام قيمة من القائمة المنسدلة في القالب.

  • السبب الفعلي: القيمة في عمود "الضريبة%" (V) أو "الفئة الضريبية لخصم المستند" (M) نص حر أو رقم وليست التسمية الكاملة المطابقة تمامًا لضريبة معرَّفة في الحساب.
  • الحل: انسخ نص الضريبة كاملًا كما يظهر في القائمة المنسدلة للقالب المُحمَّل حديثًا (مثال: "ضريبة القيمة المضافة الاساسي - 15.0%").

تاريخ غير صحيح أو مفقود.

  • السبب الفعلي: التاريخ بصيغة غير DD/MM/YYYY (مثل ISO YYYY-MM-DD)، أو فارغ في عمود إلزامي، أو نص غير قابل للتحويل لتاريخ.
  • الحل: أعد كتابة التاريخ بصيغة يوم/شهر/سنة بالضبط.

يجب أن تكون الكمية أكبر من صفر.

  • السبب الفعلي: عمود "الكمية" (P) فارغ، أو صفر، أو رقم سالب.
  • الحل: أدخل رقمًا موجبًا أكبر من صفر (تقبل كسورًا عشرية).

لا يمكن أن يكون سعر الوحدة سالبًا.

  • السبب الفعلي: عمود "سعر الوحدة" (R) يحتوي رقمًا سالبًا.
  • الحل: أدخل صفرًا أو رقمًا موجبًا.

شامل الضريبة مطلوب لكل بند. يرجى اختيار قيمة من القائمة المنسدلة.

  • السبب الفعلي: عمود "شامل الضريبة؟" (S) فارغ أو يحتوي قيمة غير "نعم"/"لا".
  • الحل: اختر "نعم" أو "لا" فقط.

وحدة التحويل "X" غير مضبوطة لهذا المنتج

  • السبب الفعلي: عمود "وحدة التحويل" (Q) يحتوي وحدة قياس موجودة في النظام عمومًا لكنها غير مرتبطة تحديدًا بهذا المنتج في إعداداته.
  • الحل: إما اترك العمود فارغًا (تُستخدم الوحدة الأساسية)، أو أضف وحدة التحويل هذه لإعدادات المنتج أولًا من "المنتجات والتكاليف"، أو استخدم وحدة تحويل مُفعَّلة فعليًا لهذا المنتج تحديدًا.

تعذر إنشاء الفاتورة: Reference المرجع مأخوذ مسبقا من [رقم الفاتورة الداخلي]

  • السبب الفعلي: "مرجع الفاتورة" (A) مطابق تمامًا لمرجع فاتورة مبيعات موجودة مسبقًا في النظام (مرجع الفاتورة يجب أن يكون فريدًا على مستوى المنشأة).
  • الحل: استخدم مرجعًا مختلفًا لم يُستخدم من قبل في أي فاتورة مبيعات سابقة.

تعذر إنشاء الفاتورة: ... Invoice items discount percentage يجب أن لا يتعدى 100 (رسالة تقنية مطوّلة تحتوي مفاتيح ترجمة إنجليزية غير مُترجمة بالكامل)

  • السبب الفعلي: عمود "نسبة الخصم" (T) على أحد البنود أكبر من 100%.
  • الحل: هذه الحالة لا تُكتشف في طبقة التحقق الأولى بل تظهر برسالة تقنية أقل وضوحًا (خلل واجهة معروف)؛ يجب على موظف الدعم قراءتها وإخبار العميل ببساطة أن نسبة الخصم على أحد البنود تجاوزت 100% ويجب تصحيحها لتكون بين 0 و100.
10. سجل النشاط للفاتورة

تُسجَّل كل محاولة استيراد (سواء نجحت بالكامل أو فشلت في التحقق الفوري) في تقرير النشاط للفواتير بعد الضغط على عرض بجانب الفاتورة ، تحت نوع معاملة "استيراد" وبالضغط على اشارة العين تظهر التفاصيل، ويتضمن السجل: اسم المستخدم الذي نفّذ العملية، وتوقيت التنفيذ بالضبط. بالضغط على "التفاصيل" ضمن هذا السجل يظهر: اسم الملف المرفوع، إجمالي عدد الفواتير في الملف، عدد الفواتير الناجحة، عدد الفواتير الفاشلة، ونتيجة العملية العامة. هذا يجعل تقرير النشاط مرجعًا موثوقًا لمراجعة تاريخ عمليات الاستيراد السابقة ومن قام بها.