Pembukuan Koperasi Simpan Pinjam: Format Sederhana di Spreadsheet
TL;DR
Pembukuan koperasi simpan pinjam sederhana butuh enam sheet: data anggota, simpanan, pinjaman, angsuran, kas harian, dan rekap tahunan. Simpanan dipisah jadi pokok, wajib, dan sukarela karena aturan penarikannya beda. Jasa pinjaman dihitung flat atau menurun, dan bedanya besar. Pinjaman Rp 5 juta tenor 10 bulan dengan jasa 1,5 persen sebulan menghasilkan Rp 750.000 kalau flat dan Rp 412.500 kalau menurun.
Koperasi simpan pinjam skala kecil sering mulai dari buku tulis dan kalkulator. Sampai ada anggota yang nanya sisa pinjamannya berapa, dan pengurus butuh 20 menit buat nyari jawabannya.
Enam sheet di bawah ini cukup buat ngurus koperasi RT sampai koperasi karyawan dengan ratusan anggota. Semua rumusnya jalan di Excel maupun Google Sheets.
Yang aku bahas: struktur tiap sheet, rumus angsuran dan sisa pinjaman, cara ngitung jasa flat dibanding menurun, sampai rekap SHU akhir tahun.
Apa saja yang wajib dicatat koperasi simpan pinjam?
Ada empat kelompok catatan yang wajib ada: data anggota, simpanan per anggota, pinjaman beserta angsurannya, dan kas harian. Tiga kelompok pertama nempel ke nomor anggota, kas harian nempel ke tanggal. Dari empat catatan itu, semua laporan tahunan bisa disusun tanpa nambah buku baru.
Koperasi di Indonesia diatur lewat Undang-Undang Nomor 25 Tahun 1992 tentang Perkoperasian, dan pembagian hasil usahanya ngikutin anggaran dasar tiap koperasi. Jadi angka persentase SHU di artikel ini cuma contoh. Pakai angka dari AD/ART koperasimu sendiri.
Simpanan anggota dipisah jadi tiga jenis, dan ini yang paling sering dicampur pengurus baru:
| Jenis simpanan | Kapan dibayar | Bisa ditarik? |
|---|---|---|
| Simpanan pokok | Sekali saat jadi anggota | Nggak, kecuali keluar dari keanggotaan |
| Simpanan wajib | Rutin, biasanya bulanan | Nggak, kecuali keluar dari keanggotaan |
| Simpanan sukarela | Kapan saja, jumlah bebas | Bisa, sesuai aturan koperasi |
Kalau tiga jenis ini ditumpuk jadi satu kolom, kamu bakal kesulitan pas ada anggota yang mau narik simpanan sukarelanya.
Enam sheet apa yang perlu kamu buat?
Struktur ini sengaja dibikin datar. Satu baris satu kejadian, dan semua rekap dihitung pakai rumus, bukan diketik manual.
- Anggota. Kolom: no_anggota, nama, alamat, no_hp, tanggal_masuk, status (aktif atau keluar).
- Simpanan. Kolom: tanggal, no_bukti, no_anggota, jenis_simpanan, setor, tarik.
- Pinjaman. Kolom: no_pinjaman, no_anggota, tanggal_cair, pokok, tenor_bulan, jasa_persen, metode_jasa, status.
- Angsuran. Kolom: tanggal, no_bukti, no_pinjaman, angsuran_pokok, angsuran_jasa, denda.
- Kas. Kolom: tanggal, no_bukti, keterangan, kategori, masuk, keluar.
- Rekap. Nggak diisi manual, semuanya rumus.
Kolom no_bukti itu penyelamat kalau kas nggak balance. Nomor urut sederhana kayak KAS-2025-0413 udah cukup, yang penting nggak ada yang kembar.
Prinsip satu baris satu transaksi ini sama dengan yang aku pakai di pembukuan sederhana buat usaha kecil. Bedanya cuma di sheet pinjaman dan angsuran.
Gimana rumus rekap simpanan per anggota?
Pakai SUMIFS dengan dua syarat: nomor anggota dan jenis simpanan. Saldo tiap jenis simpanan didapat dari total setor dikurangi total tarik. Rumus ini otomatis ikut update tiap ada baris baru, jadi kamu nggak perlu ngitung ulang tiap bulan.
' Saldo simpanan wajib anggota di kolom A baris 2
=SUMIFS(Simpanan!E:E; Simpanan!C:C; A2; Simpanan!D:D; "Wajib")
- SUMIFS(Simpanan!F:F; Simpanan!C:C; A2; Simpanan!D:D; "Wajib")
Kolom E itu setor dan kolom F itu tarik. Salin rumusnya ke kolom simpanan pokok dan sukarela, tinggal ganti teks jenisnya.
Buat nampilin nama anggota dari nomor anggota, pakai XLOOKUP:
=XLOOKUP(A2; Anggota!A:A; Anggota!B:B; "Nomor tidak ditemukan")
Argumen terakhir itu penting. Tanpa itu, nomor yang salah ketik bakal muncul sebagai error dan bikin rekapmu berantakan. Detail tiap argumennya ada di halaman fungsi XLOOKUP, dan versi lengkap SUMIFS ada di halaman fungsi SUMIFS. Dokumentasi resminya buat pengguna Google Sheets ada di pusat bantuan Google Docs Editors.
Kalau kamu masih pakai versi Excel lama tanpa XLOOKUP, ganti pakai VLOOKUP dan bungkus dengan IFERROR.
Gimana cara hitung jasa pinjaman flat dan menurun?
Jasa flat dihitung dari pokok awal tiap bulan sampai lunas, jadi nominalnya tetap. Jasa menurun dihitung dari sisa pokok, jadi makin lama makin kecil. Dengan persentase yang sama persis, jasa flat selalu menghasilkan total lebih besar.
Contoh pinjaman Rp 5.000.000, tenor 10 bulan, jasa 1,5 persen per bulan.
| Metode | Jasa bulan 1 | Jasa bulan 10 | Total jasa 10 bulan |
|---|---|---|---|
| Flat | Rp 75.000 | Rp 75.000 | Rp 750.000 |
| Menurun | Rp 75.000 | Rp 7.500 | Rp 412.500 |
Selisihnya Rp 337.500, atau 82 persen lebih besar di sisi metode flat. Angka sebesar itu wajib disebut terbuka di rapat anggota, soalnya banyak peminjam ngiranya dua metode itu sama saja.
Rumus jasa flat per bulan:
=pokok * jasa_persen
' Contoh: =5000000 * 1,5% hasilnya 75000
Rumus jasa menurun per bulan, dihitung dari sisa pokok:
=sisa_pokok * jasa_persen
' Bulan 3: sisa pokok 4.000.000 x 1,5% = 60.000
Angsuran pokok di dua metode itu sama, yaitu pokok dibagi tenor. Yang beda cuma bagian jasanya.
=ROUND(pokok / tenor_bulan; 0)
' 5.000.000 / 10 = 500.000 per bulan
Bungkus pakai ROUND biar nggak ada pecahan rupiah yang bikin sisa pinjaman nyangkut di angka Rp 3 sampai akhir tenor.
Gimana ngitung sisa pinjaman dan tanggal jatuh tempo?
Sisa pinjaman adalah pokok awal dikurangi total angsuran pokok yang udah masuk. Karena sheet angsuran nyimpen tiap pembayaran sebagai baris, satu SUMIFS udah cukup.
' Sisa pokok pinjaman yang nomornya ada di kolom A
=B2 - SUMIFS(Angsuran!D:D; Angsuran!C:C; A2)
Buat nandain angsuran yang telat, gabungkan TODAY dengan pengecekan tanggal angsuran terakhir:
=IF(TODAY() - MAXIFS(Angsuran!A:A; Angsuran!C:C; A2) > 35; "TELAT"; "Lancar")
Angka 35 itu toleransi lima hari dari siklus 30 harian. Sesuaikan sama aturan koperasimu. Penjelasan fungsi tanggalnya ada di halaman fungsi TODAY.
Kolom status ini yang bikin rapat pengurus jadi cepat. Filter kolomnya ke "TELAT", dan daftar yang perlu ditagih langsung keluar.
Contoh kasus: koperasi karyawan dengan 42 anggota
Aku pakai contoh koperasi karyawan dengan 42 anggota aktif dan simpanan wajib Rp 100.000 per bulan. Dalam setahun, simpanan wajib yang masuk Rp 50.400.000 kalau semua anggota lancar.
Bulan Agustus ada 9 pinjaman aktif dengan total pokok Rp 47.000.000. Semuanya pakai jasa 1,5 persen menurun dengan tenor rata-rata 10 bulan.
Dari sheet angsuran, jasa yang masuk bulan Agustus Rp 528.000. Kalau koperasi ini pakai metode flat dengan persentase sama, angkanya jadi sekitar Rp 705.000.
Selisih Rp 177.000 sebulan itu kecil buat kas koperasi, tapi lumayan buat anggota yang minjam. Buat koperasi karyawan yang tujuannya bantu anggota, metode menurun biasanya lebih pas.
Satu temuan yang muncul waktu datanya dirapikan: 3 dari 9 pinjaman punya tanggal angsuran yang lompat satu bulan tanpa catatan denda. Setelah ditelusuri, itu bukan anggota yang nunggak, tapi setoran yang kecatat di bulan berikutnya gara-gara pengurus baru ngisi buku pas akhir bulan.
Ini alasan kenapa kolom tanggal harus diisi tanggal transaksi, bukan tanggal pencatatan.
Gimana nyusun rekap SHU akhir tahun?
SHU adalah pendapatan koperasi dikurangi seluruh biaya dalam satu tahun buku. Pendapatan utama koperasi simpan pinjam datang dari jasa pinjaman dan denda, sedangkan biayanya meliputi honor pengurus, alat tulis, dan biaya rapat anggota.
- Hitung total jasa setahun.
=SUMIFS(Angsuran!E:E; Angsuran!A:A; ">="&DATE(2025;1;1); Angsuran!A:A; "<="&DATE(2025;12;31)) - Hitung total denda setahun. Rumusnya sama, ganti kolom E jadi kolom denda.
- Hitung total biaya. Ambil dari sheet Kas dengan filter kategori biaya.
- SHU = pendapatan dikurangi biaya.
- Bagi sesuai AD/ART. Persentase buat cadangan, jasa modal, jasa anggota, dan dana pengurus beda tiap koperasi.
- Hitung bagian tiap anggota. Jasa modal dibagi proporsional ke saldo simpanan, jasa anggota dibagi proporsional ke jasa pinjaman yang dia bayar.
Langkah keenam yang paling sering salah. Bagian jasa anggota dihitung dari kontribusi transaksi anggota ke koperasi, bukan dibagi rata per kepala.
Kalau jumlah anggota koperasimu udah lewat 200 dan pinjaman aktifnya di atas 50, spreadsheet mulai kerepotan. Tanda-tanda dan pertimbangan pindahnya udah aku tulis di perbandingan software pembukuan dan spreadsheet.
Kesalahan umum di pembukuan koperasi
- Simpanan tiga jenis ditumpuk satu kolom. Pas ada yang mau narik sukarela, pengurus bingung mana yang boleh diambil.
- Kas koperasi nyampur sama kas pribadi pengurus. Ini sumber masalah nomor satu di koperasi kecil. Pisahin rekeningnya sejak hari pertama.
- Angsuran dicatat sebagai satu angka. Pokok dan jasa harus dipisah kolom, kalau nggak SHU-nya nggak bisa dihitung.
- Metode jasa nggak ditulis di perjanjian. Flat dan menurun bedanya bisa 80 persen lebih, dan anggota berhak tau sejak awal.
- Nggak ada nomor bukti. Waktu kas selisih Rp 50.000, kamu bakal ngecek satu-satu dari awal tahun.
- File cuma ada di satu laptop. Simpan di Google Drive dan kasih akses ke minimal dua pengurus.
Kesalahan nomor dua yang paling mahal. Bukan cuma soal angka, tapi soal kepercayaan anggota yang susah dibangun ulang.
FAQ
Excel atau Google Sheets yang lebih pas buat koperasi?
Google Sheets biasanya lebih pas, soalnya pengurus koperasi jarang cuma satu orang. Bendahara, sekretaris, dan ketua bisa lihat file yang sama tanpa kirim-kiriman lampiran, dan riwayat perubahannya kesimpan otomatis. Excel baru lebih enak kalau datamu udah puluhan ribu baris dan kamu banyak pakai pivot table berat.
Berapa anggota maksimal yang masih sanggup ditangani spreadsheet?
Dari yang aku lihat, sampai sekitar 200 anggota dengan 50 pinjaman aktif masih nyaman asal strukturnya rapi. Yang bikin berat bukan jumlah anggotanya, tapi jumlah baris angsuran yang numpuk tiap bulan. Kalau tutup buku bulananmu udah lewat dua jam, itu tanda buat mulai lihat aplikasi khusus koperasi.
Apa denda keterlambatan wajib dicatat terpisah?
Iya, kolomnya harus sendiri. Denda itu pendapatan koperasi yang masuk hitungan SHU, sama kayak jasa pinjaman. Kalau digabung ke kolom angsuran pokok, sisa pinjaman anggota jadi salah dan laporan SHU-mu kurang. Pisahkan sejak awal, walaupun kebijakan dendanya jarang dipakai.
Gimana cara mastiin kas di spreadsheet cocok sama uang fisik?
Lakukan opname kas tiap akhir bulan bareng minimal dua pengurus. Hitung uang tunai dan saldo rekening, lalu bandingkan dengan saldo di sheet Kas. Kalau ada selisih, telusuri lewat nomor bukti mulai dari transaksi terbaru. Catat hasil opname sebagai baris tersendiri supaya jejak pemeriksaannya kelihatan tahun depan.
Boleh nggak template ini dipakai buat arisan atau paguyuban?
Boleh, tinggal sederhanain. Buat arisan, sheet pinjaman dan angsuran bisa kamu buang, sisain anggota, setoran, dan kas. Struktur satu baris satu transaksi plus nomor bukti tetap kepakai, dan justru itu yang bikin pencatatannya gampang dicek bareng-bareng pas ada yang nanya.
Ringkasan dan langkah berikutnya
Tiga hal yang paling nentuin rapi nggaknya pembukuan koperasimu:
- Pisahkan simpanan pokok, wajib, dan sukarela sejak baris pertama.
- Pisahkan angsuran pokok dan jasa di kolom berbeda, kalau nggak SHU nggak bisa dihitung.
- Tulis metode jasa di perjanjian. Flat dan menurun bisa beda Rp 337.500 buat pinjaman Rp 5 juta tenor 10 bulan.
Kalau kamu baru mulai dan belum pegang format dasarnya, mulai dari contoh pembukuan sederhana dulu.
Mau latihan bikin rumus SUMIFS dan XLOOKUP-nya sambil praktek? Coba latihannya langsung di NgulikSheet, gratis.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel terkait
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.
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.
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.