Pembukuan Stok Barang Masuk dan Keluar: Tabel dan Alur Pencatatan
TL;DR
Pembukuan stok barang masuk dan keluar adalah pencatatan semua mutasi barang berdasarkan dokumen resmi, mulai dari surat jalan supplier sampai nota penjualan. Tabelnya minimal punya kolom tanggal, nomor dokumen, kode barang, masuk, keluar, dan saldo. Rekap bulanannya disusun dengan rumus stok akhir = stok awal + masuk - keluar + penyesuaian, dan selisih hasil stok opname dicatat sebagai baris penyesuaian, bukan dengan nimpa angka lama.
Pembukuan stok barang masuk dan keluar adalah pencatatan semua pergerakan barang berdasarkan dokumen resmi, dari surat jalan supplier sampai nota penjualan.
Yang bikin pembukuan stok berantakan biasanya bukan tabelnya. Tapi alurnya: siapa nyatet kapan, dokumen mana yang jadi dasar, dan gimana selisih diselesaikan.
Di bawah ada alur lengkapnya buat barang masuk dan keluar, tabel contoh isian seminggu, cara nyusun rekap bulanan, plus aturan nyatet hasil stok opname.
Apa itu pembukuan stok barang masuk dan keluar?
Pembukuan stok barang masuk dan keluar adalah catatan berurutan yang ngerekam tiap penambahan dan pengurangan barang, dengan saldo yang diperbarui tiap ada mutasi, dan tiap baris punya rujukan ke dokumen sumbernya. Tujuannya dua: tau posisi stok tanpa hitung fisik, dan bisa nelusuri sumber selisih waktu angkanya nggak cocok.
Bedanya sama sekadar nyatet: tiap baris punya nomor dokumen. Tanpa nomor dokumen, catatan kamu nggak bisa dicocokin sama apapun.
Kalau kamu baru mulai dan belum punya sistem sama sekali, mulai dari buku stok barang harian dulu. Artikel ini lanjutannya, buat toko yang udah punya supplier tetap dan transaksinya perlu bisa diaudit.
Dokumen apa yang jadi dasar pencatatan?
Aturan mainnya satu: tiap baris di pembukuan harus bisa ditunjuk dokumennya. Kalau nggak ada dokumen, bikin dokumennya.
| Jenis mutasi | Dokumen dasar | Yang bikin |
|---|---|---|
| Barang masuk dari supplier | Surat jalan dan faktur | Supplier |
| Retur dari pelanggan | Bukti retur bernomor | Toko |
| Penjualan | Nota penjualan atau struk kasir | Toko |
| Retur ke supplier | Surat jalan retur | Toko |
| Barang rusak atau hilang | Berita acara, ditandatangani dua orang | Toko |
| Pemakaian sendiri | Bon pemakaian internal | Toko |
| Hasil hitung fisik | Lembar stok opname | Toko |
Baris berita acara itu yang paling sering diremehin. Barang rusak yang dicatat tanpa tanda tangan siapapun bikin kolom itu jadi tempat pembuangan buat semua selisih yang nggak bisa dijelasin.
Gimana alur pencatatan barang masuk?
- Terima barang bareng surat jalan. Jangan tanda tangan sebelum dihitung.
- Hitung fisik di depan pengirim. Cocokin jumlah, jenis, dan kondisi kemasan.
- Kalau ada selisih, tulis di surat jalan sebelum tanda tangan. Coret angka yang salah, tulis angka sebenarnya, minta paraf pengirim. Langkah ini yang nyelametin kamu waktu nagih kekurangan minggu depan.
- Catat ke pembukuan di hari yang sama. Kolom masuk diisi jumlah yang beneran diterima, bukan jumlah di surat jalan.
- Tulis nomor surat jalan di kolom dokumen. Bukan nama supplier doang.
- Arsipkan surat jalannya urut tanggal. Map bulanan udah cukup, nggak perlu sistem yang ribet.
Langkah 3 dan 4 sering ketuker urutannya. Kalau kamu tanda tangan dulu baru ngitung, posisi tawar kamu waktu ada kekurangan tinggal nol.
Gimana alur pencatatan barang keluar?
- Semua barang yang keluar harus punya nomor. Nota penjualan, bon internal, atau berita acara. Nggak ada barang keluar tanpa kertas.
- Pisahin jenis keluarnya. Penjualan, retur ke supplier, rusak, dan pemakaian sendiri masuk kolom keterangan yang beda.
- Catat di hari yang sama. Penjualan boleh direkap per hari kalau kasirnya ramai, tapi rekapnya tetap harus nyambung ke nomor nota pertama dan terakhir hari itu.
- Perbarui saldo. Saldo baru = saldo lama + masuk - keluar.
- Cek saldo negatif tiap sore. Saldo minus artinya ada barang masuk yang belum kecatat, dan itu harus dibereskan hari itu juga.
Poin nomor 2 yang paling ngaruh ke keputusan bisnis. Kalau barang rusak nyampur sama penjualan, kamu bakal ngira barang itu laku padahal lagi bikin rugi.
Tabel contoh pembukuan stok masuk dan keluar
Ini contoh isian seminggu di toko sembako. Kolom saldo dihitung per barang, bukan per baris berurutan.
| Tanggal | No. dokumen | Kode | Nama barang | Masuk | Keluar | Saldo | Keterangan |
|---|---|---|---|---|---|---|---|
| 21/07/2025 | SO-0701 | BRS-5 | Beras Pandan Wangi 5 kg | 30 | Saldo awal opname | ||
| 21/07/2025 | SO-0701 | MYK-1 | Minyak goreng 1 L | 48 | Saldo awal opname | ||
| 22/07/2025 | SJ-4471 | BRS-5 | Beras Pandan Wangi 5 kg | 40 | 70 | CV Sumber Tani | |
| 22/07/2025 | NJ-1180 | BRS-5 | Beras Pandan Wangi 5 kg | 9 | 61 | Penjualan, nota 1171-1180 | |
| 23/07/2025 | SJ-4488 | MYK-1 | Minyak goreng 1 L | 72 | 120 | PT Mitra Boga | |
| 23/07/2025 | BA-011 | MYK-1 | Minyak goreng 1 L | 2 | 118 | Kemasan bocor saat bongkar | |
| 23/07/2025 | NJ-1195 | MYK-1 | Minyak goreng 1 L | 17 | 101 | Penjualan, nota 1181-1195 | |
| 24/07/2025 | NJ-1211 | BRS-5 | Beras Pandan Wangi 5 kg | 14 | 47 | Penjualan, nota 1196-1211 | |
| 25/07/2025 | RT-006 | BRS-5 | Beras Pandan Wangi 5 kg | 2 | 49 | Retur pelanggan, karung utuh | |
| 26/07/2025 | BI-003 | MYK-1 | Minyak goreng 1 L | 1 | 100 | Pemakaian dapur toko | |
| 27/07/2025 | SO-0728 | BRS-5 | Beras Pandan Wangi 5 kg | 1 | 48 | Penyesuaian opname, selisih kurang |
Perhatiin baris terakhir. Hitung fisik ngasih 48 sementara catatan bilang 49, dan selisihnya ditulis sebagai baris keluar dengan keterangan jelas. Angka 49 di baris sebelumnya nggak diapa-apain.
Kebiasaan ini yang bikin kamu bisa jawab pertanyaan "berapa kebocoran bulan ini?" tanpa nebak.
Rekap bulanan: dari mutasi ke laporan persediaan
Akhir bulan, semua baris mutasi diringkas jadi satu baris per barang. Rumusnya:
Stok akhir = Stok awal + Masuk - Keluar + Penyesuaian
Contoh rekap Juli 2025:
| Kode | Nama barang | Stok awal | Masuk | Keluar | Penyesuaian | Stok akhir |
|---|---|---|---|---|---|---|
| BRS-5 | Beras Pandan Wangi 5 kg | 30 | 60 | 47 | -1 | 42 |
| MYK-1 | Minyak goreng 1 L | 48 | 96 | 103 | -2 | 39 |
| GLA-1 | Gula pasir 1 kg | 25 | 40 | 38 | 0 | 27 |
| TLR-1 | Telur ayam 1 kg | 18 | 72 | 66 | -3 | 21 |
| KCP-1 | Kecap manis 600 ml | 60 | 24 | 31 | 0 | 53 |
Kalau pembukuan kamu udah di spreadsheet, kolom masuk dan keluar di tabel ini nggak diketik manual. Tarik dari sheet mutasi:
Masuk = SUMIFS(tblMutasi[Masuk], tblMutasi[Kode], [@Kode],
tblMutasi[Tanggal], ">=" & $B$1,
tblMutasi[Tanggal], "<=" & $B$2)
Keluar = SUMIFS(tblMutasi[Keluar], tblMutasi[Kode], [@Kode],
tblMutasi[Tanggal], ">=" & $B$1,
tblMutasi[Tanggal], "<=" & $B$2)
Sel B1 diisi tanggal awal periode, B2 tanggal akhir. Ganti dua sel itu, seluruh rekap ngikut. Sintaks lengkap SUMIFS ada di halaman fungsinya, dan versi resminya di dokumentasi Microsoft.
Struktur sheet yang dipakai rumus ini aku jabarin langkah demi langkah di panduan bikin Excel stok barang dari nol.
Kapan harus stok opname dan gimana nyatetnya?
Dua jenis opname, dua jadwal berbeda:
- Opname sebagian, tiap minggu. Pilih 10 sampai 15 barang paling laris atau paling mahal. Makan waktu 20 menit, dan nangkep masalah waktu jejaknya masih hangat.
- Opname penuh, tiap bulan atau tiga bulan. Semua barang dihitung. Lakuin di luar jam buka, dan bagi dua orang: satu ngitung, satu nyatet.
Cara nyatet hasilnya cuma satu aturan. Selisih ditulis sebagai baris penyesuaian bertanggal, dengan keterangan penyebab kalau ketahuan. Saldo lama nggak pernah ditimpa.
Alasannya bukan soal kerapian. Saldo yang ditimpa bikin kamu kehilangan satu-satunya angka yang bisa ngukur kesehatan pencatatan kamu sendiri. Prinsip yang sama dipakai di pengelolaan kualitas data di mana pun.
Contoh kasus: tiga bulan pembukuan toko_berkah
Dataset toko_berkah punya 1.204 baris mutasi selama 92 hari buat 58 jenis barang. Setelah dipisah per jenis mutasi, sebarannya kayak gini:
| Jenis mutasi | Jumlah baris | Porsi |
|---|---|---|
| Penjualan | 862 | 71,6% |
| Barang masuk dari supplier | 241 | 20,0% |
| Barang rusak dan kedaluwarsa | 54 | 4,5% |
| Penyesuaian opname | 29 | 2,4% |
| Retur pelanggan | 18 | 1,5% |
Baris barang rusak jumlahnya 54, dan totalnya 213 unit. Dengan harga beli rata-rata Rp 21.400 per unit, itu Rp 4,56 juta dalam tiga bulan. Sekitar Rp 1,5 juta per bulan yang hilang tanpa pernah masuk omzet.
Angka itu nggak akan pernah kelihatan kalau barang rusak dicatat nyampur sama penjualan. Dan yang lebih penting: 31 dari 54 baris itu barang yang sama, telur dan sayur, yang emang perlu diatur ulang jumlah pesanannya.
Pembukuan yang rapi bukan cuma bikin laporan cocok. Dia nunjukin barang mana yang harus dipesan lebih sedikit.
Kesalahan umum di pembukuan stok
Nyatet dirapel akhir minggu
Catatan yang dibikin dari ingatan tiga hari lalu nggak bisa dipercaya. Kalau kasir kelewat sibuk, minimal simpan struk urut dan rekap malamnya.
Ngosongin kolom nomor dokumen
Baris tanpa nomor dokumen nggak bisa dicocokin sama apapun. Kalau memang belum ada nomornya, tulis "menyusul" biar kelihatan sebagai utang catatan.
Ngebiarin saldo negatif
Saldo minus artinya ada barang masuk yang belum kecatat. Ini bukan kesalahan sepele, ini tanda ada aliran barang yang lolos dari pembukuan.
Nyamain semua jenis keluar
Penjualan, rusak, dan pemakaian sendiri punya arti bisnis yang beda jauh. Bedain di kolom keterangan sejak baris pertama.
Nimpa saldo biar cocok sama hitungan fisik
Ini yang paling merusak. Angkanya jadi kelihatan rapi, tapi kamu kehilangan kemampuan buat ngukur kebocoran.
Nulis nama barang tanpa kode
Satu barang yang ditulis tiga versi bakal jadi tiga baris di rekap. Pakai kode dan validasi data di kolom kode kalau pembukuannya di spreadsheet.
FAQ
Barang datang tapi suratnya belum ada, dicatat atau nggak?
Dicatat, tapi kasih tanda. Tulis nomor dokumen sebagai "menyusul" plus nama pengirimnya, terus taruh baris itu di daftar tunggu. Barang yang masuk gudang tanpa jejak catatan itu sumber selisih yang paling susah ditelusuri. Begitu suratnya datang, ganti keterangannya dengan nomor asli, jangan bikin baris baru.
Selisih stok opname harus dicatat di mana?
Di baris penyesuaian tersendiri, dengan tanggal opname dan keterangan penyebabnya. Jangan pernah ngetik ulang angka saldo supaya cocok sama hitungan fisik. Baris penyesuaian bikin kamu bisa ngitung berapa besar kebocoran per bulan, dan itu angka yang jauh lebih berguna daripada saldo yang selalu kelihatan rapi.
Berapa sering stok opname sebaiknya dilakukan?
Opname penuh cukup sekali sebulan atau sekali tiga bulan, tergantung jumlah jenis barang. Yang lebih kepakai itu opname sebagian tiap minggu: pilih 10 sampai 15 barang paling laris atau paling mahal, hitung fisiknya, cocokin sama catatan. Cara ini nangkep masalah waktu jejaknya masih hangat.
Pemakaian sendiri sama barang rusak dicatat di kolom keluar juga?
Iya, tetap masuk kolom keluar, tapi keterangannya harus beda dari penjualan. Kalau semua digabung jadi satu jenis "keluar", kamu nggak bisa misahin mana yang jadi omzet dan mana yang jadi kerugian. Banyak toko rugi diam-diam karena barang rusak nyampur di angka penjualan.
Perlu nggak nyatet harga di pembukuan stok?
Kalau kamu cuma mau tau posisi barang, jumlah unit udah cukup. Harga beli baru perlu kalau kamu mau ngitung nilai persediaan buat laporan keuangan atau mau tau berapa modal yang nyangkut di gudang. Taruh harga beli di sheet master per barang, jangan diketik ulang di tiap baris mutasi.
Langkah berikutnya
Mulai dari dua hal yang paling murah dikerjain minggu ini.
Pertama, tambahin kolom nomor dokumen di pembukuan yang udah ada. Isi mundur buat seminggu terakhir aja, biar kebiasaannya kebentuk.
Kedua, pisahin keterangan barang rusak dari penjualan. Sebulan lagi kamu bakal punya angka kerugian yang selama ini nggak pernah kelihatan.
Buat format kartu per barang yang cocok sama jenis usaha kamu, cek lima contoh kartu stok barang. Kalau mau langsung pakai file jadi, ambil template stok barang Excel.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
XLOOKUP Google Sheets: Cara Pakai dan Contohnya (2026)
XLOOKUP nyari nilai dan bisa ke kiri atau kanan, plus punya nilai default kalau nggak ketemu. Ini pengganti VLOOKUP yang lebih ringkas.
INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)
INDEX MATCH gabung dua fungsi buat lookup yang bisa nyari ke kiri dan nggak gampang rusak. Ini alasan banyak analis pindah dari VLOOKUP.
SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)
SUMPRODUCT ngaliin dua kolom atau lebih baris per baris, terus jumlahin hasilnya. Cocok buat total qty kali harga sampai hitungan bersyarat.