    # 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