M

Glossary

Multi-Currency Billing

Multi-currency billing is an invoicing capability where a vendor prices, invoices, and collects in more than one currency. Each customer sees a presentment currency, the vendor settles into a base currency, and an exchange rate captured at a defined moment converts between them for accounting.

Key Takeaways

  • Presentment currency is what the invoice shows, settlement currency what the bank receives, and multi-currency billing keeps the two in agreement.

  • The rate matters less than the moment you capture it, and a 30-day gap between booking and collection moved one EUR 24,500.00 invoice by USD 232.75, or 0.82%.

  • Round at the line total, never per unit. 250,000 events at EUR 0.0007 each is EUR 175.00, and EUR 0.00 if rounded per event first.

  • Several currencies means several payment rails, each applying its own conversion and fee.

How does multi-currency billing work?

Multi-currency billing splits one money question into two: what the customer owes, and what the vendor receives. The pipeline that answers both runs in a fixed order:

  1. Rate usage in the presentment currency, from a price list denominated in that currency, not a converted base price.

  2. Stamp the invoice with an FX rate, a source, and a timestamp, so the conversion is a stored fact.

  3. Collect through a gateway supporting that currency, recording what it converted.

  4. Post the settled amount against the booked amount, sending the difference to an FX gain or loss account.

Skip step 2 and the invoice stops being reproducible: a reissue converts at next quarter's rate.

Flexprice is enterprise-grade, open source usage based billing infrastructure for AI and SaaS companies. It can be deployed in your own VPC, on-prem, or on Flexprice's managed cloud. Collection runs through Stripe, Razorpay for India and SEA, Moyasar for MENA and the GCC, and Nomod, so a team billing in several currencies adds a regional payment rail instead of writing conversion middleware per region. Regional pricing with automatic currency conversion sits in the same configuration, so presented price and settled amount stay on one system. The Pricing Experiments page covers local currency support, and if your invoices span three or more settlement currencies, book a demo.

Where do exchange rates get locked?

Exchange rates get locked at whichever moment your accounting policy names, and that choice changes the number on the page. Pick one lock point per rate type, because reconciliation breaks trace back to two systems choosing differently.

Lock point

What it fixes

What it leaves open

Contract signature

The price for the term

Settlements drift from the booked rate

Invoice issue date

The receivable and revenue

Cash arriving after payment terms

Payment capture

The cash amount in base currency

The gap against what was booked

Month-end revaluation

The position on open invoices

Nothing, which is why it exists

Run the numbers on a real pair of ECB reference rates, USD per EUR:

  • Issued 2026-08-18 at 1.1576, an EUR 24,500.00 invoice books as USD 28,361.20.

  • Collected 2026-09-17 at 1.1481, the same invoice brings in USD 28,128.45.

  • The USD 232.75 shortfall, 0.82% of the booked figure, is FX drift and posts to an FX gain or loss account, not to the customer.

We'd lock price at signature and the receivable at issue, then revalue at month end: sales gets a stable quote and finance a defensible number. Your tax engine reads the presentment amount, not the converted one.

What breaks in multi-currency billing?

Rounding breaks first, and quietly. Rounding each unit to the cent destroys sub-cent prices: 250,000 events at EUR 0.0007 each should total EUR 175.00, and per-unit rounding zeroes the line. Round once, at the line total. The rest cluster around rate handling:

  • Two rate sources. Billing pulls one provider, the ERP pulls the ECB reference rates, and they disagree by basis points on every invoice.

  • Gateway conversion counted twice. The gateway converts and reports in base currency, billing converts again, and the deposit matches neither during payment reconciliation.

  • Credit notes at today's rate. A credit note against an older invoice reconverts at the current rate, leaving a residue that never nets to zero.

  • Partial payments across a rate move. Two payments settle at different rates, so the invoice closes in presentment currency while the base-currency balance shows a remainder.

  • Currency as a display setting. If the price list holds one base price and the interface converts on render, that's a converter on a single price, not multi-currency pricing.

Related terms

Currency sits next to several other pieces of the invoicing stack, and these pages cover the neighbours you'll meet first.

  • Payment Reconciliation explains how to match a gateway capture and a bank deposit back to the invoice that produced them.

  • Merchant of Record covers who legally sells to the customer, which decides whose bank account the settlement currency lands in.

  • Consolidated Invoicing covers rolling several accounts onto one invoice, where a shared currency becomes a prerequisite.

  • Tax Engine covers rate determination and filing, which runs on the presentment currency amount rather than the settled one.

  • E-Invoicing Mandate covers the country formats that specify which currency fields an invoice has to carry.

  • Multi-Entity Invoicing covers the legal-entity structure that decides which currency an invoice gets issued in to begin with.

FAQ

What is the difference between presentment currency and settlement currency?

Presentment currency is shown on the invoice, settlement currency is what the vendor's bank receives. A customer in Germany can see an EUR invoice while the vendor settles in USD, and each conversion hop applies its own rate and fee.

How do you handle FX gains and losses on invoices?

Post them to a dedicated FX gain or loss account rather than adjusting the invoice. The invoice records what was owed at the booked rate and the cash record what arrived, so the difference is a currency movement, not a pricing correction.

Do you need a separate payment gateway for each currency?

Not per currency, but usually per region, because gateway coverage follows regulatory geography rather than currency lists. Check settlement currency support and payout requirements per provider before entering a market.

Back to glossary

Get Instant Feedback on Your Pricing | Join the Flexprice Community with 400+ Builders on Slack

Join the Flexprice Community on Slack