# SmartPay360 V3 Deployment Checklist

- [ ] Back up the existing application and database if upgrading an existing site.
- [ ] Do not import the fresh-install schema over the live production database.
- [ ] Create an empty database for a fresh installation.
- [ ] Copy `.env.example` to `.env` and enter production database credentials.
- [ ] Set `APP_URL`, `APP_BASE`, `TIMEZONE`, SMS and optional ZKTeco settings.
- [ ] Rotate credentials that appeared in any older SmartPay360 source archive.
- [ ] Import `database/smartpay360_complete_schema.sql` or use `/setup/`.
- [ ] Create the first administrator and confirm `/setup/` is locked afterwards.
- [ ] Test Admin, Director/Finance, Manager, Cashier, Stores and HR access separately.
- [ ] Confirm a branch-scoped user cannot view another branch by changing URL parameters.
- [ ] Test invoice create/verify/approve, payment allocation, cheque flow and reconciliation.
- [ ] Test till close/deposit, petty cash, inventory/POS and RMS sync used by the business.
- [ ] Test reports and print/PDF layouts on desktop and Android-sized screens.
- [ ] Verify notification targeting and unread counts with two branches/users.
- [ ] Enable HTTPS and confirm secure session cookies.
- [ ] Keep production `display_errors` off and log errors privately.
- [ ] Configure log rotation/retention.
