Pembukuan di bisnis kontraktor cukup berbeda dengan bisnis lain. Ada biaya yang tersebar di banyak proyek, ada pembayaran yang masuk bertahap, ada dana yang sengaja ditahan klien hingga pekerjaan selesai.
Tanpa sistem pencatatan yang tepat, semua variabel ini bisa membuat runyam keuangan bisnis Anda.
Namun, pembukuan bisnis kontraktor tidak selamanya rumit, asal Anda tahu apa yang perlu dicatat, bagaimana formatnya, dan dari mana mulai.
Di artikel ini, kami akan membahas cara melakukan pembukuan untuk bisnis kontraktor, lengkap dengan contoh tabel job costing, progress billing, retainage, hingga laporan laba rugi per proyek.
Apa Pentingnya Pembukuan untuk Bisnis Kontraktor?
Pembukuan itu penting bagi setiap bisnis, tetapi jika Anda menjalankan bisnis kontraktor, pembukuan menjadi lebih penting lagi.
Biasanya, bisnis kontraktor harus mengelola beberapa proyek sekaligus, dan masing-masing proyek memiliki anggaran, timeline, tim, material, serta ekspektasi klien yang berbeda.
Jika tidak ada pembukuan yang jelas, bisa muncul masalah arus kas, keterlambatan proyek, bahkan risiko hukum.
Itulah mengapa Anda membutuhkan sistem pembukuan yang solid untuk membantu Anda:
- Melacak biaya untuk setiap proyek
- Merencanakan arus kas ke depan
- Mematuhi pajak dan regulasi
- Mengidentifikasi proyek yang menghasilkan keuntungan (dan yang tidak)
- Mengambil keputusan berdasarkan data
Di bagian selanjutnya, kita akan membahas perbedaan pembukuan di perusahaan konstruksi dengan bisnis lainnya serta beberapa istilah penting yang perlu Anda pahami.
Baca Juga: Tips Untuk Membuat Bisnis Kontraktor Anda Lebih Berkembang
Perbedaan Pembukuan pada Bisnis Kontraktor dengan Bisnis Lainnya

Pembukuan pada bisnis konstruksi sedikit berbeda dibandingkan dengan bisnis lainnya. Berikut penjelasannya:
1. Pembukuan berbasis proyek vs. berbasis jasa
Sebagian besar bisnis jasa lain (firma hukum, konsultan, atau tim IT support) menagih berdasarkan jam kerja atau per proyek.
Pembukuan di bisnis jasa biasanya cukup sederhana: mencatat pendapatan, mencatat pengeluaran, dan mengirim invoice secara rutin.
Mereka sering menggunakan metode cash basis dengan siklus penagihan yang sederhana dan lebih sedikit variabel.
Sebaliknya, pembukuan konstruksi berfokus pada job costing. Setiap proyek konstruksi dilacak sendiri-sendiri, dengan anggaran, pendapatan, serta biaya langsung dan tidak langsung masing-masing, termasuk:
- Jam kerja tenaga kerja (biasanya dicatat per lokasi proyek)
- Pembayaran subkontraktor
- Penggunaan material dan peralatan
- Perizinan dan inspeksi
Umumnya, di bisnis kontraktor ada kode biaya (cost codes) dan laporan kemajuan pekerjaan untuk memastikan setiap pengeluaran tercatat dengan tepat.
Karena proyek konstruksi biasanya berlangsung selama berbulan-bulan, Anda kemungkinan akan menggunakan metode akrual agar pendapatan dan biaya dicatat saat terjadi, bukan hanya saat uang berpindah tangan.
Selain itu, perubahan pesanan (change orders) juga umum terjadi. Ketika klien ingin mengubah rencana awal, Anda harus menyesuaikan anggaran dan invoice secara langsung.
Hal ini merupakan bagian normal dalam konstruksi, tetapi membuat pembukuan semakin rumit.
2. Penagihan bertahap, retainage, dan arus kas
Dalam bisnis konstruksi, Anda biasanya tidak menagih seluruh biaya di awal, tapi menagih klien secara bertahap berdasarkan kemajuan proyek.
Ini tidak seperti bisnis jasa lain yang umumnya menagihkan biaya per jam.
Selain itu, di bisnis konstruksi juga ada konsep retainage, yaitu sebagian pembayaran yang ditahan hingga proyek selesai. Hal ini dapat memengaruhi arus kas Anda, sehingga perlu dicatat dengan cermat dalam laporan keuangan.
Karena pemasukan bisnis tidaklah rutin, maka pengelolaan arus kas dalam bisnis konstruksi membutuhkan perencanaan yang lebih matang.
3. Aturan, pajak, dan kepatuhan
Industri konstruksi memiliki aturan yang cukup kompleks. Anda mungkin harus menangani:
- Pajak penjualan atas material dan peralatan
- Lisensi kontraktor dan asuransi
- Hukum hak gadai (lien) dan perjanjian serikat pekerja
Baca Juga: Strategi Bisnis Kontraktor Untuk Mendapatkan Keuntungan Maksimal
Cara Melakukan Pembukuan untuk Bisnis Kontraktor + Contoh

Meskipun pembukuan konstruksi memiliki lapisan tambahan seperti job costing, retainage, dan progress billing, prinsip dasarnya tetap sama seperti bisnis lainnya: melacak arus uang, menjaga kerapian pencatatan, dan memastikan data keuangan akurat.
Berikut adalah langkah-langkah umum dalam melakukan pembukuan untuk perusahaan konstruksi:
- Menyusun chart of accounts yang disesuaikan dengan kebutuhan konstruksi (tenaga kerja, material, subkontraktor, peralatan, perizinan, dan lain-lain)
- Melacak pengeluaran dan pendapatan berdasarkan proyek, bukan hanya secara keseluruhan
- Menggunakan kode biaya (cost codes) untuk mengelompokkan dan memberi label pada jenis pengeluaran dalam setiap proyek
- Menerapkan job costing untuk mengetahui total biaya setiap proyek serta keuntungan yang dihasilkan
- Menggunakan progress billing untuk menagih klien berdasarkan tahapan atau persentase penyelesaian proyek
- Mencatat retainage agar tidak keliru menganggap pembayaran yang ditahan sebagai kas yang tersedia
- Melakukan rekonsiliasi akun secara rutin, termasuk rekening bank, kartu kredit, dan akun vendor
- Menyusun laporan keuangan seperti laporan laba rugi (P&L), laporan pekerjaan dalam proses (WIP), dan ringkasan job costing
- Memastikan kepatuhan terhadap aturan penggajian, lisensi, pajak, serta ketentuan hukum terkait proyek
Semua proses ini bisa dilakukan secara manual, tetapi menggunakan software akuntansi kontraktor seperti Kledo dapat membantu menyederhanakan dan mengotomatisasi seluruh proses pembukuan.
Baca Juga: Akuntansi Bisnis Konstruksi: Aturan dan Semua hal yang Perlu Anda Tahu
Contoh Pembukuan Bisnis Kontraktor Sederhana
Di bagian ini, kita akan membahas empat elemen pembukuan paling krusial dalam bisnis kontraktor, lengkap dengan contoh tabel dan tips praktisnya.
1. Contoh Tabel Job Costing per Proyek
Job costing adalah inti dari pembukuan kontraktor. Tujuannya sederhana, yaitu mengetahui berapa biaya yang dikeluarkan untuk setiap proyek dan apakah proyek tersebut benar-benar menguntungkan.
Contoh: Job Costing Proyek Renovasi Ruko Pak Budi
| Kode Biaya | Kategori | Anggaran (Rp) | Realisasi (Rp) | Selisih (Rp) | Status |
|---|---|---|---|---|---|
| 01 | Tenaga Kerja | 45.000.000 | 48.500.000 | -3.500.000 | Melebihi anggaran |
| 02 | Material | 60.000.000 | 57.200.000 | +2.800.000 | Di bawah anggaran |
| 03 | Subkontraktor (Listrik) | 15.000.000 | 15.000.000 | 0 | Sesuai |
| 04 | Sewa Peralatan | 8.000.000 | 9.100.000 | -1.100.000 | Melebihi anggaran |
| 05 | Perizinan & Inspeksi | 2.000.000 | 2.000.000 | 0 | Sesuai |
| 06 | Biaya Tak Terduga | 5.000.000 | 3.200.000 | +1.800.000 | Di bawah anggaran |
| TOTAL | 135.000.000 | 135.000.000 | 0 | Sesuai | |
| Nilai Kontrak | 165.000.000 | ||||
| Laba Kotor | 30.000.000 | 18,2% |
Pada kolum selisih, angka negatif berarti biaya membengkak dari anggaran. Pada contoh di atas, biaya tenaga kerja dan sewa peralatan meleihi budget, tetapi berhasil diimbangi oleh penghematan di pos material dan biaya tak terduga, sehingga total biaya tetap sesuai rencana.
Tips:
- Buat job costing sebelum proyek dimulai, agar Anda memiliki patokan biaya.
- Perbarui tabel ini setiap minggu, terutama pada pos tenaga kerja yang paling mudah membengkak.
- Pisahkan setiap proyek dalam akun tersendiri, jangan menggabukannya menjadi satu laporan..
- Tetapkan batas peringatan, misalnya jika realisasi sudah mencapai 80% dari anggaran padahal proyek baru 50% selesai, segera lakukan evaluasi.
2. Contoh Pembukuan Progress Billing Bisnis Kontraktor
Dalam bisnis konstruksi, Anda tidak menagih klien sekaligus di awal. Penagihan dilakukan bertahap sesuai kemajuan pekerjaan. Metode ini disebut progress billing atau penagihan bertahap.
Ini artinya Anda perlu mencatat dengan teliti: sudah berapa persen pekerjaan yang selesai, sudah berapa yang ditagih, dan berapa yang masih bisa ditagih ke depannya.
Contoh: Progress Billing Proyek Pembangunan Gudang PT Maju Jaya
Nilai Kontrak Total: Rp 400.000.000
| Termin | Milestone | % Penyelesaian | Nilai Tagihan (Rp) | Tanggal Invoice | Status Pembayaran |
|---|---|---|---|---|---|
| Termin 1 | Pekerjaan pondasi selesai | 20% | 80.000.000 | 3 Jan 2025 | Lunas (10 Jan) |
| Termin 2 | Struktur baja terpasang | 40% | 80.000.000 | 5 Feb 2025 | Lunas (14 Feb) |
| Termin 3 | Dinding & atap selesai | 65% | 100.000.000 | 10 Mar 2025 | Menunggu |
| Termin 4 | Finishing interior | 85% | 80.000.000 | – | Belum ditagih |
| Termin 5 | Serah terima proyek | 100% | 60.000.000 | – | Belum ditagih |
| TOTAL | 400.000.000 |
Rekap Status Penagihan:
| Keterangan | Jumlah (Rp) |
|---|---|
| Total sudah ditagih | 240.000.000 |
| Total sudah diterima | 160.000.000 |
| Sudah ditagih, belum dibayar | 80.000.000 |
| Belum ditagih | 160.000.000 |
Tips:
- Jadikan milestone sebagai syarat penagihan.
- Kirim invoice tepat waktu setelah milestone tercapai. Terlambat mengirim invoice berarti terlambat menerima pembayaran.
- Simpan dokumentasi bukti penyelesaian (foto, berita acara, atau tanda tangan klien) setiap kali Anda menyelesaikan satu tahap.
- Pantau kolom “sudah ditagih, belum dibayar” secara mingguan. Jika invoice sudah lewat jatuh tempo, segera follow up.
3. Contoh Pembukuan Retainage di Bisnis Kontraktor
Retainage adalah sebagian dari pembayaran klien yang sengaja ditahan hingga proyek benar-benar selesai dan diterima dengan baik. Besarannya biasanya 5–10% dari nilai kontrak.
Ini adalah praktik umum di industri konstruksi, tetapi sering menjadi sumber masalah arus kas jika tidak dicatat dengan benar.
Contoh kasus: Dari Proyek Gudang PT Maju Jaya di atas (nilai kontrak Rp 400.000.000), klien menerapkan retainage 10%.
Tabel Pencatatan Retainage:
| Termin | Nilai Tagihan (Rp) | Retainage 10% (Rp) | Pembayaran Diterima (Rp) | Akumulasi Retainage (Rp) |
|---|---|---|---|---|
| Termin 1 | 80.000.000 | 8.000.000 | 72.000.000 | 8.000.000 |
| Termin 2 | 80.000.000 | 8.000.000 | 72.000.000 | 16.000.000 |
| Termin 3 | 100.000.000 | 10.000.000 | 90.000.000 | 26.000.000 |
| Termin 4 | 80.000.000 | 8.000.000 | 72.000.000 | 34.000.000 |
| Termin 5 | 60.000.000 | 6.000.000 | 54.000.000 | 40.000.000 |
| Pelunasan Retainage | 40.000.000 | 0 | ||
| TOTAL | 400.000.000 | 40.000.000 | 400.000.000 |
Banyak kontraktor mencatat pembayaran yang masuk (misalnya Rp 72.000.000 di Termin 1) tanpa mencatat bahwa masih ada Rp 8.000.000 yang belum cair.
Akibatnya, mereka mengira kas lebih besar dari kenyataan dan salah dalam merencanakan pengeluaran.
Cara mencatat retainage yang benar adalah dengan membuat akun terpisah, misalnya “Piutang Retainage”, di neraca Anda. Jumlah ini adalah aset yang sah, tetapi belum bisa digunakan sampai proyek selesai.
Tips:
- Jangan pernah menghitung retainage sebagai kas tersedia. Catat di akun piutang terpisah.
- Cantumkan syarat pelepasan retainage secara jelas di kontrak, misalnya “30 hari setelah berita acara serah terima ditandatangani.”
- Buat pengingat otomatis untuk menagih retainage segera setelah syarat terpenuhi. Uang ini sering terlupakan karena proyek sudah dianggap selesai.
- Kalkulasikan retainage saat merencanakan arus kas. Jika total retainage yang tertahan di beberapa proyek mencapai ratusan juta, ini bisa memengaruhi kemampuan Anda membayar vendor atau gaji karyawan.
4. Contoh Laporan Laba Rugi per Proyek
Laporan laba rugi standar menunjukkan kondisi bisnis secara keseluruhan. Nah, laporan laba rugi per proyek ini menunjukkan proyek mana yang benar-benar menghasilkan uang.
Contoh: Perbandingan Laba Rugi Tiga Proyek Aktif
| Keterangan | Proyek A: Renovasi Ruko | Proyek B: Gudang Pabrik | Proyek C: Rumah Tinggal |
|---|---|---|---|
| Nilai Kontrak | 165.000.000 | 400.000.000 | 85.000.000 |
| Biaya Langsung | |||
| Tenaga Kerja | 48.500.000 | 95.000.000 | 28.000.000 |
| Material | 57.200.000 | 180.000.000 | 32.000.000 |
| Subkontraktor | 15.000.000 | 60.000.000 | 0 |
| Sewa Peralatan | 9.100.000 | 22.000.000 | 4.500.000 |
| Total Biaya Langsung | 129.800.000 | 357.000.000 | 64.500.000 |
| Laba Kotor | 35.200.000 | 43.000.000 | 20.500.000 |
| Margin Laba Kotor | 21,3% | 10,8% | 24,1% |
| Biaya Overhead (alokasi) | 8.000.000 | 19.000.000 | 4.000.000 |
| Laba Bersih per Proyek | 27.200.000 | 24.000.000 | 16.500.000 |
| Margin Laba Bersih | 16,5% | 6% | 19,4% |
Meskipun Proyek B (Gudang Pabrik) memiliki nilai kontrak terbesar, margin laba bersihnya hanya 6%, jauh di bawah dua proyek lainnya. Penyebabnya bisa jadi karena kompleksitas proyek, penggunaan subkontraktor yang besar, atau estimasi awal yang kurang akurat.
Sebaliknya, Proyek C (Rumah Tinggal) dengan nilai kontrak terkecil justru memiliki margin tertinggi (19,4%). Informasi seperti ini sangat berharga untuk menentukan jenis proyek mana yang sebaiknya Anda kejar di masa depan.
Tips:
- Buat laporan laba rugi per proyek minimal sebulan sekali. Dengan begitu, Anda bisa melakukan koreksi lebih cepat.
- Bandingkan margin antar proyek secara berkala untuk menemukan pola: jenis proyek mana, klien mana, atau skala berapa yang konsisten menghasilkan margin terbaik?
- Alokasikan biaya overhead secara adil ke setiap proyek, misalnya berdasarkan proporsi nilai kontrak atau jam kerja.
- Gunakan data ini saat negosiasi kontrak berikutnya. Jika Anda tahu biaya rata-rata untuk jenis proyek tertentu, Anda bisa membuat penawaran harga yang lebih akurat dan menguntungkan.
Baca Juga: Contoh Laporan Laba Rugi Bisnis Kontraktor dan Templatenya
Contoh Chart of Accounts untuk Bisnis Kontraktor

Chart of accounts (COA) adalah daftar semua akun keuangan yang digunakan dalam sistem pembukuan bisnis Anda.
Yang membedakan COA bisnis kontraktor dengan bisnis lain adalah adanya akun-akun spesifik seperti biaya per jenis pekerjaan, retainage, dan pendapatan yang diakui bertahap.
Berikut contoh COA untuk pembukuan bisnis kontraktor yang bisa Anda jadikan referensi:
1. Akun Aset (1000–1999)
| Kode Akun | Nama Akun | Keterangan |
|---|---|---|
| 1001 | Kas & Bank | Saldo rekening operasional |
| 1002 | Kas Kecil (Petty Cash) | Dana tunai untuk pengeluaran kecil di lapangan |
| 1010 | Piutang Usaha | Tagihan yang belum dibayar klien |
| 1011 | Piutang Retainage | Dana retainage yang masih ditahan klien |
| 1020 | Uang Muka Proyek | Pembayaran awal dari klien sebelum pekerjaan dimulai |
| 1030 | Persediaan Material | Stok material yang belum digunakan |
| 1040 | Biaya Proyek Dibayar di Muka | Misalnya asuransi atau perizinan yang dibayar awal |
| 1100 | Peralatan & Kendaraan | Aset tetap operasional |
| 1101 | Akumulasi Penyusutan | Pengurangan nilai aset tetap |
2. Akun Kewajiban (2000–2999)
| Kode Akun | Nama Akun | Keterangan |
|---|---|---|
| 2001 | Utang Usaha | Tagihan dari supplier atau vendor yang belum dibayar |
| 2002 | Utang Retainage | Retainage yang Anda tahan dari pembayaran subkontraktor |
| 2010 | Pendapatan Diterima di Muka | Uang muka dari klien yang pekerjaannya belum dimulai |
| 2020 | Utang Pajak | PPh, PPN, atau pajak lain yang belum disetorkan |
| 2030 | Utang Gaji & Upah | Gaji pekerja yang sudah jatuh tempo tapi belum dibayar |
| 2040 | Utang Bank / Pinjaman | Cicilan pinjaman modal usaha |
3. Akun Ekuitas (3000–3999)
| Kode Akun | Nama Akun | Keterangan |
|---|---|---|
| 3001 | Modal Pemilik | Investasi awal atau tambahan dari pemilik |
| 3002 | Laba Ditahan | Akumulasi keuntungan yang tidak dibagikan |
| 3003 | Prive / Penarikan Pemilik | Dana yang ditarik pemilik untuk kebutuhan pribadi |
4. Akun Pendapatan (4000–4999)
| Kode Akun | Nama Akun | Keterangan |
|---|---|---|
| 4001 | Pendapatan Kontrak | Pendapatan utama dari nilai kontrak proyek |
| 4002 | Pendapatan Change Order | Tambahan pendapatan dari perubahan lingkup proyek |
| 4003 | Pendapatan Retensi yang Dicairkan | Retainage yang sudah diterima setelah proyek selesai |
| 4010 | Pendapatan Lain-lain | Misalnya penjualan sisa material atau denda keterlambatan klien |
5. Akun Harga Pokok Penjualan / Biaya Langsung (5000–5999)
Ini adalah bagian paling penting dalam COA kontraktor karena berkaitan langsung dengan job costing.
| Kode Akun | Nama Akun | Keterangan |
|---|---|---|
| 5001 | Biaya Tenaga Kerja Langsung | Upah harian atau mingguan pekerja lapangan |
| 5002 | Biaya Material | Semua bahan bangunan yang digunakan dalam proyek |
| 5003 | Biaya Subkontraktor | Pembayaran kepada pihak ketiga (listrik, plumbing, dll) |
| 5004 | Biaya Sewa Peralatan | Sewa alat berat, scaffolding, dan sejenisnya |
| 5005 | Biaya Transportasi & Pengiriman | Ongkos kirim material ke lokasi proyek |
| 5006 | Biaya Perizinan & Inspeksi | IMB, izin K3, biaya inspeksi teknis |
| 5007 | Biaya Asuransi Proyek | Asuransi khusus per proyek |
| 5008 | Biaya Tak Terduga Proyek | Aset kontinjensi yang sudah dianggarkan |
6. Akun Beban Operasional / Overhead (6000–6999)
| Kode Akun | Nama Akun | Keterangan |
|---|---|---|
| 6001 | Gaji Staf Kantor | Gaji admin, manajer proyek, akuntan |
| 6002 | Sewa Kantor | Biaya operasional kantor pusat |
| 6003 | Utilitas Kantor | Listrik, air, internet kantor |
| 6004 | Biaya Pemasaran | Iklan, website, brosur |
| 6005 | Biaya Kendaraan Operasional | BBM dan perawatan kendaraan kantor |
| 6006 | Biaya Penyusutan Aset | Alokasi penyusutan peralatan dan kendaraan |
| 6007 | Biaya Administrasi & Umum | ATK, biaya bank, dan pengeluaran umum lainnya |
| 6008 | Biaya Bunga Pinjaman | Beban bunga atas utang bank |
Baca Juga: Cara Mengelola dan Meningkatkan Arus Kas Bisnis Konstruksi
Kesimpulan
Jadi, itulah penjelasan kami mengenai pembukuan bisnis kontraktor beserta contohnya. Dengan melakukan pembukuan, Anda bisa memahami kondisi keuangan proyek secara detail.
Anda juga bisa memantau biaya, mengontrol anggaran, serta memastikan setiap proyek berjalan sesuai perencanaan tanpa mengorbankan profitabilitas.
Namun, mengelola pembukuan secara manual sering menyita waktu dan rentan kesalahan, terutama ketika Anda harus menangani banyak proyek sekaligus.
Gunakan software akuntansi Kledo yang mengusung fitur pencatatan otomatis, pelacakan biaya per proyek, hingga laporan keuangan untuk menyederhanakan proses pembukuan Anda.
Coba Kledo sekarang juga dengan klik tautan ini.
- Contoh Lengkap Pembukuan Bisnis Kontraktor - 27 April 2026
- Apa Itu Transaksi Reversal Dana? Dampak dan Cara Mencegah - 27 April 2026
- 7 Rekomendasi Podcast Bisnis Berkualitas - 27 April 2026
