# Cron Setup (Shared Hosting)

This system requires exactly ONE cron entry to run the Laravel scheduler.
It drives the database-backed queue (invoice creation, PDF generation, eTIMS
OSCU submissions) and any future scheduled reports — no Horizon/Supervisor
daemon needed.

In your hosting control panel (cPanel > Cron Jobs), add:

    * * * * * php /home/USERNAME/path-to-project/artisan schedule:run >> /dev/null 2>&1

Replace the path with your actual project path on the server.
Confirm the PHP version used by cron matches PHP 8.2/8.3 (cPanel often
defaults cron to an older PHP CLI binary — check `php -v` via SSH first).
