# Accounting Module Implementation Plan

> **For Claude:** REQUIRED SUB-SKILL: Use executing-plans to implement this plan task-by-task.

**Goal:** Add dormitory-centric monthly accounting (rent expense/income, other entries, categories) with dorm/monthly/yearly reports (web + Excel).

**Architecture:** Three ledger tables + categories; auto-generate month rows from dormitory/worker `monthly_rent` defaults without overwriting edits; Blade + Bootstrap UI matching existing admin patterns.

**Tech Stack:** Laravel 13, Blade, Bootstrap 5, Maatwebsite Excel

**Design:** `docs/plans/2026-08-26-accounting-design.md`

---

### Task 1: Migrations

Create:
- `database/migrations/2026_08_26_150000_add_monthly_rent_to_dormitories_and_workers.php`
- `database/migrations/2026_08_26_150001_create_accounting_tables.php`

### Task 2: Models

Create: `AccountingCategory`, `DormRentExpense`, `WorkerRentIncome`, `OtherEntry`  
Modify: `Dormitory`, `Worker` relations

### Task 3: monthly_rent on dormitory/worker UI

Modify dormitory create form + controller store; worker edit form + update validation if any

### Task 4: AccountingCategory CRUD

Controller, views, routes, sidebar link under 會計

### Task 5: AccountingController month page + generate + entry CRUD

### Task 6: Report controller + views + Excel exports

### Task 7: Routes + sidebar wiring + seed default categories (optional in migration)
