Terakhir diperbarui: 12 November 2026
Rekonsiliasi COD (cash on delivery) adalah proses mencocokkan setiap resi COD yang Anda kirim dengan dana yang benar-benar dicairkan ekspedisi ke rekening bisnis, setelah dikurangi fee COD, ongkos kirim, dan ongkir retur. Caranya: catat dana COD sebagai piutang ke ekspedisi per resi, lalu tutup piutang itu hanya dengan laporan pencairan (settlement) dan mutasi bank. Selisih yang tersisa adalah daftar resi yang harus Anda kejar.
Masalahnya, di banyak tim finance toko online dan distributor, dana COD baru “dicatat” ketika uang masuk ke bank. Akibatnya penjualan diakui terlambat, paket retur (RTS) tidak pernah dikembalikan ke stok di sistem, dan potongan ongkir yang keliru lolos begitu saja. Di artikel ini kami bahas alur jurnal lengkap dari paket dikirim sampai dana cair, cara menangani RTS dan paket yang masih di jalan saat tutup buku, contoh rekonsiliasi dua ekspedisi sekaligus, serta matriks penyebab selisih beserta tindakannya.
Ringkasan Cepat
- Pakai akun perantara: Persediaan dalam Pengiriman saat paket keluar gudang dan Piutang COD per ekspedisi saat paket berstatus terkirim (delivered).
- Rumus dana yang seharusnya cair: nilai COD terkirim − fee COD − ongkir kirim − ongkir retur.
- Paket RTS (return to sender) bukan penjualan: kembalikan HPP-nya ke persediaan, tapi ongkir pergi-pulangnya tetap jadi beban.
- Rekonsiliasi dilakukan per resi, bukan per total transfer. Sisa saldo Piutang COD = resi yang belum cair atau bermasalah.
- Paket yang masih di perjalanan saat tutup buku tetap di Persediaan dalam Pengiriman, belum diakui sebagai penjualan.
Apa itu rekonsiliasi COD dan kenapa berbeda dari rekonsiliasi bank biasa?
Daftar Isi
- 1 Apa itu rekonsiliasi COD dan kenapa berbeda dari rekonsiliasi bank biasa?
- 2 Akun apa saja yang perlu disiapkan di chart of account?
- 3 Bagaimana jurnal COD dari paket dikirim sampai dana cair?
- 4 Bagaimana cara merekonsiliasi dua ekspedisi sekaligus?
- 5 Bagaimana perlakuan paket yang masih di jalan saat tutup buku?
- 6 Apa saja penyebab selisih COD dan apa tindakannya?
- 7 Kesalahan yang Sering Terjadi
- 8 Pertanyaan yang Sering Diajukan (FAQ)
- 9 Penutup
Definisi: Rekonsiliasi COD adalah pencocokan tiga sumber data, yaitu daftar resi COD dari sistem penjualan, laporan pencairan (settlement report) dari ekspedisi atau agregator pengiriman, dan mutasi rekening bank, untuk memastikan setiap rupiah yang ditagih kurir dari pembeli sudah diterima bisnis setelah potongan yang sah, dan setiap paket gagal kirim sudah kembali ke gudang.
Bedanya dengan rekonsiliasi payment gateway atau QRIS: pada COD, uang dipegang pihak ketiga (kurir) selama beberapa hari, satu transfer bisa berisi ratusan resi, dan ada barang fisik yang bisa kembali. Jadi rekonsiliasinya menyentuh dua sisi sekaligus: kas dan persediaan.
Akun apa saja yang perlu disiapkan di chart of account?
Sebelum membuat jurnal, pastikan akun-akun berikut tersedia. Pisahkan Piutang COD per ekspedisi agar saldo tiap kurir bisa dicocokkan dengan laporan pencairan masing-masing.
| Akun | Kelompok | Fungsi |
|---|---|---|
| Persediaan dalam Pengiriman (COD) | Aset lancar | Menampung HPP paket yang sudah keluar gudang tapi belum diterima pembeli |
| Piutang COD – Ekspedisi A / B | Aset lancar | Dana COD yang sudah ditagih kurir dari pembeli tapi belum dicairkan |
| Piutang Klaim Ekspedisi | Aset lancar | Selisih yang sedang Anda ajukan klaim (paket hilang, potongan salah) |
| Beban Fee COD | Beban penjualan | Fee layanan COD yang dipotong ekspedisi |
| Beban Ongkir Penjualan | Beban penjualan | Ongkos kirim yang ditanggung penjual |
| Beban Ongkir Retur (RTS) | Beban penjualan | Ongkos pengembalian paket gagal kirim |
Jika ekspedisi menerbitkan faktur pajak atas fee dan ongkir, pisahkan unsur pajaknya sesuai dokumen yang Anda terima. Pembahasan perlakuan ongkir secara umum ada di artikel jurnal ongkos kirim penjualan.
Bagaimana jurnal COD dari paket dikirim sampai dana cair?
Kami pakai contoh fiktif berikut. Contoh: sebuah toko perlengkapan rumah tangga di Bandung mengirim 400 paket COD pada Oktober melalui dua ekspedisi. Harga jual rata-rata Rp350.000 per paket dan HPP 60% dari harga jual.
| Keterangan (contoh) | Ekspedisi A | Ekspedisi B |
|---|---|---|
| Paket dikirim | 250 paket (Rp87.500.000) | 150 paket (Rp52.500.000) |
| Terkirim (delivered) | 225 paket (Rp78.750.000) | 138 paket (Rp48.300.000) |
| RTS / gagal kirim | 15 paket (Rp5.250.000) | 8 paket (Rp2.800.000) |
| Masih di perjalanan per 31 Oktober | 10 paket (Rp3.500.000) | 4 paket (Rp1.400.000) |
| Fee COD | 3% dari nilai terkirim | 2,5% dari nilai terkirim |
| Ongkir kirim / ongkir retur per paket | Rp14.000 / Rp14.000 | Rp12.000 / Rp12.000 |
1. Saat paket keluar gudang
Belum ada penjualan, karena pembeli belum menerima dan membayar barang. Yang terjadi hanyalah perpindahan persediaan. Untuk Ekspedisi A:
| Akun | Debit | Kredit |
|---|---|---|
| Persediaan dalam Pengiriman (COD) | 52.500.000 | |
| Persediaan Barang Dagang | 52.500.000 |
2. Saat status resi berubah menjadi terkirim (delivered)
Pada titik ini barang sudah diserahkan dan pembeli sudah membayar ke kurir, sehingga penjualan diakui dan piutang beralih ke ekspedisi. Sesuaikan titik pengakuan ini dengan kebijakan akuntansi dan standar yang dipakai entitas Anda (SAK EP atau SAK Indonesia).
| Akun | Debit | Kredit |
|---|---|---|
| Piutang COD – Ekspedisi A | 78.750.000 | |
| Penjualan | 78.750.000 | |
| Harga Pokok Penjualan | 47.250.000 | |
| Persediaan dalam Pengiriman (COD) | 47.250.000 |
3. Saat paket RTS kembali ke gudang
Paket RTS dikembalikan ke persediaan sebesar HPP-nya setelah dicek kondisinya. Untuk 15 paket Ekspedisi A:
| Akun | Debit | Kredit |
|---|---|---|
| Persediaan Barang Dagang | 3.150.000 | |
| Persediaan dalam Pengiriman (COD) | 3.150.000 |
Jika ada paket RTS yang rusak dan tidak bisa dijual lagi, pindahkan HPP-nya ke beban kerugian barang rusak, atau ke Piutang Klaim Ekspedisi bila kerusakan menjadi tanggung jawab kurir.
4. Saat dana cair ke rekening
Laporan pencairan Ekspedisi A mencakup 224 resi terkirim (Rp78.400.000). Satu resi senilai Rp350.000 berstatus delivered tetapi belum masuk settlement. Ongkir kirim dipotong untuk 224 paket terkirim plus 15 paket RTS, dan ongkir retur untuk 15 paket RTS.
| Akun | Debit | Kredit |
|---|---|---|
| Bank | 72.492.000 | |
| Beban Fee COD (3% × 78.400.000) | 2.352.000 | |
| Beban Ongkir Penjualan (239 × 14.000) | 3.346.000 | |
| Beban Ongkir Retur (15 × 14.000) | 210.000 | |
| Piutang COD – Ekspedisi A | 78.400.000 |
Setelah jurnal ini, saldo Piutang COD – Ekspedisi A tersisa Rp350.000, persis satu resi yang belum cair. Saldo inilah yang menjadi bahan tindak lanjut, bukan angka yang dipaksa nol.
Bagaimana cara merekonsiliasi dua ekspedisi sekaligus?
Gunakan langkah berikut setiap kali dana cair (harian atau mingguan), bukan hanya saat akhir bulan:
- Tarik data resi dari sistem penjualan: nomor resi, nomor pesanan, nilai COD, ekspedisi, status terakhir.
- Unduh laporan pencairan per ekspedisi yang memuat rincian per resi: nilai COD, fee, ongkir, ongkir retur, dan total transfer.
- Cocokkan per resi (VLOOKUP atau fitur pencocokan di software): tandai resi yang cocok, resi delivered yang belum ada di settlement, dan resi di settlement yang tidak ada di sistem Anda.
- Uji potongan: hitung ulang fee dan ongkir dengan tarif kontrak, lalu bandingkan dengan potongan ekspedisi.
- Cocokkan total transfer dengan mutasi bank pada tanggal yang sama.
- Buat jurnal pencairan hanya untuk resi yang cocok, lalu catat sisa saldo sebagai daftar tindak lanjut.
Hasil rekonsiliasi Oktober pada contoh kami:
| Komponen (contoh) | Ekspedisi A | Ekspedisi B |
|---|---|---|
| Nilai COD terkirim | 78.750.000 | 48.300.000 |
| Fee COD | (2.362.500) | (1.207.500) |
| Ongkir kirim (terkirim + RTS) | (3.360.000) | (1.752.000) |
| Ongkir retur | (210.000) | (96.000) |
| Seharusnya cair | 72.817.500 | 45.244.500 |
| Diterima di bank | 72.492.000 | 45.226.500 |
| Selisih | 325.500 | 18.000 |
| Penyebab | 1 resi delivered belum disetor (350.000 − fee 10.500 − ongkir 14.000) | Ongkir 2 paket ditagih berdasarkan berat aktual, lebih tinggi Rp18.000 |
Untuk Ekspedisi B, jika Anda menolak tambahan ongkir Rp18.000 dan mengajukan klaim, catat sebagai Piutang Klaim Ekspedisi. Jika data berat aktual benar, akui sebagai Beban Ongkir Penjualan dan perbaiki data berat produk di master barang.
Bagaimana perlakuan paket yang masih di jalan saat tutup buku?
Ini titik yang paling sering keliru. Per 31 Oktober, ada 14 paket (10 di Ekspedisi A dan 4 di Ekspedisi B) yang belum sampai ke pembeli. Paket ini:
- Belum diakui sebagai penjualan, karena pembeli bisa menolak paket.
- Tetap tercatat di Persediaan dalam Pengiriman sebesar HPP, yaitu Rp2.100.000 (A) dan Rp840.000 (B).
- Ongkirnya belum dibebankan karena belum ditagih ekspedisi. Jika jumlahnya material, Anda dapat mencatat beban yang masih harus dibayar sesuai kebijakan perusahaan.
Uji sederhananya: saldo akun Persediaan dalam Pengiriman di neraca harus sama dengan total HPP resi yang statusnya masih “dalam perjalanan” di sistem ekspedisi. Jika tidak sama, kemungkinan ada RTS yang sudah kembali tapi belum diterima gudang, atau paket hilang. Prinsip pemisahan periode ini sejalan dengan pembahasan cut-off penjualan dan pembelian.
Apa saja penyebab selisih COD dan apa tindakannya?
| Penyebab selisih | Tanda di data | Tindakan |
|---|---|---|
| Resi delivered belum disetor | Ada di sistem Anda, tidak ada di settlement | Biarkan di Piutang COD, pantau umurnya, eskalasi ke ekspedisi jika lewat jadwal pencairan |
| Ongkir berbeda dari tarif kontrak | Potongan ongkir per resi lebih tinggi | Cek berat aktual dan zona; ajukan klaim atau perbaiki master berat barang |
| RTS ditagih tapi barang belum kembali | Ongkir retur dipotong, gudang belum menerima | Tetap di Persediaan dalam Pengiriman, minta bukti serah terima retur |
| Paket hilang atau rusak oleh kurir | Status hilang atau barang retur rusak | Catat ke Piutang Klaim Ekspedisi sebesar nilai yang dapat diklaim |
| Nilai COD diubah setelah resi terbit | Nilai COD di settlement berbeda dengan pesanan | Telusuri perubahan pesanan, cocokkan dengan otorisasi diskon |
| Satu transfer untuk beberapa periode | Total transfer tidak cocok dengan rekap harian | Cocokkan berdasarkan ID settlement, bukan tanggal transfer |
Pantau saldo Piutang COD per ekspedisi dengan pengelompokan umur seperti pada laporan umur piutang. Resi yang sudah melewati jadwal pencairan normal adalah prioritas penagihan Anda ke ekspedisi.
Kesalahan yang Sering Terjadi
- Mencatat penjualan sebesar uang yang masuk ke bank. Penjualan menjadi lebih kecil dari seharusnya, sedangkan fee dan ongkir “hilang” dari laporan laba rugi sehingga margin terlihat lebih rendah tanpa penjelasan.
- Mengakui penjualan saat paket dikirim. Jika tingkat RTS tinggi, pendapatan bulan berjalan menjadi terlalu besar dan harus dikoreksi bulan berikutnya.
- Tidak mengembalikan RTS ke stok di sistem. Barang fisik ada di gudang, tapi stok di sistem kurang. Hasil stock opname pun selisih.
- Rekonsiliasi hanya per total transfer. Selisih kecil per resi saling menutupi dan tidak pernah terlihat.
- Satu akun Piutang COD untuk semua ekspedisi. Saldo tidak bisa dicocokkan dengan laporan masing-masing kurir.
Pertanyaan yang Sering Diajukan (FAQ)
Kapan penjualan COD diakui?
Umumnya saat paket diterima dan dibayar pembeli, yaitu ketika status resi menjadi terkirim (delivered), bukan saat paket dikirim atau saat dana cair. Pada titik itu barang sudah diserahkan dan hak tagih beralih menjadi piutang ke ekspedisi. Pastikan titik pengakuan ini tertulis dalam kebijakan akuntansi perusahaan Anda.
Apakah ongkir paket RTS boleh dikembalikan ke persediaan?
Tidak. Ongkir kirim dan ongkir retur untuk paket RTS adalah beban penjualan periode berjalan karena tidak menambah nilai barang. Yang dikembalikan ke persediaan hanya HPP barang, setelah kondisinya diperiksa layak jual.
Seberapa sering rekonsiliasi COD sebaiknya dilakukan?
Idealnya mengikuti jadwal pencairan ekspedisi, biasanya harian atau beberapa kali seminggu. Rekonsiliasi yang ditunda sampai akhir bulan membuat ratusan resi menumpuk dan selisih sulit ditelusuri. Pada akhir bulan, cukup lakukan uji saldo Piutang COD dan Persediaan dalam Pengiriman.
Bagaimana jika memakai agregator pengiriman dengan banyak kurir?
Buat Piutang COD per agregator, lalu gunakan kolom kurir dalam laporan pencairan sebagai dimensi analisis. Agregator biasanya menyetor dalam satu transfer, jadi pencocokan per resi dan per ID settlement menjadi lebih penting daripada pencocokan per kurir.
Penutup
Rekonsiliasi COD yang rapi bertumpu pada tiga hal: akun perantara yang tepat, pencocokan per resi, dan tindak lanjut atas setiap saldo yang tersisa. Dengan cara ini penjualan diakui di periode yang benar, RTS kembali ke stok, dan setiap potongan ekspedisi bisa diuji. Jika tim Anda masih mencocokkan ratusan resi di Excel setiap minggu, fitur kas & bank Zahir Online membantu mencatat penerimaan, memisahkan potongan, dan memantau saldo piutang per ekspedisi secara real-time. Anda bisa mencobanya melalui Coba Gratis Zahir Online.














