TL;DR
Laporan keuangan Excel yang layak dipakai usaha kecil terdiri dari dua laporan utama: laba rugi yang nunjukin untung atau rugi dalam satu periode, dan neraca yang nunjukin posisi harta, utang, dan modal di satu tanggal. Cara bikinnya: satu sheet daftar akun, satu sheet jurnal transaksi, lalu tarik angkanya ke laporan pakai SUMIFS. Neraca dianggap benar kalau total aset persis sama dengan total kewajiban ditambah ekuitas.
Laporan keuangan Excel yang cukup buat usaha kecil sebenernya cuma dua: laba rugi dan neraca. Laba rugi jawab pertanyaan "bulan ini untung berapa", neraca jawab "uangnya sekarang ada di mana".
Banyak pemilik toko cuma punya yang pertama. Akibatnya laba di kertas keliatan bagus, tapi kas di laci tipis, dan nggak ada yang bisa jelasin kenapa.
Di bawah ini alur lengkapnya dari sheet kosong: daftar akun, jurnal, lalu tarik ke dua laporan pakai SUMIFS. Contohnya pakai data warung kelontong beneran.
Laporan keuangan adalah ringkasan angka usahamu dalam format baku. Yang paling kepakai ada dua. Laba rugi ngerangkum pendapatan dikurangi biaya selama satu periode. Neraca ngerangkum harta, utang, dan modal di satu tanggal tertentu.
Bedanya gampang diinget. Laba rugi ngukur apa yang terjadi selama bulan Maret. Neraca ngukur posisi pada 31 Maret.
Ada laporan ketiga, arus kas, yang ngelacak uang masuk dan keluar. Buat tahap awal, dua laporan tadi udah bikin kamu jauh lebih paham usahamu sendiri.
Lima sheet, dan urutannya penting. Dua sheet pertama tempat kamu ngetik, tiga sisanya cuma nampung rumus. Aturan mainnya satu: kamu cuma ngetik di sheet Jurnal, sisanya nggak boleh diketik manual sama sekali.
Susun daftar akun pakai kode berkelompok. Angka pertama nentuin dia masuk laporan mana.
| Kode | Kelompok | Contoh akun | Masuk laporan |
|---|---|---|---|
| 1-xxx | Aset | 1-100 Kas, 1-300 Persediaan | Neraca |
| 2-xxx | Kewajiban | 2-100 Utang supplier | Neraca |
| 3-xxx | Ekuitas | 3-100 Modal, 3-200 Prive | Neraca |
| 4-xxx | Pendapatan | 4-100 Penjualan | Laba rugi |
| 5-xxx | HPP | 5-100 Harga pokok penjualan | Laba rugi |
| 6-xxx | Beban | 6-100 Gaji, 6-200 Sewa | Laba rugi |
Sepuluh sampai dua puluh akun udah lebih dari cukup buat warung atau toko. Jangan bikin lima puluh akun di awal, nanti kamu sendiri yang bingung milih.
Sheet Jurnal isinya tujuh kolom: tanggal, nomor bukti, keterangan, kode akun, nama akun, debit, kredit. Satu transaksi selalu makan minimal dua baris, karena tiap transaksi punya sisi debit dan sisi kredit yang nilainya sama.
Ubah range-nya jadi tabel Excel lewat Insert lalu Table, dan kasih nama Jurnal. Ini penting supaya rumus di sheet lain otomatis ikut nambah pas kamu nambah baris.
Kolom nama akun jangan diketik manual. Tarik dari sheet Akun biar konsisten.
' Kolom E (nama akun), ngambil dari sheet Akun
=IFERROR(VLOOKUP([@[kode_akun]], Akun!$A:$B, 2, FALSE), "KODE SALAH")
Kalau muncul tulisan KODE SALAH, artinya kamu ngetik kode yang nggak ada di daftar akun. Ini penjaga paling murah dari salah ketik.
Contoh pencatatan penjualan tunai Rp 1.250.000 dengan HPP Rp 975.000:
| Tanggal | Keterangan | Kode akun | Debit | Kredit |
|---|---|---|---|---|
| 05/03/2025 | Penjualan tunai harian | 1-100 Kas | 1.250.000 | |
| 05/03/2025 | Penjualan tunai harian | 4-100 Penjualan | 1.250.000 | |
| 05/03/2025 | HPP penjualan harian | 5-100 HPP | 975.000 | |
| 05/03/2025 | HPP penjualan harian | 1-300 Persediaan | 975.000 |
Di sel kosong di atas tabel, pasang penjaga total. Angka ini harus selalu nol.
=SUM(Jurnal[debit]) - SUM(Jurnal[kredit])
Sheet Saldo isinya daftar akun plus satu kolom hasil. Rumusnya SUMIFS: jumlahin semua debit akun itu, kurangi semua kreditnya. Akun aset, HPP, dan beban saldo normalnya di debit, jadi hasilnya positif. Akun kewajiban, ekuitas, dan pendapatan kebalikannya, jadi hasilnya perlu dibalik tandanya.
' Kolom C: saldo mentah (debit dikurangi kredit)
=SUMIFS(Jurnal[debit], Jurnal[kode_akun], $A2,
Jurnal[tanggal], ">="&$F$1,
Jurnal[tanggal], "<="&$F$2)
-SUMIFS(Jurnal[kredit], Jurnal[kode_akun], $A2,
Jurnal[tanggal], ">="&$F$1,
Jurnal[tanggal], "<="&$F$2)
Sel F1 dan F2 itu tanggal awal dan akhir periode. Ganti dua sel itu, semua laporanmu ikut berubah. Nggak perlu bikin file baru tiap bulan.
' Kolom D: saldo dengan tanda yang benar
=IF(OR(LEFT($A2,1)="1", LEFT($A2,1)="5", LEFT($A2,1)="6"), C2, -C2)
Rumus itu baca angka pertama kode akun. Kelompok 1, 5, dan 6 dibiarkan apa adanya, sisanya dibalik. Detail argumen SUMIFS ada di dukungan resmi Microsoft, dan penjelasan versi ringkasnya ada di halaman fungsi SUMIFS.
Laba rugi disusun bertingkat, bukan satu tumpukan angka. Urutannya penjualan, dikurangi HPP jadi laba kotor, dikurangi beban operasional jadi laba usaha. Tiap baris angkanya ditarik dari sheet Saldo, jadi kamu nggak ngetik nominal apa pun di sini.
' Penjualan
=SUMIF(Saldo!$A:$A, "4-100", Saldo!$D:$D)
' Total beban operasional (semua akun 6-xxx)
=SUMIF(Saldo!$A:$A, "6-*", Saldo!$D:$D)
Tanda bintang di "6-*" artinya semua kode yang diawali 6. Tambah akun beban baru kapan pun, totalnya ikut nyesuaiin sendiri.
Susunan barisnya begini:
Tambahin satu kolom persentase di sebelah kanan. Tiap baris dibagi penjualan. Kolom ini yang bikin kamu bisa bandingin bulan ini sama bulan lalu tanpa kejebak selisih omzet.
' Margin kotor dalam persen
=IFERROR(C5/$C$3, 0) ' format sel jadi Percentage
Neraca punya dua sisi yang harus sama besar. Sisi kiri isinya aset, yaitu semua yang kamu punya. Sisi kanan isinya kewajiban dan ekuitas, yaitu dari mana aset itu dibiayai. Persamaannya tetap: aset sama dengan kewajiban ditambah ekuitas.
Angka aset dan kewajiban ditarik sama persis kayak laba rugi, pakai SUMIF ke sheet Saldo. Yang beda cuma ekuitas.
' Total aset
=SUMIF(Saldo!$A:$A, "1-*", Saldo!$D:$D)
' Total kewajiban
=SUMIF(Saldo!$A:$A, "2-*", Saldo!$D:$D)
' Ekuitas akhir
=SUMIF(Saldo!$A:$A, "3-100", Saldo!$D:$D) ' modal disetor
+LabaRugi!$C$12 ' laba usaha periode ini
-SUMIF(Saldo!$A:$A, "3-200", Saldo!$D:$D) ' prive
Laba usaha nyambung ke ekuitas. Ini sambungan yang paling sering kelewat, dan gara-gara itu neraca orang jadi nggak balance.
Prive, alias uang yang diambil pemilik buat keperluan pribadi, ngurangi modal. Dia bukan beban usaha. Kalau kamu catat prive di kelompok 6, laba usahamu jadi lebih kecil dari kenyataan.
Pasang tiga penjaga di bagian atas sheet Neraca. Ketiganya harus hijau sebelum laporanmu dianggap jadi. Kalau salah satu merah, jangan lanjut ngambil keputusan dari angka itu.
' Penjaga 1: jurnal seimbang
=IF(ROUND(SUM(Jurnal[debit])-SUM(Jurnal[kredit]),0)=0,
"Jurnal OK", "Jurnal timpang")
' Penjaga 2: neraca balance
=IF(ROUND($C$20-($F$12+$F$20),0)=0,
"Balance",
"Selisih "&TEXT(ABS($C$20-($F$12+$F$20)),"#,##0"))
' Penjaga 3: nggak ada kode akun asing
=SUMPRODUCT(--(COUNTIF(Akun!$A:$A, Jurnal[kode_akun])=0))
Penjaga ketiga ngasih angka nol kalau semua kode di jurnal terdaftar di sheet Akun. Angka selain nol artinya ada baris jurnal yang kodenya salah ketik, dan nominalnya nggak masuk laporan mana pun.
ROUND dipakai supaya selisih pecahan sen nggak bikin alarm palsu. Penjelasan lengkapnya ada di halaman fungsi ROUND.
Dataset ngulikdata punya catatan toko_berkah, warung kelontong di Semarang. Tiga bulan pertama tercatat 8.400 transaksi dengan rata-rata belanja Rp 21.800, jadi omzetnya Rp 183.120.000.
Begitu jurnalnya dirapikan dan ditarik ke laba rugi, angkanya jadi begini:
| Baris | Nilai | % dari omzet |
|---|---|---|
| Penjualan | Rp 183.120.000 | 100% |
| Harga pokok penjualan | Rp 142.833.600 | 78,0% |
| Laba kotor | Rp 40.286.400 | 22,0% |
| Gaji 2 karyawan | Rp 9.600.000 | 5,2% |
| Sewa tempat | Rp 7.500.000 | 4,1% |
| Transport kulakan | Rp 2.100.000 | 1,1% |
| Listrik dan air | Rp 1.400.000 | 0,8% |
| Kantong plastik dan lain-lain | Rp 900.000 | 0,5% |
| Laba usaha | Rp 18.786.400 | 10,3% |
Angka yang paling ngagetin pemiliknya: transport kulakan Rp 2.100.000. Nilainya keliatan kecil, tapi itu 9,8% dari total beban operasional, dan sebelumnya nggak pernah dicatat terpisah karena selalu dibayar pakai uang laci.
Neracanya per 31 Maret:
| Aset | Nilai | Kewajiban & Ekuitas | Nilai |
|---|---|---|---|
| Kas | Rp 14.300.000 | Utang supplier | Rp 23.400.000 |
| Piutang warung langganan | Rp 8.700.000 | Modal disetor | Rp 60.000.000 |
| Persediaan barang | Rp 62.500.000 | Laba periode berjalan | Rp 18.786.400 |
| Peralatan toko | Rp 12.000.000 | Prive pemilik | (Rp 4.686.400) |
| Total aset | Rp 97.500.000 | Total | Rp 97.500.000 |
Ini yang nggak kelihatan dari laba rugi doang. Laba tiga bulan Rp 18,7 juta, tapi kas cuma Rp 14,3 juta. Uangnya ada, cuma bentuknya stok Rp 62,5 juta di rak.
Keputusan yang muncul dari situ: pemilik nahan pembelian stok baru selama dua minggu buat nurunin persediaan, dan mulai nagih piutang warung langganan yang nunggak di atas 30 hari.
=ISNUMBER(A2), harus TRUE.Laba rugi ngukur kinerja selama satu periode, misalnya bulan Maret. Isinya penjualan dikurangi HPP dan beban, hasilnya untung atau rugi. Neraca ngukur posisi di satu tanggal tertentu, misalnya 31 Maret. Isinya daftar harta, utang, dan modal. Laba rugi kayak rekaman video sepanjang bulan, neraca kayak foto di hari terakhir.
Tiga penyebab paling sering. Pertama, ada transaksi yang dicatat cuma sebelah, debit doang atau kredit doang. Kedua, laba bersih dari laporan laba rugi belum dimasukin ke ekuitas. Ketiga, prive atau pengambilan pribadi pemilik ikut dicatat sebagai beban, padahal itu pengurang modal. Cek dulu total debit dan kredit di sheet jurnal, harus sama persis.
Buat operasional harian, laba rugi udah cukup buat tahu untung atau rugi. Tapi neraca yang bikin kamu tahu uangnya ke mana. Banyak toko catat untung tiap bulan tapi kasnya tipis, karena labanya nyangkut di stok dan piutang. Itu cuma kelihatan di neraca. Kalau kamu mau ajukan pinjaman bank, neraca hampir selalu diminta.
Excel cukup selama transaksimu di bawah sekitar 300 sampai 500 baris per bulan dan cuma satu orang yang input. Di atas itu, risiko salah ketik dan rumus kegeser naik cepat. Tanda kamu perlu pindah: butuh banyak orang input bareng, butuh riwayat perubahan, atau butuh faktur pajak otomatis. Sebelum itu, Excel malah lebih fleksibel.
Bukan beban. Prive adalah uang yang diambil pemilik buat keperluan pribadi, dan itu ngurangi modal, bukan ngurangi laba. Kalau kamu catat prive sebagai beban, laba usahamu keliatan lebih kecil dari kenyataan dan neracamu nggak bakal balance. Bikin akun sendiri dengan kode kelompok ekuitas, misalnya 3-200 Prive.
Rekapnya. Satu tabel jurnal jadi sumber tunggal semua angka. SUMIFS yang narik saldo per akun ke laba rugi dan neraca. Dan tiga penjaga di atas sheet Neraca yang bilang kapan laporanmu boleh dipercaya.
Coba mulai dari yang paling kecil hari ini: bikin sheet Akun dengan 12 akun, lalu catat transaksi seminggu terakhir ke Jurnal. Laporannya bakal kebentuk sendiri.
Kalau kamu mau versi yang lebih ringkas dulu, mulai dari template laba rugi Excel. Buat ngerti alur dari jurnal ke buku besar, lanjut ke buku besar Excel. Rumus pendukungnya bisa kamu cek di halaman fungsi SUMIF.
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.