Fix cron job: delegate to OverdueFineApplicator, enforce consecutive-year drop rule
- OverdueFineJob now delegates fine calculation/distribution/drop to
OverdueFineApplicator::run() which already does proportional distribution
- Added reinstatement expiry call (12-month window enforcement)
- Only marks subscriptions overdue when financial_year < current (grace period)
- SubscriptionCalculator: drop check now verifies 5 CONSECUTIVE unpaid years
instead of just checking if oldest overdue >= 5 (prevents false drops when
a member paid middle years)
Co-Authored-By:
Claude Opus 4.6 <noreply@anthropic.com>
Showing
Please register or sign in to comment