ساخت جدول اقساط شمسی با سررسید روز کاری
چطور اقساط ماهانه را بر پایه ماههای شمسی بسازیم، روز ۳۱ را در ماههای ۳۰ روزه درست کنیم و سررسیدهایی را که به تعطیلی میخورند با قاعده مناسب به روز کاری منتقل کنیم.
جدول اقساط در محصولات وام و خرید اعتباری معمولاً ماهانه است؛ اما «ماهانه» در ایران یعنی ماه شمسی، نه سی روز ثابت و نه ماه میلادی. دو نکته کار را پیچیده میکند: طول متفاوت ماهها و سررسیدهایی که به جمعه یا تعطیل رسمی میخورند.
قاعده اول: همان روز در هر ماه شمسی
اگر نخستین قسط در روز ۳۱ باشد، از مهر به بعد این روز وجود ندارد. موتور تقویم روز سررسید را به طول ماه محدود میکند: ۳۱ شهریور، ۳۰ مهر، ۳۰ آبان و در اسفند ۲۹ یا ۳۰، بسته به کبیسه بودن سال.
قاعده دوم: انتقال به روز کاری
وقتی سررسید به روز غیرکاری میخورد، یکی از قاعدههای استاندارد تعدیل به کار میرود:
| قاعده | رفتار |
|---|---|
following | روز کاری بعد |
modified_following | روز کاری بعد، مگر اینکه به ماه بعد برود؛ در آن صورت روز کاری قبل |
preceding | روز کاری قبل |
modified_preceding | روز کاری قبل، مگر اینکه به ماه قبل برود |
none | بدون تعدیل |
مثال: شنبه ۲۹ اسفند ۱۴۰۵ تعطیل رسمی است. با following سررسید به پنجشنبه ۵ فروردین ۱۴۰۶ میرود؛ پنج روز بعد و در سال بعد. با modified_following در همان اسفند میماند و به پنجشنبه ۲۷ اسفند ۱۴۰۵ منتقل میشود. برای اقساطی که باید در همان دوره مالی وصول شوند، modified_following انتخاب امنتری است.
یک جدول نمونه
شش قسط با شروع از ۱ فروردین ۱۴۰۵ و مبلغ کل ۱٬۲۰۰٬۰۰۰٬۰۰۰ ریال:
curl 'https://iranopenfinance.com/api/calendar/schedule?start=1405/01/01&count=6&amount=1200000000'
| قسط | سررسید اصلی | سررسید کاری |
|---|---|---|
| ۱ | ۱ اردیبهشت | سهشنبه ۱ اردیبهشت |
| ۲ | ۱ خرداد | شنبه ۲ خرداد (۱ خرداد جمعه است) |
| ۳ | ۱ تیر | دوشنبه ۱ تیر |
| ۴ | ۱ مرداد | پنجشنبه ۱ مرداد |
| ۵ | ۱ شهریور | یکشنبه ۱ شهریور |
| ۶ | ۱ مهر | چهارشنبه ۱ مهر |
مبلغ هر قسط عدد صحیح ریالی است و باقیمانده گرد کردن به قسط آخر اضافه میشود؛ جمع اقساط همیشه با مبلغ کل برابر است.
در محصول خودتان
- در تقویم مالی ابزار «جدول اقساط» همین محاسبه را زنده نشان میدهد و درخواست API معادل را هم میسازد.
- در اپلیکیشن نمونه خرید اعتباری، تاریخ قسط بعدی از همین موتور میآید؛ اگر به جمعه بخورد، با برچسب «روز کاری» جابهجا میشود.