Multi-currency: elk bedrag zegt in welke valuta het staat
Wat je tenant instelt, waarom er nooit stilletjes over valuta’s heen opgeteld wordt, en de koers die bevriest zodra Market-voorwaarden aanvaard zijn.
Cross-border ITAD is doodgewoon. Een Nederlandse operator rekent af met een klant in euro, koopt een pallet van een Britse verkoper in pond, en factureert een Duitse koper in dollar omdat de moedermaatschappij Amerikaans is. Alle drie de bedragen komen op dezelfde schermen terecht, en zodra er eentje zijn valutalabel verliest, begint het scherm met veel zelfvertrouwen te liegen.
Wat de tenant instelt
De valutacatalogus bevat 147 valuta’s met hun code, naam, symbool en aantal decimalen. Instellingen > Valuta is waar je tenant zijn basisvaluta voor rapportage kiest, de subset aanzet waarin hij echt handelt, en een omrekenaar krijgt om een koers te controleren voor je een prijs geeft. Een regel bovenaan zegt hoeveel valuta’s van de catalogus aanstaan en wanneer de koersen voor het laatst zijn bijgewerkt. Dat is de hele pagina: een basisvaluta, de lijst die je aanzet, een omrekenaar en een tijdstempel.
Bedragen tonen de valuta van het record
Elk bedrag verschijnt in de valuta van de factuur, settlement, deal of order waar het bij hoort, opgemaakt in de taal waarin je de app gebruikt: een Engelstalige gebruiker ziet €1,234.50, een Nederlandstalige € 1.234,50, een Franstalige 1 234,50 €. Binnen één tenant en één scherm is er precies één notatie. Financiële bedragen — facturen, afrekeningen, marges, btw — tonen altijd de centen; lijsten en KPI’s mogen afronden of inkorten, maar nooit de valuta laten vallen. En er wordt niets stilletjes over valuta’s heen opgeteld: waar meerdere valuta’s in beeld zijn, krijgt elk zijn eigen regel, en een rij die niet optelbaar is, zegt dat in woorden. Escrow-payouts volgen dezelfde regel met één knop per valuta, want een bankbatch is per definitie één valuta.
De koers die vastgezet wordt
Wanneer koper en verkoper in verschillende valuta’s zitten, snapshot het aanvaarden van Market-voorwaarden de koers op het record: de koers zelf, het moment waarop hij genomen is, en de bron die hem leverde. Die lock heeft een versheidseis — een koers ouder dan 48 uur wordt geweigerd in plaats van gebruikt, en de interface begint al bij 24 uur te waarschuwen. Een deal die op een verouderde koers sluit, is een dispute die op een rustige maand wacht. Eenmaal vastgezet houdt dat record zijn koers, wat de feed daarna ook doet.
Waar de cijfers vandaan komen
Eén job ververst de koersen elke ochtend om 07:00 UTC en bewaart EUR-gebaseerde paren waaruit al de rest op runtime afgeleid wordt. De twee bronnen erachter, de API-key, de schakelaar die de dagelijkse refresh uitzet en de historiek die reconstrueert welke koers op een bepaald moment live stond, hebben een eigen artikel: Wisselkoersen: één API-call per dag, en een fallback die geen key nodig heeft.