TL;DR
Laporan penjualan harian yang berguna minimal punya enam metrik: omzet kotor, jumlah transaksi, rata-rata nilai transaksi, jumlah unit terjual, margin kotor, dan selisih kas. Omzet doang nggak cukup, karena omzet turun bisa berarti pembelinya berkurang atau belanjaannya yang mengecil, dan dua masalah itu obatnya beda. Enam angka ini bisa dihitung di satu sheet Excel pakai SUMIFS dan COUNTIFS dalam waktu 10 menit per hari.
Laporan penjualan harian yang berguna minimal punya enam angka: omzet kotor, jumlah transaksi, rata-rata nilai transaksi, jumlah unit terjual, margin kotor, dan selisih kas.
Kebanyakan toko cuma nyatet yang pertama. Masalahnya, omzet turun 20 persen itu nggak ngasih tau kamu harus ngapain.
Pembelinya yang berkurang, atau tiap orang belanjanya yang mengecil? Dua penyebab itu obatnya beda jauh.
Di bawah ini aku susun enam metriknya satu per satu, lengkap sama rumus Excel dan contoh sheet yang bisa kamu tiru hari ini juga.
Laporan penjualan harian adalah ringkasan satu hari operasional toko yang berisi angka penjualan, jumlah transaksi, dan posisi kas per tanggal itu. Bentuknya cukup satu baris per hari di spreadsheet, diisi dari rekap transaksi mentah. Fungsinya buat nangkep perubahan dalam hitungan hari, bukan nunggu tutup buku bulanan.
Bedanya sama laporan bulanan ada di kecepatan reaksi. Laporan bulanan ngasih tau kamu bulan lalu rugi. Laporan harian ngasih tau kamu hari Selasa kemarin ada yang aneh.
Buat struktur laporan yang lebih lengkap dan cara bacanya, aku bahas terpisah di panduan laporan penjualan. Di artikel ini fokusnya ke enam metrik hariannya.
Enam metriknya: omzet kotor, jumlah transaksi, rata-rata nilai transaksi, jumlah unit terjual, margin kotor, dan selisih kas. Empat pertama ngejelasin dari mana omzet datang, yang kelima ngukur untungnya, yang keenam ngejaga uangnya nggak bocor. Semua bisa dihitung dari satu tabel transaksi mentah.
Total nilai penjualan hari itu sebelum dikurangi apa pun. Ini angka yang paling gampang dan paling sering jadi satu-satunya yang dicatat orang.
=SUMIFS(Transaksi!E:E; Transaksi!A:A; A2)
Kolom E isinya total per baris transaksi, kolom A tanggalnya, dan A2 tanggal yang lagi kamu rekap. Cara kerja fungsi SUMIFS gampang: jumlahin kolom E, tapi cuma buat baris yang tanggalnya cocok.
Berapa struk yang keluar hari itu. Ini proksi jumlah pembeli, dan angkanya yang bikin kamu tau ramai atau sepi.
=COUNTIFS(Transaksi!A:A; A2)
Kalau satu struk kamu catat jadi beberapa baris (satu baris per barang), fungsi COUNTIFS bakal ngitung kelebihan. Bikin kolom nomor nota, lalu hitung nota uniknya pakai pivot table biar akurat.
Omzet dibagi jumlah transaksi. Angka ini yang mengubah laporanmu dari catatan jadi alat diagnosa.
=IFERROR(B2/C2; 0)
Pakai IFERROR biar sel-nya nggak nampilin error di hari libur pas transaksinya nol.
Cara bacanya begini. Omzet turun tapi AOV tetap berarti jumlah pembelimu berkurang, dan itu urusan promosi atau lokasi. Omzet turun dengan jumlah transaksi tetap berarti tiap orang belanja lebih dikit, dan itu urusan bundling atau stok barang pendamping.
Total item yang keluar hari itu, dijumlah dari kolom kuantitas.
=SUMIFS(Transaksi!D:D; Transaksi!A:A; A2)
Kenapa ini kepakai padahal udah ada omzet? Karena unit ngasih tau pergerakan barang, dan omzet ngasih tau pergerakan uang. Omzet naik dengan unit turun artinya kamu jualan barang yang lebih mahal, atau kamu baru naikin harga dan pembelinya mulai mundur.
Omzet dikurangi harga pokok barang yang terjual, alias HPP. Ini angka yang beneran jadi milikmu sebelum bayar sewa, listrik, dan gaji.
=B2-SUMIFS(Transaksi!F:F; Transaksi!A:A; A2)
Kolom F isinya total HPP per baris (harga modal dikali jumlah). Tambahin juga persentasenya biar gampang dibandingin antar hari.
=IFERROR(F2/B2; 0)
Format kolomnya jadi Percentage. Margin persen yang turun sementara omzet naik itu tanda kamu lagi jualan barang murah bermargin tipis, atau diskonmu kebablasan.
Uang fisik di laci dikurangi omzet tunai yang tercatat. Idealnya nol.
=H2-SUMIFS(Transaksi!E:E; Transaksi!A:A; A2; Transaksi!G:G; "Tunai")
Kolom H diisi manual dari hitungan uang fisik akhir shift, dikurangi modal kas awal. Kolom G isinya metode bayar, jadi transaksi QRIS dan transfer nggak ikut kehitung.
Selisih kecil dari pembulatan kembalian itu wajar. Yang perlu kamu perhatiin adalah pola: kalau minusnya selalu muncul di shift yang sama, itu bukan kebetulan.
Pakai dua sheet. Sheet pertama namanya Transaksi, isinya data mentah satu baris per barang terjual. Sheet kedua namanya Harian, isinya satu baris per tanggal dengan enam metrik tadi.
Ini kolom sheet Transaksi.
| Kolom | Isi | Contoh |
|---|---|---|
| A | Tanggal | 2025-07-05 |
| B | No nota | N-0412 |
| C | Nama barang | Minyak goreng 1L |
| D | Jumlah | 2 |
| E | Total jual | 36.000 |
| F | Total HPP | 31.000 |
| G | Metode bayar | Tunai |
Sheet Harian isinya kolom tanggal plus enam metrik, dan semuanya narik dari sheet Transaksi lewat rumus tadi. Sekali disusun, tiap hari kamu cukup nambah baris tanggal baru dan tarik rumusnya ke bawah.
Kalau kamu mau ngerangkum per barang atau per metode bayar tanpa nulis rumus baru, pivot table lebih cepat. Microsoft nyebut pivot table sebagai cara utama buat nganalisis data worksheet, dan langkahnya aku bahas di panduan pivot table Excel.
Aku ambil satu tanggal dari dataset toko_berkah, data 90 hari operasional warung kelontong di Bekasi. Ini isi baris tanggal 5 Juli.
| Metrik | Nilai |
|---|---|
| Omzet kotor | Rp 4.186.000 |
| Jumlah transaksi | 147 struk |
| Rata-rata nilai transaksi | Rp 28.476 |
| Unit terjual | 612 item |
| Margin kotor | Rp 611.000 (14,6%) |
| Selisih kas | Rp -7.500 |
Sekarang bandingin sama rata-rata 90 harinya. Omzet rata-rata Rp 3.918.000, AOV rata-rata Rp 27.400, dan margin rata-rata 15,8 persen.
Omzet 5 Juli di atas rata-rata, tapi marginnya di bawah. Pas dicek per barang, penyebabnya jelas: hari itu ada 4 galon isi ulang dan 11 dus air mineral kejual, dua barang dengan margin di bawah 6 persen.
Angka lain yang menarik dari 90 hari itu: selisih kas rata-rata cuma Rp 3.200 per hari, tapi 71 persen selisihnya terjadi di hari Sabtu dan Minggu, hari paling ramai. Ini pola yang nggak bakal kelihatan kalau selisih kas cuma dicatat di kepala.
Dua temuan itu datang dari sheet yang sama, dan dua-duanya butuh metrik selain omzet buat ketauan.
Kalau kamu masih nyatet penjualan di buku tulis, lompat dulu ke cara mindahin laporan tulis tangan ke Excel, baru balik nyusun enam metrik ini.
Sekitar 10 sampai 15 menit per hari kalau sheet-nya udah disiapin sekali di awal. Yang makan waktu itu input transaksi, bukan hitung metriknya, karena metrik udah otomatis dari rumus. Toko dengan 30 sampai 60 struk sehari beres dalam 10 menit. Di atas 100 struk, mending export dari mesin kasir.
Omzet kotor adalah total uang masuk dari penjualan sebelum dikurangi apa pun. Margin kotor adalah omzet dikurangi modal barang yang terjual. Omzet 5 juta dengan margin 18 persen artinya cuma 900 ribu yang jadi milikmu sebelum bayar sewa dan gaji. Omzet naik tapi margin turun itu kejadian yang sering banget.
AOV adalah rata-rata nilai belanja per struk, dari omzet dibagi jumlah transaksi. Angka ini ngasih tau penyebab omzet naik turun. Omzet turun dengan transaksi tetap berarti orang belanja lebih sedikit per kunjungan. Omzet turun dengan AOV tetap berarti pembelinya yang berkurang. Dua kondisi itu butuh tindakan beda.
Banyak toko kecil pakai patokan di bawah 0,5 persen dari omzet tunai harian. Omzet tunai 2 juta berarti selisih sampai 10 ribu masih wajar dari pembulatan kembalian. Yang lebih penting dari besarnya adalah polanya. Selisih kecil tapi selalu minus di shift yang sama itu tanda masalah, bukan kebetulan.
Perlu, soalnya laporan bulanan cuma ngasih tau masalah setelah sebulan lewat. Laporan harian bikin kamu nangkep barang yang berhenti laku di hari ketiga, bukan minggu kelima. Laporan bulanan tetap penting buat tren besar dan hitung pertumbuhan. Harian buat gerak cepat, bulanan buat keputusan besar.
Enam metrik ini muat di satu baris per hari, dan sekali sheet-nya jadi, kamu cuma butuh 10 menit tiap tutup toko. Yang bikin bedanya bukan jumlah kolomnya, tapi kebiasaan ngisinya tiap hari tanpa bolong.
Mulai dari tiga metrik dulu kalau enam terasa banyak: omzet, jumlah transaksi, dan AOV. Tambahin margin dan selisih kas begitu ritmenya udah kepegang.
Habis 30 hari data kekumpul, lanjut ke cara ngitung growth MoM dan YoY di Excel biar kamu tau tokomu tumbuh atau cuma jalan di tempat.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Punya ratusan angka dan mau tau sebarannya masuk ke rentang mana aja? FREQUENCY ngitung distribusi frekuensi sekali jalan, tanpa nulis COUNTIFS berkali-kali.
SUMIFS ribet kalau kriterianya banyak dan sering ganti. Rumus database Excel kayak DSUM baca kriteria dari sel terpisah, jadi kamu tinggal ubah tabel kecil tanpa nyentuh rumus.
DATEDIF ngasih umur bulat, tapi kadang kamu butuh angka desimal kayak 27,6 tahun buat hitung masa kerja atau bunga. YEARFRAC ngasih pecahan tahun dengan presisi.