Restoran Punya Dine-In, Delivery, dan Marketplace: Bagaimana Menyatukan Tiga Sumber Penjualan
Restoran modern jarang mempunyai satu kasir sebagai satu-satunya sumber revenue. Dine-in masuk POS. Pesanan delivery milik sendiri bisa masuk aplikasi atau WhatsApp. Marketplace memiliki order ID, promo, commission, refund, dan settlement period sendiri. Pada akhir bulan, finance menerima tiga versi penjualan yang masing-masing benar dalam konteksnya tetapi tidak otomatis dapat dijumlahkan tanpa rekonsiliasi.
Masalah terbesar bukan teknologi. Masalahnya definisi. Apa yang disebut gross sales oleh POS belum tentu sama dengan gross merchandise value di platform. Apa yang masuk rekening sudah net of fee. Jika perusahaan tidak membuat data dictionary, tim dapat berdebat tentang angka yang sebenarnya berbeda basis.
Tentukan source of truth untuk order
Setiap order perlu memiliki channel, outlet, tanggal transaksi, gross menu value, discount, refund, charge, dan settlement reference. POS dapat menjadi source of truth untuk dine-in, sedangkan platform report menjadi source untuk order marketplace. Yang penting, finance jangan memilih angka bank sebagai revenue hanya karena paling mudah dibuktikan.
Untuk delivery yang diintegrasikan ke POS, pastikan tidak terjadi double count. Sebagian integrasi membuat order platform otomatis masuk POS sekaligus tetap muncul di report marketplace. Jika tim menambahkan dua report, revenue menjadi ganda. Reconciliation rule harus menjelaskan mana yang master dan mana yang control total.
Dine-in punya pola settlement sendiri
Penjualan dine-in dapat dibayar tunai, kartu, QR, e-wallet, voucher, atau corporate account. Total POS harus di-bridge ke semua tender type. Selisih kas, tip, service charge, void, dan complimentary perlu memiliki code.
Card settlement dapat masuk satu atau dua hari kemudian. QR dapat memiliki fee dan timing berbeda. Karena itu, bank reconciliation berbasis tanggal transaksi perlu menggunakan clearing account. Tanpa clearing, finance sering memaksa perbedaan timing masuk sebagai selisih pendapatan.
Marketplace membutuhkan gross-to-net reconciliation
Report platform sebaiknya dipecah menjadi order value, merchant-funded promo, platform-funded promo, commission, delivery/other fee yang relevan, refund, adjustment, dan net settlement. Jangan mencatat net transfer sebagai sales. Itu mengaburkan biaya platform dan membuat margin channel terlihat lebih tinggi atau lebih rendah dari sebenarnya.
Jika ada beberapa marketplace, buat mapping field ke format internal yang sama. Platform A mungkin menyebut “promo subsidy”, platform B “campaign support”. Data warehouse internal cukup punya standard field. Dengan demikian CFO dapat membandingkan economics channel tanpa bergantung pada istilah masing-masing platform.
Delivery milik sendiri jangan menjadi channel tanpa kontrol
Order via WhatsApp atau website sering dianggap sederhana, tetapi justru rentan karena input manual. Pastikan ada order number, pembayaran, refund, dan delivery charge yang tercatat. Jika rider menerima cash, perlu cash handover. Jika payment gateway digunakan, settlement bridge diperlukan seperti pada marketplace.
Jangan biarkan order corporate atau catering masuk ke channel “miscellaneous”. Nilainya sering material dan memiliki term pembayaran serta dokumen pajak berbeda. Beri channel khusus agar AR dan tax dapat memantaunya.
Satu menu, beberapa harga
Harga dine-in dapat berbeda dengan marketplace karena commission. Platform juga dapat memiliki markup atau promo khusus. Finance jangan mengharapkan average selling price identik. Yang perlu konsisten adalah hubungan antara daftar harga, promo, dan order aktual.
Buat menu master yang memiliki SKU internal. Nama menu di platform boleh berbeda untuk marketing, tetapi mapping ke SKU harus jelas. Ini membantu inventory consumption dan margin analysis. Tanpa SKU mapping, food cost marketplace tidak dapat dibandingkan dengan dine-in.
Pajak daerah harus dibaca dari substansi dan lokasi
Untuk restoran, pajak atas makanan dan minuman berada dalam kerangka pajak daerah sesuai UU HKPD, PP 35/2023, dan Perda setempat. Detail tarif dan administrasi dapat berbeda menurut daerah sehingga konfigurasi outlet harus mengikuti aturan lokal, bukan template nasional tunggal.
Ketika platform terlibat, perusahaan perlu memisahkan nilai penjualan makanan/minuman dari fee yang dibebankan platform. Jangan menyimpulkan bahwa nilai yang diterima setelah commission adalah otomatis dasar untuk semua kepentingan pajak. Tax base harus dibaca berdasarkan ketentuan yang relevan, sedangkan commission dicatat sebagai komponen terpisah dalam settlement bridge.
Pajak pusat tetap berjalan di belakang operasi channel
Selain pajak daerah pada transaksi yang relevan, perusahaan tetap mempunyai kewajiban pusat seperti PPh badan, payroll, pemotongan vendor, dan kewajiban lain sesuai fakta. Marketplace juga dapat membawa ketentuan PPh tersendiri. Per Agustus 2026, DJP telah mengumumkan penundaan pemberlakuan pemungutan PPh Pasal 22 oleh marketplace berdasarkan PMK 37/2025 sampai 31 Oktober 2026, dengan mulai berlaku 1 November 2026. Karena tanggal implementasi dapat berubah, sistem harus menyimpan effective date dan tidak mengaktifkan rule berdasarkan berita lama.
Poin ini menunjukkan mengapa tax logic harus versioned. Jika rule marketplace berubah, perusahaan tidak seharusnya mengubah formula historis untuk seluruh tahun. Rule baru berlaku sesuai tanggal efektif dan scope yang ditentukan.
Refund dan cancellation perlu punya jalur balik
Marketplace dapat membatalkan order sebelum makanan dibuat, setelah dibuat, atau setelah delivery karena complaint. Dine-in juga mempunyai void dan comp. Jangan menyamakan semuanya. Beri reason code yang menghubungkan finance dan operation.
Refund setelah settlement perlu ditelusuri ke order awal. Jika platform melakukan netting pada settlement berikutnya, clearing account harus dapat menjelaskan. Tanpa order-level link, refund terlihat sebagai biaya acak.
Rekonsiliasi tiga lapis
Lapisan pertama adalah order-to-sales: semua order dari tiga channel masuk revenue universe tanpa double count. Lapisan kedua sales-to-settlement: setiap tender atau platform menjelaskan bagaimana gross berubah menjadi cash. Lapisan ketiga sales-to-tax: data yang relevan dipetakan ke pajak daerah dan pusat sesuai aturan serta periode.
Ketiga lapis sebaiknya menghasilkan exception report. Misalnya order missing in POS, settlement unmatched, merchant promo tanpa campaign ID, refund tanpa original order, local tax difference, atau marketplace rule yang belum diperbarui.
Jangan menutup bulan dengan plug
Ketika selisih hanya 0,3 persen, godaan finance adalah memasukkan ke “other expense”. Pada volume besar, plug kecil menjadi material dan menutupi kelemahan data. Buat tolerance untuk rounding dan timing, tetapi exception di atas tolerance harus memiliki alasan.
Reconciliation owner juga perlu jelas. Outlet mengelola void dan cash. E-commerce team mengelola platform campaign. Finance mengelola settlement. Tax mengelola mapping pajak. Tidak ada satu tim yang dapat menjelaskan semuanya sendirian.
Satu sales cube, bukan tiga dunia
Tujuan akhirnya adalah membangun sales cube yang dapat dipotong berdasarkan outlet, channel, SKU, date, promo, dan payment method. Finance tidak perlu mengganti POS atau platform. Yang dibutuhkan adalah layer yang menormalisasi data dan menjaga traceability ke sumber asli.
Ketika tiga channel sudah masuk satu model, diskusi berubah. Manajemen tidak lagi bertanya mengapa bank tidak sama dengan POS. Mereka dapat melihat channel mana paling menguntungkan setelah promo dan commission, outlet mana memiliki refund tinggi, serta apakah data pajak konsisten. Rekonsiliasi bukan pekerjaan akuntansi di belakang layar. Ia menjadi dasar keputusan channel.
Gunakan control total sebelum melakukan rekonsiliasi detail
Sebelum menyelam ke order satu per satu, finance dapat membuat control total per hari dan per outlet. Total quantity order, gross sales, refund, discount, dan net settlement dibandingkan antar-sistem. Jika total cocok, detail hanya perlu diperiksa secara sampling atau exception. Jika total tidak cocok, baru tim turun ke order ID.
Pendekatan ini menghemat waktu karena jutaan baris transaksi tidak harus selalu diproses manual. Namun control total harus mempunyai definisi field yang konsisten. “Gross sales” pada POS dan platform perlu dinormalisasi dulu agar perbandingannya bermakna.
Change management harus menjadi bagian dari tax control
Marketplace dan POS sering mengubah API, settlement format, promo field, atau naming convention. Perubahan teknis dapat diam-diam memindahkan data ke kolom yang salah. Karena itu, setiap perubahan integrasi sebaiknya diuji dengan transaksi skenario: order normal, merchant-funded promo, platform-funded promo, cancellation, refund, dan partial adjustment.
Ikuti setiap test order dari source sampai GL. Simpan evidence hasil test, tanggal go-live, dan owner. Jika tiga bulan kemudian muncul variance, tim dapat menelusuri apakah masalah mulai sejak release tertentu.
Bedakan management view dan statutory/tax view
Commercial team dapat melihat channel profitability menggunakan metrik yang berbeda dari financial reporting. Mereka mungkin fokus pada gross merchandise value, contribution margin, atau net sales setelah promo. Itu tidak masalah selama finance tidak mengambil metric tersebut mentah-mentah untuk pelaporan.
Bangun semantic layer yang menjelaskan bagaimana commercial metrics direkonsiliasi ke accounting sales dan tax base yang relevan. Dengan cara itu, setiap fungsi dapat memakai view yang sesuai tanpa menciptakan tiga kebenaran yang tidak pernah bertemu.
Data refund juga dapat menjadi sinyal operasi
Refund tinggi pada satu platform mungkin berasal dari keterlambatan outlet, menu stock-out, fraud, atau packaging. Tax team tidak perlu memecahkan root cause operasional, tetapi finance perlu memastikan refund yang mengurangi nilai transaksi mempunyai order reference dan bukti platform. Management kemudian dapat memakai data yang sama untuk memperbaiki service.
Pada akhirnya, tiga channel penjualan dapat dikelola jika perusahaan mempunyai satu bahasa data. Channel berbeda boleh memiliki proses berbeda, tetapi setiap proses harus kembali ke order, outlet, nilai, settlement, dan treatment yang dapat ditelusuri.
Rekonsiliasi juga harus mempertimbangkan waktu cutoff. Order pukul 23.59 dapat masuk settlement platform hari berikutnya, sementara POS menutup berdasarkan local business day. Tentukan aturan periode dan timezone agar transaksi tidak hilang di batas bulan. Untuk channel yang mempunyai delayed settlement, buat clearing schedule yang otomatis membawa unmatched item ke periode berikutnya. Finance kemudian dapat membedakan timing difference dari true error. Praktik ini sangat penting saat akhir tahun, ketika selisih satu hari dapat memengaruhi cut-off dan analisis revenue. Dengan rule yang terdokumentasi, tim tidak perlu mengubah tanggal manual hanya agar laporan terlihat cocok.
Untuk model tiga channel, setiap exception settlement perlu memiliki order reference dan owner agar perbedaan tidak berubah menjadi plug pada closing.


