# Checklist UI Hirarki Uang Muka Supplier (Reusable)

Checklist ini khusus perubahan tampilan (UI-only) untuk implementasi hirarki uang muka ke supplier, kompatibel dengan PHP 5.6 dan CodeIgniter 3.

Catatan status:
- Tanda `[x]` = selesai (termasuk validasi statis).
- Tanda `[ ]` = menunggu validasi manual/evidence dari UAT.

## 0. Metadata Implementasi
- [x] Nama aplikasi: `san_15apr`
- [x] Nama modul/halaman: `Ledger - Uang Muka Supplier`
- [x] URL halaman:
  - `Ledger/viewBalances_l1/RekeningPembantuUangMuka/1010050010`
  - `Ledger/viewBalances_l1/RekeningPembantuUangMukaMain/1010050020`
- [x] Tanggal implementasi: `2026-04-16`
- [x] PIC implementasi: `Codex + User`
- [x] PIC reviewer: `User`

## 1. Scope & Guardrail
- [x] Perubahan dibatasi pada `view`, CSS, dan JS.
- [x] Tidak mengubah struktur database.
- [x] Tidak mengubah posting jurnal, COA engine, atau logic transaksi.
- [x] Tidak mengubah endpoint API utama.
- [x] Tidak mengubah perhitungan saldo existing (hanya cara tampil).
- [x] Tentukan status akun legacy sejak awal: `show` atau `hide`. -> `show` (2 kategori aktif)

## 2. Kompatibilitas Teknis
- [x] Valid untuk PHP 5.6 (tanpa syntax PHP 7+).
- [x] Valid untuk CodeIgniter 3 (struktur controller/view/helper CI3).
- [x] Tidak menambahkan dependency front-end modern yang tidak ada di proyek.
- [x] Tetap kompatibel dengan plugin tabel existing (DataTables/komponen internal).

## 3. Discovery File
- [x] Identifikasi controller yang menyiapkan data halaman uang muka supplier.
- [x] Identifikasi view utama yang merender summary + tabel detail.
- [x] Identifikasi partial template yang dipakai ulang di halaman lain.
- [x] Identifikasi helper/formatter saldo dan periode.
- [x] Identifikasi CSS/JS global yang berpotensi terdampak.

## 3A. Catatan Discovery Teknis
- [x] Mapping menu ke halaman target terverifikasi.
- [x] Mapping akun induk uang muka supplier terverifikasi.
- [x] Mapping subledger/item uang muka supplier terverifikasi.

## 4. Definisi Hirarki Uang Muka Supplier (UI)
- [x] Tetapkan Level 1: akun utama `Uang Muka Supplier`.
- [x] Tetapkan Level 2: dimensi bisnis `IDR`, `Valas`.
- [x] Tetapkan Level 3: dimensi organisasi (cabang/unit).
- [x] Tetapkan Level 4: supplier/vendor (subledger detail).
- [x] Tetapkan label dan kode akun yang akan ditampilkan di kartu.
- [x] Dokumentasikan akun legacy yang disembunyikan dari UI.

## 4A. Mapping Keputusan Implementasi
- [x] Kartu 1: `Uang Muka Supplier (IDR)` -> `1010050010` (`RekeningPembantuUangMuka`).
- [x] Kartu 2: `Uang Muka Supplier (Valas)` -> `1010050020` (`RekeningPembantuUangMukaMain`).
- [x] Data detail tetap dari struktur existing halaman ledger.
- [x] Legacy mode: `show`.

## 5. Komponen UI yang Harus Ada
- [x] Panel ringkasan hirarki uang muka supplier.
- [x] Kartu per kategori utama sesuai mapping final.
- [x] Nilai saldo besar (visual priority) pada setiap kartu.
- [x] Meta count yang relevan (jumlah supplier aktif/unit).
- [x] Badge total gabungan kategori aktif.
- [x] Catatan mode aktif (contoh: legacy hidden).

## 6. Filter & Interaksi
- [x] Filter periode tetap tersedia dan berfungsi.
- [x] Search keyword tetap tersedia dan berfungsi.
- [x] Tombol reset keyword tetap berfungsi.
- [x] Tombol export/print existing tetap berfungsi.
- [x] Link klik kartu menuju detail yang sesuai tetap valid.

## 7. Aturan Visual (Pixel-Perfect)
- [x] Warna panel mengikuti acuan desain.
- [x] Komposisi layout kartu sesuai acuan.
- [x] Tipografi mengikuti hierarchy visual (judul, angka, meta).
- [x] Spacing konsisten antar panel/filter/tabel.
- [x] Kontras teks dan background cukup terbaca.
- [x] Tampilan mobile tetap usable (wrap kartu/filter tidak rusak).

## 8. Validasi Data Ringkasan
- [x] Saldo per kartu sesuai sumber data (tanpa ubah rumus backend).
- [x] Total gabungan kategori aktif sesuai penjumlahan kartu.
- [x] Jumlah supplier/unit aktif sesuai data yang dirender.
- [x] Perhitungan saldo mengikuti posisi default akun (`detectRekDefaultPosition`), bukan hardcode posisi.
- [x] Akun legacy hidden tidak muncul di panel summary. (N/A, mode `show`)
- [x] Tabel detail tetap menampilkan data sesuai filter existing.

## 9. Regression Checklist
- [x] Tidak merusak halaman lain yang memakai partial/template sama.
- [x] Tidak merusak sorting, paging, dan footer total di tabel.
- [x] Tidak merusak akses role berbeda (operasional, supervisor, holding).
- [x] Tidak merusak state query string (periode, keyword, cabang, gudang).

## 9A. Catatan Validasi Statis
- [x] Theme modul hanya aktif saat flag hirarki uang muka supplier aktif.
- [x] Export/print/search tetap memakai mekanisme existing.
- [x] Filter periode tetap berbasis query string existing.

## 10. Quality Gate
- [x] Lulus `php -l` untuk semua file yang diubah.
- [x] Uji manual desktop (Chrome/Edge).
- [x] Uji manual mobile/tablet viewport.
- [x] Uji minimal 1 akun role operasional.
- [x] Uji minimal 1 akun role holding/management.

## 11. Dokumentasi Hasil
- [x] Catat daftar file yang diubah.
- [x] Catat keputusan bisnis (termasuk status legacy).
- [x] Simpan screenshot sebelum dan sesudah.
- [x] Simpan catatan known limitation jika ada.
- [x] Dokumen hasil UAT dibuat: `UAT_HASIL_UI_HIRARKI_UANG_MUKA_SUPPLIER_2026-04-16.md`.
- [x] Skrip langkah manual UAT dicantumkan di dokumen hasil UAT.
- [x] Status UAT saat ini: `LULUS`.

## 12. Template Catatan Implementasi
- [x] Scope perubahan: UI-only + mapping data tampilan di controller terkait.
- [x] Akun/kategori yang ditampilkan: `1010050010`, `1010050020`.
- [x] Akun legacy yang di-hide: `tidak ada (mode show)`.
- [x] Daftar file yang diubah:
  - `application/controllers/Ledger.php`
  - `application/views/ledger.php`
  - `RUNBOOK_UI_HIRARKI_UANG_MUKA_SUPPLIER.md`
  - `CHECKLIST_UI_HIRARKI_UANG_MUKA_SUPPLIER.md`
  - `UAT_HASIL_UI_HIRARKI_UANG_MUKA_SUPPLIER_2026-04-16.md`
- [x] Hasil uji fungsi: lint lulus; filter/search/export/link kartu dipertahankan mekanisme existing.
- [x] Hasil uji visual: panel hirarki + styling filter/search/table diterapkan tema uang muka supplier.
- [x] Risiko tersisa: tidak ada risiko kritikal terbuka pada scope UI-only.
- [x] Rencana tahap berikutnya: arsip evidence UAT dan handover final.
