تعلیق دیگر به سررسید فاکتور وصل نیست. دستور `billing:process-dunning` هر شب ساعت ۲۳:۵۹:
اشتراک اصلیِ فعال را که `ends_at` (وگرنه `next_billing_at`) رسیده باشد معلق میکند. مهلت همان تاریخ اتمام به وقت برنامه (`APP_TIMEZONE`، اینجا تهران) ساعت ۲۳:۵۹ است
برای Hetzner یعنی خاموش شدن سرور، نه حذف. افزونههای همان سرویس هم همراه والد معلق میشوند
چند روز بعد از تعلیق از دستهٔ محصول خوانده میشود. برای هر فیلد، بالاترین دستهای که مقدار صریح دارد برنده است. اگر هیچ دستهای عدد نگذارد، پیشفرض ۱۱ روز است
روش **خودکار** = حذف/لغو در ارائهدهنده. روش **تیکت** = سفارش جمعآوری در کارتابل، بدون حذف
سرویسهایی که قبلاً فقط با دنینگ فاکتور معلق شدهاند (`dunning_suspended`) از این مسیر جمع نمیشوند
علامتزدن فاکتور معوق برای یادآوری جداست و در `billing:send-invoice-reminders` میماند
سرویس **ساعتی** از این تعلیق ۲۳:۵۹ خارج است. روشنش به ردیف پوشش مشتری (`hourly_customer_coverages`) بند است و کران فقط وقتی آن پوشش تمام شود سراغش میرود. تعلیق کیف پول ستون `hourly_wallet_hold` است و علامت `expiry_suspended` نمیگذارد تا جمعآوری خودکار سرور را حذف نکند
اگر مشتری فاکتور تمدید را بپردازد، سرویس از تعلیق خارج و در ارائهدهنده روشن میشود. اگر تاریخ اتمام هنوز نرسیده باشد، دورهٔ جدید از همان تاریخ اتمام جلو میرود. اگر روشنکردن در ارائهدهنده شکست بخورد، وضعیت معلق میماند، تاریخ اتمام جلو میرود، و همان شب دوباره جمعآوری نمیشود.
تنظیمات دسته (تب مالیات و پرداخت)
| فیلد | معنی |
|------|------|
| جمعآوری بعد از تعلیق | چند روز بعد از تعلیق. خالی = دستهٔ بالاتر. ۰ = همان شب |
| فاکتور تمدید خودکار — چند روز قبل از اتمام | فقط وقتی نحوه تمدید در تب اطلاعات دسته «تمدید خودکار» باشد قابل پر کردن است |
| روش جمعآوری | فقط خودکار یا تیکت جمعآوری. پیشفرض خودکار |
Cron
زمانبندی داخل `bootstrap/app.php` است: `dailyAt('23:59')`. crontab فقط `schedule:run` را هر دقیقه اجرا میکند.