24 lines
1.4 KiB
Markdown
24 lines
1.4 KiB
Markdown
# Tahap 7 — Persediaan dan Gudang Profesional
|
|
|
|
## Fondasi
|
|
|
|
`inventory_ledger` menjadi ledger immutable untuk qty dan nilai. `stock_logs` tetap dimirror agar modul lama kompatibel. Qty item dan stock log telah diubah menjadi desimal.
|
|
|
|
Fitur mencakup opening, masuk, keluar, transfer, adjustment, opname dan approval selisih, retur, rusak/hilang, reservation, reorder point, batch, serial/barcode, bin, stock card API, Average/FIFO, valuation, slow/dead stock, serta rekonsiliasi GL.
|
|
|
|
## Kontrol concurrency
|
|
|
|
- Dokumen memiliki idempotency key unik.
|
|
- Ledger dan stock log memiliki idempotency unik.
|
|
- Posting mengunci dokumen, saldo/layer FIFO, dan barcode.
|
|
- Barcode memakai optimistic version; transaksi bersamaan kedua ditolak.
|
|
- Trigger DB menolak stock log keluar yang membuat saldo negatif dan mengunci baris item.
|
|
- Trigger barcode menolak qty negatif atau reserved melebihi qty.
|
|
- Inventory ledger tidak dapat di-update/delete.
|
|
|
|
## Penyesuaian Development
|
|
|
|
Backfill legacy menemukan KLEM KABEL -2 dan ISOLASI KABEL -3 di Gudang Cikembar. Dibuat dokumen opening correction untuk membawa keduanya ke nol, lengkap dengan jurnal dan audit. Selisih nilai awal inventory ledger vs GL sebesar Rp891.000 diselesaikan dengan jurnal baseline teridentifikasi `DEV-STAGE7-BASELINE`. Setelah koreksi, ledger dan GL sama-sama Rp154.400.950.
|
|
|
|
Koreksi Development ini tidak boleh disalin otomatis ke Production.
|