Project Costing: Cara Menghitung Profit per Proyek untuk Agensi & Konsultan
Cara menerapkan project costing di agensi dan usaha konsultan: biaya penuh per jam, laporan laba rugi per proyek, biaya titipan yang dikeluarkan dari margin, dan pemantauan anggaran jam, lengkap dengan contoh Rupiah.
Oleh Tim Solvy · Tim produk & implementasi Solvy
Project costing adalah cara menghitung biaya dan laba setiap proyek secara terpisah: berapa jam tim yang terpakai, berapa biaya pihak ketiga yang keluar, dan berapa margin yang tersisa dari fee yang Anda tagih. Untuk agensi dan konsultan, kuncinya ada tiga: menghitung biaya per jam tim dengan benar, mengeluarkan biaya titipan klien dari perhitungan margin, dan memantau anggaran jam selama proyek berjalan, bukan setelah selesai.
Artikel ini melengkapi panduan akuntansi perusahaan jasa dengan satu contoh proyek lengkap dalam Rupiah, mulai dari tarif biaya per jam sampai laporan laba rugi per proyek. Semua angka adalah ilustrasi, bukan data pelanggan.
Apa itu project costing dan kapan Anda membutuhkannya
Istilah project costing banyak dipakai di software luar negeri. Padanannya dalam bahasa Indonesia adalah perhitungan biaya proyek atau akuntansi biaya per proyek. Istilah job costing artinya hampir sama. Job costing lebih sering dipakai untuk pesanan produksi atau konstruksi, sedangkan project costing untuk pekerjaan jasa yang berjalan beberapa minggu atau bulan.
Laporan laba rugi perusahaan hanya menjawab apakah usaha untung dalam satu periode. Project costing menjawab pertanyaan yang lebih tajam:
- Proyek mana yang benar-benar menghasilkan laba, dan mana yang hanya ramai omzet?
- Jenis pekerjaan apa yang estimasi jamnya selalu meleset?
- Berapa harga minimum yang aman untuk proyek berikutnya?
Anda membutuhkannya begitu tim mengerjakan beberapa proyek sekaligus, atau begitu ada biaya pihak ketiga yang ditalangi untuk klien. Pada titik itu, rumus "invoice dikurangi biaya vendor" sudah tidak cukup untuk menilai sebuah proyek.
Komponen biaya proyek: mana yang masuk margin, mana yang dikeluarkan
Kesalahan yang paling sering terjadi dalam project costing bukan salah hitung, melainkan salah memasukkan komponen. Pakai tabel ini sebagai pegangan.
| Komponen | Contoh | Masuk perhitungan margin? |
|---|---|---|
| Pendapatan jasa | Fee kampanye, fee konsultasi, fee desain | Ya, sebagai pendapatan |
| Biaya tenaga kerja langsung | Jam tim dari timesheet × biaya per jam | Ya |
| Biaya langsung proyek | Freelancer, subkontraktor, lisensi foto atau musik untuk hasil kerja Anda | Ya |
| Biaya titipan (pass-through) | Belanja iklan, cetak, tiket, sewa venue atas nama klien, ditagihkan sesuai biaya | Tidak. Tetap dicatat dan ditagih, tetapi dikeluarkan dari margin |
| Overhead | Sewa kantor, software, gaji admin dan keuangan | Lapis kedua, dialokasikan per jam untuk melihat laba bersih proyek |
Bedakan biaya langsung dari biaya titipan. Videografer lepas yang membuat video kampanye adalah biaya langsung, karena videonya bagian dari jasa yang Anda jual. Belanja iklan yang dibayarkan ke platform atas nama klien dan diteruskan tanpa tambahan adalah biaya titipan. Manfaatnya milik klien, dan Anda tidak menambah nilai di atasnya.
Langkah 1: Hitung biaya penuh per jam tim
Project costing untuk usaha jasa bertumpu pada tarif biaya per jam. Agar laba proyek realistis, hitung dalam dua lapis.
Lapis 1, biaya tenaga kerja per jam = total biaya karyawan per bulan ÷ jam kerja tersedia per bulan. Total biaya mencakup gaji, tunjangan tetap, iuran BPJS porsi perusahaan, serta THR dan bonus yang dirata-ratakan per bulan. Cara menghitungnya, termasuk pengaruh utilisasi tim, dibahas di artikel pilar.
Lapis 2, overhead per jam = overhead per bulan ÷ target jam kerja klien seluruh tim per bulan.
Contoh: sebuah agensi pemasaran punya overhead Rp36.000.000 per bulan untuk sewa, software, internet, serta gaji admin dan keuangan. Tim produksinya menargetkan 720 jam kerja klien per bulan. Overhead per jam = Rp36.000.000 ÷ 720 = Rp50.000.
| Peran | Biaya tenaga kerja per jam | Overhead per jam | Biaya penuh per jam |
|---|---|---|---|
| Account manager | Rp75.000 | Rp50.000 | Rp125.000 |
| Strategis konten | Rp70.000 | Rp50.000 | Rp120.000 |
| Desainer | Rp60.000 | Rp50.000 | Rp110.000 |
| Spesialis iklan digital | Rp65.000 | Rp50.000 | Rp115.000 |
Bila jam kerja klien yang tercatat di bawah target 720 jam, sebagian overhead tidak terserap ke proyek. Akibatnya, laba di laporan laba rugi perusahaan akan lebih kecil daripada jumlah laba semua proyek. Tinjau angka overhead per jam setiap kuartal.
Contoh lengkap: laporan laba rugi per proyek
Agensi tadi mengerjakan kampanye peluncuran produk selama tiga bulan untuk Klien X dengan harga tetap. Isi tagihan ke klien, belum termasuk pajak:
- Fee jasa kampanye: Rp80.000.000
- Belanja iklan media sosial, ditagihkan sesuai biaya: Rp40.000.000
- Cetak materi promosi, ditagihkan sesuai biaya: Rp12.000.000
- Total tagihan: Rp132.000.000
Data jam dari timesheet setelah proyek selesai:
| Peran | Jam | Biaya per jam | Biaya tenaga kerja |
|---|---|---|---|
| Account manager | 60 | Rp75.000 | Rp4.500.000 |
| Strategis konten | 80 | Rp70.000 | Rp5.600.000 |
| Desainer | 150 | Rp60.000 | Rp9.000.000 |
| Spesialis iklan digital | 90 | Rp65.000 | Rp5.850.000 |
| Total | 380 | Rp24.950.000 |
Biaya langsungnya adalah videografer lepas Rp9.000.000 serta lisensi musik dan foto Rp1.500.000, sehingga totalnya Rp10.500.000.
Susunan laporan laba rugi proyeknya:
| Baris | Jumlah | Persentase dari pendapatan jasa |
|---|---|---|
| Total tagihan ke klien | Rp132.000.000 | |
| Dikurangi biaya titipan (iklan + cetak) | (Rp52.000.000) | |
| Pendapatan jasa | Rp80.000.000 | |
| Dikurangi biaya langsung | (Rp10.500.000) | 13,1% |
| Dikurangi tenaga kerja (380 jam) | (Rp24.950.000) | 31,2% |
| Margin kontribusi proyek | Rp44.550.000 | 55,7% |
| Dikurangi overhead (380 jam × Rp50.000) | (Rp19.000.000) | 23,8% |
| Laba bersih proyek | Rp25.550.000 | 31,9% |
Tiga hal yang bisa dibaca dari tabel ini:
- Margin dihitung dari pendapatan jasa, bukan dari total tagihan. Bila dibagi Rp132.000.000, laba bersih proyek seolah hanya 19,4%, sehingga proyek yang sehat tampak biasa saja. Proyek dengan belanja iklan besar juga akan selalu terlihat bermargin tipis bila biaya titipan ikut dihitung.
- Pendapatan jasa per jam = Rp80.000.000 ÷ 380 jam = Rp210.526. Biaya penuh rata-ratanya (Rp24.950.000 + Rp19.000.000) ÷ 380 jam = Rp115.658. Selisih keduanya adalah laba per jam kerja tim, angka yang bagus untuk membandingkan proyek yang ukurannya berbeda.
- Biaya titipan yang lupa ditagihkan langsung memotong laba. Bila tagihan cetak Rp12.000.000 terlewat, laba bersih proyek turun menjadi Rp13.550.000. Hampir separuh laba hilang.
Fixed fee, per jam, atau retainer: angka yang dipantau berbeda
| Model penagihan | Cara menagih | Penanggung risiko jam | Angka utama yang dipantau |
|---|---|---|---|
| Harga tetap (fixed fee) | Nilai proyek disepakati di awal, biasanya dengan termin | Agensi | Jam aktual dibanding anggaran jam, pendapatan jasa per jam |
| Per jam (time & material) | Jam × tarif tagih, ditambah biaya | Klien | Tingkat realisasi: jam ditagih ÷ jam tercatat |
| Retainer bulanan | Nilai tetap per bulan | Agensi, bila lingkup melebar | Jam aktual per bulan dibanding jam yang diasumsikan saat menetapkan retainer |
Pada model per jam, margin bocor lewat jam yang tercatat tetapi tidak ditagih, misalnya revisi yang digratiskan atau rapat yang dianggap bagian dari layanan.
Contoh: desainer dengan tarif tagih Rp175.000 per jam mencatat 100 jam untuk Klien Z, tetapi hanya 85 jam yang ditagih. Tingkat realisasinya 85%.
- Pendapatan: 85 × Rp175.000 = Rp14.875.000
- Biaya penuh: 100 × Rp110.000 = Rp11.000.000
- Laba: Rp3.875.000
Bila seluruh 100 jam ditagih, labanya Rp6.500.000. Lima belas jam yang tidak ditagih memangkas laba sekitar 40%. Karena itu, timesheet tetap perlu mencatat jam yang tidak ditagih. Tanpa catatan itu, kebocorannya tidak pernah terlihat.
Untuk retainer, catat berapa jam yang Anda asumsikan saat menetapkan nilainya, lalu bandingkan dengan jam aktual setiap bulan. Contoh analisis margin per klien retainer ada di artikel pilar.
Pantau anggaran jam selama proyek berjalan
Laporan laba rugi yang disusun setelah proyek selesai hanya berguna untuk proyek berikutnya. Untuk menyelamatkan proyek yang sedang berjalan, bandingkan jam terpakai dengan progres pekerjaan setiap minggu.
Rumus sederhana: proyeksi jam akhir = jam terpakai ÷ persentase pekerjaan yang sudah selesai
Contoh: proyek website untuk Klien Y dianggarkan 300 jam selama 10 minggu. Di minggu ke-5, tim sudah memakai 210 jam (70% anggaran), tetapi pekerjaan baru selesai 50%. Proyeksi jam akhir = 210 ÷ 50% = 420 jam, atau 120 jam di atas anggaran. Dengan biaya penuh rata-rata Rp120.000 per jam, margin proyek bisa tergerus sekitar Rp14.400.000.
Ukur progres dari daftar tugas atau hasil kerja yang sudah disetujui klien, bukan dari perkiraan tim. Tugas yang "hampir selesai" dihitung belum selesai.
Bila proyeksi melewati anggaran, langkah yang bisa diambil:
- Cari penyebabnya di timesheet per tugas. Apakah karena revisi, permintaan baru, atau estimasi awal yang terlalu rendah?
- Ajukan perubahan lingkup (change request) untuk pekerjaan di luar kesepakatan, sebelum pekerjaan itu dikerjakan.
- Atur ulang alokasi tim, misalnya memindahkan tugas ke anggota dengan biaya per jam lebih rendah bila kualitasnya memadai.
- Perbarui templat estimasi untuk jenis proyek yang sama, supaya penawaran berikutnya lebih akurat.
Menyiapkan data project costing di pembukuan
Hasil project costing hanya seakurat data yang masuk. Langkah berikut membuat setiap transaksi bisa ditelusuri ke proyeknya.
- Pakai satu nama atau kode proyek yang konsisten di penawaran, order penjualan, timesheet, tagihan pemasok, dan faktur.
- Pisahkan baris biaya titipan dari baris jasa di penawaran dan faktur. Klien juga lebih mudah memahami tagihannya.
- Tautkan setiap tagihan pemasok ke klien atau order asalnya, lalu cocokkan setiap bulan: semua biaya titipan harus sudah muncul di faktur klien.
- Isi timesheet harian per tugas, termasuk jam yang tidak ditagih dan proyek internal seperti pitching.
- Pisahkan akun di bagan akun. Gaji tim produksi dan biaya freelancer masuk beban pokok pendapatan, sedangkan gaji admin, sewa, dan software masuk beban umum dan administrasi.
- Buat rekap bulanan: jam per proyek × biaya per jam, ditambah biaya langsung, lalu bandingkan dengan pendapatan jasa proyek tersebut.
Soal pajak, biaya titipan yang didukung perjanjian, tagihan pihak ketiga atas nama klien, dan diteruskan tanpa tambahan umumnya tidak ikut menjadi dasar pengenaan PPN maupun dasar pemotongan PPh 23. Syaratnya ketat dan sangat bergantung pada dokumen, jadi konfirmasikan perlakuannya ke konsultan pajak. Syarat dan jurnalnya dibahas di artikel PPN reimbursement dan biaya titipan.
Kesalahan umum dalam project costing
- Menghitung margin dari total tagihan yang masih memuat biaya titipan. Persentase margin jadi tidak bisa dibandingkan antarproyek.
- Mencatat biaya proyek sendiri sebagai biaya titipan. Freelancer yang mengerjakan bagian dari hasil kerja Anda adalah biaya langsung.
- Memakai gaji pokok sebagai dasar biaya per jam. Tunjangan, BPJS, THR, dan bonus terlewat, sehingga proyek tampak lebih untung.
- Menolak proyek hanya karena laba bersihnya tipis. Saat tim sedang longgar, proyek dengan margin kontribusi positif tetap membantu menutup overhead yang harus dibayar. Yang perlu dihindari adalah proyek dengan margin kontribusi negatif.
- Baru menghitung setelah proyek selesai. Pembengkakan jam sudah tidak bisa diperbaiki.
- Tidak mencatat jam yang tidak ditagih. Tingkat realisasi tidak terukur, dan kebocoran margin tidak terlihat.
Bagaimana Solvy membantu
Solvy adalah software ERP berbasis cloud untuk UKM Indonesia, dibangun di atas Odoo 19 Community. Untuk usaha jasa dan agensi, bagian yang relevan dengan project costing adalah:
- Proyek dan timesheet (mulai paket Advance). Tugas per proyek dengan penanggung jawab dan tenggat. Tim mencatat jam kerja per tugas, dengan rekap jam per proyek, per orang, dan per periode. Lihat CRM, proyek & timesheet.
- Biaya titipan (mulai paket Advance). Produk atau kategori produk ditandai sebagai biaya titipan. Dari faktur pelanggan, Solvy membuat tagihan pemasok untuk baris tersebut, yang terhubung ke order penjualan asalnya. Laporan margin per order membandingkan nilai yang ditagihkan dengan biaya pemasok. Lihat biaya titipan.
- Penawaran sampai faktur (semua paket). Penawaran yang disetujui menjadi order, lalu faktur. Lihat penjualan, pembelian & kontak.
- Laporan keuangan dan ekspor Excel (mulai paket Advance). Laba rugi dengan perbandingan periode, serta laporan yang bisa diekspor untuk diolah lebih lanjut. Lihat laporan keuangan dan ekspor Excel.
Ada batasan yang perlu Anda ketahui. Laporan margin per order di fitur biaya titipan membandingkan tagihan dengan biaya pemasok, sedangkan biaya jam tim dihitung terpisah. Perkalian jam timesheet dengan biaya per jam, alokasi overhead, dan laporan laba rugi per proyek seperti contoh di atas disusun dari rekap timesheet dan data faktur, misalnya lewat ekspor Excel. Artikel ini tidak mengasumsikan adanya laporan profitabilitas proyek siap pakai, jadi tanyakan saat demo bagaimana alur ini dipetakan untuk usaha Anda. Solvy juga belum memiliki fitur anggaran (budget). Solvy diakses lewat browser, termasuk browser di HP, tetapi belum ada aplikasi mobile native.
Ingin melihat alurnya dengan data contoh? Jadwalkan demo.
Informasi ini bersifat edukatif per 3 November 2026. Untuk kondisi bisnis Anda, konsultasikan dengan konsultan pajak terdaftar.
Pertanyaan umum
Apa itu project costing?
Project costing adalah perhitungan biaya dan laba untuk setiap proyek secara terpisah. Di usaha jasa, komponennya adalah jam tim dari timesheet dikali biaya per jam, biaya langsung seperti freelancer, dan alokasi overhead, yang dibandingkan dengan pendapatan jasa proyek.
Apa bedanya project costing dan job costing?
Keduanya sama-sama menghitung biaya per pekerjaan. Job costing lebih sering dipakai untuk pesanan produksi atau konstruksi, sedangkan project costing untuk pekerjaan jasa yang berjalan beberapa minggu atau bulan dengan biaya utama berupa jam kerja tim.
Apakah belanja iklan yang ditalangi untuk klien termasuk biaya proyek?
Bila dibayarkan atas nama klien dan ditagihkan sesuai biaya, belanja iklan adalah biaya titipan. Biaya itu tetap dicatat dan ditagih, tetapi dikeluarkan dari perhitungan margin agar persentase margin mencerminkan nilai jasa Anda.
Bagaimana cara menghitung overhead per jam?
Bagi total overhead bulanan, seperti sewa, software, dan gaji admin, dengan target jam kerja klien seluruh tim per bulan. Contoh: Rp36.000.000 ÷ 720 jam = Rp50.000 per jam, yang ditambahkan ke biaya tenaga kerja per jam.
Berapa margin proyek yang sehat untuk agensi?
Tidak ada angka baku untuk semua agensi, karena bergantung pada jenis layanan, struktur biaya, dan model penagihan. Tetapkan target dari data proyek Anda sendiri, lalu bandingkan margin kontribusi dan laba bersih tiap proyek dengan target itu.
Apakah project costing harus memakai software khusus?
Tidak harus. Spreadsheet cukup untuk beberapa proyek, asalkan timesheet dan biaya dicatat rutin. Saat proyek dan anggota tim bertambah, sistem yang menyatukan timesheet, tagihan pemasok, dan faktur mengurangi risiko data tercecer.
Sumber
- DJP — PPh Pasal 23 (tarif, objek, PMK 141/PMK.03/2015) — https://www.pajak.go.id/en/node/35004
- DDTC — Pembayaran jasa lain secara reimburse tidak dipotong PPh Pasal 23 — https://news.ddtc.co.id/pembayaran-jasa-lain-secara-reimburse-tak-dipotong-pph-pasal-23-1795952
- DDTC — Sengketa reimbursement sebagai objek PPN — https://news.ddtc.co.id/literasi/resume-putusan/29829/sengketa-reimbursement-tagihan-listrik-sebagai-objek-ppn
Rapikan faktur, pajak dan stok dalam satu sistem
Lihat bagaimana Solvy menangani alur ini untuk usaha Anda.