Terakhir diperbarui: 7 November 2026
Uang dari penjualan voucher belanja atau gift card belum boleh dicatat sebagai pendapatan. Saat voucher terjual, Anda mencatat liabilitas kontrak (contract liability), lalu memindahkannya ke pendapatan ketika voucher ditukar. Bagian voucher yang diperkirakan tidak akan pernah ditukar (breakage) diakui sebagai pendapatan secara bertahap, sesuai pola penukaran.
Masalahnya, banyak toko ritel, resto, dan coffee shop mencatat voucher sebagai penjualan tunai di hari voucher dibeli. Akibatnya omzet Desember membengkak, margin Januari tampak anjlok, dan saldo voucher yang masih beredar tidak pernah terlihat di neraca. Di artikel ini kami membahas jurnal voucher belanja dari penjualan sampai kedaluwarsa, cara menghitung breakage dengan angka contoh, dan rekonsiliasi saldo voucher setiap tutup buku.
Ringkasan Cepat
- Penjualan voucher berbayar: Debit Kas/Bank, Kredit Liabilitas Kontrak – Voucher. Bukan pendapatan.
- Penukaran voucher: Debit Liabilitas Kontrak, Kredit Pendapatan Penjualan (HPP dicatat seperti penjualan biasa).
- Breakage diakui proporsional terhadap penukaran jika polanya bisa diestimasi andal; jika tidak, diakui saat kemungkinan penukaran sudah sangat kecil (misalnya voucher kedaluwarsa).
- Voucher promo gratis bukan liabilitas penjualan; perlakuannya berbeda dari voucher yang dibeli pelanggan.
- Saldo akun liabilitas voucher wajib cocok dengan daftar nomor voucher aktif di sistem kasir setiap akhir bulan.
Apa itu breakage voucher dan kenapa voucher bukan pendapatan?
Daftar Isi
- 1 Apa itu breakage voucher dan kenapa voucher bukan pendapatan?
- 2 Bagaimana jurnal voucher belanja dari terjual sampai ditukar?
- 3 Bagaimana cara menghitung breakage secara proporsional?
- 4 Bagaimana jika voucher dijual dengan diskon atau diberikan gratis?
- 5 Bagaimana merekonsiliasi saldo voucher saat tutup buku?
- 6 Kesalahan yang Sering Terjadi
- 7 Pertanyaan yang Sering Diajukan (FAQ)
- 8 Penutup
Breakage adalah bagian nilai voucher, gift card, atau saldo prabayar yang sudah dibayar pelanggan tetapi tidak pernah ditukarkan sampai kedaluwarsa. Dalam PSAK 115, situasi ini dibahas sebagai hak pelanggan yang tidak dilaksanakan (unexercised rights). Breakage diakui sebagai pendapatan, tetapi waktunya mengikuti estimasi pola penukaran, bukan saat voucher terjual.
Logikanya sederhana. PSAK 115 Pendapatan dari Kontrak dengan Pelanggan (sebelumnya bernomor PSAK 72; dinomori ulang oleh IAI mulai 1 Januari 2024, dan mengadopsi IFRS 15) mengakui pendapatan ketika kewajiban pelaksanaan (performance obligation) dipenuhi. Saat pelanggan membeli voucher Rp100.000, toko belum menyerahkan barang apa pun. Toko justru punya kewajiban menyerahkan barang senilai Rp100.000 di masa depan. Itulah liabilitas kontrak, sama seperti uang muka penjualan.
Bagaimana jurnal voucher belanja dari terjual sampai ditukar?
Berikut alur jurnal standar untuk voucher berbayar dengan nilai nominal penuh. Semua angka adalah contoh.
| Peristiwa | Akun | Debit (Rp) | Kredit (Rp) |
|---|---|---|---|
| 1. Voucher terjual 2.000 lembar × Rp100.000 | Kas/Bank | 200.000.000 | |
| Liabilitas Kontrak – Voucher | 200.000.000 | ||
| 2. Voucher Rp57.000.000 ditukar dengan barang | Liabilitas Kontrak – Voucher | 57.000.000 | |
| Pendapatan Penjualan | 57.000.000 | ||
| 3. HPP barang yang diserahkan | Harga Pokok Penjualan | 34.200.000 | |
| Persediaan | 34.200.000 | ||
| 4. Pengakuan breakage bulan berjalan | Liabilitas Kontrak – Voucher | 3.000.000 | |
| Pendapatan Breakage Voucher | 3.000.000 |
Catatan praktis: jika pelanggan membayar selisih tunai karena belanja melebihi nilai voucher, selisih itu dicatat sebagai penjualan tunai biasa. Jika belanja di bawah nilai voucher dan sisa saldo tetap bisa dipakai, sisa tersebut tetap berada di liabilitas kontrak. Jika kebijakan toko menyatakan sisa hangus, sisa itu menjadi bagian dari perhitungan breakage, bukan langsung pendapatan.
Bagaimana cara menghitung breakage secara proporsional?
Pedoman IFRS 15 (paragraf B44–B47) yang diadopsi PSAK 115 memberi dua jalur. Jika entitas memperkirakan berhak atas jumlah breakage, jumlah itu diakui sebagai pendapatan sebanding dengan pola penukaran pelanggan. Jika tidak bisa diestimasi andal, breakage diakui ketika kemungkinan pelanggan menukarkan sisa haknya sudah sangat kecil (remote). Estimasi ini juga tunduk pada pembatasan estimasi imbalan variabel, jadi angkanya harus konservatif.
Langkah perhitungannya:
- Tentukan tingkat breakage historis. Ambil data voucher yang sudah kedaluwarsa minimal 2–3 periode, hitung persentase nilai yang tidak pernah ditukar.
- Hitung ekspektasi penukaran. Nilai voucher terjual × (1 − tingkat breakage).
- Hitung rasio breakage. Total breakage ÷ ekspektasi penukaran.
- Setiap bulan: breakage diakui = penukaran bulan itu × rasio breakage.
- Saat voucher kedaluwarsa: sisa saldo liabilitas untuk batch tersebut diakui seluruhnya dan estimasi dikoreksi.
Contoh perhitungan: toko ritel fashion di Bandung
Contoh: sebuah toko ritel fashion menjual 2.000 voucher Rp100.000 (total Rp200.000.000) untuk musim belanja akhir tahun, berlaku 12 bulan. Data tiga tahun terakhir menunjukkan 5% nilai voucher tidak pernah ditukar.
- Breakage diharapkan = 5% × Rp200.000.000 = Rp10.000.000
- Ekspektasi penukaran = Rp190.000.000
- Rasio breakage = 10.000.000 ÷ 190.000.000 = 1/19 (sekitar 5,26%)
| Bulan | Penukaran (Rp) | Breakage diakui (Rp) | Kumulatif penukaran | Saldo liabilitas akhir (Rp) |
|---|---|---|---|---|
| Januari | 57.000.000 | 3.000.000 | 30% dari ekspektasi | 140.000.000 |
| Februari | 38.000.000 | 2.000.000 | 50% dari ekspektasi | 100.000.000 |
| Maret | 19.000.000 | 1.000.000 | 60% dari ekspektasi | 80.000.000 |
Saldo Rp80.000.000 di akhir Maret terdiri dari Rp76.000.000 ekspektasi penukaran yang tersisa dan Rp4.000.000 breakage yang belum diakui. Jika toko langsung mencatat Rp200.000.000 sebagai omzet Desember, laba Desember menjadi terlalu tinggi dan Januari–Maret menjadi terlalu rendah. Owner bisa salah menilai kinerja promosi akhir tahun.
Bagaimana jika voucher dijual dengan diskon atau diberikan gratis?
Tiga skenario ini paling sering membuat akuntan ritel ragu:
| Skenario | Perlakuan | Nilai yang dicatat sebagai liabilitas |
|---|---|---|
| Voucher dijual ke klien korporat dengan diskon 5% (nominal Rp100.000, dibayar Rp95.000) | Liabilitas kontrak sebesar kas diterima; pendapatan saat ditukar sebesar Rp95.000 | Rp95.000 per lembar |
| Voucher promo gratis tanpa syarat pembelian (dibagikan di event) | Bukan liabilitas penjualan; saat dipakai berfungsi sebagai potongan harga transaksi tersebut | Tidak ada |
| Voucher diberikan sebagai bonus atas pembelian (belanja Rp500.000 dapat voucher Rp50.000 untuk kunjungan berikutnya) | Bisa menjadi hak material (material right): sebagian harga transaksi dialokasikan ke voucher dan ditangguhkan | Hasil alokasi harga jual berdiri sendiri, setelah memperhitungkan estimasi tidak ditukar |
Skenario ketiga sering terlewat. Jika nilai voucher bonus material bagi pelanggan, mencatat seluruh Rp500.000 sebagai pendapatan hari itu tidak sesuai PSAK 115. Alokasikan berdasarkan nilai relatif, lalu akui bagian voucher ketika ditukar.
Soal pajak: perlakuan PPN atas voucher diatur tersendiri dalam ketentuan perpajakan dan bisa berbeda dari perlakuan akuntansi. Pastikan tim pajak Anda meninjaunya terpisah dari jurnal di atas.
Bagaimana merekonsiliasi saldo voucher saat tutup buku?
Akun liabilitas voucher termasuk akun neraca berisiko tinggi karena volumenya besar dan datanya tersebar di sistem kasir, marketplace, dan penjualan korporat. Masukkan ke rekonsiliasi akun neraca bulanan dengan langkah berikut:
- Tarik laporan voucher aktif dari sistem POS (nomor seri, nilai sisa, tanggal kedaluwarsa).
- Jumlahkan nilai sisa, lalu bandingkan dengan saldo buku besar Liabilitas Kontrak – Voucher ditambah breakage yang sudah diakui untuk batch yang masih aktif.
- Telusuri selisih: penukaran yang tidak terhubung ke nomor voucher, voucher korporat yang dicatat di nominal (bukan kas diterima), atau pembatalan yang tidak dijurnal.
- Cek voucher yang sudah lewat masa berlaku: pastikan sisa saldonya sudah diakui sebagai breakage.
- Evaluasi ulang tingkat breakage minimal setahun sekali; perubahan estimasi diterapkan prospektif.
Untuk toko dengan banyak kasir, kebocoran sering terjadi saat voucher ditukar tanpa dipindai. Kombinasikan rekonsiliasi ini dengan kontrol selisih kas kasir saat tutup shift.
Kesalahan yang Sering Terjadi
- Mencatat voucher terjual sebagai pendapatan. Omzet dan laba periode penjualan jadi terlalu tinggi, dan liabilitas tidak tampak di neraca.
- Mengakui seluruh breakage di awal. Breakage diakui bertahap sesuai pola penukaran, bukan saat voucher terjual.
- Menunggu kedaluwarsa padahal data historis andal. Laba periode berjalan menjadi terlalu rendah dan melonjak di bulan kedaluwarsa.
- Mencampur voucher berbayar dan voucher promo di satu akun. Saldo liabilitas tidak bisa direkonsiliasi ke nomor seri.
- Mencatat voucher korporat di nilai nominal. Liabilitas lebih besar dari kas yang benar-benar diterima.
Pertanyaan yang Sering Diajukan (FAQ)
Apakah penjualan voucher belanja langsung menjadi pendapatan?
Tidak. Penjualan voucher berbayar dicatat sebagai liabilitas kontrak karena toko belum menyerahkan barang atau jasa. Pendapatan baru diakui ketika voucher ditukar, atau sebagai breakage ketika diperkirakan tidak akan ditukar.
Kapan breakage voucher diakui sebagai pendapatan?
Jika toko punya data historis yang andal, breakage diakui bertahap sebanding dengan pola penukaran pelanggan. Jika tidak ada data yang andal, breakage diakui saat kemungkinan penukaran sudah sangat kecil, biasanya ketika voucher kedaluwarsa.
Akun apa yang dipakai untuk voucher belum ditukar?
Gunakan akun liabilitas lancar terpisah, misalnya “Liabilitas Kontrak – Voucher” atau “Pendapatan Diterima di Muka – Voucher”. Pisahkan dari uang muka penjualan biasa agar saldonya bisa dicocokkan dengan daftar nomor voucher aktif.
Bagaimana jika voucher hilang lalu diganti oleh toko?
Batalkan nomor voucher lama di sistem dan terbitkan nomor baru dengan nilai sisa yang sama. Tidak ada jurnal baru karena liabilitasnya tetap satu; yang berubah hanya nomor seri di daftar voucher aktif.
Penutup
Jurnal voucher belanja yang benar menjaga omzet setiap periode tetap jujur: kas masuk saat voucher terjual, pendapatan masuk saat barang diserahkan, dan breakage diakui bertahap sesuai data. Kuncinya ada di akun liabilitas terpisah, rasio breakage yang dievaluasi rutin, dan rekonsiliasi ke nomor seri voucher setiap tutup buku. Jika voucher juga dibayar lewat QRIS atau EDC, pastikan settlement-nya ikut dicocokkan seperti di panduan rekonsiliasi QRIS & EDC.
Jika tim Anda masih merekap penjualan dan penukaran voucher dari beberapa outlet di Excel, Zahir Online membantu mencatat transaksi penjualan dan kas tiap outlet di satu tempat sehingga rekonsiliasi akhir bulan lebih cepat. Lihat solusi Zahir Online untuk bisnis ritel atau coba gratis.
Referensi
- DSAK IAI – Materi ED PSAK 72: Pendapatan dari Kontrak dengan Pelanggan
- IAI – Perubahan Penomoran PSAK dan ISAK dalam SAK Indonesia
- IFRS Foundation – IFRS 15 Revenue from Contracts with Customers














