Hopp til innholdet
Blogg

Bestillingsside med flere valutaer: hvor marginen lekker

Tekravel Redaksjon

En underagent i Bergen spør hvorfor nettstedet viste prisen i NOK mens fakturaen står i EUR. Du sjekker. Begge tallene stemmer. Billetten ble priset av leverandøren i én valuta, vist for den reisende i en annen og gjort opp i en tredje da kortet ble belastet. Ingen har gjort feil, og du mangler likevel penger. Det er der en bestillingsside med flere valutaer stille taper penger, og det er nesten aldri valutakursen som gjør skaden. Det er avrundingsregelen under den, og det ubesvarte spørsmålet om hvem som bærer risikoen mellom tilbudet og oppgjøret.

To valutaer, og bare den ene flytter penger

Enhver butikk som selger over en grense, kjører to valutasystemer samtidig. Å behandle dem som ett er roten til det meste av rotet.

Visningsvalutaen er den den reisende leser. Den er et presentasjonslag. På denne plattformen velger hvert white-label-nettsted sin egen standardvaluta og listen det tilbyr, og priser regnes om på klientsiden fra en kurstabell per tenant. Den detaljen betyr mer enn den høres ut som: tallet på skjermen er avledet. Det er din kurs anvendt på leverandørens pris i det øyeblikket siden tegnes, ikke en pris noen har gått med på å holde.

Oppgjørsvalutaen er den pengene faktisk beveger seg i — det leverandøren fakturerer deg, det betalingsløsningen trekker, det som lander på bankkontoen, det refusjonen går ut i. Det er som regel én per leverandør og én per betalingsløsning, og de er ikke alltid den samme.

Når et byrå sier "vi selger i NOK, EUR og USD", betyr det nesten alltid at det viser tre og gjør opp i én. Det er en helt brukbar måte å drive butikk på; de fleste butikker gjør det slik. Det slutter å være greit i det øyeblikket noe nedstrøms behandler en vist pris som en forpliktelse — en refusjon, et underagentoppgjør, en tvist — fordi den viste prisen aldri var en forpliktelse. Den var en gjengivelse.

Hvem bærer valutarisikoen på en bestillingsside med flere valutaer

Mellom at den reisende ser en pris og at pengene gjøres opp, er noen eksponert mot en kurs som kan bevege seg. Spørsmålet er aldri om eksponeringen finnes. Det er hvem som eier den, og om vedkommende vet det.

Det finnes tre ærlige svar. Leverandøren bærer den når du har kontraktsfestede nettopriser i din egen valuta og de tar omregningen. Den reisende bærer den når du belaster i leverandørens valuta og kortutstederen regner om — reneste for deg, og det de reisende klager på, fordi beløpet på kontoutskriften ikke er beløpet på bekreftelsen. Eller du bærer den, som er nøyaktig hva en kurstabell betyr: du har låst en kurs, og differansen mellom din kurs og den virkelige på oppgjørsdagen er din, begge veier.

Alle tre er forsvarlige. Den som skal unngås, er det utilsiktede fjerde tilfellet, der ingen har bestemt, kurstabellen oppdateres når noen kommer på det, og posisjonen oppdages i avstemmingen et kvartal senere. Klarer du ikke å navngi eieren og oppdateringstakten i én setning, er du i det fjerde tilfellet.

Avrunding er en prisbeslutning, ikke formatering

De fleste motorer har 0,01 som standardtrinn, fordi det er slik en desimalvaluta ser ut. Det er feil standard for reiser, av fire ulike grunner.

Den første er at ikke alle valutaer har en underenhet. Japanske yen og sørkoreanske won har ingen; en pris med to desimaler i de markedene leses som en programvareartefakt, og et avrundingstrinn på 0,01 i en valuta uten øre er regning på en enhet som ikke finnes.

Den andre er at omregnede priser ser omregnede ut. 12 364,73 NOK annonserer seg selv som resultatet av en multiplikasjon. En reisende som leser det, vet at det ligger et annet tall bak, og det naturlige neste trekket er å gå og finne det tallet et annet sted. En pris som lander på et rundt trinn, leses som din pris.

Den tredje er retning. Avrunding til nærmeste trinn er symmetrisk: feilene utligner hverandre over volum, og marginen er upåvirket. Opp legger alltid til en flis, ned gir alltid en bort. Begge er policy, og begge er greie hvis de ble valgt. Feilen er å velge ved et uhell, i feil retning, og så lure på hvorfor bruttomarginen i ett marked ligger et hakk under de andre.

Den fjerde er rekkefølgen på operasjonene, og det er den som faktisk biter. Regn om, legg på påslaget, rund av — én gang, til slutt. En motor som runder av nettoprisen ved omregningen og runder av igjen etter påslaget, har rundet av to ganger, og den andre avrundingen legges på et tall som allerede har mistet resten sin. Gang det opp over billettpris, skatter og tilleggstjenester priset som separate komponenter, og totalen er ikke lenger lik summen av delene. Det er et avstemmingsproblem før det er et prisproblem.

Rund av per komponent eller rund av totalen, men ikke begge deler, og sørg for at det en faktura viser, går opp når en underagent legger det inn i et regneark. Det kommer de til å gjøre.

Tre måter å faktisk kjøre det på

Modellene under er ikke funksjonsnivåer. De er tre ulike svar på "hva lover du den reisende", og de bærer ulik arbeidsmengde.

SpørsmålOmregnet visningPrislister per markedOppgjør per marked
Hva det erÉn oppgjørsvaluta; en kurstabell tegner restenPriser satt for hånd per marked, ikke avledetEn betalingsløsning og en bankkonto per valuta
Hvem bærer valutarisikoenDu, mellom kursoppdatering og oppgjørDu, til du priser omStort sett ingen — du holder hver valuta
RefusjonerKrever at salgsdagens kurs er lagret, ellers spiser du differansenRene: samme tall tilbakeRene
PriskontrollSvak. Psykologien blir det kursen produsererTotal. Du velger hvert prispunktTotal
RegnskapÉn hovedbok, enkeltÉn hovedbok, enkeltFlere hovedbøker, reelt arbeid
Når det er riktigDe fleste byråer, mesteparten av tidenEt marked du faktisk konkurrerer på pris iDu har folk, volum og en bank i landet

Nesten alle bør starte i venstre kolonne og flytte ett enkelt marked til midtkolonnen når det fortjener oppmerksomheten. Høyre kolonne er en driftsbeslutning i teknologikostyme; hvis ingen i huset avstemmer to hovedbøker i dag, blir ikke en tredje valuta det som får dem i gang.

Hva det koster deg hvis du bommer

Refusjonen er klassikeren. En bestilling selges til én kurs, kanselleres seks uker senere og refunderes til dagens kurs, fordi det var det motoren hadde for hånden. Beveget kursen seg i den reisendes favør, har du betalt differansen; gikk den andre veien, tror den reisende at du har snytt dem, og de tar ikke helt feil. Lagre kursen som ble brukt ved salget, på bestillingen, og refunder mot den.

Den stillere handler om kreditt. Kredittgrenser for underagenter og oppgjørsfakturering finnes her som førsteklasses objekter i stedet for et regneark — noe som bare er en fordel hvis grensen er denominert i valutaen underagenten faktisk selger i. En grense i EUR mot en agent som selger i NOK, driver hver gang kursen gjør det, og driften oppdages på verst tenkelige tidspunkt, nemlig når grensen blokkerer en utstedelse på flyplassen.

Og så den langsomme. En utdatert kurstabell kaster ingen feil. Den selger. I ukevis kan det se ut som uvanlig godt volum i ett marked, helt til måneden stenges og volumet viser seg å ha vært en rabatt du ikke visste at du ga. Det er argumentet for å sette en dato og en eier på kurstabellen fremfor en cron-jobb ingen leser.

Før du slår på et marked

Ingenting av dette krever et prosjekt. Det krever beslutninger skrevet ned, i denne rekkefølgen, før valutaen dukker opp i velgeren:

  • Navngi oppgjørsvalutaen for det markedet, og leverandøren og betalingsløsningen den gjelder. Én setning.
  • Navngi hvem som oppdaterer kurstabellen og hvor ofte, og sett sist-oppdatert-datoen et sted et menneske ser den.
  • Velg et avrundingstrinn per valuta, ikke ett globalt trinn, og sjekk valutaene uten desimaler for seg.
  • Bekreft at rekkefølgen er regn om, legg på påslag, rund av én gang — og at komponentprisene fortsatt summerer til totalen på fakturaen.
  • Bekreft at refusjoner bruker den lagrede salgsdagskursen, ikke dagens.
  • Sjekk at underagentenes kredittgrenser og oppgjørsfakturaer er i samme valuta som utskriftene de agentene leser.

Slå det så på, selg inn i det i fjorten dager, og avstem de fjorten dagene for hånd én gang. Det første markedet er det som lærer deg hvilket av de seks punktene du tok feil om.

Valutaatferd er den delen av en butikk som er lettest å demonstrere og vanskeligst å revidere, så det er verdt å se de faktiske innstillingene før du designer rundt dem. Vil du se hva et nettsted leveres med — valutalisten, kurstabellen, admin-flaten påslagene bor i — start ett fra veiviseren; det opprettes på et plattformsubdomene og ber ikke om kort. Er du fortsatt i tvil om du i det hele tatt skal kjøre andres motor, er sammenligningen bygge selv eller white label argumentet under dette, og hva en white label faktisk gir deg dekker resten av flaten.

Valutakursen er offentlig informasjon. Avrundingsregelen din, refusjonskursen din og oppdateringstakten din er det ikke, og det er de tre stedene marginen på en bestilling over landegrenser faktisk avgjøres.

Tekravel Redaksjon

Desk for reiseteknologi

Tekravels desk for reiseteknologi skriver for bransjen: byråeiere, konsolidatorer og utviklerne som integrerer dem. Hver artikkel kontrolleres mot plattformen den beskriver før den publiseres.