prepare("INSERT INTO labour_types (tenant_id, name) VALUES (?, ?)"); $stmt->execute([$tenant_id, $name]); } elseif ($action === 'edit_labour_type' && $id && $name) { $stmt = db()->prepare("UPDATE labour_types SET name = ? WHERE id = ? AND tenant_id = ?"); $stmt->execute([$name, $id, $tenant_id]); } elseif ($action === 'delete_labour_type' && $id) { $check = db()->prepare("SELECT COUNT(*) FROM labour_entries WHERE labour_type_id = ? AND tenant_id = ?"); $check->execute([$id, $tenant_id]); if ($check->fetchColumn() > 0) { $error = "Cannot delete: Labour type is used in labour entries."; } else { $stmt = db()->prepare("DELETE FROM labour_types WHERE id = ? AND tenant_id = ?"); $stmt->execute([$id, $tenant_id]); } } elseif ($action === 'add_evidence_type' && $name) { $stmt = db()->prepare("INSERT INTO evidence_types (tenant_id, name) VALUES (?, ?)"); $stmt->execute([$tenant_id, $name]); } elseif ($action === 'edit_evidence_type' && $id && $name) { $stmt = db()->prepare("UPDATE evidence_types SET name = ? WHERE id = ? AND tenant_id = ?"); $stmt->execute([$name, $id, $tenant_id]); } elseif ($action === 'delete_evidence_type' && $id) { $check = db()->prepare("SELECT COUNT(*) FROM labour_entries WHERE evidence_type_id = ? AND tenant_id = ?"); $check->execute([$id, $tenant_id]); if ($check->fetchColumn() > 0) { $error = "Cannot delete: Evidence type is used in labour entries."; } else { $stmt = db()->prepare("DELETE FROM evidence_types WHERE id = ? AND tenant_id = ?"); $stmt->execute([$id, $tenant_id]); } } elseif ($action === 'add_expense_type' && $name) { $stmt = db()->prepare("INSERT INTO expense_types (tenant_id, name) VALUES (?, ?)"); $stmt->execute([$tenant_id, $name]); } elseif ($action === 'edit_expense_type' && $id && $name) { $stmt = db()->prepare("UPDATE expense_types SET name = ? WHERE id = ? AND tenant_id = ?"); $stmt->execute([$name, $id, $tenant_id]); } elseif ($action === 'delete_expense_type' && $id) { $check = db()->prepare("SELECT COUNT(*) FROM expenses WHERE expense_type_id = ? AND tenant_id = ?"); $check->execute([$id, $tenant_id]); if ($check->fetchColumn() > 0) { $error = "Cannot delete: Expense type is used in expense logs."; } else { $stmt = db()->prepare("DELETE FROM expense_types WHERE id = ? AND tenant_id = ?"); $stmt->execute([$id, $tenant_id]); } } elseif ($action === 'add_team' && $name) { $stmt = db()->prepare("INSERT INTO teams (tenant_id, name) VALUES (?, ?)"); $stmt->execute([$tenant_id, $name]); } elseif ($action === 'edit_team' && $id && $name) { $stmt = db()->prepare("UPDATE teams SET name = ? WHERE id = ? AND tenant_id = ?"); $stmt->execute([$name, $id, $tenant_id]); } elseif ($action === 'delete_team' && $id) { $check = db()->prepare("SELECT COUNT(*) FROM employee_teams WHERE team_id = ? AND tenant_id = ?"); $check->execute([$id, $tenant_id]); if ($check->fetchColumn() > 0) { $error = "Cannot delete: Team has assigned employees."; } else { $stmt = db()->prepare("DELETE FROM teams WHERE id = ? AND tenant_id = ?"); $stmt->execute([$id, $tenant_id]); } } if ($error) { header("Location: settings.php?error=" . urlencode($error)); } else { header("Location: settings.php?success=1"); } exit; } // Fetch all datasets $labourTypes = db()->prepare("SELECT * FROM labour_types WHERE tenant_id = ? ORDER BY name"); $labourTypes->execute([$tenant_id]); $labourTypeList = $labourTypes->fetchAll(); $evidenceTypes = db()->prepare("SELECT * FROM evidence_types WHERE tenant_id = ? ORDER BY name"); $evidenceTypes->execute([$tenant_id]); $evidenceTypeList = $evidenceTypes->fetchAll(); $expenseTypes = db()->prepare("SELECT * FROM expense_types WHERE tenant_id = ? ORDER BY name"); $expenseTypes->execute([$tenant_id]); $expenseTypeList = $expenseTypes->fetchAll(); $teams = db()->prepare("SELECT * FROM teams WHERE tenant_id = ? ORDER BY name"); $teams->execute([$tenant_id]); $teamList = $teams->fetchAll(); $pageTitle = "SR&ED Manager - Settings"; include __DIR__ . '/includes/header.php'; ?>

System Settings & Datasets

Dataset updated successfully
Labour Types
NameActions
Evidence Types
NameActions
Expense Types
NameActions
Teams
NameActions
Data Management & Imports

Import legacy data or bulk records from other systems using CSV templates.

Company Preferences

Configure your company identity, logo, fiscal year end, and notification settings.

Manage Company Info
'addLabourTypeModal', 'title' => 'Add Labour Type', 'action' => 'add_labour_type'], ['id' => 'addEvidenceTypeModal', 'title' => 'Add Evidence Type', 'action' => 'add_evidence_type'], ['id' => 'addExpenseTypeModal', 'title' => 'Add Expense Type', 'action' => 'add_expense_type'], ['id' => 'addTeamModal', 'title' => 'Add Team', 'action' => 'add_team'], ]; foreach ($modals as $m): ?>