Pak Wijaya, Direktur Utama PT Bangun Cipta Konstruksi, sedang mempresentasikan proyeksi pendapatan tahunan ke Dewan Komisaris pada awal 2025. Perusahaannya baru saja menandatangani kontrak tiga tahun untuk membangun gedung perkantoran di Senayan dengan nilai Rp 12 miliar, plus bonus maksimum Rp 500 juta jika selesai sebelum Desember 2027. Pertanyaan yang dilontarkan Komisaris tajam: “Berapa rupiah yang harus kami catat sebagai pendapatan tahun ini, tahun depan, dan tahun berikutnya? Dan apakah bonus Rp 500 juta boleh langsung kami catat sekarang?”

Pak Wijaya tertegun. Di era PSAK lama (PSAK 23), jawabannya relatif sederhana: gunakan metode percentage of completion yang sudah dipakai puluhan tahun. Tetapi sejak 1 Januari 2020, Indonesia memberlakukan PSAK 72 — Pernyataan Standar Akuntansi Keuangan untuk Pengakuan Pendapatan dari Kontrak dengan Pelanggan — yang setara persis dengan IFRS 15 global. PSAK 72 mengubah cara berpikir mendasar: pendapatan tidak lagi diakui berdasarkan “proses penyelesaian” semata, melainkan berdasarkan transfer kontrol kepada pelanggan, melalui kerangka tunggal 5 langkah yang berlaku untuk semua industri — konstruksi, software, manufaktur, telekomunikasi, bahkan real estat.

Artikel ini menerapkan model 5 langkah PSAK 72 dari nol pada tiga kontrak yang sangat berbeda — kontrak konstruksi multi-tahun, langganan SaaS dengan pembayaran deferred, dan jual-beli produk dengan warranty — agar Anda melihat bagaimana satu kerangka yang sama menyelesaikan tiga skenario bisnis yang berbeda. Setiap angka ditelusuri ke workbook Excel pendamping /excel/psak-72-template.xlsx, yang berisi formula hidup: ubah probabilitas bonus, tarif diskonto, atau harga bundle, dan seluruh jadwal pengakuan pendapatan menghitung ulang otomatis.

PSAK 72 dalam Sekejap: Mengapa Standar Ini Berbeda

Sebelum menyelam ke 5 langkah, mari pahami mengapa PSAK 72 lahir. Sebelum 2020, Indonesia punya empat standar pendapatan paralel: PSAK 23 (pendapatan umum), PSAK 34 (kontrak konstruksi), PSAK 36 (real estat), dan ISAK 23 (layanan pelanggan). Akibatnya, dua perusahaan dengan model bisnis serupa bisa mencatat pendapatan secara berbeda hanya karena standar yang berbeda — merusak komparabilitas laporan keuangan.

PSAK 72 mengganti keempatnya dengan satu model unifikasi. Inti filosofisnya: pendapatan diakui saat entitas memenuhi kewajiban pelaksanaan (performance obligation) dengan mentransfer kontrol barang/jasa yang dijanjikan kepada pelanggan. “Kontrol” di sini berarti pelanggan sudah punya kemampuan untuk mengarahkan penggunaan dan memperoleh manfaat dari aset tersebut — bukan sekadar “barang sudah dikirim” atau “jasa sudah dimulai”.

Catatan terminologi. PSAK 72 memakai kosakata baru: performance obligation (PO) = janji untuk transfer barang/jasa distinct; transaction price = jumlah consideration yang entitas harap terima; standalone selling price (SSP) = harga jual terpisah suatu PO. Singkatan-singkatan ini akan muncul terus — biasakan.

PSAK 72 berlaku untuk hampir semua kontrak dengan pelanggan, kecuali: kontrak leasing (PSAK 73), instrumen keuangan (PSAK 71/IFRS 9), kontrak asuransi (PSAK 74), dan pertukaran non-moneter antar entitas di bidang serupa. Jika Anda bergerak di keempat bidang itu, PSAK 72 tidak berlaku.

Kerangka 5 Langkah: Peta Jalan PSAK 72

Lima langkah PSAK 72 (paragraf 14–38) adalah checklist yang harus dikerjakan berurutan untuk setiap kontrak:

  1. Identifikasi kontrak (paragraf 9–13) — pastikan 5 kriteria terpenuhi.
  2. Identifikasi kewajiban pelaksanaan (paragraf 22–30) — pisahkan janji menjadi PO yang berbeda.
  3. Tentukan harga transaksi (paragraf 47–72) — tangani variable consideration dan financing.
  4. Alokasikan harga transaksi (paragraf 73–86) — distribusikan ke setiap PO berdasarkan SSP.
  5. Akui pendapatan saat (atau saat) PO terpenuhi (paragraf 31–38) — over time atau point in time.

Sekarang mari kita jalankan checklist ini di tiga kontrak. Mulai dari kontrak konstruksi yang dialami Pak Wijaya.

Contoh 1: Kontrak Konstruksi PT Bangun Cipta — Over Time, Cost-to-Cost

Langkah 1: Identifikasi Kontrak

PSAK 72 paragraf 9 mensyaratkan lima kriteria sebelum sebuah perjanjian diakui sebagai kontrak dalam lingkup standar:

KriteriaPT Bangun CiptaStatus
(a) Persetujuan para pihakKontrak tertulis ditandatangani direktur kedua belah pihak
(b) Hak yang dapat ditegakkanHak & kewajiban enforceable di pengadilan — proyek perizinan lengkap
(c) Ketentuan pembayaran jelasTermin 20-30-30-20% mengikuti progress
(d) Substansi komersialPerubahan cash flow & risiko signifikan
(e) Probable collectionPT Properti Mandiri rated AAA

Lima kriteria terpenuhi → kontrak berada dalam lingkup PSAK 72. Bila salah satu gagal, paragraf 12 memberikan opsi menggabungkan kontrak atau memperlakukan kombinasi sebagai kontrak tunggal — tetapi tidak relevan di sini.

Langkah 2: Identifikasi Kewajiban Pelaksanaan

Pertanyaan kunci: apakah pekerjaan konstruksi bisa dipecah menjadi PO berbeda? PSAK 72 paragraf 27 menetapkan barang/jasa distinct (jadi PO terpisah) jika kedua syarat terpenuhi: (a) pelanggan dapat memperoleh manfaat sendiri, dan (b) janji itu secara terpisah identifiable dari sisa kontrak.

Untuk gedung perkantoran, kedua syarat gagal: pekerjaan terintegrasi (pondasi → struktur → dinding → MEP → finishing saling bergantung), dan pelanggan mengonsumsi seluruh paket lengkap saat serah terima. Maka seluruh kontrak adalah satu PO: “gedung perkantoran terintegrasi”.

Langkah 3: Tentukan Harga Transaksi

Harga transaksi = jumlah consideration yang entitas harap terima. Untuk PT Bangun Cipta, ada dua komponen: pertimbangan tetap dan variable consideration.

Pertimbangan tetap:

$$\text{Fixed} = \text{Rp 12.000 juta}$$

Variable consideration (paragraf 50–56). Bonus Rp 500 juta bersyarat (selesai sebelum Desember 2027). PSAK 72 menawarkan dua metode estimasi:

  • Expected value (paragraf 53) — jumlah rata-rata tertimbang dari sekelompok kemungkinan. Cocok untuk banyak variable outcomes (mis. banyak kontrak serupa).
  • Most likely amount (paragraf 54) — kemungkinan tunggal terbesar. Cocok untuk binary outcome (dapat/tidak dapat).

Karena bonus adalah binary (dapat atau tidak), logika menyarankan most likely amount. Tetapi karena kita punya data probabilitas eksplisit (60% capai, 40% tidak), expected value lebih informatif:

$$\text{VC}_{\text{EV}} = \text{Rp 500 juta} \times 0{,}60 + \text{Rp 0} \times 0{,}40 = \textbf{Rp 300 juta}$$

Constraint paragraf 56. Sebelum memasukkan VC ke harga transaksi, entitas harus yakin bahwa probabilitas signifikan tidak terjadi reversal besar di masa depan. Untuk bonus yang tinggal 3 tahun lagi dan progress proyek sudah on-track, constraint OK → gunakan Rp 300 juta penuh.

Significant financing component (paragraf 60–65). Pembayaran termin 20-30-30-20% mengikuti progress pekerjaan, dengan gap maksimum 12 bulan antara penyerahan manfaat dan penerimaan kas. Paragraf 63 mengecualikan gap singkat dari perlakuan financing component → tidak ada penyesuaian diskonto.

Harga transaksi total:

$$\text{TP} = 12.000 + 300 = \textbf{Rp 12.300 juta}$$

Langkah 4: Alokasi Harga Transaksi

Karena hanya 1 PO, seluruh Rp 12.300 juta dialokasikan ke PO “gedung perkantoran”. Langkah ini trivial untuk kontrak single-PO, tapi akan menjadi kritis di Contoh 3 (warranty bundle).

Langkah 5: Akui Pendapatan — Over Time, Cost-to-Cost

PSAK 72 paragraf 35 mendaftar tiga kriteria yang, bila salah satu terpenuhi, mengharuskan pengakuan over time (sepanjang waktu):

  • (a) Pelanggan secara simultan menerima dan mengonsumsi manfaat (contoh: layanan periodik).
  • (b) Kinerja entitas menciptakan/mengubah aset yang pelanggan kontrol (contoh: bangun di tanah pelanggan).
  • (c) Aset tidak punya penggunaan alternatif + entitas punya hak enforceable atas pembayaran untuk pekerjaan selesai.

Gedung perkantoran customized di tanah pelanggan memenuhi (c): bangunan ini tidak bisa dijual ke pihak lain (no alternative use), dan kontrak memberikan hak termin yang adil. Maka pendapatan diakui over time.

Metode pengukuran progress (paragraf B15–B19). Pilih output method (pengukuran langsung seperti unit delivered) atau input method (cost-to-cost berdasarkan biaya yang dikeluarkan). Untuk konstruksi, cost-to-cost paling lazim:

$$\%\,\text{Complete} = \frac{\text{Biaya Kumulatif Terjadi}}{\text{Estimasi Total Biaya Kontrak}}$$

Berikut data tiga tahun PT Bangun Cipta:

TahunBiaya TerjadiEstimasi Total Biaya% CompleteRevenue Kumulatif
2025Rp 3.000 jtRp 10.000 jt30,00%Rp 3.690 jt
2026Rp 4.500 jtRp 10.200 jt73,53%Rp 9.044 jt
2027Rp 2.700 jtRp 10.200 jt100,00%Rp 12.300 jt

Perhatikan dua hal penting. Pertama, estimasi total biaya berubah sepanjang proyek (dari Rp 10 miliar menjadi Rp 10,2 miliar) — ini wajar, dan PSAK 72 mengharuskan pemakaian estimasi terkini di setiap tanggal pelaporan (paragraf B14). Kedua, revenue kumulatif dihitung dengan % complete terbaru dikalikan harga transaksi tetap:

$$\text{Rev}_{\text{kumulatif}, 2025} = 30{,}00\% \times 12.300 = \text{Rp 3.690 juta}$$$$\text{Rev}_{\text{kumulatif}, 2026} = 73{,}53\% \times 12.300 = \text{Rp 9.044 juta}$$$$\text{Rev}_{\text{kumulatif}, 2027} = 100{,}00\% \times 12.300 = \text{Rp 12.300 juta}$$

Revenue per periode adalah selisih kumulatif:

TahunRevenue Periode
2025Rp 3.690 jt
2026Rp 5.354 jt (9.044 − 3.690)
2027Rp 3.256 jt (12.300 − 9.044)
TotalRp 12.300 jt

Cek konsistensi: Σ revenue = harga transaksi. ✓ Laba kotor proyek (estimasi akhir) = Rp 12.300 − Rp 10.200 = Rp 2.100 juta (margin 17,1%) — angka ini akan terus diperbarui setiap tahun seiring revisi estimasi.

Jebakan tersering di kontrak konstruksi. Jangan gunakan output method (mis. % luas lantai selesai) jika kantor proyek sebenarnya melacak biaya. PSAK 72 paragraf B17 melarang input method bila ada “asimetri” — misalnya biaya awal yang dikeluarkan tidak proporsional dengan progress aktual. Selalu pilih metode yang menggambarkan transfer kontrol secara faithful.

Contoh 2: Langganan SaaS PT Cloud Nusantara — Significant Financing Component

Pindah ke industri yang sangat berbeda. PT Cloud Nusantara menjual langganan Software as a Service (SaaS) enterprise ke PT Telco Nusantara selama 36 bulan, dengan pembayaran deferred Rp 450 juta yang baru diterima di akhir Tahun 3 (31 Desember 2027). Berikut penerapan 5 langkah.

Langkah 1 & 2: Kontrak dan PO

Lima kriteria paragraf 9 terpenuhi: MSA ditandatangani, SLA jelas, customer investment grade, substansi komersial berubah. Untuk Langkah 2: akses software enterprise selama 36 bulan adalah satu PO — pelanggan mendapat right-to-use yang dikonsumsi sepanjang waktu, distinct dari sisa kontrak (tidak ada sisa). Tidak ada PO terpisah.

Langkah 3: Harga Transaksi — Signifikansi Timing Pembayaran

Inilah perbedaan kunci dari kontrak konstruksi. Pembayaran Rp 450 juta diterima 3 tahun setelah manfaat mulai dikonsumsi. PSAK 72 paragraf 60 mensyaratkan entitas menyesuaikan harga transaksi untuk mencerminkan significant financing component — yaitu, nilai waktu dari uang.

Apakah financing component berlaku? Paragraf 63 mengecualikan beberapa situasi: gap kurang dari 12 bulan, atau alasan timing pembayaran bukan untuk pembiayaan (mis. retensi untuk kualitas). Gap 3 tahun di kontrak SaaS ini jelas signifikan → financing component berlaku.

Menghitung diskonto (paragraf 64). Harga transaksi = present value (PV) dari consideration yang akan diterima. Dengan tarif diskonto 8% per tahun (cost of capital PT Cloud Nusantara) dan jangka 3 tahun:

$$\text{PV} = \frac{\text{Nominal}}{(1 + r)^n} = \frac{450}{(1{,}08)^3} = \frac{450}{1{,}2597} = \textbf{Rp 357,22 juta}$$

Komponen pendanaan (selisih nominal − PV):

$$\text{Financing} = 450 - 357{,}22 = \textbf{Rp 92,78 juta}$$

Harga transaksi (= revenue yang akan diakui PSAK 72, tidak termasuk financing — paragraf 66):

$$\boxed{\text{Harga Transaksi} = \text{Rp 357,22 juta}}$$

Komponen pendanaan Rp 92,78 juta bukan revenue — ia diakui sebagai pendapatan bunga di bawah PSAK 71 (instrumen keuangan), selama 3 tahun dengan metode bunga efektif.

Langkah 4: Alokasi

Satu PO → seluruh Rp 357,22 juta dialokasikan ke PO “akses SaaS”.

Langkah 5: Akui Pendapatan — Over Time, Ratable

Kriteria paragraf 35(a): pelanggan secara simultan menerima dan mengonsumsi manfaat SaaS setiap bulan. Maka over time dengan output method — revenue diratabilisasi straight-line sepanjang 36 bulan:

$$\text{Revenue per bulan} = \frac{357{,}22}{36} = \textbf{Rp 9,92 juta}$$$$\text{Revenue per tahun} = 9{,}92 \times 12 = \textbf{Rp 119,07 juta}$$

Jadwal tiga tahun:

TahunRevenue PeriodeRevenue KumulatifContract Asset Akhir
2025Rp 119,07 jtRp 119,07 jtRp 119,07 jt
2026Rp 119,07 jtRp 238,15 jtRp 238,15 jt
2027Rp 119,07 jtRp 357,22 jtRp 357,22 jt

“Contract asset” tumbuh karena revenue diakui sebelum kas diterima. Di akhir 2027, kas Rp 450 juta masuk dan contract asset berubah menjadi kas. Σ revenue = Rp 357,22 juta ✓

Komponen Pendanaan: Jadwal Bunga Efektif

Selain revenue PSAK 72, PT Cloud Nusantara mengakui pendapatan bunga (PSAK 71) atas komponen pendanaan. Receivable tumbuh dari PV (Rp 357,22 jt) menjadi Nominal (Rp 450 jt) lewat metode bunga efektif:

TahunReceivable AwalBunga (8% × Awal)Receivable Akhir
2025Rp 357,22 jtRp 28,58 jtRp 385,80 jt
2026Rp 385,80 jtRp 30,86 jtRp 416,67 jt
2027Rp 416,67 jtRp 33,33 jtRp 450,00 jt
Total bungaRp 92,78 jtTIE ke nominal

Cek konsistensi ganda: (1) Σ revenue PSAK 72 = Rp 357,22 jt = harga transaksi; (2) Σ bunga PSAK 71 = Rp 92,78 jt = komponen pendanaan; (3) receivable akhir Tahun 3 = Rp 450 jt = nominal kontrak. Tiga angka ini harus selalu konsisten.

Apa bedanya cash-up-front vs deferred? Bila kas Rp 450 juta diterima di awal (1 Jan 2025) dan manfaat dikonsumsi selama 3 tahun, entitas memberikan pembiayaan ke pelanggan. PV tetap Rp 357,22 jt sebagai revenue, dan Rp 92,78 jt diakui sebagai beban bunga (bukan pendapatan bunga) — contract liability turun seiring revenue naik. Arah komponen pendanaan tergantung siapa yang membiayai siapa, tetapi besaran PV sama.

Contoh 3: Jual-Beli Mesin Cuci + Warranty PT Elektronik Jaya — Dua PO

Kasus terakhir menguji Langkah 2 (identifikasi PO) dan Langkah 4 (alokasi). PT Elektronik Jaya menjual mesin cuci seharga Rp 5 juta bundel dengan warranty 2 tahun, dengan SSP terpisah mesin cuci Rp 5 juta dan warranty Rp 0,5 juta. Pelanggan membayar Rp 5 juta tunai saat pengiriman.

Langkah 1 & 2: Kontrak dan Dua PO

Lima kriteria paragraf 9 terpenuhi (kontrak tertulis via faktur PPN, garansi enforceable, pembayaran tunai, substansi komersial, collection pasti). Yang menarik: kontrak ini berisi dua PO:

  • PO 1: Mesin cuci (produk) — distinct (paragraf 27): pelanggan manfaat sendiri, identifiable dari warranty.
  • PO 2: Warranty 2 tahun (jasa) — perlu diuji apakah assurance-type atau service-type (paragraf B30–B33).

Tes assurance vs service. Bila warranty hanya melindungi dari kerusakan yang sudah ada saat pengiriman (defect manufacturing), itu adalah assurance-typebukan PO terpisah, biayanya diestimasi dan dibebankan saat produk diakui (sama seperti PSAK lama). Tetapi bila warranty memberikan layanan tambahan di luar jaminan mendasar (mis. service visits rutin, cleaning, kalibrasi), ia adalah service-typePO terpisah yang diakui over time.

Kontrak PT Elektronik Jaya termasuk service visits rutin → PO 2 terpisah. Total dua PO.

Langkah 3: Harga Transaksi

  • Fixed: Rp 5 juta (harga bundle).
  • Variable consideration: tidak ada.
  • Significant financing: tunai on delivery, tidak ada gap.
$$\text{TP} = \textbf{Rp 5 juta}$$

Langkah 4: Alokasi Berdasarkan SSP

Karena ada 2 PO, alokasikan harga transaksi proporsional terhadap SSP masing-masing (paragraf 74). Total SSP = Rp 5,0 + Rp 0,5 = Rp 5,5 juta.

$$\text{Bobot PO 1} = \frac{5{,}0}{5{,}5} = 90{,}91\%$$$$\text{Bobot PO 2} = \frac{0{,}5}{5{,}5} = 9{,}09\%$$$$\text{Alokasi PO 1} = 90{,}91\% \times 5 = \textbf{Rp 4,5455 juta}$$$$\text{Alokasi PO 2} = 9{,}09\% \times 5 = \textbf{Rp 0,4545 juta}$$

Σ alokasi = Rp 5 juta = harga transaksi ✓

Bagaimana bila SSP tidak observable? PSAK 72 paragraf 78–80 menawarkan dua pendekatan estimasi: (1) adjusted market assessment — lihat harga yang ditawarkan pelanggan serupa di pasar; (2) expected cost plus margin — estimasi biaya + markup wajar. Untuk warranty yang sering tidak dijual terpisah, metode expected cost plus margin paling lazim.

Langkah 5: Pengakuan dengan Pola Berbeda per PO

PO 1 (mesin cuci) — point in time. Kontrol beralih ke pelanggan saat pengiriman (paragraf 38 indikator (b): pelanggan punya asset + menerima risiko/manfaat). Maka Rp 4,5455 juta diakui sekaligus di Tahun 1 (saat pengiriman).

PO 2 (warranty) — over time. Pelanggan mengonsumsi layanan warranty sepanjang 24 bulan → kriteria paragraf 35(a) terpenuhi. Revenue diratabilisasi straight-line:

$$\text{Revenue warranty per bulan} = \frac{0{,}4545}{24} = \text{Rp 0,0189 juta}$$$$\text{Revenue warranty per tahun} = 0{,}0189 \times 12 = \textbf{Rp 0,2273 juta}$$

Konsolidasi revenue per tahun:

TahunPO 1 (Produk)PO 2 (Warranty)Total
2025Rp 4,5455 jtRp 0,2273 jtRp 4,7727 jt
2026Rp 0 jtRp 0,2273 jtRp 0,2273 jt
TotalRp 4,5455 jtRp 0,4545 jtRp 5,0000 jt

Σ total revenue = Rp 5 juta = harga transaksi ✓ Yang menarik: meskipun kas Rp 5 juta masuk sekaligus di Tahun 1, 95,5% diakui di Tahun 1 dan sisanya 4,5% diratabilisasi ke Tahun 2. Selisih Rp 0,2273 juta di neraca Tahun 1 muncul sebagai contract liability (pendapatan diterima di muka).

Tabel Komparasi: Tiga Kontrak, Satu Kerangka

Berikut ringkasan penerapan 5 langkah di ketiga kontrak. Inilah inti pesan PSAK 72: satu kerangka, semua industri.

AspekKonstruksiSaaSWarranty Bundle
Jumlah PO112
Variable considerationYa (EV Rp 300 jt)TidakTidak
Financing componentTidakYa (Rp 92,78 jt)Tidak
Harga transaksiRp 12.300 jtRp 357,22 jtRp 5 jt
Pola pengakuanOver timeOver timePoint in time + Over time
MetodeCost-to-costRatable 36 blnProduk sekaligus + warranty 24 bln
Standar sekunderPSAK 71 (bunga)

Tiga kontrak dengan kompleksitas dan industri yang sangat berbeda, semuanya diselesaikan dengan checklist 5 langkah yang sama. Inilah unifikasi yang dibawa PSAK 72.

Catatan Excel: Workbook 5-Sheet dengan Formula Hidup

Berkas pendamping /excel/psak-72-template.xlsx menerapkan model 5 langkah untuk ketiga kontrak dengan formula hidup. Setiap sheet menelusuri satu kontrak end-to-end, dari Langkah 1 sampai Langkah 5.

Struktur workbook — 5 sheet:

  1. PETUNJUK — kerangka 5 langkah, struktur workbook, legenda warna, referensi standar.
  2. KONSTRUKSI — PT Bangun Cipta. 5 kriteria kontrak diuji dengan =IF(COUNTIF(...,"YA")=5,"✓ KONTRAK",...). Variable consideration pakai =bonus_max*probabilitas. Jadwal cost-to-cost: % Complete = SUM(biaya_kumulatif)/estimasi_terkini, dengan revenue kumulatif =%*harga_transaksi. Cek: =IF(ABS(Σ_revenue - TP)<0.5,"✓ SAMA","✗ SELISIH").
  3. SAAS — PT Cloud Nusantara. PV pakai =nominal/(1+r)^n (paragraf 64). Revenue per tahun =PV/36*12. Jadwal bunga efektif: =receivable_awal*r per tahun, dengan cek =IF(ABS(receivable_akhir_T3 - nominal)<0.5,"✓ TIE ke Nominal",...).
  4. WARRANTY — PT Elektronik Jaya. Sheet terkaya: 2 PO, alokasi SSP =SSP_i/Σ_SSP * TP, dua pola pengakuan (point in time untuk PO 1, ratable 24 bulan untuk PO 2), konsolidasi revenue per tahun dengan cek =IF(ABS(total - TP)<0.005,"✓ SAMA","✗ SELISIH").
  5. RINGKASAN_CEK — konsolidasi 3 kontrak + parameter kunci + metode pengakuan per kontrak. Cek silang: =IF(ABS(Σ_TP - Σ_revenue)<0.5,"✓ SAMA","✗ SELISIH").

Formula hidup yang dapat diubah untuk what-if analysis:

  • Konstruksi: ubah probabilitas bonus dari 60% ke 30% → variable consideration dan seluruh jadwal revenue menghitung ulang. Atau ubah estimasi total biaya Tahun 2026 dari Rp 10.200 jt ke Rp 11.000 jt → % complete Tahun 2026 turun, revenue periode 2026 turun, revenue 2027 naik (catch-up).
  • SaaS: ubah tarif diskonto dari 8% ke 12% → PV turun (Rp 320,2 jt), financing component naik (Rp 129,8 jt), revenue per tahun turun, tetapi total bunga naik. Eksperimen menarik untuk melihat sensitivitas terhadap suku bunga.
  • Warranty: ubah SSP warranty dari Rp 0,5 jt ke Rp 1,0 jt → bobot PO 2 naik dari 9,09% ke 16,67%, alokasi PO 2 naik dari Rp 0,4545 jt ke Rp 0,8333 jt, revenue Tahun 2 (warranty only) naik dari Rp 0,2273 jt ke Rp 0,4167 jt.

Jebakan tersering di Excel:

  1. Salah menggunakan ^ di openpyxl. Excel menulis pangka sebagai ^ (caret), dan openpyxl menerjemahkan string formula apa pun yang dimulai dengan = sebagai formula. Pastikan operator lain (kurung, plus, kali) konsisten — gunakan /(1+C27)^C28 bukan /power(1+C27,C28) agar mudah diaudit.
  2. Lupa mengunci sel alokasi dengan $. Bila jadwal cost-to-cost merujuk ke sel alokasi (C35), gunakan C$35 agar referensi tidak geser saat formula disalin. Tanpa $, semua baris tahun akan mengacu ke baris berbeda dan hasilnya kacau.
  3. Mencampur format mata uang. Konstruksi menyimpan nilai dalam Rp juta ("Rp"#,##0,," juta" — tanda ,, mengecilkan 1 juta kali), SaaS dengan dua desimal (#,##0.00 karena PV menghasilkan pecahan), warranty dengan dua desimal karena Rp juta unit terlalu kasar untuk angka kecil. Pilih format yang sesuai per sheet.
  4. Tidak menguji receivable ke nominal di SaaS. Bila total bunga efektif tidak sama dengan financing component, receivable akhir Tahun 3 tidak akan tie ke nominal Rp 450 jt — sinyal tarif diskonto salah atau formula bunga efektif rusak.

📎 Unduh workbook Excel companion: /excel/psak-72-template.xlsx — 5 sheet saling terhubung: PETUNJUK → KONSTRUKSI → SAAS → WARRANTY → RINGKASAN_CEK. Setiap sheet menerapkan 5 langkah PSAK 72 end-to-end untuk satu kontrak nyata. Semua sel perhitungan memakai formula hidup; format mengikuti konvensi stdsquare (biru = input, hitam = formula, hijau = section, kuning = total). Ubah satu angka input — probabilitas bonus, tarif diskonto, atau SSP warranty — dan seluruh jadwal pengakuan pendapatan menghitung ulang otomatis.

Konsep Lanjutan: Variable Consideration dan Constraint

Variable consideration adalah salah satu area yang paling sering disalahpahami. PSAK 72 paragraf 50–51 mendaftar beberapa sumber: diskon, rabat, refund, kredit, insentif, bonus performa, dan penalti. Aturan main:

1. Estimasi wajib. Entitas harus mengestimasi variable consideration di setiap tanggal pelaporan — tidak boleh ditunda sampai “pasti”. Pendekatan: expected value untuk banyak outcomes (probabilitas tertimbang), most likely amount untuk binary outcome.

2. Constraint paragraf 56. Estimasi hanya dimasukkan ke harga transaksi bila probabilitas signifikan tidak akan terjadi reversal besar saat uncertainty diselesaikan. Faktor yang dipertimbangkan: (a) pengaruh di luar kontrol entitas, (b) sensitivitas terhadap faktor di luar pengaruh entitas, (c) pengalaman entitas dengan jenis kontrak serupa, (d) praktik industri.

Contoh: bonus Rp 500 juta dengan probabilitas 60%, constraint dipenuhi → masukkan Rp 300 juta. Tetapi bila probabilitas hanya 20% dan reversal berdampak besar, entitas mungkin hanya boleh memasukkan Rp 0 atau sebagian. Constraint adalah safety valve anti-agresif.

3. Re-estimasi setiap pelaporan. Bila di Tahun 2026 proyek sudah pasti terlambat (tidak akan dapat bonus), VC harus di-remeasure ke Rp 0. Perubahan VC diakui sebagai adjustment kumulatif catch-up di laba rugi periode perubahan (bukan retrospectively).

Konsep Lanjutan: Significant Financing Component

PSAK 72 paragraf 60–65 mengakui bahwa timing pembayaran kadang berfungsi sebagai pembiayaan — entitas atau pelanggan memberi/kas menerima kas lebih awal atau lebih lambat dari transfer manfaat. Aturannya:

Kapan berlaku: Selisih timing signifikan (umumnya > 12 bulan) dan jumlah consideration material. PSAK 72 tidak menetapkan threshold numerik — entitas menerapkan judgement.

Kapan dikecualikan (paragraf 63):

  • Pelanggan membayar retensi untuk alasan kualitas/warranty (bukan pembiayaan).
  • Amount consideration variabel dan nilainya berfluktuasi karena faktor di luar kontrol (mis. indeks harga).
  • Gap kurang dari 12 bulan (safe harbor praktis).

Arah diskonto: Bila pelanggan membayar di awal (kas masuk sebelum manfaat diserahkan), entitas “meminjam” dari pelanggan → ada beban bunga. Bila pelanggan membayar di akhir (kas masuk setelah manfaat diserahkan), entitas “meminjamkan” ke pelanggan → ada pendapatan bunga. Contoh SaaS PT Cloud Nusantara termasuk kategori kedua.

Tarif diskonto (paragraf 64): Pakai tarif yang mencerminkan kredit pelanggan (bukan kredit entitas) — yaitu suku bunga yang akan dikenakan ke pelanggan jika membiayai pembelian secara terpisah. Untuk pelanggan investment grade, tarif lebih rendah; untuk pelanggan high-risk, tarif lebih tinggi.

Konsep Lanjutan: Cost-to-Cost dan Catch-Up

Kontrak konstruksi mengandung risiko khusus: estimasi biaya berubah sepanjang proyek. PSAK 72 paragraf B14 mengharuskan entitas menggunakan estimasi terkini di setiap tanggal pelaporan, dengan dua konsekuensi:

Catch-up adjustment. Bila Tahun 2025 mencatat Rp 3.690 jt (30% × Rp 12.300 jt) dan di Tahun 2026 estimasi total biaya direvisi dari Rp 10 miliar ke Rp 11 miliar, % complete kumulatif Tahun 2026 turun dari 73,53% ke 68,18% (Rp 7.500/Rp 11.000). Revenue kumulatif Tahun 2026 menjadi Rp 8.386 jt, dan revenue periode 2026 = Rp 8.386 − Rp 3.690 = Rp 4.696 jt (bukan Rp 5.354 jt yang diestimasi semula). Selisih diakui sebagai penyesuaian periode berjalan, bukan perubahan kebijakan akuntansi.

Kontrak rugi (onerous). Bila estimasi biaya + VC diperbarui melebihi harga transaksi, PSAK 72 mengharuskan seluruh kerugian diakui segera di periode estimasi berubah (bukan diratabilisasi sepanjang kontrak). Ini paralel dengan PSAK 34 lama tetapi penegasan eksplisit di paragraf B20.

Kesalahan Umum

Mengakui pendapatan saat tagihan diterbitkan. Ini melanggar prinsip transfer kontrol. Tagihan (invoice) adalah administrasi penagihan, bukan indikator pengakuan. Kontrak konstruksi sering menagih termin 20% di awal, tetapi revenue belum tentu 20% — tergantung progress aktual.

Mengabaikan variable consideration sampai “pasti”. PSAK 72 mewajibkan estimasi sejak awal. Bila entitas menunggu bonus “pasti didapat” baru dicatat, laporan keuangan under-state revenue di periode awal dan over-state di periode akhir — pola yang akan ditangkap auditor.

Salah mengklasifikasikan warranty. Banyak perusahaan masih memperlakukan seluruh warranty sebagai assurance-type (cadangan saja). PSAK 72 paragraf B30–B33 mewajibkan analisis: bila warranty memberikan layanan tambahan (service-type), ia harus dipisah sebagai PO terpisah dan dialokasikan harga transaksi. Akibatnya, revenue di Tahun 1 turun dan revenue di tahun-tahun warranty naik.

Menganggap komponen pendanaan sebagai revenue. Financing component adalah pendapatan/beban bunga (PSAK 71), bukan revenue PSAK 72. Mencampurnya menggembungkan revenue dan menyesatkan analisis margin operasi.

Menggunakan tarif diskonto yang salah. Paragraf 64 spesifik: pakai kredit pelanggan, bukan WACC entitas. Bila WACC entitas 8% tapi pelanggan high-risk (kredit 15%), harus pakai 15%. Akibatnya PV lebih kecil dan financing component lebih besar.

Tidak menguji tiga konsistensi di SaaS. (1) Σ revenue = PV; (2) Σ bunga = financing component; (3) receivable akhir = nominal. Bila salah satu gagal, model rusak — biasanya tarif atau formula roll-forward salah.

Dipakai di Dunia Nyata

  • Emiten telekomunikasi IDX. Perusahaan seperti TLKM, ISAT, EXCL menerapkan PSAK 72 ke kontrak pascabayar (langganan bulanan dengan perangkat bundling). Smartphone bundling sering dipecah jadi 2 PO: perangkat (point in time saat aktivasi) + langganan (over time, ratable 24 bulan). Implikasi: revenue di bulan aktivasi melonjak, lalu diratabilisasi.
  • Perusahaan properti (PSAK 73/ISAK 23 sebelumnya, kini PSAK 72). Pengembang real estat seperti CTRA, BSDE, SMRA harus mengevaluasi apakah penjualan unit memenuhi paragraf 35(c): hak pembayarann enforceable dan aset tidak punya penggunaan alternatif. Bila ya → over time; bila tidak → point in time saat serah terima. Perubahan ini signifikan: banyak pengembang yang sebelumnya mengakui point-in-time beralih ke over time.
  • Software dan SaaS. Dampak terbesar PSAK 72: kontrak multi-tahun dengan pembayaran di muka. Customer yang membayar 3 tahun di muka → entitas punya contract liability (pendapatan diterima di muka) yang dilepaskan ratable. Bagi perusahaan growth-stage SaaS, ini bisa berarti revenue tercatat jauh di bawah kas masuk — perlu edukasi investor.
  • Kontrak konstruksi besar (Waskita, Adhi Karya, Hutama Karya). PSAK 72 menggantikan PSAK 34, tetapi cost-to-cost tetap menjadi metode dominan. Yang berubah: kerangka tes over time (paragraf 35) dan disiplin estimasi VC. Banyak kontraktor BUMN harus me-review seluruh portofolio kontrak untuk memastikan paragraf 35(c) terpenuhi.
  • Retail dengan loyalty program. Alfamart, Indomaret, Tokopedia menerapkan PSAK 72 ke poin loyalitas — poin adalah PO terpisah yang dialokasikan sebagian harga transaksi, dan diakui over time saat poin digunakan atau breakage (poin kadaluwarsa tidak terpakai) menjadi predictable.

Cek Pemahaman

1. Sebuah perusahaan konstruksi memiliki kontrak nilai tetap Rp 10 miliar dengan bonus Rp 200 juta bila selesai cepat. Probabilitas bonus 70%. Estimasi total biaya Rp 8 miliar. Di akhir Tahun 1, biaya kumulatif Rp 3,2 miliar. Hitung (a) harga transaksi, (b) % complete Tahun 1, dan (c) revenue Tahun 1.

Lihat jawaban

(a) Harga transaksi = tetap + variable consideration = 10.000 + (200 × 0,70) = Rp 10.140 juta.

(b) % complete = 3.200 / 8.000 = 40%.

(c) Revenue Tahun 1 = 40% × 10.140 = Rp 4.056 juta.

Constraint paragraf 56: bila bonus belum pasti dan reversal signifikan mungkin, entitas mungkin hanya memasukkan sebagian (mis. Rp 100 jt) → TP = Rp 10.100 jt. Tapi bila progress on-track, constraint OK → Rp 140 jt masuk penuh.

2. Sebuah langganan software 2 tahun dengan pembayaran di awal Rp 250 juta. Manfaat dikonsumsi ratable. Tarif diskonto 10%. Tentukan: (a) PV (harga transaksi), (b) komponen pendanaan, dan (c) revenue per tahun.

Lihat jawaban

Karena pembayaran di awal dan manfaat dikonsumsi kemudian, entitas meminjam dari pelanggan. Pendekatan: nilai sekarang dari total consideration = Rp 250 juta (kas diterima di muka). Akan tetapi paragraf 64 mensyaratkan membandingkan dengan harga tunai:

Bila harga tunai (jika dibayar tiap tahun) adalah Rp X per tahun × 2 tahun, dan kas upfront Rp 250 juta lebih murah dari PV 2 cicilan, maka revenue = Rp 250 juta (cash upfront sebagai harga tunai), dan Rp 0 financing component.

Sebaliknya bila kas upfront Rp 250 juta lebih mahal dari PV cicilan (Rp 250 jt vs Rp 235,8 jt = 125/1,1 + 125/1,21), maka revenue = Rp 235,8 jt dan beban bunga = Rp 14,2 jt.

Asumsi yang lebih lazim untuk skenario ini: PV cicilan = Rp 235,8 jt < cash upfront Rp 250 jt → revenue = Rp 235,8 jt, beban bunga = Rp 14,2 jt, revenue per tahun = Rp 117,9 jt.

3. (Transfer.) Sebuah dealer mobil menjual mobil Rp 300 juta + paket service 3 tahun senilai Rp 9 juta (SSP). Harga bundle Rp 305 juta. Berapa revenue mobil saat pengiriman, dan berapa revenue service per tahun?

Lihat jawaban

Total SSP = 300 + 9 = Rp 309 juta. Bobot mobil = 300/309 = 97,09%; bobot service = 9/309 = 2,91%.

Alokasi mobil = 97,09% × 305 = Rp 296,11 juta (diakui point in time saat serah terima mobil).

Alokasi service = 2,91% × 305 = Rp 8,89 juta (over time, ratable 36 bulan = Rp 2,96 juta per tahun).

Implikasi bisnis: meskipun kas Rp 305 juta masuk di hari penjualan, dealer hanya boleh mengakui Rp 296,11 juta (97,1%) sebagai revenue hari itu. Sisa Rp 8,89 juta menjadi contract liability yang dilepaskan ratable selama 3 tahun. Ini menunda pengakuan revenue dan sedikit menurunkan margin periodik — tetapi lebih faithful ke substansi ekonomi.

Lanjutan

  • Laporan Laba Rugi — pengakuan pendapatan PSAK 72 mengalir ke baris “Pendapatan” paling atas. Pemahaman struktural laba rugi memperkuat interpretasi dampak PSAK 72 ke kinerja.
  • Laporan Arus Kas — timing pengakuan pendapatan (akrual) vs penerimaan kas sering berbeda, terutama saat ada financing component atau contract liability. CFO ≠ revenue.
  • Siklus Akuntansi Lengkap — PSAK 72 bekerja pada tahap penyesuaian (ayat jurnal) ketika revenue diakui atau ditangguhkan. Contract asset/liability adalah akun baru yang masuk neraca.
  • Konsolidasi Laporan Keuangan — kontrak intercompany yang melibatkan transfer barang/jasa antar entitas grup juga tunduk pada PSAK 72, dengan eliminasi yang kompleks saat konsolidasi.
  • Rasio Keuangan Lengkap — perubahan pengakuan pendapatan (mis. SaaS dari upfront ke ratable) menggeser rasio profitabilitas periode-per-periode. Analis harus menyesuaikan benchmarking.