[OK] client create/view ok [OK] wrong password blocked [OK] inactive user blocked [OK] login ok [OK] super admin permissions ok [OK] document create/find ok [OK] send to OCR changes status [OK] OCR demo changes status [OK] OCR extraction needs review [OK] extraction confirmation validates document [OK] accounting entry generated [OK] accounting entry validation ok [OK] TVA calculation ok [OK] TVA report validation ok [OK] accounting CSV export ok [OK] TVA PDF export ok [OK] bank CSV import ok [OK] bank transaction listed ok [OK] bank reconciliation ok [OK] subscription plan create ok [OK] subscription assign ok [OK] SaaS invoice generation ok [OK] SaaS invoice mark paid ok [OK] expired subscription blocks upload [OK] expired subscription blocks OCR [OK] client isolation on ClientService ok [OK] client dropdown isolation ok [OK] client can access own document [OK] client cannot access other client id [OK] client export isolation ok [OK] CSRF token verification ok [OK] XSS escaping helper ok [OK] sensitive folders htaccess ok [OK] unsafe upload rejected [OK] responsive CSS present [OK] global UI JS present [OK] route smoke ok: public/dashboard.php [OK] route smoke ok: public/clients/index.php [OK] route smoke ok: public/documents/index.php [OK] route smoke ok: public/ocr/index.php [OK] route smoke ok: public/accounting/index.php [OK] route smoke ok: public/vat/index.php [OK] route smoke ok: public/bank/index.php [OK] route smoke ok: public/exports/index.php [OK] route smoke ok: public/reports/index.php [OK] route smoke ok: public/users/index.php [OK] route smoke ok: public/settings/index.php [OK] route smoke ok: public/billing/index.php [OK] route smoke ok: public/saas-invoices/index.php [OK] route smoke ok: public/maintenance/index.php [OK] route smoke ok: public/automations/index.php [OK] route smoke ok: public/emails/index.php [OK] route smoke ok: public/activity/index.php SUMMARY total=53 failed=0