Initial import of AbelBirdNest Stock
This commit is contained in:
382
docs/project-spec/walet-alur-bisnis.md
Normal file
382
docs/project-spec/walet-alur-bisnis.md
Normal file
@ -0,0 +1,382 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user