# Integrasi Barcode Scanning Gudang di ERP Kustom: Dari Hardware hingga Inventaris Real-Time

> Cara mengintegrasikan hardware barcode scanning dengan ERP kustom untuk penerimaan barang real-time, picking, dan penyesuaian inventaris — dengan React PWA mobile-first dan backend NestJS.

URL: https://www.matthewswong.com/id/blog/erp-warehouse-barcode-scanning/

- Author: Matthews Wong (https://www.matthewswong.com/id/about/)
- Published: 2025-06-10
- Updated: 2026-10-17
- Category: ERP

Sistem barcode mengurangi kesalahan manusia dengan mengotomatisasi entri data, dan pemindaian barcode lebih cepat dari entri manual untuk proses penerimaan dan picking, memberikan pembaruan inventaris real-time. Untuk gudang Indonesia yang masih mengandalkan lembar penerimaan tulisan tangan dan kartu inventaris manual, integrasi barcode scanning merupakan perubahan signifikan dalam akurasi dan kecepatan.

## Pilihan Hardware dan Trade-off

Ada tiga pilihan hardware untuk barcode scanning dalam integrasi gudang ERP: scanner barcode genggam khusus (Zebra, Honeywell — tahan banting, cepat, mahal ~Rp 3-8 juta per unit), ponsel dengan pemindaian berbasis kamera (gunakan smartphone perusahaan yang ada — hardware gratis tapi pemindaian lebih lambat), dan pembaca barcode tetap di pintu dok untuk penerimaan (Zebra fixed reader — ideal untuk penerimaan volume tinggi, Rp 15-30 juta). Untuk klien ini, saya menggunakan pendekatan hybrid: pembaca tetap di dok penerimaan dan ponsel dengan aplikasi scanning PWA untuk staf gudang.

### Arsitektur PWA Barcode

Saya membangun Progressive Web App khusus untuk operasi gudang — aplikasi React mobile-first yang berjalan di browser tanpa instalasi app store. Pemindaian barcode diimplementasikan menggunakan QuaggaJS (barcode 1D seperti Code 128, EAN-13) dan @zxing/browser (kode QR dan barcode 2D). Pemindaian yang berhasil memicu getaran haptic dan bunyi bip audio, kemudian memuat detail item yang dipindai.

> Dari pengalaman saya dalam pekerjaan konsultasi ERP lepas: cetak barcode Anda sendiri di label dan tempelkan pada kemasan produk Anda — jangan mengandalkan barcode produsen. Barcode produsen (GS1) sering tidak ada dalam master item ERP Anda, dan pemindaiannya tidak menghasilkan kecocokan. Saya mencetak barcode Code 128 yang mengkodekan kode item internal (SKU) menggunakan ZPL (Zebra Programming Language) yang dikirim ke printer label Zebra.

## Alur Pemindaian Penerimaan Barang

Alur penerimaan barang (GR): staf gudang menerima pengiriman fisik, membuka layar GR di PWA, memilih Purchase Order yang cocok dari daftar pengiriman yang diharapkan, dan memindai setiap barcode item. Setiap pemindaian: mencari item di ERP, menampilkan nama item dan kuantitas yang diharapkan dari PO, meminta kuantitas yang diterima (default 1, dapat disesuaikan), dan menambahkan ke daftar GR.

### Pemindaian Picking dan Pengiriman

Untuk picking keluar, alur picking adalah: staf gudang membuka Pick Order, memindai setiap item saat dipilih dari rak, mengkonfirmasi lokasi bin dengan memindai barcode rak, dan menandai item sebagai dipilih. Sistem memvalidasi item yang dipindai cocok dengan baris pick order — jika item yang salah dipindai, suara error diputar dan pesan peringatan ditampilkan. Pendekatan scan-to-verify ini mencegah kesalahan pick.

> **Peringatan: Keandalan Jaringan di Lingkungan Gudang**

> Gudang sering memiliki cakupan WiFi yang buruk di sudut, di belakang rak, dan dekat struktur logam besar. Aplikasi scanning yang memerlukan konektivitas internet terus-menerus akan membuat frustasi staf gudang ketika koneksi terputus di tengah penerimaan. Saya mengimplementasikan pemindaian offline-first: PWA meng-cache PO hari ini dan master item secara lokal menggunakan IndexedDB. Pemindaian bekerja offline — pemindaian mengantri secara lokal. Ketika konektivitas dipulihkan, antrian disinkronkan ke server secara otomatis.

## Bagaimana Saya Mendekati Ini

Sistem scanning terdiri dari: NestJS WarehouseModule (API penerimaan barang, pick order, dan manajemen bin), React PWA yang di-deploy ke Cloudflare Pages (untuk CDN global dan HTTPS tanpa konfigurasi), dan printer label Zebra ZT410 untuk pembuatan label barcode. API NestJS menggunakan optimistic locking saat menulis pergerakan stok.

## Pelacakan Lot dan Manajemen Kedaluwarsa

Untuk klien manufaktur ini yang menangani material yang mudah rusak, pelacakan lot sangat penting. Setiap GR masuk menangkap nomor lot dan tanggal produksi. Barcode mengkodekan nomor lot (menggunakan GS1-128 dengan Application Identifier 10 untuk lot dan 17 untuk tanggal kedaluwarsa). Sistem inventaris melacak stok berdasarkan item + lot + lokasi. Picking FEFO (First Expired First Out) secara otomatis memilih lot dengan tanggal kedaluwarsa paling awal.

## Cycle Count dengan Dukungan Scanner

Cycle count reguler (alih-alih stocktake penuh tahunan) lebih akurat dan tidak terlalu mengganggu. Sistem ini mendukung tugas cycle count terjadwal: staf gudang menerima tugas penghitungan di PWA mereka yang menunjukkan bin mana yang harus dihitung. Mereka pergi ke setiap bin, memindai barcode bin (untuk mengkonfirmasi lokasi), kemudian memindai setiap item dan memasukkan hitungan fisik.

## Sumber & Bacaan Lebih Lanjut

- RFgen — Warehouse Barcode System Implementation Guide — https://www.rfgen.com/blog/warehouse-barcode-system/
- Scandit — How to Integrate Barcode Scanning Software with an Inventory System — https://www.scandit.com/resources/guides/integrate-barcode-scanning-software-inventory-system/
- ERP Software Blog — Warehouse Accuracy with Barcode Scanning in Business Central — https://erpsoftwareblog.com/2025/07/how-to-improve-warehouse-accuracy-with-barcode-scanning-in-business-central/

> **Key takeaway:** Pemindaian barcode menghilangkan input data manual yang menjadi sumber sebagian besar kesalahan gudang, dan memperbarui stok secara real time, bukan di akhir shift. Untuk gudang di Indonesia yang masih bekerja dengan catatan penerimaan tulis tangan, perangkatnya biasanya bagian yang murah dan perubahan prosesnya adalah proyek yang sesungguhnya.

## Source links

- https://www.rfgen.com/blog/warehouse-barcode-system/
- https://www.scandit.com/resources/guides/integrate-barcode-scanning-software-inventory-system/
- https://erpsoftwareblog.com/2025/07/how-to-improve-warehouse-accuracy-with-barcode-scanning-in-business-central/

## FAQ

### Apa saja pilihan hardware untuk barcode scanning di gudang ERP, dan kombinasi mana yang cocok?

Ada tiga pilihan utama: scanner genggam khusus (Zebra, Honeywell — tahan banting tapi ~Rp 3–8 juta per unit), ponsel dengan pemindaian berbasis kamera (hardware gratis tapi lebih lambat), dan pembaca tetap di pintu dok (Rp 15–30 juta, ideal untuk penerimaan volume tinggi). Pendekatan hybrid sering menyeimbangkan biaya dan performa dengan baik — pembaca tetap di dok penerimaan dan ponsel yang menjalankan aplikasi scanning PWA.

### Mengapa mencetak label barcode sendiri alih-alih mengandalkan barcode dari produsen?

Barcode produsen (GS1) sering tidak terdaftar dalam master item ERP, sehingga pemindaiannya tidak menghasilkan kecocokan dan membuang waktu. Mencetak label Code 128 yang mengkodekan SKU internal menggunakan ZPL yang dikirim ke printer label Zebra memastikan setiap pemindaian langsung teridentifikasi. Setiap label memuat barcode, kode item, nama item, dan nomor lot — setup awalnya hanya membutuhkan sekitar satu hari tetapi menghemat berjam-jam waktu pencarian setiap minggu.

### Bagaimana sistem menangani cakupan WiFi yang buruk di gudang?

PWA mengimplementasikan pendekatan offline-first: PO hari ini dan master item di-cache secara lokal menggunakan IndexedDB sehingga pemindaian tetap berjalan meski koneksi terputus. Pemindaian yang dilakukan saat offline akan masuk antrean lokal dan otomatis disinkronkan ke backend NestJS begitu konektivitas pulih. Ini mencegah kegagalan di tengah proses penerimaan yang bisa membuat frustasi staf gudang yang bekerja di sudut atau dekat rak logam besar.

### Bagaimana scan-to-verify mencegah picking item yang salah?

Saat staf gudang memindai item dalam pick order, sistem memvalidasi bahwa barcode yang dipindai cocok dengan baris pick order yang dimaksud. Jika item yang salah dipindai, suara error langsung diputar dan pesan peringatan ditampilkan saat itu juga. Pengecekan real-time ini menghentikan produk yang salah sebelum sampai ke pelanggan, mencegah kesalahan menyebar lebih jauh.

### Bagaimana pelacakan lot dan manajemen kedaluwarsa ditangani untuk material yang mudah rusak?

Setiap penerimaan barang masuk mencatat nomor lot dan tanggal produksi yang dikodekan dalam barcode GS1-128 menggunakan Application Identifier 10 (lot) dan 17 (tanggal kedaluwarsa). Stok dilacak berdasarkan item, lot, dan lokasi, dan picking keluar menggunakan FEFO (First Expired First Out) untuk otomatis memilih lot dengan kedaluwarsa paling awal. ERP juga memperingatkan manajer gudang 30 hari sebelum lot mana pun kedaluwarsa, memberikan waktu untuk menggunakan atau mengembalikan stok tersebut.

---

- HTML version: https://www.matthewswong.com/id/blog/erp-warehouse-barcode-scanning/
- English: https://www.matthewswong.com/en/blog/erp-warehouse-barcode-scanning/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
