# Purchase Price Guardrail Checklist (H1-H5)

Dokumen ini khusus untuk roadmap fitur harga di modul pembelian.

Catatan penting:
- Penomoran fase di dokumen ini memakai `H1-H5`.
- Dokumen ini terpisah dari `Fase 1/2/3` rollout varian di `docs/variant-rollout-checklist.md`.

## H1 - Quick Win (Delta Visual)

Status: `[x] selesai`

Scope:
- Tambah kolom `Delta Price` (`Unit Price - Last Purchase Price`) di shopping cart.
- Tambah kolom `Delta %`.
- Indikator warna naik/turun.
- Read-only (tanpa ubah alur submit).

## H2 - Guardrail Deviasi

Status: `[x] selesai`

Scope:
- Tambah parameter threshold deviasi di config pembelian.
- Jika deviasi melewati threshold, transaksi diblok jika alasan belum diisi.
- Berlaku di jalur submit/preview dan follow-up.

Implementasi saat ini:
- Config `priceDeltaValidator` pada transaksi `466`.
- Threshold default: `10%`.
- Reason field: `note` item (fallback ke `keterangan` main bila ada).
- Fokus item varian (`onlyVariant = true`).
- Tambahan jalur cepat cart mode `GLOBAL`: panel **Set Harga Global Produk Varian** untuk menerapkan satu harga ke semua baris varian parent produk yang sama.

## H3 - UX Ringan (Info Harga)

Status: `[ ] belum`

Scope:
- Popup “Info Harga” per item.
- Histori harga supplier terpilih (5 transaksi terakhir).
- Ringkasan supplier lain (opsional top 3).
- Tidak menambah kepadatan grid utama.

## H4 - Data Quality Tools

Status: `[ ] belum`

Scope:
- Flag produk terkait supplier:
  - harga supplier kosong,
  - harga `0`,
  - harga stale (misal > 90 hari).
- Tautkan ke matrix harga supplier (dialog existing).

## H5 - UAT + Hardening

Status: `[ ] belum`

Scope:
- UAT skenario normal + deviasi + role non-otoritas.
- Tuning pesan warning, threshold, dan fallback data.
- Finalisasi checklist audit trail.

## Prinsip Best Practice

- Minimal gangguan UX user operasional.
- Kontrol ketat hanya saat anomali.
- Role-based enforcement.
- Tidak mengubah struktur approval ERP yang sudah stabil.
