Warehouse Management System
Aplikasi gudang, kendali penuh dari ERPNext
MULAI
CARA PAKAI — TRANSAKSI
CARA PAKAI — LAINNYA
WMS adalah aplikasi handheld Android untuk operasional gudang FMCG. Operator bekerja dengan scan — qty muncul, tinggal diganti/dikonfirmasi, lalu posting. Semua data ada di ERPNext.
Dokumen ini fokus pada dua hal saja:
- Cara penggunaan aplikasi — apa yang dilakukan operator di tiap layar.
- Cara setting di ERPNext — semua kebijakan (scan, filter, logo, izin, dll.) diatur dari ERP, bukan dari HP, jadi satu perubahan berlaku ke semua handheld.
- Android
- Scan barcode
- Batch / Serial / FIFO
- Riwayat & filter
- Persetujuan
Beranda — semua tugas & laporan dalam satu layar.
Yang bisa dilakukan operator
| Menu | Fungsi singkat |
|---|---|
| Stock Opname | Hitung stok fisik; qty sistem muncul, ganti dengan hitungan nyata. |
| Delivery Note | Pengiriman dari Sales Order; scan barang yang dipicking. |
| Purchase Receipt | Penerimaan dari Purchase Order; scan barang yang datang. |
| Material Request | Minta barang: pembelian, transfer, atau issue. |
| Transfer Gudang | Pindahkan stok antar gudang. |
| Repack | Ubah barang jadi barang lain (mis. karton → eceran) tanpa selisih nilai. |
| Riwayat | Lihat dokumen yang sudah dibuat, filter, lalu submit / setujui / batalkan langsung dari detail (sesuai izin). |
| Laporan | Stok Akhir, Stock Ledger, Fast Moving, Perlu Restock. |
Masuk (login)
- Isi Alamat server. Dari HP, pakai IP LAN server (misal.
http://192.168.1.253:8080) — bukanlocalhost. - Login dengan Email & password, atau ketuk Login dengan API key kalau Anda diberi kunci.
- Ketuk Masuk.
Sesi tersimpan — berikutnya aplikasi langsung ke beranda tanpa login lagi. Untuk mencoba cepat ada tombol Coba akun demo yang mengisi kredensial contoh.
Server & akun contoh biasanya sudah disiapkan admin. Kalau Anda operator, cukup terima alamat server + email/password dari admin gudang.

Beranda
- Kartu profil — nama, company, dan gudang aktif. Ikon panah untuk ganti gudang cepat.
- Alert restock (merah) — muncul kalau ada barang di bawah batas aman; ketuk untuk langsung buat Material Request.
- TRANSAKSI — Stock Opname, Delivery Note, Purchase Receipt, Material Request, Transfer Gudang, Repack, dan (kalau ada workflow) Persetujuan.
- LAPORAN — Stok Akhir, Stock Ledger, Fast Moving, Perlu Restock.
Ikon gerigi di kanan atas membuka Pengaturan. Ikon jam di layar-layar transaksi membuka Riwayat dokumen jenis itu.

Stock Opname (hitung stok fisik)
- Pilih gudang dan tanggal.
- Pilih mode: Ganti qty (angka yang diketik = hitungan fisik) atauHitung (+1) (tiap scan menambah
- Scan barang. Qty sistem muncul, dan Selisih dihitung otomatis (hitungan 3.480 dari sistem 3.500 → −20)
- Box tetap terbuka — bisa scan/tambah banyak barang berturut-turut. Lalu Posting.
Baris yang tidak ada selisih otomatis dilewati — ERPNext memang menolak reconciliation tanpa perbedaan.

Delivery Note (kirim dari Sales Order)
1. Pilih Sales Order
Terlihat persen terkirim.
- Buka Delivery Note → pilih Sales Order yang terbuka (muncul % terkirim).
- Semua barisnya muncul dengan sisa order.
- Isi qty yang benar-benar dikirim. Tergantung setting (lihat WMS Settings):
- Cross-check qty aktif → tiap barang wajib di-scan & dikonfirmasi satu per satu.
- Nonaktif → qty tinggal diedit, tombol kamera disembunyikan.
- Ketuk Posting.
Karena pemetaan dilakukan server, tautan ke Sales Order tetap utuh —
per_deliveredikut bergerak. Barang ber-batch/serial akan meminta batch/serial saat picking (lihat Batch, Serial & FIFO).
Purchase Receipt (terima dari Purchase Order)
- Buka Purchase Receipt → pilih PO yang terbuka.
- Isi/scan qty yang diterima (aturan scan sama seperti Delivery Note, diatur di WMS Settings).
- Untuk barang ber-batch, aplikasi menanyakan scan batch dari supplier atau generate otomatis — sesuai setelan (Batch masuk).
- Ketuk Posting. Kalau batch digenerate sistem, nomornya ditampilkan agar ditulis di kardus.
Material Request (minta barang)
Konfirmasi
- Tipe: Purchase, Transfer, Issue, atau Manufacture.
- Bisa dibuat kosong lalu scan barang, atau langsung dari laporan Perlu Restock (qty terisi otomatis dari reorder rule).
- Pilih tanggal dibutuhkan → Kirim MR → konfirmasi.
Menu Material Request langsung membuka form pembuatan MR baru — sama seperti Delivery Note, tidak lagi lewat daftar perantara. Ikon jam di kanan atas membuka Riwayat Material Request lengkap dengan filter. Kalau doctype ini diatur lewat Workflow, dokumen tidak langsung jadi — lihat Persetujuan.
Transfer Gudang (pindah stok antar gudang)
- Pilih gudang asal (Dari gudang) dan tujuan (Ke gudang).
- Scan atau tambah barang yang mau dipindahkan, isi qty.
- Ketuk Transfer.
Diposting sebagai Stock Entry — Material Transfer. Aplikasi menolak kalau gudang asal = tujuan, atau kalau belum ada barang.
Ikon jam di kanan atas membuka Riwayat Transfer — sudah otomatis tersaring hanya transfer (bukan repack/opname). LihatRiwayat


Repack (ubah barang jadi barang lain)
- Pilih gudang asal dan tujuan (boleh sama).
- Di bagian Barang dikonsumsi (merah): tambah barang yang dibongkar (mis. 1 karton).
- Di bagian Barang dihasilkan (hijau): tambah barang hasilnya (mis. 24 eceran).
- Ketuk Posting Repack.
Tidak ada selisih nilai. Nilai barang hasil dihitung otomatis oleh ERPNext dari total nilai barang yang dikonsumsi — jadi total nilai stok tetap sama, tidak ada "different amount". Diposting sebagai Stock Entry — Repack.
Ikon jam membuka Riwayat Repack (otomatis tersaring hanya repack).
Riwayat, Filter & Batalkan
Setiap layar transaksi punya ikon jam di kanan atas yang membuka Riwayat dokumen jenis itu — Delivery Note, Purchase Receipt, Material Request, Transfer, Repack, dan Stock Opname. Semua Riwayat bekerja sama.
Daftar dokumen
Nomor, pelanggan/pemasok, tanggal, status. Terbuka dengan filter Bulan ini.
Field penting di atas
Tanggal, Gudang, Jenis, Item lebih dulu.
Filter aktif
Tiap filter jadi chip; ketuk × untuk hapus.
Detail + aksi
Submit, Persetujuan, atau Batalkan sesuai status & izin.
Filter — seperti di ERPNext
- Riwayat otomatis terbuka dengan filter tanggal Bulan ini supaya tidak menarik seluruh dokumen ke HP. Ini chip biasa — ketuk × untuk melebarkan rentang. Admin bisa menambah filter default lain di ERP (mis. hanya status "To Bill"); lihat setting-nya.
- Tiap baris menampilkan nomor, tanggal, dan status. Untuk Delivery Note ikut tampil nama pelanggandan untuk Purchase Receipt nama pemasok, jadi dokumen mudah dikenali tanpa membukanya.
- Ketuk + Tambah filter untuk menyaring sendiri: pilih Field → Operator (=, ≠, berisi, >, <, rentang waktu) → Nilai. Field penting — Tanggal, Gudang, Jenis/Purpose, dan Item (di baris dokumen) — muncul paling atas.
- Bisa filter berdasarkan item: "dokumen mana yang mengandung barang FMCG-001".
- Setiap filter tampil sebagai chip — ketuk × untuk menghapus. Filter bawaan yang dikunci admin ditandai 🔒 terkunci dan tidak bisa dihapus (mis. Riwayat Transfer terkunci ke "Material Transfer").
Halaman (pagination)
Riwayat memuat per halaman (default 20 dokumen) supaya ringan. Gulir ke bawah untuk memuat berikutnya, atau ketuk Muat lebih banyak; di ujung tampil jumlah total. Angka per halaman diatur di WMS Settings.
Buka detail: Submit · Persetujuan · Batalkan
Ketuk sebuah dokumen untuk melihat detail: header (tanggal, status, gudang, jenis) dan semua barisnya. Di bawah muncul tombol aksi sesuai status dokumen & izin Anda — jadi persetujuan dan pembatalan bisa dilakukan langsung dari sini tanpa membuka ERPNext:
- Submit dokumen — kalau dokumen masih draft dan tidak memakai workflow. Stok bergerak begitu disubmit.
- Tombol persetujuan (mis. Setujui, Tolak) — kalau doctype-nya diatur lewat Workflow dan Anda berwenang pada tahap itu. Bisa diberi catatan.
- Batalkan dokumen (merah) — kalau dokumen sudah submitted dan role Anda punya izin Cancel.
Batalkan mengembalikan pergerakan stok dan tidak bisa diurungkan. Ada dialog konfirmasi dulu. Tombol Submit / Persetujuan / Batalkan hanya muncul sesuai izin role di ERPNext — atur di Hak akses.
Laporan
Stok Akhir
Qty & nilai per barang per gudang.
Stock Ledger
Pergerakan masuk/keluar + sisa berjalan.
Fast Moving
Ranking barang paling laku.
Perlu Restock
Centang → buat Material Request sekaligus.
Semua laporan pakai paging & pencarian supaya ringan untuk katalog puluhan ribu SKU. Notifikasi restockberjalan di latar dan memunculkan pemberitahuan saat ada barang yang perlu dipesan ulang.
Batch, Serial & Saran FIFO
Saran FIFO / FEFO
- Batch tertua ditandai SARAN FIFO (untuk FMCG dasarnya biasanya Expiry Date).
- Batch kedaluwarsa disembunyikan (bisa dimatikan).
- Menampilkan tanggal kedaluwarsa, sisa hari, dan qty tiap batch.
Ini saran, bukan paksaan. Operator boleh memilih batch lain; kalau setelannya begitu, muncul peringatan, tapi posting tetap diteruskan.

Serial number
Serial di-scan satu per satu, qty baris mengikuti jumlah serial. Saat pengambilan, serial divalidasi: terdaftar, aktif, dan benar-benar ada di gudang yang dipicking.
Otomatis lintas versi. Cara batch/serial disimpan berbeda antar versi ERPNext (v13/14 kolom langsung; v15/16 Serial and Batch Bundle) — aplikasi menanganinya sendiri, operator tidak perlu tahu.
Persetujuan
Kalau sebuah doctype diatur lewat Workflow di ERPNext, aplikasi berhenti submit: dokumen disimpan draft dan didorong lewat aksi persetujuan. Diatur sepenuhnya di ERP — lihat Persetujuan (Workflow).
Pengaju
"Menunggu persetujuan — stok belum berubah."
Penyetuju
Inbox Persetujuan dengan tombol aksi.
Putuskan
Catatan opsional jadi komentar.
- Setelah mengajukan, operator melihat "Menunggu persetujuan" — bukan centang sukses — dengan penegasan stok belum bergerak.
- Operator tidak bisa menyetujui permintaannya sendiri (aturan dari ERPNext).
- Baru setelah disetujui dokumen ter-submit dan stok bergerak.
Pengaturan (di aplikasi)
Ikon gerigi di beranda. Yang bisa diubah dari HP hanya hal ringan per-perangkat:
- Melihat server yang tersambung & login sebagai siapa.
- Ganti company / gudang default.
- Atur Qty per scan, Getar saat scan, dan Mode scanner gun(handheld laser).
- Nyalakan Tampilkan foto barang — memuat thumbnail item saat mencari barang di pencarian. Default mati; nyalakan kalau koneksi gudang cepat (kalau item tidak punya foto, barisnya tetap rapi tanpa gambar).
- Melihat jenis barcode yang aktif (diatur dari ERPNext).
- Cek restock sekarang, dan Keluar (logout) — kembali ke layar login.
Tampilan
Sakelar Tampilkan foto barang per-perangkat.
Setelan kebijakan (scan batch, FIFO, barcode, logo, warna, filter riwayat, teks) semuanya diatur dari ERPNext — supaya satu perubahan berlaku ke semua handheld. Bagian berikut membahasnya.
Setting di ERPNext — WMS Settings
Buka /app/wms-settings (butuh role System Manager / Stock Manager). Aplikasi membaca ulang semua setelan ini setiap login, jadi perubahan langsung berlaku di semua handheld pada shift berikutnya — tanpa update APK.
| Kelompok | Setelan | Efek di aplikasi |
|---|---|---|
| Scanning | Minta scan batch | Barang ber-batch wajib di-scan/pilih batch sebelum posting. |
| Minta scan serial | Barang ber-serial di-scan satu per satu; qty ikut jumlah serial. | |
| Izinkan posting tanpa batch | Jaring pengaman kalau label batch rusak. | |
| Wajib scan konfirmasi qty (DN & PR) | Aktif: di Delivery Note / Purchase Receipt tiap barang wajib di-scan & dikonfirmasi 1 per 1. Nonaktif: qty tinggal diedit, tombol kamera disembunyikan. | |
| Saran FIFO | Sarankan batch FIFO | Batch tertua ditandai SARAN FIFO. |
| Dasar urutan | Expiry Date (FEFO) / Manufacturing / Creation. | |
| Peringatkan non-FIFO | Muncul peringatan kalau operator pilih batch lain (tetap boleh). | |
| Tolak batch kedaluwarsa | Batch lewat expiry tidak bisa dipilih. | |
| Barcode | EAN-13, EAN-8, UPC, ITF-14, Code 128/39, QR, Data Matrix | Nyalakan yang dipakai saja — kamera lebih cepat mengunci & jarang salah baca. Yang dimatikan tampil dicoret. Kalau semua dimatikan, aplikasi memakai semua format. |
Semua di atas adalah kebijakan gudang — diubah sekali di ERP, berlaku ke semua HP. Tidak ada yang perlu diubah di tiap handheld.
Setting di ERPNext — Filter & halaman Riwayat
Masih di /app/wms-settings, bagian Riwayat Dokumen:
Jumlah per halaman
Field Jumlah per halaman (riwayat) — berapa dokumen dimuat sekali di layar Riwayat dan tiap "Muat lebih banyak". Default 20, boleh 5–200. Kalau kosong/0, aplikasi memakai 20.
Filter default
Tabel Filter default menentukan filter tambahan yang langsung aktif saat operator membuka Riwayat sebuah dokumen — mis. hanya status "To Bill". Operator tetap bisa menambah/menghapus filter sendiri di aplikasi.
Tanpa setelan apa pun, aplikasi sudah otomatis membuka Riwayat dengan filter tanggal bulan berjalan(chip Bulan ini yang bisa dihapus). Isi tabel ini hanya kalau ingin menambah filter default lain (status, gudang, dll.).
| Kolom | Isi | Contoh |
|---|---|---|
| Dokumen | Doctype yang difilter | Delivery Note |
| Field | Nama field (fieldname) | status, posting_date, set_warehouse |
| Operator | =, !=, like, not like, >, <, >=, <=, Timespan | = |
| Nilai | Nilai filter. Untuk Timespan pakai: today, this week, this month, last month, dst. | To Bill |
Contoh: baris Delivery Note · status · = · To Bill membuat Riwayat Delivery Note langsung menyaring hanya yang berstatus "To Bill". Tambah baris Purchase Receipt · posting_date · Timespan · this monthuntuk PR bulan berjalan.
Setting di ERPNext — Logo & warna aplikasi
Bagian Tampilan Aplikasi di WMS Settings mengubah wajah aplikasi tanpa build ulang APK:
| Field | Isi |
|---|---|
| Logo aplikasi | Gambar yang tampil di login & splash. Sebaiknya PNG transparan, dan file-nya publik (bukan private). Kosongkan untuk logo bawaan. |
| Warna utama | Warna app bar & tombol. Format heksa, mis. #07349F. |
| Warna aksen | Warna highlight / elemen sekunder, mis. #2EA3F2. |
Diambil ulang setiap login — ganti logo/warna sekali, semua handheld ikut berubah.
Setting di ERPNext — Field tambahan di form
Kalau Anda menambah Custom Field pada salah satu doctype yang diposting aplikasi (Stock Reconciliation, Delivery Note, Purchase Receipt, Material Request), field itu bisa muncul otomatis di form aplikasi — tanpa update APK.
Syaratnya, agar form aplikasi tidak penuh: field itu harus ditandai Mandatory (wajib) atau Bold. Aplikasi mengambil field ini saat login dan merendernya (Data, Select, Check, Date, Int, Float, dll.).
Contoh: tambah Custom FieldNo. Referensi(Mandatory) di Material Request → operator langsung diminta mengisinya di aplikasi. Field yang tidak wajib & tidak bold sengaja diabaikan agar layar tetap ringkas.
Setting di ERPNext — Batch barang masuk
Saat Purchase Receipt, nomor batch bisa diikuti dari supplier atau digenerate. Yang menentukan bukan satu tombol global, melainkan master data:
| Di mana | Pilihan | Arti |
|---|---|---|
| Supplier | Auto semua item | Semua barang supplier ini: batch digenerate ERPNext. |
| Supplier | Manual (lihat per Item) | Ikuti setelan tiap Item. |
| Item | Scan dari supplier | Supplier mencetak nomor batch — kita ikut nomornya. |
| Item | Generate otomatis | ERPNext membuat nomor (butuh Batch Number Series & Shelf Life in Days). |
Default global-nya diatur di WMS Settings → Batch barang masuk (Purchase Receipt). Kalau batch digenerate sistem, nomornya ditampilkan di aplikasi setelah posting agar ditulis di kardus.
Setting di ERPNext — Teks aplikasi (WMS Labels)
Buka /app/wms-labels. Setiap teks di aplikasi punya key + teks bawaan. WMS Labels menyimpan overrideberbentuk JSON — isi hanya yang mau diubah:
{
"menu.stock_opname": "Hitung Stok Fisik",
"home.restock_alert": "{n} SKU di bawah batas aman",
"app.name": "Gudang Pintar"
}
- Key yang dihapus otomatis kembali ke teks bawaan.
- JSON rusak / server mati tidak akan pernah membuat tombol kosong — paling buruk tampil seperti saat di-build.
- Lewat
app.nameaplikasi bisa di-rebrand per klien tanpa build ulang.
Setting di ERPNext — Persetujuan (Workflow)
Aplikasi membaca Workflow yang Anda buat di ERPNext dan menjalankannya persis. Ubah workflow di ERP, aplikasi ikut berubah pada login berikutnya.
- Buat Workflow, Workflow State, dan Workflow Action di ERPNext seperti biasa.
- Tentukan doctype mana yang butuh persetujuan, berapa tahap, dan siapa berwenang.
- Untuk mencegah setuju-sendiri, set
allow_self_approval = 0pada transisinya.
Persetujuan di aplikasi dibatasi ke dokumen stok saja (Stock Reconciliation, Delivery Note, Purchase Receipt, Material Request, Stock Entry) — workflow untuk dokumen ERP lain tidak ikut muncul di handheld.
| Status di app | Arti | Stok |
|---|---|---|
| Menunggu persetujuan | Draft, sudah diajukan | Belum bergerak |
| Disetujui | Ter-submit | Sudah bergerak |
| Ditolak | Kembali ke pengaju | Belum bergerak |
Setting di ERPNext — Hak akses & izin Batalkan
User Permission & role
Aplikasi mengambil data lewat REST API, dan ERPNext menerapkan Role Permission & User Permission di sana. User yang dibatasi ke satu gudang hanya melihat gudang itu (ikut ke Bin, Stock Ledger, dst.). Batasi user seperti biasa — aplikasi mengikut.
Izin membatalkan dokumen
Tombol Batalkan dokumen di layar detail Riwayat hanya muncul kalau role user punya izin Cancel pada doctype tersebut, dan dokumen sudah submitted.
- Beri/lepas izin lewat Role Permissions Manager (
/app/permission-manager): centang Cancel pada doctype + role yang boleh membatalkan. - Operator biasa (mis. Stock User tanpa izin cancel) tidak akan melihat tombol itu.
- Pembatalan mengembalikan pergerakan stok (docstatus → Cancelled), sama seperti cancel di ERP.
Ini kontrol penuh di sisi ERP: yang menentukan siapa boleh membatalkan adalah role permission ERPNext, bukan aplikasi.