Navigasi
FirstJournalFirstJournalPusat Bantuan
support@firstprinciple.id
  1. Bantuan
  2. /buku-besar
  3. /Proyek & Job Costing Multi-Segmen (Kontraktor / Jasa Interior / Development Property)
buku-besar

Proyek & Job Costing Multi-Segmen (Kontraktor / Jasa Interior / Development Property) / Multi-Vertical Project & Job Costing (Contractor / Interior / Property Development)

Diperbarui: 2026-09-12·~23 menit baca

Proyek & Job Costing Multi-Segmen / Multi-Vertical Project & Job Costing

Terakhir diperbarui / Last updated: 2026-09-12 Modul / Module: /proyek/segmen, /proyek, /proyek/[id], /proyek/[id]/tutup-bulan, /proyek/[id]/development, /proyek/[id]/retensi, /proyek/[id]/mode-akuntan, /proyek/[id]/tutup-bulan/[runId]/invoice/baru Versi / Version: 1.0


Ringkasan / Overview

Fitur ini untuk PT yang menjalankan lebih dari satu lini bisnis proyek di satu perusahaan — misalnya Kontraktor bangunan, Jasa Interior, dan Development Property (bangun-jual rumah/ruko) sekaligus. Daripada mencampur semuanya jadi satu angka, fitur ini memisahkan tiap lini bisnis jadi Segmen, tiap pekerjaan jadi Proyek, dan setiap proyek yang punya kontrak pelanggan bisa dihitung pendapatannya secara bertahap (bulan demi bulan) atau sekaligus di titik serah terima — tergantung mana yang cocok untuk pekerjaan itu.

Fitur ini bukan hanya pencatatan biaya — ini menentukan KAPAN pendapatan proyek boleh diakui di laporan laba rugi, sesuai standar akuntansi (mirip PSAK 72 tentang kontrak dengan pelanggan). Karena itu beberapa langkah sengaja dibuat "tidak bisa asal klik" (misalnya harus isi alasan tertulis untuk pengakuan bertahap) — supaya laporan keuangan tetap benar walau yang input bukan orang accounting.

  • Kontraktor (bangunan, renovasi) — proyek dikerjakan berbulan-bulan, biaya keluar terus sepanjang jalan, pelanggan bayar bertahap.
  • Jasa Interior — mirip kontraktor, biasanya proyek lebih pendek tapi pola sama: biaya dulu, tagih bertahap.
  • Development Property — bangun banyak unit sekaligus (rumah/ruko/apartemen), biaya tanah & infrastruktur dibagi rata ke tiap unit, lalu tiap unit dijual dan "serah terima" ke pembeli.
  • PT yang menjalankan gabungan dari ketiganya — inilah yang jadi alasan utama fitur ini dibuat: SATU perusahaan, SATU pembukuan, tapi tiap lini bisnis tetap kelihatan terpisah kinerjanya.

Urutan setup wajib mengikuti tahapan ini — tidak bisa langsung buat Proyek tanpa Segmen, dan tidak bisa "Tutup Bulan Ini" tanpa Kontrak yang aktif.

  1. Buat Segmen Bisnis di Proyek → Segmen Bisnis (/proyek/segmen). Nama bebas — misalnya "Kontraktor", "Jasa Interior", "Development Property", atau "Head Office" untuk biaya kantor pusat yang tidak masuk proyek manapun. Ini bukan daftar tetap dari sistem, jadi beri nama sesuai lini bisnis Anda sendiri.
  2. Buat Proyek di Proyek (/proyek). Pilih Segmen, beri nama proyek, pilih cabang (opsional) dan pelanggan (opsional). Proyek ini yang jadi tempat menampung semua biaya dan kontrak untuk pekerjaan tersebut.
  3. Buka detail Proyek (klik nama proyek dari daftar), lalu buat Kontrak Pelanggan — isi nilai kontrak, dan pilih cara pengakuan pendapatan (lihat bagian di bawah).
  4. Aktifkan Kontrak — kontrak yang baru dibuat statusnya masih "Draft" dan belum terhitung di manapun sampai diaktifkan. Klik tombol Aktifkan Kontrak di halaman detail proyek. Ini langkah yang sering terlewat — kalau lupa, Tutup Bulan Ini akan bilang "belum punya kontrak aktif" walau kontraknya sudah kelihatan ada.

Saat membuat Kontrak Pelanggan, Anda memilih SATU dari dua cara pendapatan diakui di laporan laba rugi:

PilihanKapan cocokKonsekuensi
Point-in-time (Direkomendasikan, default)Pekerjaan yang selesainya jelas di SATU titik — misalnya jual 1 unit rumah, pasang 1 set furniture custom, proyek pendek yang selesai dalam sebulanPendapatan diakui SEKALIGUS saat pekerjaan diserahterimakan/selesai. Tidak perlu proses bulanan apapun.
Pengakuan Bertahap (Over-time)Proyek panjang, berbulan-bulan, di mana masuk akal untuk mengakui pendapatan sedikit demi sedikit sesuai progress — misalnya proyek konstruksi 6 bulanPendapatan diakui BERTAHAP tiap bulan berdasarkan progress. Wajib menjalankan "Tutup Bulan Ini" setiap bulan selama kontrak berjalan — kalau tidak, pendapatan bulan itu tidak tercatat sama sekali.

Karena Over-time punya tanggung jawab bulanan yang lebih berat, sistem sengaja tidak membiarkan pilihan ini asal-klik: harus centang konfirmasi + isi alasan tertulis kenapa pengakuan bertahap dipilih. Kalau ragu, pilih Point-in-time — ini pilihan yang lebih aman dan tidak butuh proses tambahan.

Halaman ini (/proyek/[id]/tutup-bulan) hanya muncul dan bisa dipakai untuk proyek dengan kontrak Over-time yang sudah Aktif dan sudah punya estimasi total biaya. Langkah-langkahnya:

  1. Buat estimasi total biaya proyek (kalau belum ada) — perkiraan total biaya sampai proyek selesai, dengan alasan/dasar penilaian. Angka ini dipakai untuk menghitung persentase progress dari biaya yang sudah keluar.
  2. Lihat saran dari Prince (panel ungu-biru di atas). Prince menghitung perkiraan progress berdasarkan total biaya yang SUDAH tercatat dibagi estimasi total biaya proyek — ini murni perhitungan dari angka biaya, bukan hasil pengukuran fisik di lapangan. Anda bisa klik "Pakai Saran Prince" untuk mengisi otomatis, atau "Saya isi manual" untuk mengabaikannya sepenuhnya dan mengisi sendiri berdasarkan kondisi lapangan yang sebenarnya.
  3. Geser slider "Progress sampai bulan ini" ke persentase yang benar. Kalau angkanya TURUN dari bulan lalu, sistem wajib meminta alasan tertulis sebelum bisa lanjut — ini pengaman supaya penurunan progress (misalnya ada kesalahan input sebelumnya) tidak diam-diam dilewati.
  4. Isi catatan atau bukti progress (opsional tapi disarankan) — teks bebas, dan bisa unggah 1 foto atau PDF (mis. berita acara) sebagai lampiran.
  5. Cek "Pekerjaan tambah/kurang" dan "Estimasi biaya" — dua kartu ini menampilkan riwayat perubahan nilai kontrak dan estimasi biaya proyek, bisa ditambah dari halaman ini juga kalau perlu.
  6. Klik "Kirim untuk Ditinjau" di panel ringkasan sebelah kanan. Ini menjalankan 3 langkah otomatis di belakang layar: menyimpan progress → menyiapkan perhitungan pengakuan pendapatan → mengirim untuk ditinjau. Penting: langkah ini TIDAK langsung memposting ke pembukuan. Setelah dikirim, angka dikunci dan menunggu disetujui oleh peninjau (approver) — baru setelah disetujui DAN diposting, pendapatan bulan itu masuk ke laporan laba rugi.

Untuk Segmen "Development Property" (bangun-jual banyak unit sekaligus), alurnya di /proyek/[id]/development:

  1. Buat setup Development Property untuk proyek ini (kalau belum ada) — pilih dasar alokasi biaya (berdasarkan luas tanah, luas bangunan, atau manual).
  2. Catat biaya ke dalam kelompok berikut:
    • Tanah, Perizinan, Infrastruktur — biaya BERSAMA yang dipakai semua unit, akan dibagi rata ke tiap unit.
    • Konstruksi Langsung Per Unit — biaya yang jelas hanya untuk SATU unit tertentu (langsung dikaitkan ke unit itu, tidak dibagi).
  3. Tambah unit — masing-masing unit punya kode, luas tanah, dan luas bangunan (dipakai sebagai dasar pembagian biaya bersama).
  4. Jalankan "Hitung Ulang Alokasi Biaya" — tombol ini membagi biaya bersama (tanah/infrastruktur/perizinan) ke tiap unit sesuai proporsi luas tanah/bangunannya. Ini aksi manual, tidak otomatis jalan sendiri setiap kali ada biaya baru — jalankan ulang setiap kali ada biaya bersama baru yang masuk, supaya biaya per unit tetap akurat.
  5. Jual unit — dari halaman detail unit, isi pelanggan, harga jual, dan tanggal. Pilih Point-in-time atau Over-time (lihat penjelasan di atas) — untuk penjualan properti, Over-time belum didukung sistem sampai tahap serah terima, jadi kalau memilih ini, sistem akan mengingatkan sejak awal.
  6. Serah Terima Unit — aksi ini TIDAK BISA dibatalkan dan langsung memposting jurnal pendapatan + biaya pokok penjualan (HPP) unit tersebut. Sistem akan memblokir serah terima kalau masih ada biaya bersama yang belum dialokasikan (lihat FAQ di bawah) — jalankan dulu "Hitung Ulang Alokasi Biaya" untuk membuka blokir ini.

Retensi adalah uang yang ditahan sementara dari pembayaran — baik yang pelanggan tahan dari Anda (misalnya jaminan masa pemeliharaan konstruksi), maupun yang Anda tahan dari vendor/subkontraktor. Di /proyek/[id]/retensi:

  1. Buat jadwal retensi — pilih kontrak (pelanggan atau kontrak penjualan unit properti), arah (dari pelanggan / ke vendor), jumlah, tanggal, dan kondisi pelepasan (misalnya "setelah masa pemeliharaan 6 bulan selesai tanpa cacat").
  2. Setiap jadwal retensi punya status: "Masih bersyarat" (masih tergantung kondisi tertentu — misalnya masa pemeliharaan belum selesai) atau "Sudah pasti, tinggal cair" (tinggal menunggu waktu pembayaran, tidak ada syarat lain lagi).
  3. Rilis Retensi — saat kondisinya terpenuhi, klik Rilis Retensi dan pilih salah satu atau kedua opsi ini:
    • Reklasifikasi ke tak bersyarat — mengubah status dari "Masih bersyarat" jadi "Sudah pasti, tinggal cair", tanpa memindahkan uang.
    • Sudah dibayar tunai sekarang — mencatat retensi ini benar-benar sudah cair/dibayar. Bisa pilih keduanya sekaligus dalam satu klik kalau retensi langsung cair saat dilepas dari status bersyaratnya.

Q: Kenapa "Tutup Bulan Ini" tidak muncul / bilang "belum bisa dipakai" untuk proyek saya? A: Ada beberapa kemungkinan, dicek berurutan oleh sistem:

  1. Proyek belum punya kontrak pelanggan sama sekali.
  2. Kontrak sudah ada tapi masih berstatus Draft — klik Aktifkan Kontrak dulu di halaman detail proyek.
  3. Kontrak memakai pengakuan Point-in-time, bukan Over-time — Point-in-time memang tidak pakai proses bulanan, pendapatan diakui langsung saat pekerjaan selesai/serah terima.
  4. Kontrak sudah Over-time dan aktif, tapi belum ada estimasi total biaya proyek — buat dulu lewat form yang muncul di halaman Tutup Bulan Ini.
  5. Proyek punya lebih dari satu kontrak aktif sekaligus — sistem tidak tahu kontrak mana yang harus dipakai, hubungi admin untuk menyelesaikan kontrak mana yang berlaku.

Q: Kenapa "Serah Terima Unit" di Development Property diblokir? A: Ada biaya bersama (tanah/infrastruktur/perizinan) yang baru dicatat SETELAH terakhir kali "Hitung Ulang Alokasi Biaya" dijalankan, dan jumlahnya cukup besar (di atas ambang batas materialitas yang diatur admin) sehingga bisa membuat biaya per unit jadi tidak akurat. Jalankan "Hitung Ulang Alokasi Biaya" dulu di halaman Development Property, baru coba serah terima lagi.

Q: Apa bedanya "Reklasifikasi ke tak bersyarat" dengan "Sudah dibayar tunai" di Retensi? A: Reklasifikasi hanya mengubah STATUS pencatatan (dari bersyarat jadi tidak bersyarat) tanpa uang berpindah — misalnya masa pemeliharaan sudah selesai tapi uangnya belum benar-benar ditransfer. "Sudah dibayar tunai" mencatat uang itu benar-benar sudah masuk/keluar. Keduanya bisa dicentang bersamaan kalau retensi langsung dibayar begitu syaratnya selesai.

Q: Kalau saya salah pilih Over-time padahal harusnya Point-in-time (atau sebaliknya), bisa diubah? A: Bisa, lewat tombol "Ubah Metode Pengakuan" di halaman detail proyek/kontrak — TAPI hanya selama proyek belum pernah menjalani proses "Tutup Bulan Ini" sama sekali (draft maupun yang sudah selesai). Kalau sudah pernah, sistem akan menolak dan minta hubungi support, karena mengubah cara pengakuan pendapatan setelah proses berjalan berdampak ke laporan yang sudah dihasilkan. Pindah ke Over-time pada kontrak yang sudah aktif juga wajib konfirmasi tambahan bahwa proyek itu belum pernah ditagih sama sekali.

Q: Kenapa saran Prince di Tutup Bulan Ini kadang meleset dari kondisi lapangan sebenarnya? A: Saran Prince murni dihitung dari total biaya yang SUDAH tercatat di sistem dibagi estimasi total biaya proyek — bukan dari pengukuran fisik. Kalau ada material yang sudah dibeli tapi belum dipakai, atau tagihan vendor yang belum masuk ke sistem, angka saran bisa lebih tinggi atau lebih rendah dari progress sebenarnya. Selalu cek dengan kondisi lapangan sebelum konfirmasi — atau klik "Saya isi manual" untuk mengabaikan saran sepenuhnya.

Q: Apakah "Kirim untuk Ditinjau" langsung mengubah laporan laba rugi? A: Belum. Setelah dikirim, progress dan angka pengakuan pendapatan dikunci menunggu disetujui peninjau. Baru setelah disetujui dan diposting oleh peninjau, pendapatan bulan itu masuk ke laporan laba rugi.

Q: Apa isi "Mode Akuntan" di pojok kanan atas Tutup Bulan Ini? A: Mode Akuntan sudah bisa diklik — menampilkan klasifikasi PSAK, riwayat pengakuan pendapatan per bulan, preview jurnal untuk setiap proses yang sudah selesai, dan status retensi (istilah teknis + istilah biasa berdampingan). Cocok untuk yang butuh cek detail akuntansi; worksheet di layar utama tetap cukup untuk menjalankan proses bulanan sehari-hari.

Q: Siapa yang bisa menyetujui dan memposting pengakuan pendapatan bulanan, dan di mana tombolnya? A: Buka Mode Akuntan (dari halaman Tutup Bulan Ini) → tabel "Riwayat Pengakuan Pendapatan" → kolom "Aksi" paling kanan. Untuk baris berstatus "Menunggu Review", akan muncul tombol Setujui dan Tolak. Tolak mengembalikan proses ke status Draf supaya angka bisa dihitung ulang. Setelah disetujui, baris berubah jadi "Disetujui" dan muncul tombol Post (berwarna merah) — klik ini untuk memposting jurnal ke pembukuan. Peringatan: Post TIDAK BISA dibatalkan, jadi sistem meminta konfirmasi eksplisit sebelum jalan. Hanya pengguna dengan hak akses "Pengakuan Pendapatan → Setujui"/"...→ Post" (biasanya Akuntan, Owner, atau Admin) yang melihat tombol-tombol ini — kalau tidak muncul sama sekali di baris manapun, berarti akun Anda belum diberi hak akses tersebut, hubungi Owner/Admin perusahaan Anda.

Q: Bagaimana cara menagih customer setelah pengakuan pendapatan bulanan diposting? A: Buka Mode Akuntan (dari Tutup Bulan Ini) → di tabel "Riwayat Pengakuan Pendapatan", setiap baris yang sudah berstatus POSTED punya tombol "Buat Faktur" di kolom Faktur. Klik tombol itu untuk membuka form Faktur Penjualan biasa yang sudah terisi otomatis (pelanggan, satu baris jasa senilai pendapatan yang diakui periode itu, keterangan periode) — Anda tetap harus konfirmasi jumlahnya (centang "jumlah ini sama dengan pengakuan", atau ubah manual kalau berbeda) sebelum bisa menyimpan. Kalau faktur untuk periode itu sudah pernah dibuat sebelumnya, tombolnya berubah jadi "Lihat Faktur" dan langsung membuka faktur yang sudah ada — sistem tidak akan membuat faktur dobel diam-diam. Fitur ini hanya tersedia untuk proses pengakuan bulanan biasa (PERIODIC), bukan untuk proses koreksi (ADJUSTMENT) — faktur koreksi tetap dibuat manual. Belum ada penjadwalan tagihan otomatis (termin DP/progress/pelunasan) — setiap faktur tetap dibuat satu per satu, sengaja begitu supaya user tetap yang memutuskan.

Apakah artikel ini membantu?

Artikel Terkait / Related Articles

Mulai di Sini

Dashboard

2026-10-29
Mulai di Sini

Perusahaan / Company Management

2026-07-12
Mulai di Sini

Pengaturan / Settings

2026-09-10

Selanjutnya

Dashboard

Isi Artikel

  • Ringkasan / Overview
  • Untuk Siapa Fitur Ini / Who This Is For
  • Cara Mulai: Segmen → Proyek → Kontrak / Getting Started: Segment → Project → Contract
  • Point-in-Time vs Over-Time — Mana yang Harus Dipilih? / Which One to Pick?
  • Cara Kerja Tutup Bulan Ini / How "Tutup Bulan Ini" Works
  • Cara Kerja Development Property / How Property Development Works
  • Cara Kerja Retensi / How Retention Works
  • FAQ
  • Changelog
© 2026 FirstJournal — PT First Principle Systems
BantuanKontak