Laporan Penjualan Harian Toko Sembako plus Rumus Excel Pendukungnya
Blog/Tutorial Excel & Sheets/Laporan Penjualan Harian Toko Sembako plus Rumus Excel Pendukungnya

Laporan Penjualan Harian Toko Sembako plus Rumus Excel Pendukungnya

BimaBima
·3 Juli 2025·11 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

Laporan penjualan harian toko sembako minimal berisi omzet, jumlah transaksi, rincian per kategori, laba kotor, dan hasil pencocokan kas. Susunannya cukup tiga sheet: master barang berisi harga jual dan harga pokok, sheet transaksi berisi satu baris per item, dan sheet rekap yang menarik angka pakai SUMIFS. Dengan struktur itu, mencatat sekali sehari cukup buat menghasilkan laporan harian sekaligus bulanan tanpa input ulang.

Laporan penjualan harian toko sembako yang berguna cuma butuh lima angka: omzet, jumlah transaksi, rincian per kategori, laba kotor, dan hasil pencocokan kas.

Sisanya hiasan. Yang bikin repot bukan jumlah angkanya, tapi cara ngumpulinnya tiap hari tanpa nambah kerjaan setengah jam.

Di bawah ini susunan sheet yang aku pakai, rumus Excelnya, contoh isi laporan satu hari di toko sembako, plus rutinitas 10 menit sebelum tutup toko.

Apa isi laporan penjualan harian toko sembako?

Isinya lima blok. Ringkasan hari itu berupa omzet dan jumlah transaksi, rincian omzet per kategori barang, daftar barang terlaris, laba kotor, dan pencocokan kas antara uang di laci dan angka di catatan. Lima blok itu cukup buat mengambil keputusan stok dan mendeteksi kebocoran kas.

Yang sering ditambahkan padahal jarang kepakai: kolom nama pembeli, kolom keterangan bebas, dan kolom nomor urut manual. Tiga kolom itu nambah waktu input tanpa menghasilkan angka apa pun.

Struktur data mentahnya sendiri sama untuk semua jenis usaha, dan alasannya dibahas di struktur dan metrik laporan penjualan.

Gimana susunan sheet di file Excelnya?

Tiga sheet. Sheet master_barang berisi daftar barang beserta harga jual dan harga pokok, sheet transaksi berisi satu baris per item yang terjual, dan sheet rekap_harian berisi laporan yang narik angka dari sheet transaksi lewat rumus.

Sheet 1: master_barang

kodenama_barangkategorisatuanharga_jualharga_pokok
BRS-05Beras Pandan Wangi 5 kgBerassak6800061200
MYK-02Minyak goreng 2 LMinyakpouch3600031000
GLA-01Gula pasir 1 kgGula dan tepungkg1800015500
MIE-01Mi instan gorengMi instanpcs35002900
SBN-03Sabun mandi batangLainnyapcs45003200

Sheet 2: transaksi

tanggalno_strukkodenama_barangkategorijumlahharga_jualharga_pokoksubtotalhppmetode
2025-06-14TRX-0614-018BRS-05Beras Pandan Wangi 5 kgBeras168000612006800061200tunai
2025-06-14TRX-0614-018MIE-01Mi instan gorengMi instan5350029001750014500tunai

Yang kamu ketik manual cuma empat kolom: tanggal, nomor struk, kode barang, dan jumlah. Sisanya diisi rumus.

Sheet 3: rekap_harian berisi hasil, bukan input. Isinya rumus yang narik dari sheet transaksi berdasarkan tanggal.

Buat mengontrol sisa barang, sheet keempat bisa ditambahkan dengan pola yang dibahas di template stok barang Excel.

Rumus Excel apa yang dipakai?

Ada lima rumus yang ngerjain hampir semuanya. XLOOKUP buat narik data barang dari master, SUMIFS buat rekap bersyarat, COUNTA dengan UNIQUE buat menghitung transaksi, IFERROR buat menjaga tampilan, plus perkalian biasa buat subtotal.

' === SHEET TRANSAKSI ===
' Kolom C = kode barang yang kamu ketik
' Tarik nama barang, kategori, harga jual, harga pokok dari master
D2  =IFERROR(XLOOKUP($C2, master_barang!$A:$A, master_barang!$B:$B), "")
E2  =IFERROR(XLOOKUP($C2, master_barang!$A:$A, master_barang!$C:$C), "")
G2  =IFERROR(XLOOKUP($C2, master_barang!$A:$A, master_barang!$E:$E), 0)
H2  =IFERROR(XLOOKUP($C2, master_barang!$A:$A, master_barang!$F:$F), 0)

' Subtotal dan HPP baris
I2  =F2*G2
J2  =F2*H2

' === SHEET REKAP HARIAN ===
' B1 diisi tanggal laporan, misalnya 2025-06-14

' Omzet hari itu
=SUMIFS(transaksi!I:I, transaksi!A:A, $B$1)

' Harga pokok hari itu
=SUMIFS(transaksi!J:J, transaksi!A:A, $B$1)

' Laba kotor
=Omzet - HPP

' Jumlah transaksi (nomor struk unik hari itu)
=COUNTA(UNIQUE(FILTER(transaksi!B:B, transaksi!A:A=$B$1)))

' Nilai belanja rata-rata
=IFERROR(Omzet/JumlahTransaksi, 0)

' Omzet satu kategori
=SUMIFS(transaksi!I:I, transaksi!A:A, $B$1, transaksi!E:E, "Beras")

' Total tunai saja
=SUMIFS(transaksi!I:I, transaksi!A:A, $B$1, transaksi!K:K, "tunai")

Fungsi SUMIFS yang jadi mesin semua rekap, dan XLOOKUP yang menghapus kerjaan ngetik nama barang. Sintaks lengkap XLOOKUP ada di dokumentasi resmi Microsoft.

Kalau versi Excelmu belum punya XLOOKUP, ganti pakai VLOOKUP dengan argumen keempat FALSE. Bungkus tetap pakai IFERROR supaya sel yang belum diisi nggak nampilin tulisan error.

Satu tips input: pasang dropdown kode barang lewat Data, Data Validation, List, dengan sumber kolom kode di master_barang. Kamu tinggal pilih, nggak ngetik.

Contoh isi laporan harian toko_berkah 14 Juni 2025

Ini dataset contoh ngulikdata toko_berkah, toko sembako di Bekasi dengan satu kasir.

RingkasanAngka
OmzetRp 1.833.000
Jumlah transaksi47
Nilai belanja rata-rataRp 39.000
Harga pokokRp 1.503.060
Laba kotorRp 329.940
Margin kotor18,0%

Rincian per kategori:

KategoriOmzetPorsi
BerasRp 550.00030%
Minyak gorengRp 366.00020%
Gula dan tepungRp 275.00015%
Mi instanRp 256.00014%
LainnyaRp 386.00021%

Satu angka lagi dari dataset yang sama, dan ini yang paling kepakai buat atur jadwal: 62 persen transaksi toko_berkah terjadi di dua rentang jam, yaitu 06.00 sampai 09.00 dan 16.00 sampai 19.00.

Artinya jam 10 pagi sampai 3 sore itu waktu yang tepat buat terima barang dari sales, nyusun rak, dan input catatan. Bukan jam yang perlu dijaga dua orang.

Gimana cara cek selisih kas harian?

Bandingkan uang tunai yang beneran ada di laci dengan angka penjualan tunai di catatan. Rumusnya: modal awal laci ditambah penjualan tunai, dikurangi pengeluaran tunai, hasilnya harus sama dengan uang fisik yang kamu hitung.

Modal awal laci        Rp   200.000
Penjualan tunai        Rp 1.290.000
Penjualan QRIS         Rp   543.000  (nggak masuk laci)
Pengeluaran tunai      Rp         0
---------------------------------------------
Kas seharusnya         Rp 1.490.000
Kas fisik dihitung     Rp 1.485.000
Selisih                Rp    -5.000

Selisih Rp 5.000 biasanya karena kembalian yang dibulatkan atau satu transaksi kecil yang lupa dicatat. Yang penting bukan angkanya nol, tapi angkanya kelacak.

Bikin kolom selisih di rekap harian, lalu perhatikan polanya selama sebulan. Selisih acak kecil itu wajar. Selisih yang selalu minus di shift yang sama, itu masalah lain.

Rutinitas 10 menit sebelum tutup toko

  1. Menit 1-4. Input transaksi yang belum masuk dari catatan kertas. Pakai dropdown kode barang, isi jumlahnya saja.
  2. Menit 5. Ubah tanggal di sel B1 sheet rekap_harian ke hari ini. Semua angka rekap langsung ikut berubah.
  3. Menit 6-8. Hitung uang di laci, ketik hasilnya di kolom kas fisik, lihat selisihnya.
  4. Menit 9. Cek daftar barang terlaris hari itu, catat yang stoknya tinggal sedikit.
  5. Menit 10. Simpan file, foto layar rekapnya kalau kamu perlu kirim ke pemilik lewat WhatsApp.

Kunci supaya ini beneran 10 menit ada di dua hal: master barang yang lengkap, dan input yang dilakukan sepanjang hari, bukan ditumpuk sampai malam.

Kesalahan umum di laporan harian toko sembako

1. Bikin file baru tiap bulan. Perbandingan antar bulan jadi kerja salin tempel. Satu file, satu sheet transaksi, pisahkan pakai kolom tanggal.

2. Nggak nyatet harga pokok. Tanpa itu kamu cuma tau omzet. Hari dengan omzet Rp 2 juta dari beras bisa menghasilkan laba lebih kecil dari hari Rp 1,5 juta yang isinya campuran.

3. Nyampur QRIS ke hitungan kas laci. Uang QRIS masuk rekening, bukan laci. Kalau digabung, selisih kasmu selalu keliatan besar.

4. Ngetik nama barang manual. "Minyak 2L", "minyak 2 liter", dan "Minyak Goreng 2L" bakal terhitung tiga produk berbeda pas direkap.

5. Nulis rupiah sebagai teks. Ketik 68000, bukan "Rp 68.000". Atur tampilan lewat Format Cells, Currency.

6. Ngapus baris transaksi yang batal. Tambahkan kolom status berisi batal atau retur. Kalau dihapus, angka kemarin bisa berubah sendiri dan kamu nggak punya jejaknya.

7. Harga pokok di master ditimpa tiap harga beli naik. Laba bulan lalu ikut berubah. Simpan riwayat harga pokok di baris terpisah dengan kolom tanggal berlaku.

FAQ

Berapa lama waktu yang dibutuhkan buat ngisi laporan harian toko sembako?

Sekitar 10 menit kalau transaksimu di bawah 60 per hari dan kamu pakai dropdown kode barang. Bagian yang paling makan waktu adalah ngetik ulang nama produk, dan itu bisa dihilangkan pakai XLOOKUP yang narik nama serta harga dari sheet master. Kalau kamu mencatat di kertas dulu lalu memindahkan ke Excel malam hari, waktunya jadi dua kali lipat, jadi lebih baik input langsung.

Harus nyatet tiap barang atau cukup total per struk?

Catat per barang. Satu baris untuk satu jenis barang, dengan nomor struk yang sama untuk pembelian yang dilakukan sekaligus. Kalau kamu cuma mencatat total per struk, kamu kehilangan informasi produk mana yang laku, dan analisis kategori jadi mustahil. Nomor struknya tetap bikin kamu bisa menghitung jumlah transaksi lewat fungsi hitung nilai unik.

Gimana kalau ada pembeli yang ngutang?

Catat transaksinya seperti biasa di sheet transaksi, lalu tambahkan kolom metode bayar berisi piutang. Omzet tetap diakui hari itu karena barangnya udah keluar, sementara kasnya belum masuk. Pas cek selisih kas, jumlahkan cuma baris yang metode bayarnya tunai. Pelunasan dicatat terpisah di sheet piutang supaya nggak terhitung dua kali sebagai penjualan.

Kenapa laba kotor harian saya beda tiap hari padahal omzetnya mirip?

Karena campuran barang yang terjual berubah. Beras dan minyak goreng punya margin tipis, biasanya di bawah 12 persen, sementara snack, bumbu, dan sabun bisa di atas 25 persen. Hari dengan banyak pembelian beras bakal punya omzet besar tapi laba kecil. Ini alasan kolom harga pokok wajib ada di sheet transaksimu.

Perlu ganti ke aplikasi kasir?

Belum perlu selama transaksimu di bawah 100 per hari dan cuma satu orang yang input. Excel atau Google Sheets udah cukup buat semua yang dibahas di sini. Aplikasi kasir baru kepakai kalau kamu buka cabang kedua, butuh stok yang berkurang otomatis saat transaksi, atau ada beberapa kasir yang input bersamaan di waktu yang sama.

Penutup

Yang bikin laporan harian toko sembako jalan bukan template cantik, tapi tiga hal: master barang yang lengkap, input yang cuma empat kolom, dan sheet rekap yang berubah cuma dengan ganti tanggal di satu sel.

Kolom harga pokok jangan dilewat. Di toko_berkah, dua hari dengan omzet mirip bisa beda laba ratusan ribu cuma gara-gara campuran barangnya beda.

Bikin sheet master_barang malam ini, isi 20 barang yang paling sering laku, dan mulai input besok pagi. Kalau kamu mau lihat format buat jenis usaha lain, ada di 10 contoh format laporan penjualan.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel terkait

INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)
Tutorial Excel & Sheets
19 Juli 2026•9 menit baca

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.

BimaBima
SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)
Tutorial Excel & Sheets
18 Juli 2026•8 menit baca

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.

BimaBima
REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)
Tutorial Excel & Sheets
17 Juli 2026•8 menit baca

REGEXMATCH Google Sheets: Cek Kecocokan Pola Teks (2026)

REGEXMATCH ngecek apakah teks cocok sama pola tertentu dan balikin TRUE atau FALSE. Cocok buat validasi nomor HP, email, sampai filter data berantakan.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore