Kemarin gw ketemu founder startup yang baru selesai launch produknya. Senyum lebar, tapi mata dia sayu. Kenapa? Project dev kemarin boncos Rp15 juta karena client minta fitur tambahan lewat WA setiap malam. Gw tanya, "Ada kontrak gak?" Dia ngaret. "Ya kan udah saling percaya."
Percaya itu bagus, tapi margin lo gak makan kepercayaan. Margin lo makan kejelasan. Sebagai founder atau PM, lo pasti udah liat pola ini berkali-kali. Client oke di awal, trus detailnya makin ribet, trus deadline mepet, trus budget bocor. Seringkali masalahnya bukan di eksekusi tim lo, tapi di dokumen yang lo tandatangani sebelum start.
Lo gak butuh hukum adat atau law firm seribu triliun buat nulis ini. Lo butuh kontrak project agency yang simpel, dibaca CEO client dalam 5 menit, dan dipahami tim lo sebagai aturan main. Tiap clause ini dirancang buat proteksi margin, bukan buat cari gara-gara. Jadi, siapin kopi, mari kita bedah.
1. Batasan Revisi: Anti "Dikit-Dikit Aja"
Ini clause paling sering disepelekin dan paling ngebunuh profit. Banyak tim mager nulis ini karena takut client ilfeel, tapi bayangin: project UI Design 20 jam. Client revisi layout 5 kali karena "terasa kurang pop". Tanpa batasan, lo dipaksa bayangin waktu 20 jam jadi 50 jam. Profit lo melayang cuma karena definisi "koreksi kecil" yang beda antara lo dan client.
Cara nulisnya: Masukin klausul "Revision Rounds" yang eksplisit. Contoh: "Termasuk dalam harga adalah 3x putaran revisi pada deliverable final. Revisi lebih dari 3x akan dikenakan biaya tambahan sebesar RpX per jam atau paket revisi fix senilai RpY."
Gak usah kasih ruang interpretasi soal apa itu "revisi". Bedain mana koreksi typo (gratis) dan mana perubahan struktur (bayar). Di SatuTim, kita biasakan tim nge-lock versi final di Brief discussion sebelum masuk fase produksi, jadi revisi gak naik daun karena ekspektasi sudah disepakati duluan.
2. Legal Scope Management: Nggak Ada Lagi WA Palsu
Scope creep itu hama pelan-pelan. Biasanya dimulai dari WA client jam 7 malam: "Btw, kayaknya jadi tambahin fitur export PDF aja dong, kan gampang banget?" PM lo yang baik hati jawab: "Oke deh, nanti kita kerjain."
Satu minggu kemudian, project delay 5 hari dan team dev stress berat. Dan client masih mikin itu termasuk freebie. Nah, di sini fungsi legal scope management. Lo butuh mekanisme resmi buat menangani perubahan scope, bukan negosiasi via chat yang hasilnya abu-abu.
Cara nulisnya: Pasal "Change Request Protocol". Tulis bahwa setiap permintaan addition feature atau perubahan besar WAJIB diajukan secara tertulis (email/formal ticket). Tim lo wajib hitung dampak terhadap timeline dan cost, kirimkan Quotation Perubahan, barulah eksekusi dimulai.
Kalimat ajaib ini: "Tanpa persetujuan Quotation Perubahan tertulis, tim tidak akan mengeksekusi penambahan scope tersebut." Client kadang protes, "Emangnya susah banget sih request?" Jawab dengan sopan: "Iya kak, makanya dibuat formalnya biar gak ngeblock jadwal dev kita yang udah padat."
3. Payment Terms: Cashflow Adalah Oksigen
Gw pribadi gak setuju sama praktik kerja 100% dulu baru invoicing. Itu bukan profesionalisme, itu judi. Lo lagi nunjukin modal ke client dengan risiko tinggi. Kontrak yang sehat harus memastikan lo terbayar progresif sesuai kerjaan.
Cara nulisnya: Gunakan skema milestone. Minimal 50% DP sebelum kickoff. Sisanya pecah di midpoint dan final delivery. Tambahin juga clause late payment. "Pembayaran telat lebih dari 7 hari akan dikenakan denda keterlambatan 2% per minggu."
Angka 2% itu seringkali cuma ancaman psikologis. Tapi keberanian lo menuliskan ini nandain gaya lo sebagai partner bisnis, bukan vendor gratisan. Pernah gw liat kasus client retail yang selalu telat bayar 3-4 minggu. Karena ada clause ini, admin finance mereka otomatis push approval pembayaran demi menghindari denda. Efektif?
4. Hak Kepemilikan Aset: Bayar Dulu, Dapat File Dulu
Kesalahan klasik: client minta source file, master Figma, atau akses repo GitLab sebelum invoice terakhir lunas. Trus tiba-tiba budget kering, atau client ngeles mau nego diskon 20%. Sekarang lo stuck. Nyerahin file berarti kehilangan leverage terakhir. Simpan file berarti bikin klien frustrasi.
Cara nulisnya: Klaim "Transfer of IP upon Full Settlement". Tulis tegas: "Seluruh hak cipta, source code, dan aset desain final hanya akan ditransfer kepada client setelah seluruh pembayaran tagihan diterima lunas. Selama status pembayaran belum lunas, agency memegang lisensi penggunaan sementara untuk keperluan review dan presentasi."
Jangan kasih password admin ke Figma/Gitlab kalau status pembayaran masih Pending. Gak ada alasan etis untuk handover aset final ketika client belum menyelesaikan kewajibannya. Ini prinsip dasar transaksi B2B.
5. Termination Clause: Jalan Keluar Jendela
Projek bisa berantakan. Bisa karena client tutup kantor, bisa karena internal reorg, atau karena toxicity yang bikin semua orang burnout. Kadang, stopping loss itu keputusan paling cerdas dibanding nerusin project maut yang bakal nguras resource lo selama 3 bulan.
Tanpa termination clause, kalau project berhenti di tengah jalan, lo bisa aja nangkring nunggu tagihan padahal deliverable baru 60%.
Cara nulisnya: Pasal "Termination for Convenience & Cause". Tentukan notice period (misal 14 hari kerja). Yang paling penting: tentukan "Kill Fee". Rule-nya: client wajib membayar seluruh work done hingga tanggal terminasi ditambah kompensasi overhead sebesar 20% dari sisa nilai kontrak.
Dengan ini, kalau client mutusin project di minggu ke-8, lo dapat compensation fair buat waktu yang udah lo lock. Gw sendiri pernah apply clause ini saat dealing sama client yang mendadak freeze budget. Hasilnya? Kami dapat cover time 2 bulan sebelumnya dan release dev team buat project lain. Syukur banget.
6. Batasan Tanggung Jawab (Limitation of Liability)
Kita bukan asuransi. Kita agency yang deliver product berdasarkan spesifikasi. Kalau website down karena server host mati listrik, atau ada bug minor yang gak fatal, apakah lo mau bertanggung jawab atas klaim kehilangan omzet client?
Client kadang naksir kerugian mereka jauh melebihi nilai project lo. "Website lo down 2 jam, omzet kami rugi 50 juta! Bayar!"
Cara nulisnya: Masukkan Limitation of Liability. Batasi liability maksimal lo sama nilai total project atau premi asuransi professional indemnity. Eksklusi consequential damages seperti kehilangan profit, data, atau reputation.
Contohnya: "Tanggung jawab tertinggi agency tidak akan melebihi nilai total contract value. Agency tidak bertanggung jawab atas indirect, incidental, atau consequential damages termasuk penurunan pendapatan client."
Clauses ini bikin lo tidur nyenyak karena lo tahu risiko finansial maksimal lo udah di-capping. Jangan ambil risiko unlimited.
7. Penyelesaian Sengketa: Mediasi Dahulu
Kalau emang terjadi perselisihan, jangan biarkan eskalasinya ke tahap gugatan yang bisa menarik-ulur taunan dan membakar budget lo buat advokat. Tujuannya kontrak bukan buat berperang, tapi buat maintain business relationship semaksimal mungkin atau breakup yang damai.
Cara nulisnya: Buat jalur dispute resolution bertingkat. Pertama, negosiasi internal antar-director/owner selama 7 hari. Jika gagal, lanjut ke mediasi oleh pihak ketiga netral yang punya expertise industri kreatif/digital. Baru jika mediasi gagal, arahkan ke arbitrase atau pengadilan setempat.
Biaya mediasi biasanya jauh lebih murah dan cepat. Plus, atmosfernya masih civil. Gw prefer cara ini karena seringkali masalah muncul karena komunikasi yang buruk, bukan niat jahat. Mediasi bisa ngobatin miskomunikasi tanpa menghancurkan hubungan jangka panjang.
Kesimpulan Praktis
Dari 7 clause di atas, intinya satu: Kejelasan menyelamatkan margin. Lo gak perlu jadi ahli hukum buat nulis ini. Cukup pahami logic bisnis lo dan tuliskan batasan-batasan yang sering bikin tim lo stres.
Tips gw: Jangan kirim kontrak project agency dalam format Word yang kosong. Isi dulu placeholder-nya, lalu review bareng tim lo. Pastikan PM lo baca bagian scope dan revisi, pastikan dev lead paham bagian IP. Kalau perlu, pakai tool manajemen seperti SatuTim Discussion buat ngedraft ulang poin-poin kontrak ini bersama client sebelum deal, biar mereka merasa dihargai dan gak kaget pas tanda tangan.
Coba minggu ini: Cek kontrak aktif lo atau draft proposal lo selanjutnya. Apakah udah ada batasan revisi yang jelas? Kalau belum, ubah sekarang sebelum lo mulai pengerjaan. Gak ada salahnya ninggingin pagar sebelum tanam pohon.
Kalau lo punya pengalaman pahit soal klien yang nekat ngelewatin batas tanpa perjanjian yang kuat, komen di bawah. Kasus apa yang paling ngeselin yang pernah lo alami?