Multi-Currency Expense Tracking for Freelancers and Remote Teams

Working across currencies creates real bookkeeping complexity. Here's how to handle EUR, USD, GBP, and CHF correctly for German tax purposes.

Working across borders is increasingly normal for German freelancers. A designer based in Berlin might invoice clients in the US in USD, pay for tools in GBP, and do their banking in EUR. A remote team might have contractors in Switzerland paid in CHF and a US software subscription billed in dollars.

The accounting complexity this creates is real and often underestimated.

The Core Problem: Exchange Rate Timing

In German bookkeeping, every foreign currency transaction must be recorded at an exchange rate. The question is: which rate, and at what point in time?

The answer under German tax law (and GoBD) is the exchange rate at the date of the transaction. For invoices you receive, that’s the invoice date. For invoices you send, that’s the invoice date. For bank transactions, that’s the value date on your bank statement.

The European Central Bank (ECB) publishes daily reference rates for all major currencies. These are the rates you should use for German bookkeeping purposes. Using the rate from the day the payment was requested rather than the day it arrived creates discrepancies that require adjustment at year end.

How Exchange Rate Differences Work

You invoice a client for 1,000 USD on January 1st, when the EUR/USD rate is 1.10. You record the invoice as 909.09 EUR.

The client pays on January 15th, when the rate has moved to 1.08. You receive 925.93 EUR.

The difference of 16.84 EUR is an exchange rate gain. It’s income that needs to be recorded. If the rate had moved the other way, it would be an exchange rate loss, which is a deductible expense.

These differences add up across dozens of transactions and create a reconciliation challenge at year end if you haven’t tracked them systematically.

Setting Up Your Chart of Accounts for Multi-Currency

Under SKR03, exchange rate differences are typically booked to account 2660 (currency translation gains) and 2670 (currency translation losses) for year-end adjustments. Ongoing transaction-level differences can be tracked through your accounts payable and receivable.

Most small freelancers don’t need to get this sophisticated. The practical approach is: record everything at the ECB rate on the transaction date, keep a log of which rate you used and why, and let your tax advisor (Steuerberater) handle the year-end translation differences.

Using Live ECB Rates

KontoMatch automatically applies ECB-sourced exchange rates to multi-currency invoices. Rates are fetched from the European Central Bank and updated daily. When you upload an invoice in USD, the system records both the original amount and the EUR equivalent at the ECB rate on the invoice date. When the bank transaction arrives showing the actual EUR amount received, the system records the exchange rate gain or loss automatically.

This gives you a complete multi-currency record, with original amounts, EUR equivalents, applied exchange rates, and any gain or loss entries all logged automatically, without requiring you to look up rates manually for each transaction.

Practical Tips for Multi-Currency Freelancers

Invoice in your client’s currency. Clients in the US expect to pay in USD. Clients in the UK expect GBP. Issuing invoices in their currency removes friction and improves payment speed, even if it means slightly more bookkeeping complexity on your end.

Use a multi-currency business account. Banks like Wise Business or Revolut Business allow you to hold and convert multiple currencies, which can reduce conversion costs significantly compared to traditional banks.

Track the rate you used. Whatever rate you use to record a transaction, note it somewhere. If your tax office (Finanzamt) asks why a particular transaction is recorded at a specific amount, being able to show the ECB rate on the invoice date is a clean, defensible answer.

Reconcile currencies separately. When doing your monthly reconciliation, handle EUR transactions first, then work through each foreign currency separately. Mixing them during reconciliation creates confusion.

Tags