# Checklist Template Universal UI Hirarki Keuangan (Reusable Antar Aplikasi)

Checklist ini dipakai sebagai template lintas aplikasi untuk implementasi UI hirarki keuangan dengan model UI-only dan strict existing COA.

Status awal: `DRAFT`.

## 0. Metadata
- [ ] Nama aplikasi: `{{APP_NAME}}`
- [ ] Nama modul: `{{MODULE_NAME}}`
- [ ] URL halaman: `{{TARGET_URL}}`
- [ ] Controller target: `{{TARGET_CONTROLLER}}`
- [ ] View target: `{{TARGET_VIEW}}`
- [ ] PIC implementasi: `{{PIC_IMPL}}`
- [ ] PIC reviewer: `{{PIC_REVIEWER}}`
- [ ] Tanggal: `{{DATE_PLAN}}`

## 1. Scope & Guardrail
- [ ] Perubahan hanya UI/controller mapping tampilan.
- [ ] Tidak mengubah struktur database.
- [ ] Tidak mengubah posting jurnal/COA engine.
- [ ] Tidak mengubah business rule transaksi.
- [ ] Tidak menambah akun baru pada fase UI-only.
- [ ] Akun non-ready diklasifikasikan `legacy/planned`.

## 2. Discovery Teknis
- [ ] Lokasi file controller tervalidasi.
- [ ] Lokasi file view tervalidasi.
- [ ] Helper/alias akun tervalidasi.
- [ ] Endpoint detail per kartu tervalidasi.
- [ ] Query string parameter halaman terdokumentasi.

## 3. Mapping COA
- [ ] Daftar akun `active` final.
- [ ] Daftar akun `legacy` final.
- [ ] Daftar akun `planned` final.
- [ ] Kebijakan hide/show per status ditetapkan.
- [ ] Kebijakan route enable/disable ditetapkan.

## 4. Kontrak Data Controller
- [ ] Field kartu minimal tersedia:
- [ ] `label`, `note`, `summary_rel`, `query_candidates`
- [ ] `status`, `section` (opsional), `route_enabled`
- [ ] `hide_in_ui`, `count_label`, `saldo`, `count`
- [ ] Totals summary tersedia:
- [ ] `active`, `all`, `dimension/item/entity_count`, `legacy_hidden`

## 5. Kontrak UI View
- [ ] Panel hirarki muncul di atas tabel.
- [ ] Kartu active tampil default.
- [ ] Kartu legacy/planned sesuai aturan hide/show.
- [ ] Badge total tampil sesuai mapping.
- [ ] Catatan mode aktif tampil.
- [ ] Link kartu active ke route detail valid.

## 6. Interaksi & Filter
- [ ] Filter periode tetap berfungsi.
- [ ] Search keyword tetap berfungsi.
- [ ] Reset keyword tidak merusak state.
- [ ] Export/print tetap berfungsi.
- [ ] Query string state tetap konsisten.
- [ ] Interaksi tambahan (toggle/chip/dropdown) berfungsi.

## 7. Validasi Data Ringkasan
- [ ] Saldo per kartu sesuai data sumber.
- [ ] Total aktif sesuai agregasi kartu active.
- [ ] Total semua (jika dipakai) valid.
- [ ] Subtotal section (jika ada) valid.
- [ ] Dimensi aktif valid.
- [ ] Akun planned tidak mengganggu angka active default.

## 8. Visual & Responsif
- [ ] Layout desktop rapi.
- [ ] Layout mobile usable.
- [ ] Tipografi saldo terbaca jelas.
- [ ] Kontras warna memadai.
- [ ] Spacing panel/filter/tabel konsisten.

## 9. Regression
- [ ] Tidak merusak halaman lain bertemplate sama.
- [ ] Tidak merusak sorting/paging/footer tabel.
- [ ] Tidak merusak hak akses role berbeda.
- [ ] Tidak ada error JS/PHP baru.

## 10. Quality Gate
- [ ] Lulus syntax check (`php -l`/setara stack target).
- [ ] UAT desktop lulus.
- [ ] UAT mobile lulus.
- [ ] UAT role operasional lulus.
- [ ] UAT role holding/management lulus.
- [ ] Evidence screenshot tersimpan.

## 11. Dokumentasi Hasil
- [ ] Daftar file yang diubah tercatat.
- [ ] Mapping active/legacy/planned tercatat.
- [ ] Catatan known limitation tercatat.
- [ ] Dokumen UAT result dibuat.
- [ ] Status akhir ditetapkan (`LULUS`/`LULUS DENGAN CATATAN`/`TUNDA`).

## 12. Template Ringkasan Eksekusi
- [ ] Scope perubahan:
- [ ] Mapping active:
- [ ] Mapping legacy/planned:
- [ ] File diubah:
- [ ] Hasil uji fungsi:
- [ ] Hasil uji visual:
- [ ] Risiko tersisa:
- [ ] Next action:
