Situs booking perjalanan multi mata uang: margin bocor di mana

Seorang sub-agent di Riyadh bertanya kenapa halaman pencarian Anda menampilkan SAR sementara invoice Anda tertulis AED. Anda cek. Kedua angka itu benar. Tarifnya dihargai supplier dalam satu mata uang, ditampilkan ke pelancong dalam mata uang lain, dan disettle dalam mata uang ketiga saat kartu berhasil ditarik. Tidak ada yang salah, dan uang di tangan Anda tetap kurang. Celah itulah tempat sebuah situs booking perjalanan multi mata uang kehilangan uang tanpa suara, dan pelakunya hampir tidak pernah kursnya sendiri. Yang bekerja adalah aturan pembulatan di bawahnya, plus satu pertanyaan yang belum dijawab siapa pun: antara quote dan settlement, siapa yang memikul risikonya.
Dua mata uang, hanya satu yang benar-benar memindahkan uang
Setiap etalase yang menjual lintas negara menjalankan dua sistem mata uang sekaligus. Menganggapnya satu sistem adalah akar dari hampir semua kekacauan.
Mata uang tampilan adalah angka yang dibaca pelancong. Ia lapisan presentasi. Di platform ini setiap situs white label memilih sendiri mata uang default dan daftar yang ditawarkannya, lalu harga dikonversi di sisi klien dari tabel kurs milik tenant tersebut. Detail itu lebih berat daripada kedengarannya: angka di layar adalah nilai turunan. Ia kurs Anda dikalikan harga supplier pada detik halaman dirender, bukan harga yang disepakati siapa pun untuk ditahan.
Mata uang settlement adalah mata uang tempat uang benar-benar bergerak: yang ditagihkan supplier ke Anda, yang ditangkap gateway, yang muncul di rekening koran, yang dipakai saat refund keluar. Biasanya satu per supplier dan satu per gateway, dan keduanya tidak selalu sama.
Ketika sebuah agen berkata "kami menjual dalam AED, SAR, dan USD", maksudnya hampir selalu menampilkan tiga dan menyelesaikan satu. Itu cara berdagang yang sehat; kebanyakan toko begitu. Ia berhenti sehat pada detik sesuatu di hilir memperlakukan harga tampilan sebagai komitmen, entah refund, statement sub-agent, atau sengketa, karena harga tampilan tidak pernah menjadi komitmen. Ia sebuah hasil render.
Siapa menanggung risiko kurs di situs booking multi mata uang
Antara pelancong melihat harga dan uang benar-benar settle, selalu ada pihak yang terpapar kurs yang bisa bergerak. Pertanyaannya bukan apakah paparan itu ada. Pertanyaannya milik siapa, dan apakah pemiliknya tahu itu miliknya.
Ada tiga jawaban jujur. Supplier menanggungnya ketika Anda mengontrak net rate dalam mata uang Anda sendiri dan mereka menyerap konversinya. Pelancong menanggungnya ketika Anda menagih dalam mata uang supplier dan penerbit kartunya yang mengonversi, cara paling bersih bagi Anda dan juga yang paling sering dikeluhkan, karena angka di tagihan kartu tidak sama dengan angka di konfirmasi. Atau Anda yang menanggung, dan itulah arti punya tabel kurs: Anda mematok satu kurs, dan selisih antara kurs Anda dengan kurs sebenarnya di hari settlement adalah milik Anda, ke arah mana pun.
Ketiganya bisa dibela. Yang harus dihindari adalah kasus keempat yang tidak disengaja: tidak ada yang memutuskan, tabel kurs diperbarui saat ada yang teringat, dan posisinya ditemukan di rekonsiliasi satu kuartal kemudian. Kalau Anda tidak bisa menyebut pemilik dan ritme pembaruannya dalam satu kalimat, Anda sedang berada di kasus keempat.
Pembulatan itu keputusan harga, bukan keputusan format
Kebanyakan engine memakai langkah pembulatan default 0,01 karena begitulah rupa mata uang desimal. Untuk industri perjalanan itu default yang salah, karena empat alasan terpisah.
Pertama, tidak semua mata uang punya satuan kecil. Yen Jepang dan won Korea tidak punya, dan dalam praktiknya rupiah pun tidak dijual sampai sen. Harga dengan dua desimal di pasar-pasar itu terbaca sebagai artefak software, dan langkah pembulatan 0,01 pada mata uang tanpa satuan kecil adalah aritmetika atas satuan yang tidak ada.
Kedua, harga hasil konversi terlihat hasil konversi. Angka Rp 1.236.470 yang berakhir di digit ganjil mengumumkan dirinya sebagai keluaran sebuah perkalian. Pelancong yang membacanya tahu ada angka lain di belakangnya, dan langkah alaminya adalah mencari angka itu di tempat lain. Harga yang mendarat di langkah bulat terbaca sebagai harga Anda.
Ketiga, arah. Membulatkan ke nilai terdekat itu simetris: galatnya saling meniadakan seiring volume dan margin Anda tidak terpengaruh. Selalu membulatkan ke atas berarti menambah sedikit setiap kali; selalu ke bawah berarti memberi sedikit setiap kali. Masing-masing adalah kebijakan, dan masing-masing tidak masalah kalau memang dipilih. Kegagalannya adalah memilihnya tanpa sadar, ke arah yang salah, lalu bertanya-tanya kenapa margin kotor di satu pasar duduk sedikit di bawah yang lain.
Keempat adalah urutan operasi, dan inilah yang benar-benar menggigit. Konversi dulu, lalu terapkan markup, lalu bulatkan sekali di akhir. Engine yang membulatkan tarif net saat konversi lalu membulatkan lagi setelah markup sudah membulatkan dua kali, dan pembulatan kedua diterapkan pada angka yang sisanya sudah hilang. Kalikan itu dengan tarif, pajak, dan ancillary yang dihargai sebagai komponen terpisah, dan totalnya tidak lagi sama dengan jumlah bagian-bagiannya, yang merupakan masalah rekonsiliasi sebelum menjadi masalah harga.
Bulatkan per komponen atau bulatkan totalnya, tapi jangan dua-duanya, dan pastikan apa pun yang ditampilkan invoice tetap berjumlah benar ketika sub-agent memasukkannya ke spreadsheet. Mereka pasti memasukkannya.
Tiga cara menjalankannya
Tiga model di bawah bukan tingkatan fitur. Mereka tiga jawaban berbeda atas "apa yang Anda janjikan ke pelancong", dan masing-masing memikul beban kerja yang berbeda.
| Konversi tampilan | Daftar harga per pasar | Settle per pasar | |
|---|---|---|---|
| Apa itu | Satu mata uang settlement; sisanya dirender tabel kurs | Harga disetel manual per pasar, bukan diturunkan | Satu gateway dan satu rekening per mata uang |
| Siapa memikul FX | Anda, antara pembaruan kurs dan settlement | Anda, sampai Anda menetapkan harga ulang | Hampir tidak ada; Anda memegang tiap mata uang |
| Refund | Butuh kurs hari penjualan tersimpan, kalau tidak Anda yang menanggung selisih | Bersih: angka yang sama kembali | Bersih |
| Kendali harga | Lemah. Psikologi harga jadi apa pun hasil kursnya | Penuh. Anda memilih setiap titik harga | Penuh |
| Akuntansi | Satu buku besar, gampang | Satu buku besar, gampang | Beberapa buku besar, kerja sungguhan |
| Kapan tepat | Kebanyakan agen, sebagian besar waktu | Pasar tempat Anda benar-benar bersaing harga | Anda punya staf, volume, dan bank di negara itu |
Hampir semua orang sebaiknya mulai dari kolom kiri dan memindahkan satu pasar saja ke kolom tengah ketika pasar itu layak diperhatikan. Kolom kanan adalah keputusan operasional yang memakai kostum teknologi; kalau hari ini tidak ada orang di kantor yang merekonsiliasi dua buku besar, menambah mata uang ketiga bukan hal yang akan memulainya.
Apa harganya kalau salah
Yang klasik adalah refund. Sebuah booking dijual pada satu kurs, dibatalkan enam minggu kemudian, lalu direfund pada kurs hari ini karena itulah yang ada di tangan engine. Kalau kurs bergerak menguntungkan pelancong, Anda yang membayar selisihnya; kalau bergerak sebaliknya, pelancong yakin Anda mengurangi haknya, dan mereka tidak sepenuhnya keliru. Simpan kurs yang dipakai saat penjualan pada booking itu, dan refund terhadapnya.
Yang lebih senyap adalah kredit. Limit kredit sub-agent dan penagihan settlement ada di sini sebagai objek kelas satu, bukan spreadsheet, tapi itu baru jadi keunggulan kalau limitnya didenominasi dalam mata uang yang benar-benar dipakai sub-agent itu berjualan. Limit dalam USD untuk agen yang menjual dalam SAR akan hanyut setiap kali kurs bergerak, dan hanyutnya baru ketahuan di momen terburuk, yaitu ketika limit memblokir penerbitan tiket di bandara.
Lalu yang lambat. Tabel kurs basi tidak melempar error. Ia menjual. Selama berminggu-minggu ia bisa terlihat seperti volume yang luar biasa bagus di satu pasar, sampai bulan ditutup dan volume itu ternyata diskon yang tidak Anda sadari sedang Anda berikan. Inilah argumen untuk menempelkan tanggal dan nama penanggung jawab pada tabel kurs, alih-alih cron job yang tidak dibaca siapa pun.
Sebelum Anda menyalakan satu pasar
Tidak satu pun hal di atas butuh proyek. Yang dibutuhkan adalah keputusan yang ditulis, dalam urutan ini, sebelum mata uangnya muncul di pemilih:
- Sebutkan mata uang settlement untuk pasar itu, serta supplier dan gateway yang berlaku untuknya. Satu kalimat.
- Sebutkan siapa yang memperbarui tabel kurs dan seberapa sering, dan taruh tanggal pembaruan terakhir di tempat yang dilihat manusia.
- Pilih langkah pembulatan per mata uang, bukan satu langkah global, dan periksa mata uang tanpa desimal secara terpisah.
- Pastikan urutannya konversi, markup, lalu bulatkan sekali, dan harga komponen masih berjumlah sama dengan total di invoice.
- Pastikan refund memakai kurs hari penjualan yang tersimpan, bukan kurs hari ini.
- Periksa limit kredit dan invoice settlement sub-agent berada dalam mata uang yang sama dengan statement yang dibaca agen tersebut.
Lalu nyalakan, jual ke sana selama dua minggu, dan rekonsiliasi dua minggu itu dengan tangan satu kali. Pasar pertama adalah yang mengajari Anda mana dari enam hal di atas yang Anda salah.
Perilaku mata uang adalah bagian etalase yang paling mudah didemokan dan paling sulit diaudit, jadi ada gunanya melihat setelan aslinya sebelum Anda mendesain di sekitarnya. Kalau Anda ingin melihat apa yang dibawa sebuah situs sejak awal, daftar mata uang, tabel kurs, halaman admin tempat markup tinggal, buat satu lewat wizard; ia disiapkan di subdomain platform dan tidak menanyakan kartu. Kalau Anda masih menimbang apakah akan memakai engine orang lain sama sekali, perbandingan bangun sendiri versus white label adalah argumen di bawah tulisan ini, dan apa yang sebenarnya Anda dapat dari white label menutup sisanya.
Kurs adalah informasi publik. Aturan pembulatan Anda, kurs refund Anda, dan ritme pembaruan Anda tidak, dan justru di tiga tempat itulah margin sebuah booking lintas negara benar-benar ditentukan.