# Project Costing dan Pelacakan Waktu di ERP Kustom: Anggaran, Timesheet, dan Profitabilitas

> Cara membangun modul project costing dengan pelacakan waktu, alokasi biaya, pemantauan anggaran, dan pelaporan profitabilitas di ERP kustom menggunakan NestJS dan PostgreSQL.

URL: https://www.matthewswong.com/id/blog/erp-project-costing-time-tracking/

- Author: Matthews Wong (https://www.matthewswong.com/id/about/)
- Published: 2025-06-10
- Updated: 2025-06-10
- Category: ERP

Rata-rata ROI untuk implementasi ERP adalah 52% — artinya setiap dolar yang diinvestasikan menghasilkan $1,52 kembali — dengan sebagian besar perusahaan memulihkan investasi mereka dalam 16 bulan. Untuk bisnis jasa profesional dan konstruksi di Indonesia, project costing sering menjadi modul dengan ROI tercepat: mengetahui persis berapa biaya setiap proyek versus apa yang ditagih dapat mengubah jenis proyek yang tidak menguntungkan menjadi menguntungkan dalam satu kuartal.

## Struktur Anggaran Proyek

Proyek memiliki satu atau lebih baris anggaran, masing-masing terkait dengan kategori biaya: Tenaga Kerja, Perjalanan, Material, Subkontraktor, Lainnya. Setiap baris anggaran memiliki jumlah yang dianggarkan dan opsional kuantitas yang dianggarkan (jam, perjalanan, unit). Modul proyek melacak aktual terhadap setiap baris anggaran saat biaya diposting.

### Entri dan Persetujuan Timesheet

Staf mengirimkan timesheet mingguan melalui UI React sederhana: pilih proyek, pilih tugas, masukkan jam per hari, tambahkan deskripsi. Timesheet masuk ke manajer proyek untuk persetujuan. Setelah disetujui, jam dikalikan dengan cost rate staf (tersimpan di modul HR) untuk menghitung biaya tenaga kerja, yang diposting secara otomatis ke jurnal proyek.

> Dari pengalaman saya membangun sistem ERP dalam pekerjaan konsultasi ERP lepas saya: selalu tangkap perbedaan billable/non-billable pada setiap entri timesheet. Waktu yang dihabiskan untuk rapat internal, penulisan proposal, dan pengerjaan ulang adalah non-billable bahkan jika ada di proyek klien. Rasio jam billable vs. total jam per manajer proyek adalah salah satu metrik paling mengungkapkan — menunjukkan siapa yang efisien dan siapa yang menghabiskan waktu berlebihan untuk overhead.

## Integrasi Klaim Biaya

Biaya proyek — perjalanan, akomodasi, hiburan klien — diajukan melalui klaim biaya yang terhubung ke proyek. Workflow klaim biaya mencerminkan proses AP mini: staf mengirimkan bukti (unggah foto), manajer proyek menyetujui, keuangan memverifikasi dan mengganti rugi. Klaim biaya yang disetujui diposting ke buku besar biaya proyek secara otomatis.

### Beberapa Model Penagihan

Sistem yang saya bangun mendukung tiga model penagihan: Time and Materials (tagih jam aktual × tarif yang disepakati + biaya yang dapat diganti), Fixed Price (penagihan berbasis milestone terlepas dari biaya), dan Cost Plus (biaya + margin yang disepakati%). Untuk proyek T&M, sistem menghasilkan draft faktur AR dari timesheet dan biaya yang disetujui.

> **Peringatan: Kerahasiaan Cost Rate**

> Cost rate staf (gaji / jam produktif) adalah informasi penggajian yang sensitif. Jangan tampilkan pada layar timesheet atau dalam laporan yang dapat diakses manajer proyek atau klien. Simpan cost rate di modul HR dengan RBAC yang membatasi akses hanya untuk peran Keuangan dan HR. Laporan proyek harus menampilkan total biaya proyek tanpa mengungkapkan cost rate staf individu.

## Bagaimana Saya Mendekati Ini

Modul proyek dibangun dengan NestJS untuk API, PostgreSQL untuk data, dan React untuk frontend. Dashboard proyek menggunakan Recharts untuk menampilkan garis tren anggaran vs. aktual dari waktu ke waktu. Saya mengimplementasikan sistem lampu lalu lintas: hijau jika aktual di bawah 75% anggaran, kuning jika 75-90%, merah jika di atas 90%.

## Pelaporan Profitabilitas Proyek

Laporan profitabilitas menampilkan untuk setiap proyek: nilai kontrak, total biaya (tenaga kerja + langsung), laba kotor, margin laba kotor %, dan status penagihan (berapa banyak yang telah difakturkan vs. dikontrak). Untuk proyek T&M, laporan juga menampilkan realisasi — rasio jam yang ditagih terhadap jam yang timbul.

## Integrasi dengan Keuangan dan Penggajian

Modul proyek berintegrasi secara bidireksional dengan modul keuangan: biaya diposting ke buku besar umum saat disetujui (debit WIP Proyek, kredit Tenaga Kerja yang Masih Harus Dibayar), dan pendapatan diposting ketika faktur dibuat. Untuk integrasi penggajian, jam timesheet berfungsi sebagai sumber untuk menghitung penggajian staf berbasis jam atau proyek.

## Sumber & Bacaan Lebih Lanjut

- Grade App — How ERP Improves Cost Accounting and Project Costing Efficiency — https://grade.app/how-erp-optimizes-cost-accounting-and-project-costing/
- Zconsulto — ERP Implementation Cost Breakdown + Real ROI Examples — https://zconsulto.com/erp-implementation-cost-breakdown-roi-examples/
- NetSuite — How ERP Makes Project Management Easier — https://www.netsuite.com/portal/resource/articles/erp/erp-project-management.shtml

> **Key takeaway:** Project costing hanya berjalan ketika timesheet, pembelian dan pendapatan semuanya diposting ke kode proyek yang sama, sehingga profitabilitas bisa dibaca per proyek, bukan diperkirakan di akhir tahun. Bagi perusahaan jasa profesional dan konstruksi, angka itu adalah pembeda antara memberi harga pekerjaan berikutnya dengan tepat atau keliru.

## Source links

- https://grade.app/how-erp-optimizes-cost-accounting-and-project-costing/
- https://zconsulto.com/erp-implementation-cost-breakdown-roi-examples/
- https://www.netsuite.com/portal/resource/articles/erp/erp-project-management.shtml

## FAQ

### Mengapa alur persetujuan timesheet langsung memposting biaya tenaga kerja ke jurnal proyek?

Setelah manajer proyek menyetujui timesheet, sistem mengalikan jam yang disetujui dengan cost rate masing-masing staf yang tersimpan di modul HR, lalu mempostingnya secara otomatis sebagai debit ke akun biaya proyek. Otomatisasi ini menghilangkan perhitungan manual yang rawan kesalahan — yaitu berapa jam yang dihabiskan dan berapa biayanya — yang selama ini menjadi masalah umum di perusahaan jasa profesional. Tidak diperlukan entri data terpisah karena biaya langsung mengalir dari persetujuan ke buku besar.

### Bagaimana sistem pemantauan anggaran lampu lalu lintas bekerja?

Dashboard proyek menampilkan indikator lampu lalu lintas berdasarkan seberapa banyak anggaran yang telah terpakai: hijau jika aktual di bawah 75% anggaran, kuning jika 75–90%, dan merah jika di atas 90%. Tampilan visual ini memungkinkan manajer proyek melihat sekilas proyek mana yang cenderung melebihi anggaran tanpa harus membaca angka secara detail. Dashboard diperbarui setiap 15 menit melalui refetchInterval dari React Query.

### Apa saja tiga model penagihan yang didukung, dan bagaimana pengaruhnya terhadap pembuatan faktur?

Sistem mendukung Time and Materials (T&M), Fixed Price, dan Cost Plus. Untuk proyek T&M, draft faktur AR dibuat secara otomatis dari timesheet dan klaim biaya yang telah disetujui. Proyek Fixed Price memicu faktur berdasarkan milestone proyek, sedangkan faktur Cost Plus dihitung sebagai total biaya dikalikan satu ditambah persentase margin yang disepakati. Model penagihan ditetapkan saat proyek dibuat dan menentukan logika pembuatan faktur yang dijalankan.

### Mengapa cost rate staf harus disembunyikan dari manajer proyek dan klien?

Cost rate staf berasal dari data gaji dan merupakan informasi penggajian yang sensitif. Menampilkannya di layar timesheet atau laporan proyek akan mengungkapkan detail kompensasi individu kepada pihak yang tidak berhak mengaksesnya. Sistem menyimpan cost rate di modul HR dengan RBAC yang membatasi visibilitas hanya untuk peran Keuangan dan HR, serta laporan proyek hanya menampilkan total biaya proyek tanpa merinci rate individu. Permission khusus cost_rate_visible ditambahkan untuk menegakkan batasan ini.

### Bagaimana perbedaan billable vs. non-billable membantu manajemen mengidentifikasi inefisiensi?

Setiap entri timesheet mencatat apakah waktu tersebut billable atau non-billable, meskipun dikerjakan dalam proyek klien. Waktu yang dihabiskan untuk rapat internal, penulisan proposal, dan pengerjaan ulang dihitung sebagai non-billable. Rasio jam billable terhadap total jam per manajer proyek adalah salah satu metrik paling mengungkapkan dalam sistem — menunjukkan siapa yang efisien dan siapa yang menghabiskan waktu berlebihan untuk overhead, dan klien selalu terkejut saat pertama kali melihat data tingkat billability mereka yang sebenarnya.

---

- HTML version: https://www.matthewswong.com/id/blog/erp-project-costing-time-tracking/
- English: https://www.matthewswong.com/en/blog/erp-project-costing-time-tracking/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
