1.4 KiB
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.