HEBROTECH PAYROLL — STAGING CALCULATION REVIEW, 4 NOVEMBER 2026

Read RELEASE_REVIEW.md before use. This package replaces the earlier trial calculation code; it does not certify complete statutory compliance or include a deployed service.

Install only in a new staging database/document root initially. Back up any existing installation and test restoration before migration. Import schema.sql then v4, v5, v6, v7 and v8_compliance_review.sql in order. v8 is a one-time migration: do not rerun blindly. No old payroll or P9 records are automatically converted or deleted by migration.

Requires PHP8.2+ with PDO MySQL and OpenSSL, MySQL8/MariaDB10.11-compatible SQL, Apache with .htaccess enabled and a valid TLS certificate. Configure config/config.php with a dedicated database user. Base URL is https://payroll.hebrotech.co.ke; this is a proposed destination, not confirmation of deployment.

For first setup only, temporarily set enable_install=true, run install.php to create the company/admin, then disable and remove the installer. Create a separate Manager and Admin for independent closing approval. No default account/password is bundled. Keep deployment_mode=trial; the production gate deliberately remains closed until acceptance items are resolved.

Create a full calendar month; record reviewed working days/timebook earnings; review Monthly Inputs for each active employee; calculate/confirm advance vouchers before period payroll if applicable; calculate a period draft; reconcile results; Manager requests close and a different Admin approves. Only closed snapshots feed the new annual tax-card and statutory review worksheets.

Do not use final-pay settlements, unreviewed historical recalculation, historical amendment/re-filing or unvalidated portal uploads. See RELEASE_REVIEW.md for the precise support limits and outstanding work.

Tests:
php tests/deduction_limits_test.php
php tests/payroll_engine_test.php
The database workflow test is for a disposable local database ONLY; see its fixed localhost port3308 and synthetic fixtures. Never use a production connection for test setup.
