تعطیلات قمری؛ یک روز عدمقطعیت که در محاسبات مالی گم میشود
تعطیلات قمری تا اعلام رسمی قطعی نیستند و ممکن است یک روز جابهجا شوند. این عدمقطعیت کوچک در تسویه، سررسید اقساط و مهلتهای قراردادی به ریسک عملیاتی تبدیل میشود؛ مگر اینکه سامانه آن را صریح نگه دارد.
در تقویم رسمی ایران دو نوع تعطیلی داریم. تعطیلات خورشیدی، مثل نوروز یا ۲۲ بهمن، سالها پیش مشخصاند. اما تعطیلات قمری، مثل تاسوعا، عاشورا، عید فطر و عید قربان، به رؤیت هلال وابستهاند و تاریخ دقیق آنها گاهی تا نزدیک همان روز قطعی نمیشود.
چرا یک روز مهم است
یک روز اختلاف در تقویم شخصی تقریباً بیاثر است؛ اما در سامانه مالی به زنجیرهای از پیامدها میرسد:
- تسویه: اگر روزی که تسویه روی آن حساب شده تعطیل اعلام شود، وجه یک روز دیرتر میرسد.
- سررسید اقساط: سررسیدی که روی روز کاری تنظیم شده ممکن است به تعطیلی بخورد و محاسبه جریمه تأخیر را زیر سؤال ببرد.
- مهلتهای قراردادی: شمارش «سه روز کاری» برای پاسخ به یک درخواست، با یک تعطیلی تازه یک روز جابهجا میشود.
مشکل اصلی: عدمقطعیتِ پنهان
بیشتر سامانهها تاریخ تعطیلات قمری را یک بار محاسبه میکنند و از آن به بعد مثل یک واقعیت قطعی با آن رفتار میکنند. عدمقطعیت در همان لحظه گم میشود؛ نه در رابط کاربری دیده میشود، نه در گزارشها و نه در منطق تصمیمگیری.
رویکرد موتور تقویم ایران اوپن فاینانس
- تفکیک صریح: هر تعطیلی یکی از دو وضعیت را دارد:
officialبرای تعطیلات قطعی وpredictedبرای تعطیلات قمری که هنوز رسمی نشدهاند. - انتشار عدمقطعیت: هر نتیجهای که به یک تعطیل پیشبینیشده وابسته باشد،
uncertain: trueمیگیرد؛ فقط وقتی آن تعطیلی روی روزی میافتد که در غیر این صورت کاری بود. پیشبینیای که روی جمعه یا یک تعطیل قطعی دیگر بیفتد، نتیجه را تغییر نمیدهد و علامت نمیخورد. - جایگزینی با جدول رسمی: وقتی تقویم رسمی یک سال اعلام شود، جدول آن ثبت میشود و همه تعطیلات قمری آن سال قطعی میشوند؛ بدون تغییر در کد محصول.
توصیهها برای تیمهای محصول
- تاریخهای
uncertainرا در رابط کاربری با برچسب «پیشبینی» نشان دهید. - برای تسویهها و سررسیدهای حساس در نزدیکی تعطیلات قمری یک روز حاشیه در نظر بگیرید.
- هشدارها و یادآوریها را بر پایه تاریخ نهایی بفرستید، نه تاریخ پیشبینیشده.
- نمای هفتگی و ماهانه روزهای کاری را دنبال کنید؛ این نماها بهطور خودکار از همین موتور ساخته میشوند و تعطیلات پیشبینیشده را جدا نشان میدهند.