Template Laporan Laba Rugi di Google Sheets
Buat template P&L 5 tab di Google Sheets dengan SUMIFS aktual, selisih anggaran vs. aktual, dan EBITDA bridge yang terhubung antar tab.
Buat template laporan laba rugi di Google Sheets yang menjalankan P&L lengkap siap tiga laporan keuangan: tab Assumptions yang menggerakkan semua tarif, SUMIFS yang menarik aktual dari data GL mentah, kolom selisih yang diperbarui otomatis, dan EBITDA bridge yang terhubung ke perhitungan nilai transaksi. Panduan ini membangun semua 5 tab dari awal dan menghubungkannya sehingga angka-angka Anda cocok dari satu siklus tutup buku ke siklus berikutnya.
Yang Anda Perlukan
- Akses Google Sheets dengan izin edit pada workbook target
- Ekspor GL dari ERP Anda (NetSuite, QuickBooks, Xero) dalam format flat-file dengan setidaknya kolom: tanggal, kode akun, departemen, dan jumlah
- Familiar dengan SUMIFS, referensi sel absolut vs. relatif, dan named ranges
- File atau tab Budget dengan angka per pos per bulan untuk dibandingkan dengan aktual
- Pemahaman dasar tentang struktur laporan laba rugi dan perhitungan EBITDA
Panduan Langkah demi Langkah
Rancang Arsitektur Tab Template Laporan Laba Rugi di Google Sheets
Lima tab, satu alur data searah. Setiap angka dalam model dapat ditelusuri kembali ke satu sumber - GL_Raw untuk aktual, Budget untuk rencana, Assumptions untuk tarif dan penggerak. Tidak ada yang di-hardcode langsung di P&L.
- Assumptions** - discount rate, tax rate, penggerak pertumbuhan, biaya headcount, suku bunga acuan pinjaman
- P&L** - laporan laba rugi; semua formula mereferensikan tab lain, tidak ada input mentah yang diketik di sini
- GL_Raw** - ekspor ERP Anda, ditempel atau diimpor sebagai tabel flat; ditimpa setiap siklus tutup buku
- Budget** - anggaran bulanan per pos, struktur baris yang sama dengan P&L
- Variance** - selisih anggaran vs. aktual dalam nominal dan persen, hanya formula
Pro Tip
Bekukan baris 1 di setiap tab dan gunakan nama header kolom yang identik antar tab. Pencocokan SUMIFS gagal tanpa peringatan ketika ekspor GL Anda menggunakan "Dept" sementara tab Budget menggunakan "Department."Kunci Tab Assumptions
Tab Assumptions adalah satu-satunya tempat dalam model di mana manusia mengetik angka. Semua yang lain dihitung.
- Tetapkan
B1sebagai headerAsumsi FY2026; gunakan kolom B untuk nilai, kolom A untuk label, kolom C untuk catatan sumber - Input utama:
RevenueBase(Rp 299 miliar),RevenueGrowthRate(12%),GrossMarginPct(38,5%),EffectiveTaxRate(25%),DiscountRate_WACC(10,5%),DA_Annual(Rp 14 miliar) - Buat named range untuk masing-masing: pilih B3, buka Data > Named ranges, beri nama
RevenueBase. Referensikan di mana saja dalam model sebagai=RevenueBase - Kunci tab untuk non-pemilik: Data > Protect sheets and ranges, batasi edit hanya untuk tim keuangan
Pro Tip
Tambahkan selTerakhir Diperbarui dengan =TODAY() di header tab Assumptions. Konfirmasi visual cepat bahwa model tidak berjalan dengan input yang sudah enam bulan lalu sebelum rapat dewan.Tempel dan Susun Data GL_Raw Anda
GL_Raw adalah sumber aktual Anda. Tab ini ditimpa setiap siklus tutup buku. P&L membaca darinya; tidak ada yang menulis kembali ke sana.
- Kolom yang diperlukan:
Date(YYYY-MM-DD),Account_Code,Account_Name,Department,Amount,Type(Revenue/Expense atau Dr/Cr) - Jika ekspor ERP Anda menggunakan nama kolom berbeda, ubah nama header di GL_Raw - jangan ubah referensi kriteria di P&L
- Google Sheets memiliki batas 10 juta sel per spreadsheet (batas penyimpanan Google Workspace); ekspor GL 12 bulan untuk perusahaan beromzet Rp 320 miliar biasanya mencakup 5.000-15.000 baris, masih jauh di bawah batas
- Konversi rentang menjadi Tabel (Format > Convert to table) agar baris baru secara otomatis memperluas rentang SUMIFS Anda
- Tambahkan kolom helper
Month:=EOMONTH(A2,0)- Anda akan menggunakan SUMIFS pada kolom ini untuk menarik aktual bulanan dengan bersih tanpa logika rentang tanggal
Pro Tip
Jangan pernah memfilter atau mengurutkan GL_Raw secara manual. Jika Anda butuh tampilan bersih untuk analisis ad hoc, buat tab Analysis terpisah. Mengurutkan data mentah dan menyimpannya secara tidak sengaja adalah cara pos-pos hilang dari laporan.Hubungkan SUMIFS Antar Tab untuk Menarik Data Aktual
Di sinilah model terhubung. Setiap baris P&L menarik aktual bulanannya dari GL_Raw menggunakan SUMIFS yang mereferensikan antar tab. Menurut dokumentasi SUMIFS Google (terakhir diperbarui 2025), fungsi ini mendukung hingga 127 pasang criteria range/criteria - lebih dari cukup untuk filter kode akun + departemen + bulan.
Pendapatan untuk Januari 2026 di sel C5 tab P&L:
=SUMIFS(
GL_Raw!$E:$E,
GL_Raw!$B:$B, 'P&L'!$A5,
GL_Raw!$D:$D, 'P&L'!C$2
)
Kolom A di P&L menyimpan kode akun. Baris 2 menyimpan tanggal akhir periode (=EOMONTH("2026-01-01",0) hingga Desember). Kolom E GL_Raw menyimpan jumlah, kolom B menyimpan kode akun, kolom D menyimpan helper EOMONTH dari Langkah 3.
Untuk agregasi multi-departemen - total HPP di seluruh akun manufaktur dan logistik yang berbagi awalan "4xxx":
=SUMIFS('GL_Raw'!$E:$E, 'GL_Raw'!$B:$B, "4*",
'GL_Raw'!$D:$D, 'P&L'!C$2)
+ SUMIFS('GL_Raw'!$E:$E, 'GL_Raw'!$B:$B, "5*",
'GL_Raw'!$D:$D, 'P&L'!C$2)
Kunci kolom A dengan $A5 dan baris 2 dengan C$2. Salin ke semua 12 bulan setelah Januari tervalidasi.
Pro Tip
Sebelum menyalin ke 12 bulan, validasi satu bulan dari ujung ke ujung. Tarik akun/bulan yang sama di sel percobaan menggunakan SUMIF sederhana. Jika totalnya tidak cocok dengan output SUMIFS Anda, referensi kriteria salah sebelum Anda menyalin kesalahan itu 11 kali lagi.Bangun Pos-Pos Laporan Laba Rugi P&L
Dengan aktual yang mengalir dari GL_Raw, laporan laba rugi dihitung dari atas ke bawah. Setiap subtotal adalah formula yang mereferensikan baris di atasnya - bukan re-SUM dari awal yang bisa menyimpang.
Struktur standar untuk perusahaan beromzet Rp 240-400 miliar:
Pendapatan =SUMIFS(GL_Raw aktual, akun pendapatan 1xxx)
(dikurangi) HPP =SUMIFS(GL_Raw aktual, akun HPP 4xxx-5xxx)
Laba Kotor =Pendapatan - HPP
Margin Kotor % =Laba Kotor / Pendapatan [target: 38,5%]
(dikurangi) S&M =SUMIFS(...)
(dikurangi) R&D =SUMIFS(...)
(dikurangi) G&A =SUMIFS(...)
EBITDA =Laba Kotor - OpEx
Margin EBITDA % =EBITDA / Pendapatan
(dikurangi) D&A =Assumptions!DA_Annual / 12 [Rp 14 miliar / 12]
EBIT =EBITDA - D&A
(dikurangi) Beban Bunga =Utang * Suku_Bunga_Referensi / 12
EBT =EBIT - Beban Bunga
(dikurangi) Pajak =MAX(EBT,0) * EffectiveTaxRate [25%]
Laba Bersih =EBT - Pajak
Format kondisional baris margin: merah jika margin kotor turun di bawah 35%, kuning antara 35-38%, hijau di atas itu. Butuh 2 menit dan menghindarkan Anda dari memindai tampilan 12 kolom untuk mencari bulan yang bermasalah.
Pro Tip
Tambahkan kolomYTD yang menjumlahkan Januari hingga periode saat ini - bukan tahun penuh. =SUMIF('P&L'!$C$2:$N$2,"<="&EOMONTH(TODAY(),0),'P&L'!C5:N5) maju otomatis setiap bulan tanpa menyentuh formula.Tambahkan Selisih Anggaran vs. Aktual ke Template Laporan Laba Rugi Anda
Tab Variance adalah tempat model ini membuktikan nilainya dalam paket laporan dewan triwulanan. Budget berada di tabnya sendiri; tab Variance membandingkannya dengan aktual P&L baris per baris, secara otomatis.
Di tab Variance, untuk Januari: kolom C (aktual), kolom D (anggaran), kolom E (selisih nominal), kolom F (selisih persen):
=P&L!C5 - Budget!C5 [selisih nominal, negatif = meleset dari target]
=(P&L!C5 / Budget!C5) - 1 [selisih persen]
Untuk basis pendapatan Rp 299 miliar dengan pertumbuhan anggaran 12%, hasilnya mungkin terlihat seperti ini:
| Pos | Aktual | Anggaran | Selisih (Rp) | Selisih (%) |
|---|---|---|---|---|
| Pendapatan | Rp 291 miliar | Rp 306 miliar | -Rp 14,4 miliar | -4,7% |
| Laba Kotor | Rp 110 miliar | Rp 118 miliar | -Rp 8 miliar | -6,8% |
| EBITDA | Rp 32 miliar | Rp 37 miliar | -Rp 4,8 miliar | -10,9% |
Selisih pendapatan -4,7% layak didiskusikan. Selisih EBITDA -10,9% pada EBITDA Rp 37 miliar (meleset Rp 4 miliar) adalah yang memicu email tindak lanjut. Format kondisional kolom persen merah di bawah -5%, kuning antara -5% dan -2%. Ambang batas -Rp 800 juta/-5% dikalibrasi untuk bisnis dengan EBITDA Rp 32-80 miliar; sesuaikan batas nominal secara proporsional.
Pro Tip
Tambahkan kolom G "Penjelasan Selisih" dan proteksi sebagai teks bebas saja - tim keuangan mengisi narasi, formula tetap terkunci di E dan F. Ini adalah kolom yang pertama kali dilihat CFO Anda.Bangun EBITDA Bridge dan Output Imbal Hasil
Bridge mengkonversi P&L Anda menjadi perhitungan transaksi: kelipatan EBITDA, nilai perusahaan, nilai ekuitas tersirat. Jika model ini mendukung DCF sindikasi bank atau pembaruan LP, bagian ini yang akan di-screenshot.
Di bagian Returns (bagian bawah tab P&L atau tab terpisah):
LTM EBITDA =SUM baris EBITDA selama 12 bulan [Rp 37 miliar]
Kelipatan EV/EBITDA =Assumptions!EV_Multiple [14,2x]
Nilai Perusahaan =LTM_EBITDA * EV_Multiple [Rp 522 miliar]
(dikurangi) Utang Bersih =TotalDebt - CashAndEquivalents
Nilai Ekuitas =EnterpriseValue - NetDebt
Bungkus kelipatan dalam tabel data dua variabel untuk sensitivitas: input baris sebagai kelipatan EV/EBITDA (10x hingga 18x), input kolom sebagai margin EBITDA (33% hingga 44%). Tabel 9 kolom, 6 baris memberikan 54 skenario nilai ekuitas tanpa menyentuh formula model. Pada basis EBITDA Rp 37 miliar, selisih antara 10x dan 18x adalah ayunan Rp 294 miliar dalam nilai perusahaan - rentang itu harus ada di deck dewan, bukan tersembunyi di balik toggle skenario.
Pro Tip
EBITDA yang digunakan di sini selalu LTM (dua belas bulan terakhir), bukan ke depan. Jika bank atau pembeli Anda meminta kelipatan NTM, simpan selNTM_EBITDA terpisah di Assumptions. Jangan pernah memodifikasi formula SUMIFS P&L untuk beralih antara LTM dan NTM - begitulah model rusak dan tidak pernah bisa ditelusuri kembali.Kesimpulan
Anda kini memiliki template laporan laba rugi 5 tab di Google Sheets di mana setiap angka dapat ditelusuri ke sumbernya: Assumptions menggerakkan tarif, GL_Raw menggerakkan aktual, Budget tersimpan bersih untuk perbandingan, P&L dihitung dari atas ke bawah, dan Variance menandai apa yang meleset. Model ini bertahan melewati satu siklus tutup buku - tempel data GL baru, semua diperbarui.
Bagian yang sering rusak dalam praktik bukan formulanya. Melainkan ekspor GL-nya. Kode akun diganti nama di tengah tahun, departemen direstrukturisasi, dan SUMIFS Anda diam-diam mengembalikan nol. Tambahkan baris pengecekan rekonsiliasi di bagian bawah P&L yang menjumlahkan total jumlah GL_Raw untuk setiap bulan dan membandingkannya dengan total pendapatan P&L. Jika selisihnya melebihi Rp 10.000, ada sesuatu yang bergeser di data sumber sebelum Anda mengirim paket laporan ke dewan.
Untuk tim yang menjalankan model ini terhadap data MRR Stripe langsung atau pipeline HubSpot, langkah unduh-CSV-dan-tempel memutus siklus pembaruan. Coba ModelMonkey gratis selama 14 hari - alat ini menarik data penagihan dan CRM langsung ke tab Actuals Anda tanpa merusak struktur SUMIFS yang telah Anda bangun.
Pertanyaan Umum
Berapa tab yang seharusnya dimiliki template laporan laba rugi di Google Sheets?
Lima tab mencakup sebagian besar kasus penggunaan untuk perusahaan menengah: Assumptions, P&L, GL_Raw, Budget, dan Variance. Tambahkan tab Returns jika model mendukung analisis transaksi. Aturan utamanya adalah jangan pernah meletakkan input dan output di tab yang sama - itu cara tercepat untuk men-hardcode angka yang akan Anda lupakan dalam tiga bulan.
Bisakah SUMIFS menangani data GL satu tahun penuh di beberapa departemen?
Bisa. Menurut dokumentasi SUMIFS Google, fungsi ini mendukung hingga 127 pasang criteria range/criteria, dan Google Sheets menangani hingga 10 juta sel per spreadsheet. Ekspor GL 12 bulan untuk perusahaan beromzet Rp 320 miliar biasanya mencakup 5.000-15.000 baris - masih jauh di bawah kedua batas tersebut. Performa baru menurun secara signifikan di atas 50.000 baris dengan beberapa kriteria kompleks.
Bagaimana cara menangani perubahan kode akun di tengah tahun dalam ekspor GL?
Tambahkan kolom pemetaan ke GL_Raw yang menerjemahkan kode lama ke bagan akun saat ini. Jalankan SUMIFS Anda terhadap kolom yang dipetakan, bukan kolom kode akun mentah. Dengan cara ini, penggantian nama departemen di Oktober tidak akan merusak aktual Januari Anda, dan Anda memiliki rekam jejak terdokumentasi tentang apa yang berubah dan kapan.
Berapa kelipatan EV/EBITDA yang tepat untuk bisnis beromzet Rp 240-400 miliar?
Itu tergantung pada sektor, tingkat pertumbuhan, dan kondisi pasar saat ini - bukan pertanyaan Sheets. Untuk keperluan pemodelan, parameterisasikan di tab Assumptions (panduan ini menggunakan 14,2x sebagai placeholder) dan buat tabel sensitivitas yang mencakup 10x hingga 18x. Tugas model adalah menampilkan rentang; pemilihan kelipatan harus ada dalam percakapan transaksi, bukan dibakukan dalam satu sel.
Bagaimana cara mengotomatiskan pembaruan GL bulanan tanpa menempel data secara manual?
Pendekatan paling bersih di Sheets adalah macro yang menghapus GL_Raw dari baris 2 ke bawah dan menempel ekspor baru dalam satu langkah. Jika ERP Anda mengekspor ke Google Drive sebagai CSV, Apps Script dapat mengotomatiskan proses tempel sesuai jadwal. Untuk sumber data langsung seperti Stripe atau HubSpot, koneksi API langsung ke tab menghilangkan langkah CSV sepenuhnya.