When you set up a self-hosted WHMCS installation, you must set up the system cron job. The system cron controls all of WHMCS's automation, including daily tasks like generating invoices and sending email notifications.
Check your system cron job's status to ensure that it is running correctly and completing the daily automation tasks on your self-hosted WHMCS installation. This is the first step to addressing many automation problems.