# Checklist UI Hirarki Persediaan (PSAK 14, Strict Existing COA)

Checklist ini khusus perubahan tampilan (UI-only) untuk implementasi hirarki rekening persediaan, kompatibel dengan PHP 5.6 dan CodeIgniter 3.

Status saat ini: `DRAFT` (siap dipakai untuk implementasi dan UAT).

## 0. Metadata Implementasi
- [ ] Nama aplikasi: `san_15apr`
- [ ] Nama modul/halaman:
- [ ] URL halaman:
- [ ] Mode implementasi: `Strict Existing COA`
- [ ] Tanggal persiapan dokumen: `2026-04-16`
- [ ] PIC dokumen:
- [ ] PIC reviewer:

## 1. Scope & Guardrail
- [ ] Perubahan dibatasi pada `view`, CSS, JS, dan mapping data tampilan di controller.
- [ ] Tidak mengubah struktur database.
- [ ] Tidak mengubah posting jurnal/engine COA.
- [ ] Tidak mengubah business rule transaksi persediaan.
- [ ] Tidak menambah akun persediaan baru pada fase UI-only.
- [ ] Kategori best practice non-existing ditetapkan sebagai `planned`.

## 2. Kompatibilitas Teknis
- [ ] Valid untuk PHP 5.6 (tanpa syntax PHP 7+).
- [ ] Valid untuk CodeIgniter 3.
- [ ] Tidak menambahkan dependency front-end modern baru.
- [ ] Tetap kompatibel dengan komponen tabel/filter existing.

## 3. Discovery File
- [ ] Identifikasi controller target (`application/controllers/Ledger.php`).
- [ ] Identifikasi view target (`application/views/ledger.php`).
- [ ] Identifikasi helper alias akun (`fetchAccountStructureAlias`).
- [ ] Identifikasi endpoint detail yang dipakai per kartu persediaan.
- [ ] Identifikasi parameter query string periode/search/merek.

## 3A. Baseline Mapping Akun Persediaan
- [ ] Akun active: `1010030030`, `1010030070`, `1010030010`, `1010030050`, `1010030040`, `1010030020`.
- [ ] Akun planned: `INV-TRANSIT`, `INV-KONSINYASI`, `INV-OBSOLETE`, `INV-ALLOWANCE`.
- [ ] Route active tervalidasi untuk akun yang dapat diklik.
- [ ] Akun planned diset `route_enabled = false`.

## 4. Definisi Hirarki UI
- [ ] Level utama: `Persediaan`.
- [ ] Kartu active tampil default.
- [ ] Kartu planned hidden default.
- [ ] Tombol toggle planned tersedia dan berfungsi.
- [ ] Status badge (`Active`/`Planned`) tampil konsisten.

## 5. Komponen UI Wajib
- [ ] Panel hirarki persediaan tampil di atas tabel.
- [ ] Kartu menampilkan `label`, `note`, `saldo`, `count`.
- [ ] Badge summary tampil (`Total Persediaan`, `Dimensi Aktif`).
- [ ] Catatan mode PSAK 14 tampil.
- [ ] Link kartu active menuju detail yang sesuai.

## 6. Filter & Interaksi
- [ ] Filter periode tetap berfungsi (`full/tahunan/bulanan/harian`).
- [ ] Search keyword (`q`) tetap berfungsi.
- [ ] Reset keyword tidak merusak filter lain.
- [ ] Filter merek mode `chip` berfungsi.
- [ ] Filter merek mode `dropdown` berfungsi.
- [ ] Tombol export/print tetap aktif sesuai role.

## 7. Validasi Data Ringkasan
- [ ] Saldo per kartu sesuai data sumber existing.
- [ ] Total persediaan sesuai agregasi kartu active.
- [ ] Dimensi aktif sesuai item unik yang dirender.
- [ ] Kategori planned tidak mempengaruhi total active default.
- [ ] Tidak ada manipulasi data transaksi/jurnal.

## 8. Aturan Visual
- [ ] Panel dan kartu terbaca baik di desktop.
- [ ] Layout mobile tetap usable.
- [ ] Tipografi saldo dominan dan jelas.
- [ ] Kontras warna label/angka memadai.
- [ ] Spacing panel/filter/tabel konsisten.

## 9. Regression Checklist
- [ ] Tidak merusak halaman lain bertemplate sama.
- [ ] Tidak merusak sorting/paging/footer tabel.
- [ ] Tidak merusak query string state.
- [ ] Tidak merusak hak akses role berbeda.

## 10. Quality Gate
- [ ] Lulus `php -l` untuk semua file PHP yang diubah.
- [ ] UAT desktop (Chrome/Edge) lulus.
- [ ] UAT mobile viewport lulus.
- [ ] UAT role operasional lulus.
- [ ] UAT role holding/management lulus.

## 11. Dokumentasi Hasil
- [ ] Daftar file yang diubah tercatat.
- [ ] Keputusan mapping active/planned tercatat.
- [ ] Screenshot evidence tersimpan.
- [ ] Catatan known limitation tersimpan.
- [ ] Dokumen hasil UAT dibuat.

## 12. Template Catatan Implementasi
- [ ] Scope perubahan:
- [ ] Mapping akun active:
- [ ] Mapping akun planned:
- [ ] Daftar file yang diubah:
- [ ] Hasil uji fungsi:
- [ ] Hasil uji visual:
- [ ] Risiko tersisa:
- [ ] Rencana tahap berikutnya:
