# 🔧 PT. Everest - ERP Web - Modul Adjustment

Aturan spesifik untuk pengembangan, alur mutasi persediaan, dan penjurnalan pada modul `adjustment` (koreksi stok fisik & penyesuaian nilai buku) PT. Everest.

---

## 1. Kode Transaksi (`jenisTr`) & Alur Langkah

Modul ini membagi koreksi ke dalam tiga kategori utama: produk jadi (stok), supplies (perlengkapan kantor/gudang), dan penyesuaian non-produk (akun pembantu).

### 1.1 Penyesuaian Produk Jadi (Stok Produk)
*   **`777_1` / `7778`**: Adjustment Product Inventory (Tambah) — Digunakan untuk menambah jumlah fisik stok produk jadi ke sistem.
*   **`777_2`**: Adjustment for Produk (Kurang) — Digunakan untuk mengurangi jumlah fisik stok produk jadi.

### 1.2 Penyesuaian Supplies / Perlengkapan
*   **`666_1`**: Adjustment for Supplies (Tambah) — Menambah persediaan perlengkapan operasional.
*   **`666_2`**: Adjustment for Supplies (Kurang) — Mengurangi persediaan perlengkapan operasional.

### 1.3 Penyesuaian Jurnal Finansial & Non-Produk
*   **`999` / `999_0` / `999_1`**: Adjustment Journaling — Penyesuaian nilai jurnal pembukuan / re-classing akun.
*   **`888_1`**: Penyesuaian Non Produk (Tambah) — Koreksi penambahan nilai untuk barang non-stok / biaya.
*   **`888_2`**: Penyesuaian Non Produk (Kurang) — Koreksi pengurangan nilai untuk barang non-stok.

---

## 2. Alur Mutasi Persediaan & Penguncian Stok

### 2.1 Operasi Stock Locker (Tambah & Kurang)
*   Setiap kali adjustment produk dijalankan, mutasi ditulis langsung ke tabel loker persediaan utama (`stock_locker`) menggunakan komponen **`LockerStock`**.
*   **Adjustment Tambah (`777_1`):** Menulis penambahan qty langsung dengan status `active` tanpa proses `hold`.
*   **Adjustment Kurang (`777_2`):** Mengevaluasi stok `active` yang tersedia terlebih dahulu, kemudian mengurangi langsung stok `active` (menulis nilai negatif ke locker).

### 2.2 Metode Valuasi HPP
*   Pengurangan produk jadi (`777_2`) memicu evaluasi HPP melalui **`FifoAverage`** atau **`FifoProdukJadi`** untuk mengambil harga perolehan historis.
*   Pengurangan supplies (`666_2`) memicu evaluasi HPP melalui **`FifoAverageSupplies`** or **`FifoSupplies`**.

---

## 3. Penjurnalan Otomatis (Jurnal Akuntansi)

*   **Adjustment Tambah Produk (`777_1`):**
    *   **Debet:** `1010030030` (Persediaan Produk)
    *   **Kredit:** Akun Penyeimbang Koreksi (selisih koreksi stok atau pendapatan lain-lain)
*   **Adjustment Kurang Produk (`777_2`):**
    *   **Debet:** Akun Beban Koreksi (Selisih Koreksi Stok)
    *   **Kredit:** `1010030030` (Persediaan Produk)
*   **Adjustment Journaling (`999`):**
    *   Menghasilkan entri debet dan kredit langsung ke COA yang disesuaikan (menggunakan komponen **`Jurnal`** dan **`JurnalSisi`**).

---

## 🛠️ Lampiran Teknis (Hasil Audit Codebase)

### Berkas Konfigurasi Utama:
- `coTransaksiCore.php`

### Kode Transaksi (`jenisTr`) Terdaftar:
- **`999`**
- **`999_1`**
- **`999_0`**
- **`888_1`**
- **`888_2`**
- **`777_1`**
- **`777_2`**
- **`666_1`**
- **`666_2`**

### Komponen Bisnis (`components`) Terlibat:
- `FifoAverage`
- `FifoAverageSupplies`
- `FifoProdukJadi`
- `FifoSupplies`
- `Jurnal`
- `JurnalSisi`
- `LockerStock`
- `LockerStockSupplies`
- `Rekening`
- `RekeningPembantuAntarcabang`
- `RekeningSisi`
