WFilter NG firewall has an ISP module, which is designed as a total solution for ISP management. You can check the details at this post: the ISP module of WFilter NG Firewall, a total solution for ISP management, and a online guide at: ISP management.
I would like to demonstrate how you can manage expiring and expired users in the ISP module.
1. You can add expiring and expired to different groups.
When enabled, certain users will be added to groups automatically. So you add more policies to these groups in “Access Control” and “Bandwidth”. For example, you can:
a). Send expiring notification to expiring users with “Web Push” module. Users can renew online, and renew process can be complete automatically.
b). Restrict internet access of expired users. Please note that login is not allowed for expired PPPoE and WebAuth users.
2. Email notification to expiring users.
You can schedule email notification to expiring users at different time point(for example, 30 days before expiry). Users also can click the “order now” link in email to renew their account. Please check below screenshots.
A sample email received:
More details can be found at here: WFilter NG Firewall ISP Module