Naar inhoud springen
Blog

Boekingssite met meerdere valuta: waar je marge weglekt

Tekravel Redactie

Een sub-agent in Riyad vraagt waarom je site op de zoekpagina in SAR quoteerde en de factuur AED vermeldt. Je kijkt na. Beide getallen kloppen. De tarief werd door de supplier in één valuta geprijsd, aan de reiziger in een tweede getoond en in een derde afgerekend toen de kaart werd belast. Niemand heeft een fout gemaakt, en je komt toch tekort. Precies in dat gat verliest een boekingssite met meerdere valuta stil geld, en bijna nooit is de wisselkoers de boosdoener. Het is de afrondingsregel eronder, plus de vraag die niemand stelde: wie draagt het risico tussen de quote en de afrekening?

Twee valuta, en maar één verplaatst geld

Elke winkel die over de grens verkoopt draait twee valutasystemen tegelijk. Die als één behandelen is de bron van vrijwel alle rommel.

De weergavevaluta is wat de reiziger leest. Dat is een presentatielaag. Op dit platform kiest elke white-label site zijn eigen standaardvaluta en de lijst die hij aanbiedt, en prijzen worden client-side omgerekend uit een koerstabel per tenant. Dat detail weegt zwaarder dan het klinkt: het getal op het scherm is afgeleid. Het is jouw koers toegepast op de prijs van de supplier op het moment dat de pagina rendert, geen prijs die iemand heeft toegezegd vast te houden.

De settlement-valuta is de valuta waarin het geld echt beweegt: waarin de supplier je factureert, waarin de gateway incasseert, wat op het bankafschrift landt, waarin de terugbetaling uitgaat. Meestal is er één per leverancier en één per gateway, en ze zijn niet altijd dezelfde.

Als een agentschap zegt «wij verkopen in EUR, USD en AED», betekent dat bijna altijd: het toont er drie en rekent er één af. Dat is een prima manier om een winkel te runnen; de meeste winkels doen het zo. Het gaat mis op het moment dat iets verderop een getoonde prijs als een toezegging behandelt — een terugbetaling, een sub-agent-afrekening, een dispuut — want die getoonde prijs was nooit een toezegging. Het was een rendering.

Wie draagt het FX-risico op een boekingssite met meerdere valuta

Tussen het moment dat de reiziger een prijs ziet en het moment dat het geld afrekent, staat iemand bloot aan een koers die kan bewegen. De vraag is nooit of die blootstelling bestaat. De vraag is van wie ze is, en of diegene dat weet.

Er zijn drie eerlijke antwoorden. De supplier draagt het wanneer je net rates in je eigen valuta hebt gecontracteerd en hij de omrekening opvangt. De reiziger draagt het wanneer je in de valuta van de supplier belast en zijn kaartuitgever omrekent — voor jou het schoonst, en waar reizigers over klagen, omdat het bedrag op het afschrift niet het bedrag op de bevestiging is. Of jij draagt het, en dat is precies wat een koerstabel betekent: je hebt een koers vastgezet, en het verschil met de echte koers op afrekendag is van jou, in beide richtingen.

Alle drie zijn verdedigbaar. Wat je wilt vermijden is de vierde, per ongeluk: niemand heeft beslist, de koerstabel wordt bijgewerkt wanneer iemand eraan denkt, en de positie komt een kwartaal later bij de afletting boven water. Kun je eigenaar en updatefrequentie niet in één zin noemen, dan zit je in geval vier.

Afronden is een prijsbeslissing, geen opmaakkwestie

De meeste engines zetten standaard een stap van 0,01 omdat een decimale valuta er zo uitziet. Voor reizen is dat de verkeerde default, om vier losse redenen.

De eerste is dat niet elke valuta een kleinere eenheid heeft. De Japanse yen en de Koreaanse won niet; een prijs met twee decimalen leest daar als een softwareartefact, en een stap van 0,01 op een valuta zonder cent is rekenen met een eenheid die niet bestaat.

De tweede is dat omgerekende prijzen er omgerekend uitzien. EUR 1.236,47 kondigt zichzelf aan als de uitkomst van een vermenigvuldiging. De reiziger die dat leest weet dat er een ander getal achter zit, en de natuurlijke volgende stap is dat getal ergens anders gaan zoeken. Een prijs die op een ronde stap landt, leest als jouw prijs.

De derde is richting. Afronden op de dichtstbijzijnde stap is symmetrisch: over volume heffen je afwijkingen elkaar op en je marge merkt er niets van. Naar boven afronden voegt altijd een splinter toe, naar beneden geeft er altijd een weg. Het zijn allebei beleidskeuzes, en allebei prima als ze gekozen zijn. De fout is ze per ongeluk maken, in de verkeerde richting, en je daarna afvragen waarom de brutomarge in één markt net onder de rest hangt.

De vierde is de volgorde van bewerkingen, en die bijt echt. Reken om, zet er dan markup op, rond dan af — één keer, aan het eind. Een engine die het nettotarief bij de omrekening afrondt en na de markup opnieuw afrondt, heeft twee keer afgerond, en de tweede keer op een getal dat zijn rest al kwijt was. Vermenigvuldig dat over tarief, taksen en ancillaries die als losse componenten geprijsd zijn, en het totaal is niet langer de som van de delen — wat een aflettingsprobleem is voordat het een prijsprobleem is.

Rond per component af óf op het totaal, maar niet allebei, en zorg dat wat op de factuur staat klopt zodra een sub-agent het in een spreadsheet zet. Dat doet hij.

Drie manieren om het echt te draaien

De modellen hieronder zijn geen prijsniveaus. Het zijn drie verschillende antwoorden op «wat beloof je de reiziger», en elk brengt ander werk mee.

 Omrekenen bij weergavePrijslijsten per marktAfrekenen per markt
Wat het isEén settlement-valuta; de rest rendert de koerstabelPrijzen met de hand per markt gezet, niet afgeleidEen gateway en een rekening per valuta
Wie draagt FXJij, tussen koersupdate en afrekeningJij, tot je herprijstVrijwel niemand: je houdt elke valuta zelf aan
TerugbetalingenKoers van de verkoopdag moet bewaard zijn, anders betaal je het verschilSchoon: hetzelfde getal terugSchoon
Grip op de prijsZwak. De psychologie is wat de koers oplevertVolledig. Je kiest elk prijspuntVolledig
BoekhoudingEén grootboek, makkelijkEén grootboek, makkelijkMeerdere grootboeken, echt werk
Wanneer het kloptDe meeste agentschappen, meestalEen markt waarin je echt op prijs concurreertJe hebt daar personeel, volume en een bank

Vrijwel iedereen zou links moeten beginnen en één markt naar de middelste kolom verplaatsen zodra die de aandacht verdient. De rechterkolom is een operationele beslissing in een technologisch jasje: als vandaag niemand in het pand twee grootboeken aflet, gaat een derde valuta dat niet in gang zetten.

Wat het kost als het misgaat

De terugbetaling is de klassieker. Een boeking wordt tegen één koers verkocht, zes weken later geannuleerd en tegen de koers van vandaag terugbetaald, omdat de engine die bij de hand had. Bewoog de koers in het voordeel van de reiziger, dan betaal jij het verschil; bewoog hij de andere kant op, dan denkt de reiziger dat je te weinig teruggaf, en helemaal ongelijk heeft hij niet. Sla de koers van het verkoopmoment op bij de boeking en betaal daartegen terug.

De stille is krediet. Kredietlimieten van sub-agents en settlement-facturen zijn hier eersteklas objecten in plaats van een spreadsheet — wat alleen een voordeel is als de limiet luidt in de valuta waarin die agent daadwerkelijk verkoopt. Een limiet in USD tegenover een agent die in SAR verkoopt, schuift bij elke koersbeweging, en die schuif merk je op het slechtste moment: wanneer de limiet een uitgifte op de luchthaven blokkeert.

Dan de trage. Een verouderde koerstabel geeft geen foutmelding. Hij verkoopt. Wekenlang kan het lijken op ongewoon goed volume in één markt, tot de maand sluit en dat volume een korting blijkt die je niet wist te geven. Dat is het argument om een datum en een eigenaar op de koerstabel te zetten, in plaats van een cron job die niemand leest.

Voor je een markt aanzet

Hier is geen project voor nodig. Er zijn opgeschreven beslissingen nodig, in deze volgorde, voordat de valuta in de keuzelijst verschijnt:

  • Noem de settlement-valuta voor die markt, en de supplier en gateway waarop die geldt. Eén zin.
  • Noem wie de koerstabel bijwerkt en hoe vaak, en zet de datum van de laatste update waar een mens die ziet.
  • Kies een afrondingsstap per valuta, niet één globale stap, en controleer de valuta zonder decimalen apart.
  • Bevestig dat de volgorde omrekenen, markup, één keer afronden is — en dat componentprijzen op de factuur nog steeds optellen tot het totaal.
  • Bevestig dat terugbetalingen de opgeslagen verkoopkoers gebruiken, niet die van vandaag.
  • Controleer of kredietlimieten van sub-agents en settlement-facturen in dezelfde valuta staan als de afschriften die die agents lezen.

Zet het dan aan, verkoop er veertien dagen in en let die veertien dagen één keer met de hand af. De eerste markt is de markt die je leert welk van de zes punten hierboven je fout had.

Valutagedrag is het deel van een storefront dat het makkelijkst te demonstreren en het lastigst te controleren is, dus het loont om de echte instellingen te zien voordat je eromheen ontwerpt. Wil je kijken wat een site meebrengt — de valutalijst, de koerstabel, het admin waar de markups leven — start er een via de wizard: hij draait op een subdomein van het platform en vraagt geen kaart. Twijfel je nog of je überhaupt iemand anders zijn engine wilt draaien, dan is white label of zelf bouwen de discussie onder deze, en wat een white label reiswebsite oplevert dekt de rest.

De wisselkoers is openbare informatie. Je afrondingsregel, je terugbetalingskoers en je updatefrequentie niet — en dat zijn de drie plekken waar de marge op een grensoverschrijdende boeking echt wordt bepaald.

Tekravel Redactie

Desk reistechnologie

De reistechnologie-desk van Tekravel schrijft voor de branche: eigenaren van reisbureaus, consolidators en de ontwikkelaars die hen koppelen. Elk artikel wordt vóór publicatie getoetst aan het platform dat het beschrijft.