Multi-Currency System

21+ currencies with automatic daily rates, fixed overrides for volatile markets, and guest-level currency preferences.

21+
— currencies with automatic daily rate feeds
artidal-currency · exchange rates
Currencies active
21
Processed annually
€1.8B
Fixed-rate overrides
3
EUREuro1.0000BASE
USDUS Dollar1.0847+0.12%
GBPBritish Pound0.8621-0.08%
IDRIndonesian Rupiah17,142+0.45%FIXED
BRLBrazilian Real5.4230+0.31%FIXED
MADMoroccan Dirham10.812-0.02%

The Multi-Currency Reality of International Hospitality

A surf camp in Bali receives bookings from guests in Germany (EUR), Australia (AUD), the United States (USD), the United Kingdom (GBP), and Japan (JPY) — while paying staff in Indonesian Rupiah (IDR), settling supplier invoices in IDR, and reporting to a parent company in euros. A retreat centre in Costa Rica quotes in USD for North American guests and EUR for Europeans, pays staff and suppliers in Costa Rican Colón (CRC), and faces a currency whose value can shift 10% over a single season. A boutique eco-lodge in Portugal prices in euros for the domestic market but needs to display GBP for British guests, BRL for Brazilian guests, and USD for American guests — each with a conversion that needs to be current, not a rate from last month's spreadsheet.

Generic financial software treats multi-currency as an edge case — a secondary feature for the occasional international transaction. In experience hospitality, multi-currency is the default operating condition. Every booking is an international transaction. Every price displayed on the website needs to make sense in the guest's home currency. Every supplier payment needs to reconcile against booking revenue in a different currency. And every financial report needs to present a coherent picture across multiple currencies, exchange rates, and accounting periods.

Artidal's Multi-Currency System treats this reality as a first-class architectural concern. It's not a currency conversion utility bolted onto a single-currency system — it's a multi-currency foundation that every other module (invoicing, pricing, payments, reporting) builds on top of.

21+ Supported Currencies

The system supports over 21 currencies out of the box, covering the major booking currencies (EUR, USD, GBP, AUD, CAD, CHF, JPY, SEK, NOK, DKK, NZD, SGD, HKD, ZAR) and the local operating currencies common in experience hospitality destinations (IDR for Indonesia, BRL for Brazil, CRC for Costa Rica, MXN for Mexico, MAD for Morocco, TRY for Turkey, THB for Thailand, PHP for the Philippines, LKR for Sri Lanka, PEN for Peru). Additional currencies can be enabled on request.

Each currency carries its full ISO 4217 definition: code, symbol, decimal precision (JPY uses 0 decimals, most others use 2, and some operators in IDR markets prefer displaying without decimals due to the large nominal values), and display formatting rules. These formatting details matter more than they seem — a price displayed as '€1,200.00' looks professional, while 'IDR 18.000.000,00' (eighteen million rupiah with two decimal places) is confusing. The system formats each currency according to its conventional display pattern.

Currency enablement is hierarchical: the organisation sets which currencies are available across all properties, and each company (branch/location) configures which of those currencies it actually uses for display, invoicing, and settlement. A multi-location operator might enable 15 currencies at the organisation level, with the Bali location using EUR, USD, AUD, GBP, and IDR, while the Portugal location uses EUR, GBP, USD, and BRL.

Automatic Daily Rate Updates

Exchange rates are fetched automatically every 24 hours from multiple sources, with the European Central Bank (ECB) reference rates as the primary feed for EUR-based conversions and open-market API providers for currency pairs not covered by the ECB (notably IDR, CRC, MAD, and TRY). The system stores a complete rate history, enabling retroactive reporting and audit trail compliance.

Daily rate updates mean that the price a guest sees on the booking engine at 9am reflects the exchange rate from the most recent fetch, not a rate that was manually entered three weeks ago. For operators who previously updated exchange rates monthly (or never), this alone eliminates a category of margin erosion. A 3% shift in the IDR/EUR rate over a month — entirely normal for the Indonesian Rupiah — means a Bali surf camp underquoting or overquoting by €36 on a €1,200 package for every day the rate isn't updated.

Rate history also enables accurate financial reporting across periods. When the finance team generates a Q1 revenue report, the system uses the actual exchange rate on the date of each transaction — not an average rate, not the current rate, and not a rate someone remembered to record in a spreadsheet. This transaction-date accuracy is required by IFRS (IAS 21) and most local GAAP frameworks for entities with foreign currency transactions.

Organisation and Company-Level Configuration

Multi-currency configuration follows Artidal's hierarchical data model: organisation → company → branch. The organisation sets the base reporting currency (typically EUR or USD for the parent entity), the list of enabled currencies, and any global policies (such as exchange rate margin or rounding rules). Each company (which may represent a legal entity, a brand, or a location) configures its own operating currencies: the primary currency for invoicing and settlement, secondary currencies for guest-facing display, and the local currency for tax and regulatory reporting.

This hierarchy solves a common problem for multi-location operators. A group running surf camps in Portugal, Morocco, and Indonesia needs EUR for Portuguese operations, MAD for Moroccan operations, and IDR for Indonesian operations — each as the respective company's primary currency — while consolidating financial reports in EUR at the organisation level. The system handles the consolidation automatically, converting each company's local-currency financials to the organisation's reporting currency at the appropriate exchange rates.

Guest-facing currency display is configurable at the company level. The Portugal location might display prices in EUR (primary), GBP, and USD. The Bali location might display in EUR (primary), USD, AUD, and GBP. The guest selects their preferred currency on the booking engine, and all prices — packages, rooms, activities, transfers — are displayed in that currency using the current day's exchange rate.

Fixed Rate Overrides for Volatile Currencies

Automatic daily rates work well for stable currency pairs (EUR/USD, EUR/GBP, EUR/CHF), but they create a problem for volatile currencies. The Indonesian Rupiah (IDR) can move 5-8% against the euro in a single month. The Turkish Lira (TRY) has depreciated by over 80% against the euro over the past five years, with intra-month swings of 10-15%. The Brazilian Real (BRL) is similarly volatile, with political events and commodity prices driving 5-10% movements in short periods.

For operators in these markets, automatic daily rates mean the price a guest sees today might be meaningfully different from the price they saw last week — even though the operator hasn't changed anything. A returning guest who paid €1,200 last season might see €1,280 this week and €1,150 next week, purely due to exchange rate movements. This creates confusion, erodes trust, and makes marketing (brochures, social media posts with prices) unreliable.

Fixed rate overrides solve this by allowing operators to set a guaranteed exchange rate for specific currency pairs. A Bali surf camp can fix the IDR/EUR rate at 17,500 for the entire high season, ensuring price stability in marketing materials and guest-facing quotes. The fixed rate is reviewed and updated on a schedule the operator controls — monthly, quarterly, or seasonally — rather than fluctuating daily. The system clearly flags when the fixed rate deviates significantly from the market rate (beyond a configurable threshold), alerting the operator to review and potentially adjust.

This is the same mechanism that large hotel chains use for rate hedging, but implemented at a level of simplicity appropriate for a 30-bed surf camp. The operator doesn't need to understand forward contracts or currency options — they set a rate, monitor the alerts, and update when they choose.

Guest Currency Preferences

Every guest profile in Artidal includes a preferred currency field. When a guest selects EUR on their first booking, that preference is stored and automatically applied on return visits — the booking engine, invoices, payment requests, and communication all default to EUR. The guest can change their preference at any time, but the system eliminates the friction of reselecting the currency on every visit.

Guest currency preferences also feed into communication and marketing. Email templates and automated messages pull the guest's preferred currency for any price references, so a promotional email about a new package shows the price in GBP for a British guest and EUR for a German guest — without the marketing team creating separate campaigns per currency.

For operators, aggregate analysis of guest currency preferences reveals market insights. If 35% of guests prefer AUD and the trend is growing, the operator might consider adding an Australian payment method, creating AUD-specific marketing campaigns, or partnering with Australian surf travel agencies. Currency preference data becomes a proxy for market composition — a signal that's invisible without a system that tracks it.

Real-World Multi-Currency Scenarios

Consider a concrete scenario: a surf camp group operating in Bali and Ericeira. The Bali property prices packages at €1,200 for European guests and $1,300 for American guests (fixed prices), while local operating costs — staff, rent, food, transport — are paid in Indonesian Rupiah. The IDR/EUR rate can swing from 16,800 to 17,600 in a single month. Without fixed rate overrides, that volatility means the actual cost of a €1,200 package in IDR terms varies by over IDR 1,000,000 month to month — a margin impact the owner can't plan around.

The Ericeira property operates more simply in euros for both revenue and costs, but it serves Brazilian guests who prefer to see prices in BRL. The BRL/EUR rate is notoriously volatile, having moved from 5.2 to 6.4 and back within a single year. A Brazilian guest who saw a price of R$6,200 last week might see R$6,800 this week — not because the camp raised prices, but because the real weakened. The fixed rate override stabilises the BRL display price, protecting the guest experience while the operator absorbs the exchange rate difference within defined thresholds.

Artidal handles both scenarios within the same hierarchical configuration. The organisation sets EUR as the reporting currency, enables 12 currencies, and configures fixed rate overrides for IDR and BRL. Each company selects its operating currencies and display preferences. Financial consolidation rolls up Bali's IDR-denominated expenses and Ericeira's EUR-denominated expenses into a single EUR-based P&L — automatically, daily, without a spreadsheet in sight.

— Capabilities

What it does

21+ Supported Currencies

Major booking currencies (EUR, USD, GBP, AUD, CAD, JPY) and local operating currencies (IDR, BRL, CRC, MXN, MAD, TRY, THB) with full ISO 4217 formatting and decimal-precision handling.

Automatic Daily Rate Updates

Exchange rates fetched every 24 hours from ECB and open-market APIs, with full rate history for retroactive reporting, IFRS-compliant transaction-date accuracy, and audit trails.

Hierarchical Currency Configuration

Organisation-level currency enablement, company-level operating currency selection, and branch-level display preferences — with automatic consolidation for multi-location financial reporting.

Display vs Payment Currencies

Separate handling of the currency the guest sees (display) and the currency that settles in the operator's bank account (payment), with exchange rate locked at invoice or payment creation.

Fixed Rate Overrides

Operator-defined guaranteed exchange rates for volatile currency pairs (IDR, BRL, TRY), with configurable review schedules and automatic alerts when market rates deviate beyond threshold.

Guest Currency Preferences

Per-guest preferred currency stored in the CRM profile, auto-applied across booking engine, invoices, payment requests, and marketing communications on return visits.

Locale-Aware Currency Formatting

Each currency displayed according to its conventional pattern — symbol placement, thousands separator, decimal precision — so IDR amounts omit decimals while EUR uses two-decimal formatting.

— Problems solved

What changes

01
Stale Exchange Rates

Operators who update rates manually (or never) underprice or overprice by 3-8% in volatile markets. A Bali surf camp quoting a month-old IDR/EUR rate loses or overcharges €36-€96 per €1,200 booking.

02
Volatile Currency Exposure

Daily rate swings in IDR, BRL, and TRY make prices unpredictable for guests and unreliable in marketing materials. Fixed rate overrides restore pricing stability without manual daily intervention.

03
Multi-Location Financial Consolidation

Operators with properties in different countries struggle to consolidate revenue across IDR, CRC, EUR, and MAD into a single reporting currency. Manual spreadsheet consolidation introduces errors and takes days.

04
Currency Reselection Friction

Returning guests are forced to reselect their currency on every visit when preferences aren't stored. This creates booking friction and occasionally leads to guests paying in the wrong currency.

05
Confusing Currency Display

Displaying IDR 18,000,000.00 with two decimal places or mixing comma/period separators across currencies makes prices unreadable. Locale-unaware formatting erodes professional credibility.

06
Non-Compliant Currency Reporting

Using average or current-date exchange rates instead of transaction-date rates for foreign currency transactions violates IFRS (IAS 21) requirements and creates audit findings for operators with international parent companies.

— See it in action

Ready to explore
Multi-Currency System?