Semua artikel
PlaybookWaktu baca 8 menit

Laporan refund Anda tidak pernah cocok antara Apple, Google, dan server Anda, begini cara merekonsiliasinya

Apple menampilkan refund di dua laporan, Google menampilkannya di dua laporan lain, dan server Anda melihat yang keempat. Tidak ada angka yang cocok, dan selisihnya memang disengaja. Inilah alasan setiap permukaan mengatribusikan refund secara berbeda, dan cara merekonsiliasi laporan refund dengan catatan Anda sendiri per transaksi.

Meja akuntan dengan tiga tumpukan terpisah laporan keuangan cetak dan sebuah kaca pembesar, menggambarkan betapa sulitnya merekonsiliasi laporan refund antara Apple dan Google

Poin utama

  • Apple memecah pelaporan refund ke dalam dua alat yang memang dirancang tidak pernah sepakat. Sales and Trends mengestimasi refund dengan cepat dalam USD, dan Payments and Financial Reports menyelesaikannya kemudian berdasarkan kalender fiskal Apple. Notifikasi REFUND server Anda adalah tampilan ketiga, secara real-time, atas peristiwa yang sama.
  • Di Summary Sales Report Apple, sebuah refund adalah barisnya sendiri dengan Units negatif dan Customer Price negatif, dan laporan itu tidak dikurangi refund. Jika Anda menjumlahkan kolom dengan mata, Anda akan salah hitung, karena baris refund berada di samping baris penjualan, bukan menghapusnya.
  • Laporan keuangan Apple berjalan pada kalender fiskal 4-4-5, bukan bulan kalender, dan laporan untuk satu bulan fiskal tersedia paling lambat Jumat pertama bulan fiskal berikutnya. Total refund apa pun yang Anda bandingkan dengan bulan kalender biasa akan meleset bahkan sebelum Anda mulai.
  • Google Play memisahkan refund dengan cara yang sama. Earnings report mencantumkan Charge refund dan Google fee refund sebagai jenis transaksinya sendiri, masing-masing ditandai Full atau Partial, sementara estimated sales report adalah analitik berlatensi rendah yang Google nyatakan bukan untuk akuntansi.
  • Sebuah refund diatribusikan ke tanggal penyelesaiannya, bukan tanggal penjualan awal, jadi refund atas pembelian bulan Maret jatuh ke angka April Anda di kedua toko. Rekonsiliasi refund berdasarkan transaction id, jangan dengan menyejajarkan total bulanan.
  • Pengembang rutin menemukan lebih banyak notifikasi REFUND daripada baris refund di Summary Sales Report untuk rentang yang sama, karena keduanya menghitung momen yang berbeda. Endpoint Get Refund History App Store Server API Apple adalah sumber kebenaran rekonsiliasi, satu transaction id per waktu.
  • Hanya dua dari permukaan ini yang dibangun untuk akuntansi: laporan keuangan Apple dan earnings report Google. Rekonsiliasi uang terhadap keduanya, rekonsiliasi akses terhadap notifikasi server Anda, dan jangan pernah meminta satu angka melakukan pekerjaan angka yang lain.

Tarik jumlah refund dari App Store Connect, lalu tarik dari server Anda, dan kedua angka itu tidak akan cocok. Tarik yang ketiga dari laporan keuangan Anda dan itu juga tidak akan cocok dengan keduanya. Ini bukan bug di sistem siapa pun. Apple dan Google masing-masing melaporkan refund melalui lebih dari satu permukaan, setiap permukaan menghitung momen yang berbeda dalam hidup sebuah refund, dan server Anda melihat yang keempat. Jika Anda pernah mencoba merekonsiliasi laporan refund dan menyerah karena totalnya berpencar, inilah alasan mereka berpencar, angka mana yang harus dipercaya untuk pekerjaan mana, dan cara menyejajarkannya per transaksi alih-alih per bulan.

Mengapa satu refund muncul sebagai tiga angka berbeda

Satu refund melewati beberapa sistem sebelum diselesaikan, dan setiap sistem mencatatnya pada saat yang berbeda. Server Anda mendengarnya lebih dulu, sebagai sebuah peristiwa. Laporan analitik cepat mengestimasinya berikutnya. Laporan akuntansi mencatatnya terakhir, setelah uang benar-benar berpindah. Refund yang sama, tiga cap waktu, tiga total. Kesalahannya adalah memperlakukan dua di antaranya seolah harus sama pada hari yang sama.

Apple memberi Anda dua keluarga laporan, plus webhook Anda

Apple melaporkan refund di dua tempat yang bukan alat yang sama dan tidak dimaksudkan untuk cocok pada hari tertentu. Sales and Trends adalah tampilan cepat dan estimasi: laporan harian tiba keesokan harinya, laporan mingguan pada hari Senin, laporan bulanan sekitar lima hari setelah bulan berakhir, umumnya pukul 8 pagi waktu Pacific. Ia mengestimasi penjualan dan pendapatan dalam USD memakai rata-rata bergerak kurs bulan sebelumnya, yang membuatnya bagus untuk menangkap tren dan keliru untuk mencocokkan pembayaran. Payments and Financial Reports adalah tampilan terselesaikan: dibuat sekali sebulan pada kalender fiskal Apple, tersedia paling lambat Jumat pertama bulan fiskal berjalan untuk bulan fiskal sebelumnya, dan dibuat hanya jika ada pembelian atau refund pada periode itu. Ia memakai kurs final yang diterapkan pada pembayaran Anda. Laporan itu adalah catatan akuntansi. Bersamaan dengan keduanya, server Anda menerima App Store Server Notification REFUND pada saat Apple memberikan refund, terkait dengan satu transaction id.

Google terbagi dengan cara yang sama

Google Play mencerminkan pembagian yang sama. Earnings report adalah catatan akuntansi, dibuat bulanan dan biasanya tersedia paling lambat tanggal 5 bulan berikutnya, dan ia mencantumkan refund sebagai jenis transaksinya sendiri: Charge refund untuk uang yang dikembalikan ke pembeli dan Google fee refund untuk biaya layanan yang Google kembalikan, masing-masing ditandai Full atau Partial. Estimated sales report adalah tampilan analitik berlatensi rendah yang menunjukkan apa yang dibayar pembeli sebelum pajak dan biaya, dan Google menyatakan terus terang bahwa itu cocok untuk analitik dan tidak disarankan untuk akuntansi. Di sisi server Anda memperoleh Real-time Developer Notification secara real-time dan dapat membaca kembali sebuah refund dari Voided Purchases API.

Bagaimana Apple menampilkan refund di dalam laporan, dan jebakan baris negatif

Buka Summary Sales Report dan sebuah refund tidak diam-diam mengurangi dirinya dari sebuah penjualan. Ia muncul sebagai barisnya sendiri. Units dan Customer Price pada baris itu negatif, itulah cara Anda mengenali sebuah refund sama sekali, dan angka Developer Proceeds tidak berperilaku seperti harga. Laporan itu pada dasarnya tidak dikurangi refund. Ia mencantumkan baris refund di samping baris penjualan, dan tugas Andalah mengelompokkannya. Jumlahkan kolom Units dengan mata dan Anda akan menghitung ganda atau melewatkan refund sepenuhnya, karena baris refund minus satu berada di kolom yang sama dengan penjualan positif Anda.

Aturan praktisnya sederhana: temukan refund lewat Units negatif, jumlahkan baris-baris itu sendiri, dan jangan pernah berasumsi laporan sudah mengurangkannya untuk Anda. Jumlah refund Anda untuk featured snippet adalah banyaknya baris ber-Units negatif, bukan jumlah aritmetika sebuah kolom.

Permukaan AppleUntuk apaKapan diperbaruiBagaimana refund tampil
Sales and TrendsEstimasi tren cepat, bukan akuntansiHarian keesokan hari, bulanan sekitar 5 hari setelah bulan berakhirUnit negatif dalam tren, diestimasi dalam USD
Summary Sales ReportDetail yang bisa diunduh di balik Sales and TrendsIrama sama dengan Sales and TrendsBarisnya sendiri, Units negatif dan Customer Price negatif
Payments and Financial ReportsCatatan akuntansi dan pembayaranBulanan pada kalender fiskal Apple, paling lambat Jumat pertamaPengurangan terselesaikan dari pendapatan bulan fiskal itu
Notifikasi server REFUNDKontrol akses real-timeSaat Apple memberikan refundSatu peristiwa, satu transaction id

Kalender fiskal adalah alasan total bulanan Anda tidak pernah sejajar

Inilah alasan tunggal terbesar mengapa spreadsheet yang teliti pun tetap menolak seimbang. Laporan keuangan Apple tidak berjalan pada bulan kalender. Ia berjalan pada kalender fiskal 4-4-5, di mana sebagian besar bulan fiskal berdurasi empat minggu dan setiap bulan ketiga berdurasi lima minggu. Seorang pengembang yang membandingkan Financial Report dengan jendela Januari-ke-Januari biasa sedang membandingkan dua rentang hari yang berbeda, jadi total refund tidak mungkin cocok bahkan ketika setiap angka dasarnya benar. Pengembang di forum Apple sendiri telah menyaksikan angka Sales dan angka Financial Report berpencar ribuan dolar persis karena alasan ini, dengan selisih melebar setiap bulan mereka membiarkannya menumpuk.

Earnings report Google bersifat bulanan, tetapi ia membawa penentuan waktunya sendiri dan zona waktunya sendiri, dan keduanya bukan jam UTC server Anda. Jebakan yang lebih dalam berlaku di kedua toko: sebuah refund diatribusikan ke tanggal penyelesaiannya, bukan tanggal penjualan awal. Refund sebuah pembelian Maret di awal April dan itu mengurangi angka April Anda, bukan angka Maret Anda. Sejajarkan dua bulan berdasarkan labelnya dan refund itu tampak lenyap dari satu bulan dan muncul di bulan lain.

Dua spreadsheet cetak diletakkan berdampingan sementara sebuah tangan menelusuri satu baris melintasi keduanya, menggambarkan rekonsiliasi laporan refund berdasarkan transaction id

Berapa biaya sebuah refund, dan di laporan mana membacanya

Rekonsiliasi sebenarnya adalah pertanyaan akuntansi, jadi ikuti uangnya. Pada sebuah refund, toko mengembalikan komisinya sendiri, artinya jumlah yang benar-benar keluar dari akun Anda adalah bagian Anda dari penjualan, bukan harga penuh yang pelanggan lihat dikembalikan. Di Google Play pengembalian itu adalah baris yang terlihat: jenis transaksi Google fee refund di earnings report Anda adalah biaya layanan yang kembali kepada Anda, berdampingan dengan Charge refund yang pergi ke pembeli. Di App Store, Apple memotong pendapatan Anda setelah komisi dan mengembalikan komisinya dalam gerakan yang sama, jadi laporan keuangan menampilkan pengurangan setelah dikurangi bagian Apple.

Penentuan waktu arus kas adalah tempat pengembang terkejut. Di Google Play, jika Anda merefund sebuah pesanan sebelum Google membayar Anda untuknya, Anda sama sekali tidak menerima jumlah itu. Jika Anda merefund setelah pembayaran, Google memotongnya dari pembayaran mendatang. Dan jika gelombang refund mendorong saldo Anda negatif dan tetap negatif setidaknya 48 jam, Google akan mendebit rekening bank yang biasanya menerima pembayaran Anda untuk kekurangan itu. Chargeback adalah versi lebih tajam dari peristiwa yang sama: di Google Play, untuk pesanan yang dilakukan pada atau setelah 3 Agustus 2026, chargeback memindahkan harga pembelian ditambah biaya bank ke pengembang, dan itu jatuh pada laporan bulan yang lebih akhir daripada penjualannya.

Pada sebuah refundApp StoreGoogle Play
Apa yang keluar dari akun AndaPendapatan Anda setelah komisiHarga pembelian dikurangi biaya layanan Play
Apa yang dikembalikan tokoKomisi AppleBiaya layanan, sebagai baris Google fee refund
Laporan mana untuk rekonsiliasiPayments and Financial ReportsEarnings report
Kapan diselesaikanBulan fiskal saat diproses, paling lambat Jumat pertama sesudahnyaDipotong dari pembayaran untuk periode itu atau berikutnya
Kejutan chargebackApple menanggung mesin sengketa kartuSejak 3 Agu 2026, harga ditambah biaya bank berpindah kepada Anda

Cara merekonsiliasi laporan refund Anda, langkah demi langkah

Pekerjaan ini jadi sederhana begitu Anda berhenti mencoba menyamakan setiap angka dan alih-alih menetapkan setiap angka ke pertanyaan yang dijawabnya. Hanya ada dua pertanyaan: berapa banyak uang yang berpindah, dan siapa yang masih punya akses.

  • Putuskan pertanyaannya sebelum membuka laporan. Untuk uang, jawabannya ada di laporan keuangan Apple dan earnings report Google, titik. Untuk akses, jawabannya ada di notifikasi server Anda. Jangan pernah merekonsiliasi yang satu terhadap yang lain.
  • Pilih transaction id sebagai kunci gabung Anda di keempat permukaan. Itu satu-satunya bidang yang dibagi bersama oleh sebuah penjualan, refundnya, laporan-laporannya, dan webhook Anda.
  • Untuk Apple, ketika Summary Sales Report dan webhook Anda tidak sepakat, panggil endpoint Get Refund History App Store Server API di /inApps/v2/refund/lookup/{transactionId}. Ia mengembalikan transaksi yang direfund dan ditandatangani untuk seorang pelanggan, dengan revocationDate dan revocationReason, satu transaction id per waktu, dan menelusuri riwayatnya per halaman. Endpoint itu adalah penentu.
  • Untuk Google, periksa silang baris Charge refund di earnings report terhadap apa yang dilaporkan Voided Purchases API untuk pesanan yang sama, dan ingat sebuah refund parsial ditandai Partial dan tidak akan menolkan tagihan aslinya.
  • Selaraskan dengan jam laporan, bukan jam Anda. Milik Apple adalah bulan fiskal dalam waktu Pacific. Earnings report Google punya bulan dan zona waktunya sendiri. Log Anda hampir pasti UTC. Konversikan ke kalender laporan sebelum membandingkan, atau batas hari saja akan menciptakan ketidakcocokan hantu.
  • Harapkan estimasi bergerak. Sales and Trends adalah estimasi dan akan terus bergeser seiring transaksi diselesaikan. Rekonsiliasi terhadap laporan keuangan, jangan pernah terhadap estimasi, dan jangan pernah terhadap snapshot estimasi kemarin.

Ketika server Anda menampilkan lebih banyak refund daripada laporan

Kepanikan paling umum adalah menemukan lebih banyak notifikasi REFUND di server Anda daripada baris refund di laporan penjualan untuk rentang yang sama. Biasanya itu bukan uang yang hilang. Kedua permukaan menghitung momen yang berbeda, sebuah notifikasi bisa mendahului baris laporan beberapa hari, dan sebuah refund parsial atau permintaan yang dikirim ulang dapat menghasilkan lebih dari satu peristiwa. Pengembang telah melaporkan bentuk persis ini, ribuan notifikasi REFUND melawan jumlah baris ber-Units negatif yang lebih kecil untuk bulan yang sama. Selesaikan dengan cara sama setiap kali: ambil transaction id yang dilihat server Anda, jalankan melalui Get Refund History, dan biarkan catatan Apple sendiri memutuskan mana yang benar-benar direfund dan untuk berapa banyak.

Versi singkatnya

Anda tidak bisa membuat estimasi Apple, laporan keuangan Apple, earnings report Google, dan webhook Anda semuanya menampilkan total refund yang sama pada hari yang sama, dan Anda sebaiknya berhenti mencoba. Baca masing-masing untuk apa yang dibangun untuk diberitahukannya. Percayai laporan keuangan dan earnings report untuk uang, percayai notifikasi server Anda untuk akses, dan ketika dua permukaan berselisih, gabungkan berdasarkan transaction id dan biarkan pencarian Get Refund History atau Voided Purchases memutus selisihnya. Refund yang terekonsiliasi bukanlah total yang cocok. Melainkan transaksi yang cocok.

Pertanyaan yang sering diajukan

Mengapa penjualan App Store dan laporan keuangan saya tidak cocok?
Keduanya mengukur hal berbeda pada jam berbeda. Sales and Trends adalah estimasi cepat dalam USD memakai kurs rata-rata bergerak, sementara Payments and Financial Reports adalah catatan akuntansi terselesaikan pada kalender fiskal 4-4-5 Apple, memakai kurs final. Karena bulan fiskal bukan bulan kalender dan refund diselesaikan lebih lambat daripada penjualan, kedua total itu berpencar secara sengaja. Rekonsiliasi terhadap laporan keuangan untuk apa pun yang menyangkut uang.
Bagaimana refund ditampilkan di App Store Summary Sales Report?
Sebuah refund muncul sebagai barisnya sendiri dengan Units negatif dan Customer Price negatif. Laporan itu tidak dikurangi refund, jadi baris refund berada di samping baris penjualan, bukan menghapusnya. Kenali refund lewat Units negatif dan jumlahkan baris-baris itu terpisah, karena menjumlahkan kolom dengan mata akan salah menghitung refund Anda.
Kapan refund muncul di earnings report Google Play?
Earnings report dibuat bulanan dan biasanya tersedia paling lambat tanggal 5 bulan berikutnya. Sebuah refund muncul sebagai dua jenis transaksi, Charge refund untuk uang yang dikembalikan ke pembeli dan Google fee refund untuk biaya layanan yang Google kembalikan kepada Anda, masing-masing ditandai Full atau Partial. Jika Anda merefund sebelum Google membayar Anda, Anda tidak pernah menerima jumlah itu; jika sesudahnya, itu dipotong dari pembayaran mendatang.
Mengapa server saya menampilkan lebih banyak notifikasi REFUND daripada laporan penjualan saya?
Karena keduanya menghitung momen yang berbeda. Server Anda mendengar peristiwa refund secara real-time, sementara laporan penjualan mencatat baris terselesaikan belakangan, dan refund parsial atau yang dikirim ulang dapat menghasilkan lebih dari satu notifikasi. Untuk menyelesaikan selisihnya, ambil transaction id yang dilihat server Anda dan jalankan melalui endpoint Get Refund History App Store Server API, yang mengembalikan catatan Apple sendiri tentang apa yang benar-benar direfund.
Angka refund mana yang harus saya pakai untuk akuntansi?
Payments and Financial Reports milik Apple dan earnings report milik Google Play. Itulah catatan terselesaikan bertaraf akuntansi. Sales and Trends milik Apple dan estimated sales report milik Google adalah analitik cepat yang oleh kedua toko diberitahukan agar jangan dipakai untuk akuntansi, dan notifikasi server Anda untuk mengontrol akses, bukan untuk membukukan pendapatan.
Apakah sebuah refund muncul di bulan yang sama dengan penjualan awalnya?
Biasanya tidak. Sebuah refund diatribusikan ke tanggal penyelesaiannya, bukan tanggal pembelian awal, di kedua toko. Penjualan Maret yang direfund pada April mengurangi total April Anda, jadi mencocokkan dua bulan berdasarkan labelnya akan membuat refund tampak seolah lenyap dari satu bulan dan muncul di bulan lain. Cocokkan berdasarkan transaction id sebagai gantinya.

Sumber dan bacaan lanjutan

RefundHalt

Autopilot refund untuk App Store dan Google Play

Baca selanjutnya

Permintaan refund berikutnya sudah menuju kepada Anda.

Siapkan RefundHalt dalam waktu yang dibutuhkan untuk membaca satu lagi email dukungan tentang refund yang tidak sempat Anda sengketakan.