رجوع

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

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

الصلاحيات المطلوبةصلاحية إضافة المدفوعات للفواتير (مثل إضافة مدفوعات لكل الفواتير)، وصلاحية الإيداع في الخزينة المختارة. لتعديل أسعار الصرف يدويًا يلزم أن يكون الإعداد معامل تحويل العملات على عرض في إعدادات المبيعات.
طريقة الوصولفواتير المبيعات ← افتح الفاتورة ← إضافة عملية دفع

قبل البدء

  • تطبيق الحسابات العامة مفعّل، وفي دليل الحسابات حساب فروق العملة (يظهر في النسخة العربية باسم تغيير عملة، ويقابل في التقرير اسم Foreign Exchange Gains and Losses). بدونه لا تُحفظ الدفعة.
  • توجد أسعار صرف بين العملتين في أسعار العملات، أو ستُدخل السعر يدويًا بعد ضبط الإعداد على عرض.
  • الفاتورة محفوظة (غير مسودة إن كنت تريد ترحيل القيود) ولها مبلغ متبقٍ.

أين تُسجَّل الدفعة بعملة مختلفة؟

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

حقول نموذج الدفع الخاصة بالعملة

تظهر الحقول التالية في نموذج إضافة عملية دفع بجانب الحقول المعتادة (وسيلة الدفع، الخزينة، التاريخ، الرقم المعرف، الملاحظات، المرفقات).

الحقل إلزامي؟ القيمة الافتراضية متى يظهر ماذا يفعل
مبلغ الدفع + قائمة العملة بجواره إلزامي المبلغ المتبقي على الفاتورة، والعملة = عملة الفاتورة دائمًا، بغض النظر عن أي إعداد المبلغ الذي دفعه العميل فعليًا (أو دفعته للمورد) بالعملة التي تختارها من القائمة الملحقة بالحقل. قائمة العملة هي ما يقصده التقرير بـ«عملة الدفع».
مبلغ تسوية الفاتورة يُحسب تلقائيًا فارغ حتى تختار عملة مختلفة عندما تختلف عملة الدفع عن عملة الفاتورة المبلغ الذي سيُخصم من رصيد الفاتورة بعملة الفاتورة = مبلغ الدفع × سعر الصرف من عملة الدفع إلى عملة الفاتورة. يتحدّث فورًا مع تغيير المبلغ أو السعر.
سعر صرف [عملة الدفع] إلى [عملة الفاتورة] إلزامي عند ظهوره سعر النظام في تاريخ الدفعة (من أسعار العملات أو السعر المباشر) عملة الدفع ≠ عملة الفاتورة، وإعداد معامل تحويل العملات = عرض يمكنك تعديله يدويًا لهذه الدفعة فقط. يجب أن يكون أكبر من صفر.
المبلغ بعملة النظام يُحسب تلقائيًا (للقراءة فقط) — عملة الدفع ≠ عملة الحساب الأساسية، وعملة الفاتورة ≠ عملة الحساب الأساسية قيمة المبلغ المدفوع بعملة حسابك الأساسية، وهي القيمة التي تُرحَّل بها الخزينة.
سعر صرف [عملة الدفع] إلى [عملة النظام] إلزامي عند ظهوره سعر النظام في تاريخ الدفعة نفس شرط الحقل السابق، والإعداد = عرض سعر تحويل الدفعة إلى عملة الحساب الأساسية. إذا كانت عملة الفاتورة هي عملة الحساب الأساسية فلا يظهر، ويُستخدم السعر السابق نفسه.
تحديث سعر النظام (بجوار كل سعر) اختياري غير مفعّل مع ظهور حقل السعر عند تفعيله يُحفظ السعر الذي أدخلته سجلًا جديدًا في أسعار العملات ويُستخدم في المعاملات التالية، كما يوضح التلميح: سيتم إضافة هذا السعر كسجل جديد في أسعار العملات المحلية بالنظام واستخدامه في المعاملات القادمة.
🛈

ملاحظة: إذا كانت عملة الدفع هي عملة الفاتورة نفسها يعمل النموذج كما كان تمامًا، ولا يظهر أي حقل إضافي.

أثر إعداد «معامل تحويل العملات»

خيار الإعداد ما يحدث في نموذج الدفع
عرض تظهر حقول سعر الصرف معبأة بسعر النظام ويمكن تعديلها، ويظهر خيار تحديث سعر النظام. السعر المُدخل إلزامي.
اخفاء تظهر قائمة العملة ومبلغ تسوية الفاتورة فقط، ويُطبَّق سعر النظام تلقائيًا في تاريخ الدفعة. إذا لم يوجد سعر تظهر رسالة Currency conversion rate not found.
🛈

ملاحظة: الإعداد في إعدادات المبيعات ← قسم إصدار الفاتورة ← معامل تحويل العملات. هو نفسه الإعداد الذي يتحكم في تعديل سعر العملة على فاتورة المبيعات.

كيف تُحسب المبالغ؟

  • مبلغ تسوية الفاتورة = مبلغ الدفع × سعر الصرف (عملة الدفع ← عملة الفاتورة)، مقرّبًا لكسور عملة الفاتورة.
  • يُخصم مبلغ التسوية من المتبقي على الفاتورة، وتتغير حالة الفاتورة إلى مدفوعة أو مدفوعة جزئيًا حسبه.
  • تُرحَّل الخزينة بالمبلغ المدفوع فعلًا بعملة الدفع، وبسعر تحويل الدفعة إلى عملة الحساب الأساسية.
  • فرق العملة = (مبلغ الدفع × سعر الدفع إلى عملة النظام) − (مبلغ التسوية × سعر الفاتورة إلى عملة النظام الذي سُجلت به الفاتورة).
  • سعر الفاتورة المعتمد هو السعر اليدوي المحفوظ على الفاتورة إن وُجد، وإلا سعر قيد الفاتورة، وإلا سعر النظام في تاريخ الفاتورة.

القيود التي تُنشأ بعد الحفظ

القيد الحسابات التاريخ الوصف
قيد عملية الدفع مدين: الخزينة أو الحساب البنكي بالمبلغ المدفوع بعملة الدفع / دائن: حساب العميل تاريخ الدفعة وصف قيد الدفع المعتاد
قيد فرق العملة (قيد منفصل) إذا كان الفرق موجبًا: مدين حساب العميل / دائن تغيير عملة. إذا كان سالبًا ينعكس الطرفان. تاريخ الدفعة فرق العملة — عملية دفع #[رقم الدفعة] فاتورة #[رقم الفاتورة]
🛈

ملاحظة: لا يُنشأ قيد فرق العملة إذا كان الفرق أقل من أصغر وحدة في عملة حسابك الأساسية (مثل 0.01). عند تعديل الدفعة يُعاد حساب القيدين، وإذا أصبح الفرق صفرًا يُحذف قيد الفرق. تظهر القيود في قسم القيود المرتبطة في صفحة الدفعة باسم قيد عملية الدفع وقيد فرق العملة.

القيود والاستثناءات

  • لا تُقبل دفعة بعملة مختلفة إذا كانت مرتبطة بوردية نقاط بيع مفتوحة.
  • الدفعة المرتبطة بفاتورة دفعة مقدمة لا يمكن تغيير مبلغها أو عملتها من صفحتها؛ عدّل فاتورة الدفعة المقدمة نفسها.
  • الدفعات القديمة وكل دفعة بعملة الفاتورة تبقى كما هي دون أي تغيير في طريقة حفظها أو طباعتها.
  • الدفع المتعدد لأكثر من فاتورة في عملية واحدة لا يشمل هذه الخاصية؛ استخدم إضافة عملية دفع من كل فاتورة.

مثال عملي

  1. فاتورة بقيمة 1,000 دولار أمريكي، وعملة حسابك الريال السعودي، وسُجلت الفاتورة بسعر 1 USD = 3.75 SAR.
  2. دفع العميل 3,780 ريالًا. في إضافة عملية دفع تكتب 3,780 في مبلغ الدفع وتختار SAR من القائمة.
  3. يظهر سعر صرف SAR إلى USD معبأً بسعر النظام (مثلًا 0.2667)، ويظهر مبلغ تسوية الفاتورة ≈ 1,008.13 USD تقريبًا، فإذا كان أكبر من المتبقي فعدّل المبلغ أو السعر.
  4. بعد الحفظ ينقص المتبقي على الفاتورة بمبلغ التسوية، وتُرحَّل الخزينة بـ 3,780 ريالًا.
  5. يُحسب فرق العملة بالريال: (3,780 × 1) − (مبلغ التسوية × 3.75)، ويُرحَّل في قيد فرق العملة.

ماذا يحدث بعد الحفظ؟

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

لماذا لا يعمل كما أتوقع؟

المشكلة السبب الحل
لا تظهر قائمة العملة بجوار مبلغ الدفع تفتح نموذج الدفع من داخل نموذج الفاتورة (قسم مدفوع بالفعل)، أو الدفعة مرتبطة بفاتورة دفعة مقدمة فتكون الحقول مقفلة افتح الفاتورة المحفوظة واضغط إضافة عملية دفع، أو عدّل فاتورة الدفعة المقدمة
لا تظهر حقول سعر الصرف الإعداد معامل تحويل العملات على اخفاء غيّر الإعداد إلى عرض في إعدادات المبيعات أو المشتريات
لا يظهر المبلغ بعملة النظام عملة الدفع أو عملة الفاتورة هي عملة الحساب الأساسية سلوك طبيعي؛ لا يلزم سعر ثانٍ
لم يُنشأ قيد فرق العملة الفرق أقل من أصغر وحدة في عملة الحساب، أو الأسعار متطابقة مع سعر الفاتورة سلوك طبيعي
رُفضت الدفعة برسالة بالإنجليزية عن حساب Foreign Exchange حساب تغيير عملة غير موجود أو غير متاح أضفه أو أعد تفعيله من دليل الحسابات
مبلغ التسوية أكبر من المتبقي المبلغ المدفوع بعد التحويل يتجاوز رصيد الفاتورة يُعامل الزائد حسب سلوك الدفعة الزائدة المعتاد في الفاتورة؛ راجع المبلغ والسعر قبل الحفظ
الإعداد المكان أثره على الدفع بعملة مختلفة
معامل تحويل العملات (مبيعات) إعدادات المبيعات ← إصدار الفاتورة يُظهر أو يخفي حقول السعر في دفعات فواتير المبيعات والفواتير المرتجعة، ويتحكم في حقل سعر فاتورة المبيعات
معامل تحويل العملات (مشتريات) إعدادات المشتريات ← إصدار الفاتورة يُظهر أو يخفي حقول السعر في دفعات فواتير الشراء ومرتجعات المشتريات، وحقل سعر فاتورة الشراء
أسعار العملات أسعار العملات مصدر السعر الافتراضي؛ يُختار السعر الذي يبدأ قبل تاريخ الدفعة أو فيه
حساب فروق العملة دليل الحسابات يُرحَّل عليه قيد فرق العملة؛ بدونه تُرفض الدفعة

رسائل الخطأ وحلولها

الرسالة السبب الحل
مطلوب (تحت حقل السعر) الإعداد معامل تحويل العملات على عرض، وعملة الدفع مختلفة، وتركت حقل السعر فارغًا. أدخل سعر الصرف.
يجب أن يكون سعر الصرف أكبر من صفر أدخلت سعرًا صفرًا أو سالبًا. أدخل سعرًا موجبًا.
Currency conversion rate not found الإعداد على اخفاء ولا يوجد سعر في النظام بين العملتين في تاريخ الدفعة. أضف سعرًا من أسعار العملات بتاريخ يسبق تاريخ الدفعة، أو غيّر الإعداد إلى عرض وأدخل السعر يدويًا. (الرسالة تظهر بالإنجليزية حاليًا.)
عملة غير صحيحة العملة المختارة غير معروفة للنظام (غالبًا عبر API). اختر عملة من القائمة.
Cross-currency payments are not supported here الدفعة مرتبطة بوردية نقاط بيع وعملتها مختلفة عن عملة الفاتورة (فواتير المبيعات فقط). سجّل الدفعة بعملة الفاتورة، أو سجّلها خارج وردية نقاط البيع. (بالإنجليزية حاليًا.)
Foreign Exchange account not found — add it to your chart of accounts before recording a cross-currency payment. لا يوجد في دليل الحسابات الحساب المخصص لفروق العملة (حساب تغيير عملة). أضف الحساب أو أعد توجيهه من دليل الحسابات، ثم أعد المحاولة. (بالإنجليزية حاليًا.)
Could not update the system currency rate فعّلت تحديث سعر النظام وتعذّر حفظ السعر الجديد في أسعار العملات. تُحفظ الدفعة، لكن راجع أسعار العملات وأضف السعر يدويًا. (بالإنجليزية حاليًا.)

أسئلة شائعة

هل يتغير رصيد العميل بعملة الفاتورة؟

نعم، ينقص رصيد الفاتورة بمبلغ التسوية بعملة الفاتورة، ويُسجَّل فرق العملة على حساب العميل وحساب تغيير عملة بعملة الحساب الأساسية.

هل يمكنني تعديل الدفعة لاحقًا وتغيير عملتها؟

نعم من صفحة الدفعة ← تعديل، ويُعاد حساب مبلغ التسوية وقيد الدفع وقيد فرق العملة.

ماذا لو كان سعر الصرف المدخل غير صحيح؟

عدّل الدفعة وأدخل السعر الصحيح؛ يُعاد حساب التسوية والقيود. إذا كنت فعّلت تحديث سعر النظام فعدّل أو احذف السعر المضاف من أسعار العملات أيضًا.

هل تظهر عملة الدفع في الإيصال المطبوع؟

نعم، يُطبع الإيصال بعملة الدفع مع سطر يوضح سعر الصرف المستخدم. راجع «طباعة إيصال دفعة العميل والمورد بعملة الدفع الفعلية».

لماذا لا يظهر سعر الصرف رغم اختيار عملة مختلفة؟

لأن إعداد معامل تحويل العملات على اخفاء؛ يُطبَّق سعر النظام تلقائيًا.

هل يمكن الدفع بعملة ليست عملة الفاتورة ولا عملة الحساب؟

نعم، مثل دفع يورو لفاتورة بالدولار في حساب بالريال؛ يظهر حينها السعران والمبلغ بعملة النظام.

هل يتغير مبلغ التسوية إذا غيّرت أسعار النظام لاحقًا؟

لا، السعران يُحفظان مع الدفعة.

ما أثر الدفعة على كشف حساب العميل؟

يظهر سطر الدفعة بقيمة التسوية في عملة الفاتورة، ويُضاف أثر قيد الفرق على رصيد العميل بعملة الحساب.