Terakhir diperbarui: 6 November 2026
Shrinkage atau penyusutan stok adalah selisih antara nilai persediaan menurut sistem dan persediaan fisik yang benar-benar ada di toko atau gudang. Cara menghitungnya: kurangkan nilai stok fisik hasil opname dari nilai stok buku, lalu bagi dengan HPP (atau penjualan) periode yang sama. Angka inilah yang memberi tahu Anda berapa laba yang hilang tanpa pernah tercatat sebagai penjualan.
Banyak pemilik toko ritel dan minimarket baru sadar ada masalah ketika margin kotor di laporan laba rugi turun, padahal harga jual dan harga beli tidak berubah. Pada artikel ini kami membahas cara menghitung shrinkage rate dengan basis yang konsisten, memecahnya per kategori dan per sumber, menerjemahkannya menjadi “penjualan yang harus dikejar untuk menutup kerugian”, serta rencana 30 hari untuk menekannya.
Ringkasan Cepat
- Shrinkage = nilai stok buku − nilai stok fisik, dihitung pada basis harga pokok atau harga jual secara konsisten.
- Bandingkan shrinkage berbasis harga pokok dengan HPP, dan shrinkage berbasis harga jual dengan penjualan bersih; jangan dicampur.
- Pecah per kategori: kategori bernilai tinggi dan kecil (rokok, susu, kosmetik) biasanya menyumbang porsi terbesar.
- Pisahkan selisih yang bisa dijelaskan (rusak, salah input) dari yang tidak bisa dijelaskan; bagian kedua inilah sasaran kontrol.
- Ubah shrinkage menjadi “penjualan pengganti” agar tim paham dampaknya terhadap laba bersih.
Apa itu shrinkage dalam bisnis ritel?
Daftar Isi
- 1 Apa itu shrinkage dalam bisnis ritel?
- 2 Bagaimana rumus shrinkage rate yang benar?
- 3 Contoh perhitungan shrinkage minimarket
- 4 Dari mana saja sumber shrinkage?
- 5 Berapa sebenarnya kerugian shrinkage bagi laba?
- 6 Bagaimana menekan shrinkage dalam 30 hari?
- 7 Kesalahan yang Sering Terjadi
- 8 Pertanyaan yang Sering Diajukan (FAQ)
- 9 Kesimpulan
Shrinkage (penyusutan persediaan) adalah berkurangnya persediaan yang tidak disebabkan oleh penjualan yang tercatat, misalnya karena pencurian, barang rusak atau kedaluwarsa yang tidak diinput, kesalahan pencatatan penerimaan, atau kecurangan pemasok. Shrinkage terlihat sebagai selisih antara stok menurut sistem (stok buku) dan stok fisik hasil stock opname.
Perlu dibedakan dari penyusutan aset tetap (depresiasi). Shrinkage menyangkut persediaan barang dagang, dan secara akuntansi selisihnya diakui sebagai beban pada periode ditemukannya. Prosedur pencatatannya kami bahas rinci di artikel jurnal selisih stok opname; fokus artikel ini adalah membaca angkanya untuk keputusan bisnis.
Bagaimana rumus shrinkage rate yang benar?
Ada dua basis yang sama-sama sah. Kesalahan umum adalah mencampurnya, misalnya selisih dihitung dengan harga pokok tetapi dibagi penjualan, sehingga persentasenya tampak lebih kecil dari kenyataan.
| Basis | Rumus | Kapan dipakai |
|---|---|---|
| Harga pokok (cost) | Shrinkage rate = (stok buku − stok fisik) ÷ HPP periode × 100% | Laporan ke owner dan akuntan; langsung terhubung ke laba rugi |
| Harga jual (retail) | Shrinkage rate = (stok buku − stok fisik, dinilai harga jual) ÷ penjualan bersih × 100% | Pembanding antar-toko atau antar-cabang yang dikelola dengan metode eceran |
Langkah menghitungnya:
- Tutup transaksi pada tanggal cut-off (penjualan, penerimaan barang, retur) agar stok buku tidak bergerak saat opname.
- Lakukan stock opname per kategori dan nilai hasilnya dengan harga pokok yang sama dengan sistem.
- Hitung selisih per kategori dan totalnya.
- Bagi dengan HPP periode yang sama (basis harga pokok) dan catat persentasenya setiap bulan.
- Investigasi selisih sebelum menjurnal, supaya Anda tahu sumbernya.
Contoh perhitungan shrinkage minimarket
Berikut contoh sebuah minimarket di Bekasi dengan penjualan bersih Oktober Rp1.200.000.000 dan HPP Rp900.000.000 (angka fiktif untuk ilustrasi). Hasil opname akhir bulan per kategori:
| Kategori | Stok buku (Rp) | Stok fisik (Rp) | Selisih (Rp) | % dari stok buku |
|---|---|---|---|---|
| Rokok | 180.000.000 | 174.600.000 | 5.400.000 | 3,00% |
| Susu & popok bayi | 140.000.000 | 136.080.000 | 3.920.000 | 2,80% |
| Kosmetik & perawatan | 95.000.000 | 91.960.000 | 3.040.000 | 3,20% |
| Makanan ringan & minuman | 260.000.000 | 258.440.000 | 1.560.000 | 0,60% |
| Sembako | 195.000.000 | 193.520.000 | 1.480.000 | 0,76% |
| Total | 870.000.000 | 854.600.000 | 15.400.000 | 1,77% |
Shrinkage rate basis harga pokok = Rp15.400.000 ÷ Rp900.000.000 = 1,71%. Jika dinilai dengan harga jual (margin kotor contoh 20%), selisihnya setara Rp19.250.000 atau 1,60% dari penjualan bersih.
Perhatikan pola di tabel: tiga kategori bernilai tinggi dan berukuran kecil menyumbang Rp12.360.000 atau sekitar 80% dari total selisih, padahal nilai stoknya hanya separuh dari total persediaan. Di sinilah kontrol perlu dipusatkan.
Dari mana saja sumber shrinkage?
Setelah investigasi, selisih Rp15.400.000 di contoh tadi terpecah menjadi:
| Sumber | Nilai (Rp) | Porsi | Sifat |
|---|---|---|---|
| Barang rusak/kedaluwarsa yang dibuang tanpa diinput | 4.100.000 | 26,6% | Dapat dijelaskan (proses) |
| Salah input penerimaan barang (qty faktur ≠qty diterima) | 2.300.000 | 14,9% | Dapat dijelaskan (administrasi) |
| Tidak dapat dijelaskan (dugaan pencurian, kecurangan internal, kecurangan pemasok) | 9.000.000 | 58,4% | Butuh kontrol & investigasi |
Pemisahan ini penting karena obatnya berbeda. Selisih administratif diperbaiki dengan disiplin input dan pencocokan penerimaan (lihat rekonsiliasi persediaan). Barang rusak diperbaiki dengan log pembuangan harian. Selisih yang tidak dapat dijelaskan membutuhkan pembagian tugas, kamera di area rawan, dan pengecekan kasir, mirip prinsip pada SOP selisih kas kasir.
Berapa sebenarnya kerugian shrinkage bagi laba?
Rp15,4 juta per bulan terdengar kecil dibanding omzet Rp1,2 miliar. Cara paling efektif agar tim memahami dampaknya adalah menghitung penjualan pengganti: berapa omzet tambahan yang dibutuhkan untuk menghasilkan laba bersih sebesar kerugian tersebut.
Penjualan pengganti = nilai shrinkage ÷ margin laba bersih. Dengan margin laba bersih contoh 4%: Rp15.400.000 ÷ 4% = Rp385.000.000. Artinya, toko harus menjual tambahan hampir sepertiga omzet bulanan hanya untuk menutup barang yang hilang.
Jika target shrinkage ditetapkan 0,8% dari HPP (Rp7.200.000), penghematannya Rp8.200.000 per bulan atau Rp98.400.000 per tahun, langsung menjadi laba tanpa menambah satu pelanggan pun. Angka target sebaiknya ditetapkan dari data historis toko Anda sendiri, lalu diturunkan bertahap.
Bagaimana menekan shrinkage dalam 30 hari?
- Minggu 1 – Tetapkan baseline. Lakukan opname penuh, hitung shrinkage per kategori dengan basis harga pokok, dan tetapkan tiga kategori prioritas.
- Minggu 2 – Opname siklus (cycle count). Hitung kategori prioritas setiap minggu, bukan hanya akhir bulan, agar selisih cepat ketahuan dan mudah ditelusuri ke shift tertentu.
- Minggu 2 – Rapikan penerimaan barang. Wajibkan pencocokan PO, surat jalan, dan qty fisik sebelum barang masuk sistem; penerima barang tidak boleh sekaligus menginput faktur.
- Minggu 3 – Log barang rusak harian. Setiap barang rusak/kedaluwarsa difoto, dicatat, dan disetujui kepala toko sebelum dibuang.
- Minggu 3 – Kontrol area rawan. Pindahkan rokok, susu, dan kosmetik ke dekat kasir atau rak terkunci, dan cocokkan stok rokok setiap pergantian shift.
- Minggu 4 – Laporan dan tanggung jawab. Bagikan shrinkage rate per toko atau per kepala shift setiap bulan, dengan ambang yang memicu investigasi.
Kesalahan yang Sering Terjadi
- Mencampur basis perhitungan. Selisih harga pokok dibagi penjualan membuat shrinkage tampak lebih kecil.
- Opname tanpa cut-off. Barang yang diterima atau dijual saat opname membuat selisih palsu.
- Langsung menjurnal tanpa investigasi. Selisih “beres” di buku, tetapi sumber masalah tidak pernah diketahui.
- Hanya melihat total. Total 1–2% bisa menyembunyikan kategori dengan shrinkage 3% atau lebih.
- Menyamaratakan semua sebagai pencurian. Sebagian besar selisih sering berasal dari proses dan administrasi yang bisa diperbaiki tanpa menuduh siapa pun.
Pertanyaan yang Sering Diajukan (FAQ)
Berapa shrinkage rate yang wajar untuk minimarket?
Tidak ada satu angka resmi yang berlaku untuk semua toko, karena dipengaruhi lokasi, jenis barang, dan cara menghitungnya. Cara paling tepat adalah memakai data historis toko Anda sebagai baseline, lalu menetapkan target penurunan bertahap per kategori. Bandingkan juga antar-cabang dengan basis yang sama.
Apakah barang kedaluwarsa termasuk shrinkage?
Barang kedaluwarsa yang dibuang tanpa dicatat akan muncul sebagai shrinkage saat opname. Jika sudah dicatat sebagai barang rusak sebelum opname, nilainya tidak lagi menjadi selisih, tetapi tetap merupakan kerugian yang perlu dipantau terpisah.
Seberapa sering stock opname perlu dilakukan?
Opname penuh minimal setiap akhir bulan atau triwulan, ditambah opname siklus mingguan untuk kategori bernilai tinggi. Opname siklus membuat selisih lebih cepat terdeteksi dan lebih mudah ditelusuri ke shift atau petugas tertentu.
Bagaimana shrinkage dicatat di laporan keuangan?
Selisih yang tidak dapat dipulihkan diakui sebagai beban pada periode ditemukannya dan mengurangi saldo persediaan. Banyak bisnis menyajikannya sebagai bagian dari HPP atau sebagai akun beban selisih persediaan tersendiri; yang penting kebijakannya konsisten setiap periode.
Kesimpulan
Shrinkage adalah laba yang hilang diam-diam. Hitung dengan basis yang konsisten, pecah per kategori dan per sumber, lalu terjemahkan ke penjualan pengganti agar seluruh tim memahami taruhannya. Dengan opname siklus dan kontrol penerimaan barang, penurunan shrinkage langsung terlihat di margin bulan berikutnya.
Jika stok buku Anda masih direkap manual di Excel, selisih akan sulit ditelusuri. Zahir Online membantu mencatat penerimaan, penjualan, dan hasil opname per gudang secara real-time, sehingga laporan selisih per kategori tersedia kapan saja. Pelajari solusi Zahir Online untuk minimarket atau coba gratis.













