# Contoh Transaksi End-to-End Sistem Inventory Walet

## Skenario 1. Pembelian Multi Jenis Multi Grade
Supplier A mengirim:
- Jenis A Grade A = 50 kg
- Jenis A Grade B = 20 kg
- Jenis B Grade A = 15 kg

Purchase dibuat dengan 3 line.
Saat receiving, masing-masing line menjadi lot:
- LOT-260428-SPA-001 = Jenis A Grade A 50 kg
- LOT-260428-SPA-002 = Jenis A Grade B 20 kg
- LOT-260428-SPA-003 = Jenis B Grade A 15 kg

## Skenario 2. Pembelian Butuh Sortasi
Supplier B mengirim barang campur 40 kg.
Masuk sebagai:
- LOT-260428-SPB-001 = provisional

Setelah sortasi:
- LOT-260428-SPB-001-S1 = Jenis A Grade A 18 kg
- LOT-260428-SPB-001-S2 = Jenis A Grade B 12 kg
- LOT-260428-SPB-001-S3 = Jenis B Grade A 7 kg
- Susut/reject = 3 kg

## Skenario 3. Penjualan Campuran dari Banyak Lot
Customer X membeli:
- Jenis A Grade A = 30 kg

Sistem melihat stok:
- LOT-260428-SPA-001 tersedia 50 kg
- LOT-260428-SPB-001-S1 tersedia 18 kg

Allocation:
- 20 kg dari LOT-260428-SPA-001
- 10 kg dari LOT-260428-SPB-001-S1

Jika cost:
- LOT-260428-SPA-001 = 18.000.000/kg
- LOT-260428-SPB-001-S1 = 19.000.000/kg

HPP line:
- 20 x 18.000.000 = 360.000.000
- 10 x 19.000.000 = 190.000.000
- Total cost = 550.000.000

## Skenario 4. Regrade
Dari LOT-260428-SPA-001, setelah inspeksi ulang:
- 5 kg turun dari Grade A menjadi Grade B

Maka:
- lot Grade A dikurangi 5 kg
- dibuat lot baru Grade B atau ditambahkan ke lot grade B aktif
- ledger mencatat REGRADE_OUT dan REGRADE_IN

## Skenario 5. Shrinkage
Saat stock opname, ditemukan selisih -1.2 kg pada LOT-260428-SPB-001-S2.

Sistem mencatat:
- stock adjustment
- reason: SHRINKAGE
- qty_before
- qty_after
- cost impact

## Skenario 6. Traceability
Untuk invoice SLS-001, sistem dapat menampilkan:
- 20 kg berasal dari LOT-260428-SPA-001, Supplier A
- 10 kg berasal dari LOT-260428-SPB-001-S1, Supplier B

Untuk LOT-260428-SPA-001, sistem dapat menampilkan:
- asal purchase: PO-001
- supplier: Supplier A
- dipakai di invoice: SLS-001, SLS-004, SLS-006
- pernah diregrade: ya/tidak
- pernah adjustment: ya/tidak