How to invoice in a foreign currency without getting burned on exchange

USD client, EUR expenses. Every payment is a currency gamble. How to invoice across currencies without losing 5% on every wire transfer.

5 min read Adrien

You quoted $5,000. The client pays on time. By the time the wire arrives and you convert, you have €4,520 in your account.

You didn’t do anything wrong. The euro strengthened 4% since you sent the invoice. You absorbed a loss you never agreed to.

This is the default outcome for any freelancer billing in a currency that isn’t theirs. The exchange rate is an invisible variable in every invoice — one most freelancers ignore until the numbers stop making sense.

Why the loss is bigger than it looks

EUR/USD moved from 1.05 to 1.12 over the course of 2023. That’s a 6.7% shift in USD purchasing power for a euro-based freelancer.

On a $5,000/month client billed consistently through that year, the exchange loss is roughly $335/month. Over 12 months: $4,020 gone — not to bad work, not to non-payment, but to a rate movement you had no control over.

Most freelancers don’t track this. They see the USD revenue on the invoice and convert mentally at some approximate rate. By the time the actual euros land, the number feels close enough.

It’s not. Over a year of USD billing from Europe, the gap is significant.

The four ways to handle it

1. Invoice in your own currency

The simplest option. Your invoice is in EUR. The client pays EUR. Whatever the exchange rate does, it’s their problem.

Many US clients will accept this without a second thought — they have USD in a business account and they’ll convert on their end. They probably have a multi-currency setup already.

The hesitation freelancers feel (“the client will push back”) rarely materializes. You’re not asking them to pay more. You’re asking them to pay in your currency instead of theirs. Frame it as: “I invoice in EUR to simplify accounting on my end. Happy to note the approximate USD equivalent on the invoice.”

If the client insists on USD, use one of the options below.

2. Receive USD in a multi-currency account

Wise and Revolut both let you hold multiple currencies and convert when the rate is favorable. You get a real USD account number, receive the wire in USD, and choose when to convert to EUR.

This doesn’t eliminate rate risk — the USD can still drop while you’re holding it — but it gives you control. You can convert immediately after receiving, or wait for a spike.

Practically: receive the USD, convert to EUR within a week. Don’t try to time the market. The goal is to eliminate the surprise, not maximize conversion.

The conversion fee on Wise is around 0.5–0.7% at mid-market. That’s the cost of doing business with USD clients while living in euros. It’s predictable. Exchange drift over Net 30 isn’t.

3. Build the buffer into your rate

If you’re quoting in USD, quote with an exchange buffer already factored in.

Your target is €80/h. Current EUR/USD is 1.08, so $86.40/h in USD. Add a 5% buffer for rate drift: $91/h.

This works as long as you apply it consistently. The risk is that the rate swings the other way and your USD rate looks artificially high. It also compounds: if you raise rates, you’re raising on a buffered base.

This is the approach to use when changing your invoicing currency isn’t viable — a long-running contract with rates locked in, for example.

4. Forward contracts

For large, recurring USD contracts — €2,000+/month — some freelancers use FX forward contracts through services like OFX or Currencies Direct. You lock a rate for 3–12 months. Whatever the market does, you convert at the agreed rate.

This is overkill for most solo freelancers. The setup has overhead and the minimums are designed for businesses. But if a single client represents 60%+ of your revenue and they pay in a foreign currency, it’s worth knowing this option exists.

The mistake that wipes out the fix

Letting foreign currency sit in a PayPal or Stripe account.

Both platforms apply their own conversion rate when you withdraw, and it’s consistently worse than mid-market — typically 2.5–3.5% below. On a $5,000 invoice, that’s $125–$175 extra gone before you’ve touched it.

If you receive USD via PayPal or Stripe, withdraw in USD and convert separately via Wise or your bank’s FX desk. The difference is meaningful over a year.

What this means for your real hourly rate

Your real hourly rate isn’t your invoice total divided by hours. It’s what you actually received, in the currency you spend, divided by hours worked.

If you’re billing $90/h but consistently losing 5% on conversion, your real rate is $85.50/h — and that’s before accounting for payment delays or platform fees.

When you set up billing periods in Timescanner, set your hourly rate at the effective EUR equivalent — not the USD headline figure. This gives you an accurate view of what each client is actually worth per month.

The same logic applies to your payment terms. A Net 30 USD invoice has more rate exposure than a Net 15 invoice in the same currency. Shorter payment windows reduce the window for rate movement. One more reason to push for Net 15 with USD clients.

The practical answer

Invoice in your own currency when you can. Use a Wise account when you can’t. Convert promptly — don’t let foreign currency sit.

That’s 90% of the problem solved. The remaining 10% (major rate swings, large USD contracts) are edge cases that warrant forward contracts or a renegotiated billing currency.

The fields on your invoice matter here too. Include the EUR equivalent on USD invoices if your client requests it — but make the contractual amount clear. Ambiguity about which currency governs the invoice creates disputes when rates move.


Timescanner reads your calendar and generates per-client billing reports in your local currency. Set your hourly rate at your effective post-conversion rate to track what each client actually earns you.

Timescanner

Your calendar already knows how much you worked.

No timers. No new habits. Timescanner reads your calendar — Google Calendar, Outlook, iCloud, and more — and generates your billing reports automatically.

Start free trial — 30 days, no credit card