Now in open beta — close the books in 2 days, not 2 weeks.Read the case study →
Accounting · April 23, 2026 · 9 min read

Foreign currency accounting: USD, EUR, GBP

You invoiced a US client USD 10,000 in March when the rate was 280. They paid in May when the rate was 287. The cash hit your bank as $2,870,000, but your books showed receivable of $2,800,000. The $70,000 difference is exchange gain and it must be booked, or your books understate income.

Functional currency vs transaction currency.

growing SMBs operate in $as functional currency: the currency of the primary economic environment. Transactions in any other currency (USD, EUR, GBP, AED) are foreign currency transactions. The principle is simple: every foreign currency transaction is recorded in $using the spot exchange rate on the transaction date. Subsequent settlements at different rates create exchange gains or losses that flow through the P&L.

The most common growing SMB cases are USD invoices to US clients (export of services or goods), EUR invoices to European clients, USD payments to overseas suppliers, and-USD foreign currency accounts (held at HBL or Standard Chartered). All four cases follow the same accounting principle: convert to $at the right rate, recognize differences as they arise, revalue monthly.

The transaction date rate and the settlement rate.

When you raise a USD 10,000 invoice on March 15 at the spot rate of $280: DR Accounts Receivable USD - Customer X 2,800,000 (in $equivalent) / CR Sales 2,800,000. The receivable is denominated in USD but recorded in $at the day-one rate.

When the customer pays USD 10,000 on May 20 at the spot rate of 287: $equivalent of USD 10,000 received is 2,870,000. Entry: DR Bank 2,870,000 / CR Accounts Receivable 2,800,000 / CR Exchange Gain 70,000. The exchange gain of $70,000 is real income, taxable, posted to other income or finance income depending on your COA. If the rate had moved the other way (down to 275), you would have an exchange loss of $50,000 instead.

USD 10,000 settled — rate moved 280 → 287DEBITCREDITBank (settlement at 287)2,870,000Accounts Receivable (booked at 280)2,800,000Exchange gain70,000TOTAL DR2,870,000TOTAL CR2,870,000
The 70,000 gap between booked AR and cash received is real income, taxable, posted to a dedicated Exchange Gain account.

Monthly revaluation of foreign currency balances.

Receivables, payables, bank balances in foreign currency are revalued at month-end at the closing rate. USD 10,000 receivable booked at 280 ($2,800,000) is still outstanding on March 31 when the closing rate is 282. Revalue: USD 10,000 x 282 = $2,820,000. Adjustment: DR Accounts Receivable 20,000 / CR Unrealized Exchange Gain 20,000. The $balance now matches the underlying USD balance at the current rate.

On April 30 if the rate is 285, further adjustment: USD 10,000 x 285 = 2,850,000, current balance 2,820,000, adjustment of $30,000 to unrealized gain. When the customer ultimately pays in May at 287, the actual gain is $70,000 cumulatively, of which 50,000 was already taken as unrealized in March and April, and 20,000 is realized in May. Net P&L impact across the period is correct; timing reflects when rates moved.

Foreign currency bank accounts.

A USD account at HBL holding USD 50,000 is a foreign currency asset. The $equivalent fluctuates daily with the rate. At each month end, revalue the-equivalent balance at the closing rate. USD 50,000 was 14,000,000 at March 31 (rate 280), and is 14,250,000 at April 30 (rate 285). Adjustment: DR Bank USD 250,000 / CR Unrealized Exchange Gain 250,000.

The complication: which rate? The State Bank of publishes a daily rate. Most banks have their own buying and selling rates. A common policy is the SBP middle rate for revaluation and the bank's applicable rate for actual conversions. Document your policy and apply it consistently. Auditors check.

Hedging and forward contracts.

Some SMBs with significant USD exposure book forward contracts to lock in a rate. A six-month forward to sell USD 100,000 at 290 hedges the receivable. Accounting for forward contracts is more complex (mark-to-market, ineffectiveness testing under IFRS 9 or similar). For most SMBs, hedging is not done, and exposure is simply lived with as exchange gain or loss in the P&L.

The risk is real. $has weakened against USD in many recent years, which has been positive for exporters and negative for importers. Tracking exchange impact monthly helps quantify the natural hedge or exposure your business has. With Nonari you see the cumulative $impact of FX movement on receivables, payables, and FX bank balances on one screen.

Tax treatment of exchange gains and losses.

Realized exchange gains are taxable income; realized exchange losses are deductible expenses. Section 67 of the your country’s tax code addresses this. For unrealized exchange differences (revaluations of monetary items at year end), tax practice generally accepts them as taxable or deductible, but some authorities argue they should be deferred until realized. Get a professional opinion for material amounts.

For sales tax, the rate at the date of supply determines the sales tax payable. Subsequent exchange differences do not change sales tax. So if you invoiced USD 10,000 plus 17% sales tax to a customer in Atlanta (export-related complexities aside), the 17% is fixed in $at the date-of-supply rate. Exchange differences thereafter are income tax matters only.

Common errors in FX accounting.

Error one: using the same rate for invoice and payment. Easy on Excel, wrong in reality. The rate moves; the books must reflect that. Error two: forgetting to revalue at month-end, then booking a huge realized gain or loss whenever the customer pays. P&L becomes lumpy and uninformative. Error three: revaluing income statement items (revenue, expenses) at month-end. Only monetary balance sheet items get revalued; revenue and expenses stay at their transaction-date rates.

Error four: using the wrong rate (bank buying when you should use bank selling, or middle rate when you should use applicable). Document your rate source and stick to it. Error five: posting FX differences to Sales or COGS instead of a dedicated Exchange Gain/Loss account. This pollutes gross margin analysis. Always use specific FX accounts so P&L analysis stays clean.

All FX errors · 100 %No revaluation at month-end · 35 %Same rate invoice + payment · 25 %FX posted to Sales / COGS · 20 %Revaluing P&L items · 12 %Wrong rate source · 8 %
Five FX errors. 60% of cases trace to two: skipping month-end revaluation and posting FX to Sales/COGS. Fix those first.
  • Record at transaction-date rate.
  • Revalue monetary items at closing rate monthly.
  • Realized vs unrealized: book both with separate accounts.
  • Income statement items stay at transaction rate.
  • Document the rate source and apply consistently.

A worked example, six-month engagement.

A software firm invoices a US client USD 50,000 on January 10 at rate 278 ($13,900,000). Client pays on June 15 at rate 286. Monthly closing rates: Jan 280, Feb 281, Mar 283, Apr 284, May 285, June 286.

January end revaluation: USD 50k x 280 = 14,000,000, originally 13,900,000, gain $100,000 unrealized. Each subsequent month revalues to closing rate: Feb +50k, Mar +100k, Apr +50k, May +50k. Cumulative unrealized gain by May 31: $350,000. June 15 payment: cash received $14,300,000, original receivable 13,900,000, total realized gain $400,000, of which 350,000 was already unrealized and 50,000 is incremental this month.

Each month's P&L reflects the exchange impact of that month, not a single lumpy gain in June. With Nonari, all this is automated; you set the rate source once and monthly revaluations post on close.

Frequently asked

Common questions.

Should I use SBP rate or my bank rate?

For revaluation of monetary items, SBP middle rate is the cleanest reference. For actual conversions (when you sell USD or buy USD), use the bank's rate (buying or selling as applicable). Document the policy. Mixing rates inconsistently creates differences that look like errors and distract reviewers.

Do I revalue at every month end or just year end?

Monthly. P&L is much more informative when FX impact is recognized in the month it occurs. Year-end-only revaluation creates misleading monthly P&Ls and a giant adjustment in the final month. The work effort is identical (a single computation per FX balance); doing it monthly is no harder than doing it once.

What rate do I use if I have multiple invoices in the same currency?

Each invoice retains its own transaction-date rate. Aggregate USD receivables on the balance sheet show in $at the latest closing rate, but the underlying invoices each have their own original $amount and their own contribution to FX gain or loss when settled. Sub-ledger detail is important.

How do I handle USD purchases from foreign suppliers?

Same principle in reverse. Booked at the date-of-purchase rate, paid at the payment-date rate. If you owe USD 5,000 booked at 280 ($1,400,000) and pay at 285 ($1,425,000), you have an exchange loss of $25,000 because the $weakened during the credit period. DR Accounts Payable 1,400,000 / DR Exchange Loss 25,000 / CR Bank 1,425,000.

Try nonari

Put your books on autopilot.

Free to start. No credit card. Bring your books, kick the tires, export everything if you decide to leave.