prepare($check_sql); $stmt->bind_param("s", $category_name); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { $error = "A category with this name already exists"; } else { // Insert new category $sql = "INSERT INTO expense_categories (category_name, description, status, created_at) VALUES (?, ?, 'active', NOW())"; $stmt = $conn->prepare($sql); $stmt->bind_param("ss", $category_name, $description); if ($stmt->execute()) { $new_id = $conn->insert_id(); logActivity($_SESSION['user_id'], 'CREATE', 'expense_categories', "Created category: $category_name"); $success = "Category '$category_name' created successfully!"; // Clear form $category_name = ''; $description = ''; } else { $error = "Failed to create category: " . $stmt->error; } } } catch (Exception $e) { $error = "Database error: " . $e->getMessage(); } } } // Get existing categories $categories = fetchAll("SELECT * FROM expense_categories ORDER BY category_name"); $page_title = 'Add Expense Category'; require_once __DIR__ . '/../includes/header.php'; ?>

➕ Add Expense Category

Create New Category

Cancel

Existing Categories ()

Category Name Status

✓ Active Inactive

No categories yet. Create your first one!

💡 Example Categories

'Vehicle fuel expenses', 'Maintenance' => 'Equipment and vehicle maintenance', 'Utilities' => 'Electricity, water, etc.', 'Rent' => 'Shop or storage rent', 'Wages' => 'Employee salaries and wages', 'Supplies' => 'Shop supplies and materials', 'Ice' => 'Ice for fish preservation', 'Transportation' => 'Delivery and transport costs', 'Marketing' => 'Advertising and promotion', 'Miscellaneous' => 'Other expenses' ]; foreach ($examples as $name => $desc): ?>