Barang & Jasa
Apa itu Barang & Jasa?
Barang & Jasa adalah pusat data produk/barang yang Anda jual atau beli. Di sini Anda mendaftarkan seluruh item beserta informasi harga, satuan, kategori, dan gudang penyimpanan.
Jurnalkas mendukung 3 tipe item: Barang (dengan tracking stok), Jasa (tanpa tracking stok), dan Barang Racik/Paket (bundle dari beberapa item).


Tipe Item
Saat menambah barang baru, pilih tipe item sesuai kebutuhan:
- Barang — Item fisik dengan tracking stok. Stok berkurang saat dijual, bertambah saat dibeli. Punya sub-tipe (Asset Type) yang menentukan akun COA default:
- Persediaan — Barang jualan umum (default). COA di bawah kode
1-1150. - Bahan Habis Pakai (BHP) — Barang habis pakai non-barang jadi, mis: kemasan, tissue. COA di bawah kode
1-1105. - Barang Jadi — Produk jadi untuk dijual. COA di bawah kode
1-1150. - Bahan Baku — Bahan mentah untuk produksi/manufaktur. COA di bawah kode
1-1150. - Aset Tetap — Aset jangka panjang seperti kendaraan, peralatan. COA di bawah kode
1-1200.
- Persediaan — Barang jualan umum (default). COA di bawah kode
- Jasa — Item non-fisik tanpa tracking stok. Hanya punya akun penjualan (income) & HPP (expense).
- Barang Racik / Paket — Bundle dari beberapa item, tanpa tracking stok, hanya punya akun penjualan. Lihat panduan Barang Racik / Paket untuk detail.
Pemilihan Asset Type menentukan filter akun COA yang tersedia di tab "Akun". Sistem otomatis memfilter akun sesuai tipe sehingga Anda tidak salah pilih akun.
Cara Menambah Barang
- Klik menu Barang di Kontak & Master Data → Produk.
- Klik + Tambah Barang.
- Pilih Tipe Item: Barang, Jasa, atau Barang Racik.
- Isi formulir:
- SKU — Kode unik barang (wajib, auto-kapital). Hanya boleh huruf, angka, strip (-), underscore (_), dan titik (.). Maksimal 50 karakter. Lihat Aturan Penulisan SKU di bawah untuk detail.
- Barcode — Kode barcode EAN (opsional, unik global).
- Nama Barang — Nama produk.
- Kategori — Pilih kategori (mendukung sub-kategori bertingkat).
- Merk — Merk/brand barang (opsional).
- Satuan — Unit ukuran (pcs, kg, ltr, dll). Mendukung konversi satuan / Multi UOM (mis. 1 box = 12 pcs).
- Harga Beli — Harga pembelian.
- Harga Jual — Harga penjualan utama.
- Harga Jual Minimum — Batas bawah harga jual untuk peringatan margin.
- Stok Minimum — Batas stok aman untuk peringatan (Barang only).
- Deskripsi — Keterangan tambahan (opsional).
- Klik Simpan.
Peringatan Harga Jual vs Harga Beli
Sistem akan menampilkan peringatan inline jika harga jual lebih rendah dari harga beli. Ini membantu mencegah kerugian tidak disengaja, misalnya salah input angka. Peringatan ini bersifat non-blocking — Anda tetap bisa menyimpan, namun disarankan untuk memeriksa kembali harga yang dimasukkan.
Sistem akan menampilkan peringatan inline jika harga jual lebih rendah dari harga beli. Ini membantu mencegah kerugian tidak disengaja, misalnya salah input angka. Peringatan ini bersifat non-blocking — Anda tetap bisa menyimpan, namun disarankan untuk memeriksa kembali harga yang dimasukkan.
Aturan Penulisan SKU
SKU (Stock Keeping Unit) adalah kode unik untuk mengidentifikasi setiap barang. Ada aturan ketat untuk format SKU agar kompatibel dengan semua fitur Jurnalkas:
- Wajib diisi dan unik per usaha — tidak boleh ada dua barang dengan SKU sama di bisnis yang sama.
- Auto-uppercase — sistem otomatis mengubah SKU menjadi huruf kapital saat disimpan.
- Karakter yang diperbolehkan: huruf (A-Z), angka (0-9), strip/tanda hubung (
-), underscore (_), dan titik (.). - Wajib mulai dengan huruf atau angka — tidak boleh mulai dengan
-,_, atau.. - Tidak boleh mengandung spasi atau karakter khusus lainnya (seperti
!,@,#,$,%,&,*, dll). - Maksimal 50 karakter.
Contoh SKU yang Valid
BRG-001✅KOPI.AROMA-01✅SNACK_GORENG_02✅A1✅
Contoh SKU yang Tidak Valid
!!!@@@❌ (karakter khusus)BRG 001❌ (mengandung spasi)-BRG001❌ (mulai dengan strip)BRG#001❌ (karakter # tidak diperbolehkan)
Kenapa ada aturan ini? SKU digunakan di banyak fitur kritis: pencarian di POS, scan barcode, pencetakan struk, dan URL API. Karakter khusus atau spasi bisa menyebabkan error di fitur-fitur tersebut. Dengan membatasi ke alfanumerik + strip/underscore/titik, SKU aman dipakai di semua fitur.
Tips memilih SKU:
- Gunakan format konsisten, misalnya
- Pendek dan mudah diingat — di POS, kasir bisa ketik SKU untuk cari barang cepat.
- Jangan pakai spasi — gunakan strip (
- Gunakan format konsisten, misalnya
[KATEGORI]-[NOMOR] seperti MKN-001 untuk makanan, MNM-001 untuk minuman.- Pendek dan mudah diingat — di POS, kasir bisa ketik SKU untuk cari barang cepat.
- Jangan pakai spasi — gunakan strip (
-) atau underscore (_) sebagai pemisah.SKU tidak bisa diubah setelah barang pernah digunakan dalam transaksi. Pilih SKU yang baik dari awal. Kalau perlu ganti SKU, buat barang baru dan nonaktifkan yang lama.
Tab "Akun" — COA per Item
Setiap item bisa di-assign 3 akun COA di tab Akun pada form barang:
- Akun Persediaan/Aset (
inventory_coa_id) — Untuk mencatat nilai stok. Otomatis terisi berdasarkan Asset Type. - Akun Penjualan (
sales_coa_id) — Untuk mencatat pendapatan dari penjualan item. - Akun HPP/Pembelian (
purchase_coa_id) — Untuk mencatat harga pokok/beban pembelian.
Pemilihan akun difilter otomatis berdasarkan tipe:
- Persediaan / Barang Jadi / Bahan Baku → akun di bawah kode
1-1150 - BHP → akun di bawah kode
1-1105 - Aset Tetap → akun di bawah kode
1-1200 - Jasa → hanya akun penjualan (income) & HPP (expense)
- Barang Racik → hanya akun penjualan (income)
Jika Anda sudah men-set COA Default di Pengaturan Bisnis, akun akan terisi otomatis saat membuat barang baru. Anda tetap bisa override per item di tab "Akun".
Mengedit & Menghapus Barang
- Klik nama barang pada daftar untuk membuka detail dan mengedit.
- Barang yang sudah pernah digunakan dalam transaksi tidak dapat dihapus, hanya bisa dinonaktifkan.
Isi Stok Minimum agar sistem mengirim peringatan ketika stok mendekati batas minimum. Untuk item Jasa dan Barang Racik, tracking stok otomatis nonaktif.