# Blueprint Alur Bisnis Sistem Inventory Sarang Burung Walet

## Ringkasan
Dokumen ini merangkum alur bisnis untuk sistem inventory sarang burung walet dengan karakter operasional berikut:

- proses dimulai dari pembelian
- satu pembelian bisa terdiri dari beberapa jenis barang
- setiap jenis bisa memiliki beberapa grade
- barang yang diterima bisa langsung terklasifikasi atau masih perlu sortasi internal
- stok disimpan berbasis lot atau batch
- satu penjualan dapat mengambil barang secara parsial dari beberapa lot berbeda
- seluruh pergerakan barang harus dapat ditelusuri untuk kebutuhan costing, traceability, audit, dan analisis penyusutan

Sistem ini bukan inventory biasa. Sistem ini adalah lot-based traceable inventory system untuk perdagangan sarang burung walet.

## Tujuan Sistem
Sistem dirancang untuk:

- mencatat pembelian multi jenis dan multi grade
- mengelola penerimaan barang dan pembentukan batch atau lot
- mendukung sortasi, verifikasi ulang, dan regrade
- menyimpan stok per lot sekaligus menampilkan ringkasan stok per jenis-grade
- mendukung penjualan campuran dari beberapa lot
- menghitung HPP berdasarkan lot yang benar-benar dipakai
- mencatat susut, rusak, reject, dan adjustment per lot
- menyediakan traceability penuh dari supplier ke customer dan sebaliknya
- mendukung barcode atau QR untuk scan operasional

## Entitas Bisnis Utama
Sistem memiliki entitas bisnis utama berikut:

- Supplier
- Customer
- Jenis Sarang
- Grade
- Gudang dan Lokasi Gudang
- Pembelian
- Penerimaan
- Lot Inventory
- Sortasi atau Reclassification
- Penjualan
- Sales Allocation
- Inventory Movement Ledger
- Stock Adjustment
- Return
- Barcode atau QR Label

## Prinsip Dasar Desain Stok
Sistem menggunakan tiga lapisan stok.

### 1. Stock Summary
Ringkasan stok per:
- jenis
- grade
- gudang

Digunakan untuk dashboard dan operasional cepat.

### 2. Stock Lot
Detail stok per batch atau lot:
- kode lot
- supplier
- jenis
- grade
- qty awal
- qty sisa
- cost
- tanggal masuk
- parent lot jika hasil sortasi

Digunakan untuk traceability dan costing.

### 3. Stock Movement Ledger
Semua mutasi stok dicatat permanen:
- receiving
- sorting
- regrade
- transfer
- sales allocation
- shrinkage
- adjustment
- return

Ledger ini menjadi sumber audit utama.

## Aktor Utama
Aktor yang akan berinteraksi dengan sistem:

### Admin Purchasing
- membuat pembelian
- mengelola supplier
- melihat histori harga beli

### Admin Gudang
- menerima barang
- membuat lot
- mengelola stok dan mutasi
- melakukan opname dan adjustment

### Tim Sortasi / QC
- melakukan klasifikasi
- memecah lot
- menginput susut atau reject
- melakukan regrade jika diperlukan

### Admin Sales
- membuat sales order
- mengalokasikan stok dari lot
- memproses picking dan invoice

### Owner / Manajemen
- memantau stok
- memantau margin
- melihat penyusutan
- melihat traceability dan performa supplier

## Alur Bisnis End-to-End

### Tahap 1. Master Setup
Sebelum transaksi berjalan, sistem harus memiliki data master:
- supplier
- customer
- jenis sarang
- grade
- gudang
- lokasi gudang
- satuan
- user dan role
- reason code adjustment dan shrinkage
- allocation policy
- costing policy

### Tahap 2. Pembelian
Admin membuat dokumen pembelian.

Informasi pada header pembelian:
- nomor pembelian
- supplier
- tanggal pembelian
- referensi invoice supplier
- status
- catatan

Pada detail pembelian, satu pembelian bisa memiliki banyak item:
- jenis
- grade, jika sudah diketahui
- qty atau berat
- harga beli
- subtotal
- status klasifikasi

Kemungkinan kondisi pembelian:
1. item sudah jelas jenis dan gradenya
2. item masih campuran atau grade sementara

### Tahap 3. Penerimaan Barang
Saat barang datang:
- sistem memverifikasi pembelian
- barang ditimbang
- kualitas awal dicek
- selisih dicatat
- lot inventory dibuat

Setiap lot yang tercipta menyimpan data:
- kode lot
- supplier asal
- referensi pembelian
- jenis
- grade
- qty diterima
- qty tersedia
- cost per unit
- tanggal masuk
- gudang dan lokasi
- status lot
- nilai barcode atau QR

Jika satu pembelian terdiri dari banyak item, maka bisa terbentuk banyak lot.

### Tahap 4. Sortasi / Verifikasi / Reclassification
Jika barang datang masih campur atau perlu dicek ulang, dilakukan sesi sortasi.

Contoh:
- lot masuk 50 kg
- hasil sortasi:
  - Jenis A Grade A = 20 kg
  - Jenis A Grade B = 15 kg
  - Jenis B Grade A = 10 kg
  - Reject atau susut = 5 kg

Hasil sortasi:
- lot sumber dikurangi atau ditutup
- child lot baru dibuat
- susut dicatat
- hubungan parent-child tersimpan

Dengan desain ini, sistem tetap tahu bahwa lot hasil sortasi berasal dari lot mana.

### Tahap 5. Penyimpanan dan Mutasi Gudang
Lot yang aktif disimpan di gudang atau lokasi tertentu.

Aktivitas gudang yang didukung:
- pindah lokasi rak
- transfer antar gudang
- hold atau release lot
- stock opname
- adjustment stok

Semua aktivitas ini masuk ke movement ledger.

### Tahap 6. Penjualan
Saat customer melakukan pembelian:
- admin sales membuat sales order
- item dipilih berdasarkan jenis dan grade
- qty dimasukkan
- sistem menampilkan stok yang tersedia

Satu sales line tidak harus dipenuhi dari satu lot.

Contoh:
Customer membeli Jenis A Grade A sebanyak 30 kg.
Alokasi bisa menjadi:
- 20 kg dari lot Supplier A
- 10 kg dari lot Supplier B

Karena itu sistem membutuhkan allocation detail per lot.

### Tahap 7. Picking dan Pengeluaran Barang
Setelah lot dialokasikan:
- petugas scan QR atau barcode lot
- qty yang benar-benar diambil dikonfirmasi
- bila ada selisih timbang, selisih dicatat
- stok lot berkurang sesuai qty realisasi

### Tahap 8. Retur Penjualan
Jika barang dikembalikan customer:
- retur direferensikan ke penjualan
- jika memungkinkan, dikembalikan ke lot asal
- jika tidak, dibuat lot retur terpisah
- kondisi barang retur dicatat
- barang retur dapat dijual lagi, diregrade, atau direject

### Tahap 9. Retur Pembelian
Jika ada masalah dengan supplier:
- barang diretur ke supplier
- sistem mengurangi lot asal
- nilai transaksi pembelian dapat dikoreksi

### Tahap 10. Shrinkage, Damage, Regrade, dan Adjustment
Sistem harus mendukung kejadian berikut pada level lot:
- susut timbang
- kerusakan
- kehilangan
- reject
- perubahan grade
- koreksi hasil stock opname

Semua perubahan ini harus masuk ke ledger agar histori tetap utuh.

### Tahap 11. Reporting dan Audit
Sistem harus dapat menjawab pertanyaan berikut:
- stok tersedia berapa per jenis-grade
- lot mana saja yang aktif
- lot tertentu berasal dari supplier siapa
- penjualan tertentu mengambil lot mana saja
- supplier tertentu telah menjual barangnya ke customer mana saja
- berapa susut per lot dan per supplier
- berapa margin per penjualan, per jenis, dan per grade

## Aturan Costing
Prinsip costing yang direkomendasikan:
- cost disimpan di level lot
- sales line dihitung berdasarkan allocation nyata ke lot

Contoh:
- Lot A: 20 kg x 18 juta
- Lot B: 10 kg x 19 juta

Maka total cost penjualan adalah penjumlahan biaya dari semua allocation.

### Metode alokasi yang didukung
- FIFO
- FEFO jika dibutuhkan
- Manual allocation
- Hybrid, sistem memberi saran dan user bisa override

Rekomendasi untuk MVP adalah Hybrid dengan default FIFO.

## Aturan Traceability
Sistem wajib mendukung dua arah trace.

### Backward Trace
Dari penjualan ke:
- lot
- receipt
- purchase
- supplier

### Forward Trace
Dari supplier atau lot ke:
- sales allocation
- customer

### Process Trace
Dari lot tertentu harus terlihat:
- asal pembelian
- hasil sortasi
- perubahan grade
- susut
- perpindahan gudang
- histori penjualan

## Aturan Barcode dan QR
Rekomendasi implementasi:
- SKU code untuk jenis-grade
- lot code untuk identitas lot
- QR code untuk scan operasional

### Contoh struktur kode
SKU:
- MANGKOK-A
- MANGKOK-B
- SUDUT-A

Lot:
- LOT-260428-SPA-001
- LOT-260428-SPB-002
- LOT-260428-SPA-001-S1 untuk hasil sortasi

QR dapat menyimpan lot_code atau token unik. Aplikasi akan mengambil detail dari database saat discan.

### Proses scan yang didukung
- receiving
- sorting
- transfer gudang
- stock opname
- sales picking
- trace lookup

## Ringkasan Kebutuhan Menu Aplikasi
Modul yang harus tersedia minimal:
- Dashboard
- Master Data
- Purchasing
- Receiving
- Sorting / Classification
- Inventory
- Sales
- Return
- Reports
- Barcode / QR
- Settings

## Ringkasan Layar Utama
Layar yang disarankan:
- Dashboard
- Purchase List
- Purchase Form
- Receipt Form
- Sorting Session Form
- Stock Summary
- Stock Lot List
- Lot Detail
- Sales Form
- Allocation Screen
- Picking Screen
- Adjustment Form
- Regrade Form
- Barcode Lookup
- Reports

## Kesimpulan
Sistem yang dibutuhkan adalah sistem inventory sarang burung walet berbasis lot atau batch dengan kemampuan:
- pembelian multi jenis dan multi grade
- sortasi dan reclassification
- partial sales dari banyak lot
- costing berdasarkan allocation nyata
- penyusutan per lot
- traceability dua arah
- barcode atau QR untuk scan operasional

Dengan fondasi ini, bisnis dapat mengontrol stok, menjaga audit trail, menghitung HPP secara akurat, dan memantau kualitas supplier serta profitabilitas penjualan.