Pick the reporting currency
The books are kept in one currency, usually the one of the main operating environment, which for a US company is the dollar. Transactions in other currencies are translated into it. Set this up before you start entering foreign transactions.
Record at the transaction date
Record a foreign currency invoice or bill at the exchange rate on the transaction date. Keep a record of the rate and its source. Use a consistent source, such as the rate published by a bank or an accepted data provider, and note it in your policy.
Realized gains and losses
When a foreign invoice is paid, the rate has usually changed, and the difference is a realized gain or loss. Say you invoice a customer €10,000 when the rate is $1.08, recording $10,800 as a receivable. When they pay, the rate is $1.05, and you receive $10,500. The $300 shortfall is a realized foreign exchange loss. Record it in its own account so you can see how much currency movement costs.
Unrealized gains and losses
At period end, foreign currency balances that are still open, such as receivables, payables, and foreign bank accounts, are revalued at the end-of-period rate. The change is an unrealized gain or loss. Reverse it at the start of the next period or let it settle when the item is paid, depending on your system. Revaluing keeps the balance sheet current.
Reconcile foreign bank accounts
A foreign currency bank account is reconciled in its own currency first, and then translated for the ledger. The statement balance in the foreign currency should match the account in the books. Differences in dollars may come from rate changes.
Explain differences
A separate foreign exchange account makes it easy to answer when someone asks why the invoice and the cash differ. If gains and losses are large, ask your advisor whether hedging or invoicing in dollars makes sense.
Frequently asked questions
Do I have to track exchange gains for taxes?
Often yes. The IRS has rules for foreign currency, so ask your preparer.
Which rate should I use?
The rate on the transaction date from a consistent source, written into your policy.
Why does my foreign bank balance differ in dollars each month?
Because the exchange rate changes. Revalue the account at month end.