Get a quote

دعم عملات متعددة في نظام SaaS: الدولار والليرة اللبنانية والدرهم في نظام واحد

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

بناء نظام SaaS في منطقة MENA يعني التعامل مع عملات متعددة في وقت واحد: الدولار الأمريكي، الليرة اللبنانية، الدرهم الإماراتي، الريال السعودي. ليست مجرد مسألة تنسيق عرض. إنها مشكلة نمذجة بيانات ومنطق أعمال ومحاسبة في آنٍ واحد.

الخطأ الأساسي في نمذجة البيانات

معظم الفرق تتعامل مع الفوترة متعددة العملات بتخزين المبالغ كأرقام عشرية (float) مع رمز العملة. هذا يسبب مشاكل تتراكم مع الوقت.

الحساب العشري لا يصلح للمبالغ المالية. اضرب 0.1 في 3 في معظم لغات البرمجة والنتيجة 0.30000000000000004. هذا مثير للاهتمام أكاديمياً وكارثي تجارياً.

النموذج الصحيح: خزّن المبالغ كأعداد صحيحة في أصغر وحدة للعملة. للدولار: سنت. للدرهم: فلس. للريال: هللة.

type Money struct {
    Amount   int64
    Currency string // ISO 4217
}

الليرة اللبنانية تعقّد هذا فوراً. الوحدة الأصغر للليرة هي القرش لكنه لم يعد ذا معنى عملي منذ عقود. ستواجه مبالغ مثل 7,500,000 ل.ل. لاشتراك شهري. احتفظ بسجل عملات يحدد المنازل العشرية لكل عملة:

var currencyDecimals = map[string]int{
    "USD": 2,
    "AED": 2,
    "SAR": 2,
    "LBP": 0, // لا وحدة فرعية عملية
    "KWD": 3,
}

التسعير: عملة العرض مقابل عملة الفوترة مقابل عملة التقارير

في نظام SaaS متعدد العملات في MENA، لديك ثلاثة مفاهيم يجب عدم الخلط بينها:

عملة العرض: ما يراه المستأجر في الواجهة. قد يرغب العمل اللبناني في رؤية كل شيء بالدولار حتى لو كان يدفع من حساب بنكي لبناني.

عملة الفوترة: عملة الفاتورة والدفع الفعلي. تؤثر على طرق الدفع المتاحة والالتزام القانوني.

عملة التقارير: ما تستخدمه داخلياً لحسابات الإيرادات وMRR. معظم شركات SaaS في MENA تُبلّغ داخلياً بالدولار.

خزّن هذه العملات الثلاث بشكل منفصل في نموذج البيانات.

متى تقفل أسعار الصرف؟

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

للاشتراكات: اقفل سعر الصرف عند الإنشاء ولا تغيّره إلا إذا غيّر العميل خطته أو عملته بشكل صريح. للرسوم لمرة واحدة والفوترة بالاستخدام: اقفل سعر الصرف عند إنشاء الرسوم، لا عند إرسال الفاتورة أو الدفع.

الليرة اللبنانية تستحق انتباهاً خاصاً بسبب تقلبها خلال السنوات الماضية. كثير من شركات SaaS العاملة في لبنان تختار الفوترة بالدولار وقبول دفعات الليرة بسعر السوق وقت الدفع، مما يبسّط محاسبتها بشكل كبير.

معالجة المدفوعات في MENA

Stripe يدعم معظم عملات MENA لكن بقيود. الدرهم والريال مدعومان جيداً. الليرة اللبنانية غير مدعومة من معظم معالجي الدفع الدولية، مما يعني أن فوترة الليرة تسير عبر التحويل البنكي خارج معالج الدفع الخاص بك مع تسوية يدوية.

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

دروس مستخلصة

لا تستخدم أبداً الأرقام العشرية للمبالغ المالية. استخدم الحساب الصحيح في أصغر وحدة للعملة.

اقفل أسعار الصرف عند وقت المعاملة. لا تُعيد حساب الأرقام التاريخية بالأسعار الحالية.

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

ادمج تأكيد الدفع اليدوي في تدفق الفوترة الأساسي منذ البداية.

هل تحتاج مساعدة؟

Voxire تبني أنظمة فوترة SaaS للمنتجات التي تخدم لبنان ومنطقة MENA الأوسع، بما يشمل دعم العملات المتعددة وسير عمل تسوية المدفوعات والتكامل مع البنية التحتية للدفع الإقليمية.

https://voxire.com/get-a-quote/

العودة إلى المدونة
Chat on WhatsApp