Foreign-Currency Invoicing in Singapore: Exchange Rates, GST and the Box 3 Rule
A US-dollar invoice raises three questions a Singapore-dollar invoice never does — which exchange rate, what the invoice must show in SGD, and where the difference goes when the customer pays at another rate. IRAS answers all three. Most SMEs answer them by habit.
A Singapore distributor invoices a local customer US$10,000 for equipment, plus 9% GST. The PDF says US$10,900 and nothing else. The customer's accounts team sends it back the same afternoon: they cannot claim the GST without the Singapore-dollar amounts. The invoice is reissued, the customer pays 45 days later, the US dollar has slipped, and a receivable booked at S$14,170 settles as S$13,952. The S$218 difference lands in an account called Realised Currency Gains — and at quarter-end it has to be reported in a box of the GST return the owner thought was only for bank interest.
None of this is unusual. It happens to any GST-registered SME that bills in US dollars, buys from a supplier in euros, or keeps a USD account for overseas customers. The GST side comes down to four rules. Income tax treats the same exchange differences by a different logic. Most of the work is deciding things once — a rate source, an invoice layout, who may override what — and making the accounting system enforce them.
This guide is for a GST-registered Singapore SME with a Singapore-dollar base currency that invoices or buys in foreign currency. The software examples use Xero, where multicurrency needs a plan that includes it; the rules apply whatever you use. It reflects IRAS guidance current in September 2026 — confirm anything that changes a filing against the latest version.
One invoice, start to finish
Here is the totals block of the reissued invoice. The rates here and throughout are illustrative, not market data.
TAX INVOICE INV-1047 4 Aug 2026
Customer: GST-registered, Singapore
USD SGD @ 1.3000
Excl. GST 10,000.00 13,000.00
GST @ 9% 900.00 1,170.00
Incl. GST 10,900.00 14,170.00
Follow it through three dates:
- 4 August, the invoice date. This is the time of supply — for most transactions, the earlier of the invoice being issued or payment being received. The rate on this date fixes output tax at S$1,170.00. That figure goes into the GST return and does not move again.
- 31 August, month-end, still unpaid. At 1.2900 the receivable is worth S$14,061.00. The S$109.00 unrealised loss shows in the management accounts. It stays out of the GST return entirely.
- 18 September, paid. US$10,900 arrives, worth S$13,952.00 at 1.2800 — a realised loss of S$218.00 against the invoice-date value. Output tax is still S$1,170.00. The S$218.00 joins the quarter's net realised exchange difference, which goes in Box 3; as a trading loss in the profit and loss, it is also deductible for income tax.
Every rule in the rest of this guide attaches to one of those three dates.
Rule 1: one acceptable rate, written down
The rate is where most SMEs are loosest and where IRAS is most specific. Its e-Tax guide, GST: Exchange Rates for GST Purpose (fourth edition, January 2026), accepts a rate without prior approval if it meets five conditions:
- It reflects the Singapore money market at the time of supply. Any source on IRAS's list qualifies: rates published by banks in Singapore; The Business Times, The Straits Times or Lianhe Zaobao; Bloomberg, Reuters or Oanda; foreign central banks without exchange controls, such as the European Central Bank; the Monetary Authority of Singapore; and websites such as xe.com or Yahoo! Finance that draw on those sources.
- It is the daily rate for the time of supply, or a good approximation of it. The buying rate, the selling rate or the average of the two all work. So does a rate taken on a fixed day — the last working day of the previous month, say — or an average of the previous month's daily rates.
- It is updated at least once every three months.
- The same rate is used for internal reporting, accounting and GST. One rate — not one for the books and another for the return.
- It stays in use for at least a year from the end of the accounting period in which you first used it.
An in-house rate, or anything that misses one of those conditions, needs the Comptroller's written approval via myTax Mail before you use it. Either way, you are expected to keep documents that support the rates you used.
Xero's default passes the source test. Xero applies XE.com's rate for the transaction date — updated hourly, with the day's final mid-market rate set at 11pm in your organisation's time zone — and xe.com is named on IRAS's list. If you would rather work with a monthly rate, Xero lets you set a custom rate for a date range under Settings → Currencies, and new transactions dated in that range pick it up.
Where SMEs go wrong is not the source. It is the override. In Xero, anyone with the administrator, standard, or sales and purchases role can change the rate on a new or unpaid invoice, bill or credit note. The sales executive types in the bank's rate because the customer asked for it. Someone else copies a rate from a WhatsApp screenshot. By quarter-end the organisation has three rate sources and no policy.
Integrations are the quieter version of the same problem. An invoice created through the Xero API can carry its own rate; if it does not, Xero uses its default. Xero's own developer guidance says it has seen integrations send inverted rates, and tells them never to fall back to a rate of exactly 1 — either mistake distorts the SGD amounts and every realised gain or loss that follows. If a CRM, billing platform or e-commerce connector creates your foreign-currency invoices, find out what rate it sends.
The fix is five decisions, agreed once and written down:
FX RATE POLICY
Effective 1 January 2026
Source XE.com mid-market rate,
as applied by Xero
Rate date Time of supply: invoice
date, or payment date
if payment comes first
Scope Sales invoices, credit
notes, management
accounts, month-end
Overrides Finance lead only, with
the reason noted on
the invoice
Changes Not before the one-year
minimum; only at a
period boundary
Keep it with the GST records. It answers the question "where did this rate come from?" before anyone asks it.
Rule 2: the tax invoice shows three totals in Singapore dollars
When a tax invoice is issued in foreign currency, IRAS requires three amounts converted into Singapore dollars: the total excluding GST, the total GST, and the total including GST. They can sit beside the foreign-currency amounts, as on INV-1047. Every other tax-invoice requirement applies as normal — and missing particulars are one of the GST data errors automation can detect.
In Xero, an organisation with a Singapore-dollar base currency can set its invoice PDFs to show the conversion — net amount, GST and total — by default on the standard invoice template, and Xero provides a DOCX template for custom branding themes. Turn it on once. It is the whole fix for the rejected invoice in the opening paragraph.
Three variations on the same rule:
- Zero-rated supplies. Exports and qualifying international services carry no GST, and IRAS does not require a tax invoice for them — a commercial invoice will do. The value still has to be converted into Singapore dollars for Box 2 of the GST return, at the same policy rate.
- InvoiceNow. Once your business falls under the GST InvoiceNow Requirement — the phase-in runs from 2025 to 2031 — the invoice data sent to IRAS for a foreign-currency invoice must include the tax currency code and the same three totals in SGD. IRAS's InvoiceNow e-Tax guide says the exchange rate itself need not appear on the invoice, but it must be an approved one. If the SGD figures come out of the accounting system at the policy rate, InvoiceNow is a transmission step, not a data project.
- Credit notes. IRAS's default is the historical rate — the rate on the original invoice. If the customer is GST-registered you may use the prevailing rate instead; whichever you choose, apply it consistently. Accounting software normally gives a new credit note the rate for its own date, so a historical-rate policy needs a check: every credit note carries the rate of the invoice it reverses.
Rule 3: output tax is fixed; the exchange difference goes in Box 3
Once INV-1047 is issued, its output tax is S$1,170.00 whatever the customer eventually pays. There is no GST adjustment when the money arrives at a different rate.
The difference is not ignored, though. IRAS treats the realised exchange gain or loss as a supply — an exempt one — and asks for the absolute value of the period's net realised gain or loss in Box 3, alongside other exempt supplies such as fixed-deposit interest. Its own worked example, for an October-to-December quarter:
Realised exchange gain / (loss)
October (150)
November 100
December (200)
Net for the quarter (250)
Box 3 = |−250| exchange loss
+ 400 fixed-deposit interest
= 650
Unrealised differences — the S$109 on INV-1047 at the end of August — and translation differences stay out, because they do not arise from a supply. If you genuinely cannot separate realised from unrealised, IRAS allows you to report the total of both, provided your accounting follows proper accounting standards and you use the same basis consistently.
The obvious worry is that reporting an exempt supply will cost you input tax. For most SMEs it does not. The exchange of currency and the deposit of money are Regulation 33 exempt supplies, and IRAS's partial exemption guide lets a business claim all its input tax if Regulation 33 supplies are its only exempt supplies and it is not a bank, insurer, finance company, moneylender, money-changer or similar financial business. If you also make other exempt supplies — residential rental is the common one — the partial exemption tests apply, and your accountant should run them.
Xero includes the net realised gains and losses in its Box 3 calculation, and you can drill into the figure from "Net realised gains/loss" on the return's Transactions by box number tab. So the job is keeping that figure honest:
- Payments applied to the right invoices. A USD receipt matched to the wrong invoice produces a realised gain or loss against the wrong rate. The payment-matching rules in Xero invoice automation matter more in foreign currency, not less.
- No plugs in Realised Currency Gains. Xero accepts manual journals to that account. A bank fee or a year-end "FX adjustment" posted there distorts the realised figure — check what makes up the balance before you file.
On other software, check whether the return picks up realised exchange differences at all. If it does not, adding them becomes a line on the quarterly GST checklist.
Rule 4: on purchases, claim what the supplier's invoice says
The purchase side runs on the supplier's rate, not yours. A GST-registered supplier billing you in US dollars has to show the GST in Singapore dollars, converted at its own approved rate. You claim input tax on that SGD figure — even if your books record the bill at a different rate. For imports, the claim follows the SGD amounts in the import permit issued by Singapore Customs.
This is the one place the policy rate gives way. In Xero, the simplest method is to enter the bill at the rate implied by the supplier's own SGD figures, so the converted GST matches the invoice.
Invoice data extraction should capture both GST figures on a foreign-currency bill and run two checks before anything reaches the return:
- SGD GST present. A local supplier's USD tax invoice without the GST in Singapore dollars is not a complete tax invoice. Ask for a corrected one before claiming.
- Converted GST equals printed GST, within a rounding tolerance. A mismatch means the bill was entered at the wrong rate or a figure was misread. Either way, it goes to review, not to the return.
Month-end and year-end: the same differences, taxed differently
GST only cares about realised differences. The profit and loss sees all of them, and income tax follows the profit and loss — mostly.
Xero revalues open foreign-currency invoices and bills at the current rate through the Unrealised Currency Gains account, and foreign-currency bank balances through Bank Revaluations. Neither holds posted entries; both are calculated whenever a report runs. If your software does not revalue automatically, post a revaluation journal at month-end and reverse it on the first day of the next month.
IRAS's e-Tax guide on foreign exchange gains or losses (sixth edition, January 2026) sorts exchange differences three ways:
- Revenue — from trading: sales, purchases, receivables, payables. Taxable or deductible in the year they reach the profit and loss, realised or not. That has been the default for businesses other than banks since YA 2004.
- Capital — from capital transactions, such as buying fixed assets. Neither taxable nor deductible.
- Translation — from converting a whole set of financial statements into another presentation currency. Notional, and neither taxable nor deductible.
Foreign-currency bank accounts are the trap. The year-end revaluation of a foreign-currency bank balance is capital by default, because the balance holds money for both capital and trading needs. IRAS will treat it as revenue if the account is designated for receiving trade receipts and paying revenue expenses — and since YA 2020 the account need not be used exclusively for that. Up to 12 capital transactions and S$500,000 of capital transactions a year, inflows and outflows counted together, still qualify.
| Xero account | GST F5 return | Corporate income tax |
|---|---|---|
| Realised Currency Gains | Box 3, as the absolute net figure | Taxable or deductible on trade items |
| Unrealised Currency Gains | Excluded | Taxable or deductible on trade items |
| Bank Revaluations | Excluded | Capital, unless a designated account |
For the tax computation, IRAS encourages a schedule that breaks the year's exchange differences down by source — trade receivables and payables, the designated bank account, fixed deposits, other bank balances, related-party loans and non-trade items. A Form C-S filer relying on the designated-account treatment does not submit the capital-transaction count with the return, but must be able to produce it if IRAS asks.
Both are easy if capital movements in the foreign-currency account — an equipment payment, a fixed-deposit placement, a transfer to another account — are tagged by a bank rule when they happen, and miserable if someone rebuilds them from twelve bank statements in November. The corporate tax filing guide covers the rest of that season, and the chart of accounts guide covers where the tags should live. Month to month, Xero's Foreign Currency Gains and Losses report shows exposure by currency; it belongs in the month-end close review, next to the bank reconciliation.
What to automate, in order
None of this needs a bigger finance team. It needs the decisions above turned into settings and checks, roughly in this order:
- Set the rate once. Make the policy source the system default — Xero's XE.com rate, or a monthly custom rate set for each date range.
- Detect overrides. Xero ties the right to change a rate to the invoicing roles, so in practice you catch overrides rather than prevent them. Compare every foreign-currency invoice and credit note with the policy rate for its date; anything outside a small tolerance, and any rate of exactly 1, goes to review with the name of the person who changed it.
- Fix the documents. SGD conversion on by default on invoice templates; each credit note checked against the rate of the invoice it reverses.
- Check supplier bills at extraction against their printed SGD GST, before they reach the return.
- Tag capital movements in foreign-currency bank accounts with bank rules as they happen.
- Reconcile Box 3 every quarter by drilling into the realised figure and clearing anything that is not an exchange difference. At year-end, produce the exchange-difference schedule from the tags.
Steps 1 and 3 are settings. The other four are checks that run as transactions arrive — and they replace the hours currently spent finding the same problems at quarter-end.
The bottom line
Foreign-currency invoicing comes down to one policy and what follows from it:
One acceptable rate, written down,
used everywhere
→ SGD net, GST and total on every
foreign-currency tax invoice
→ output tax fixed at the time of
supply; realised differences
to Box 3
→ input tax as printed on the
supplier's invoice
→ trade differences taxed through
the P&L; bank revaluations
capital unless designated
If your foreign-currency invoices currently carry a mix of XE rates, bank rates and whatever the customer asked for, the fix is a policy and a handful of checks, not a new system. Use the Calcudesk automation ROI calculator to estimate what the quarterly clean-up costs now, and if you want the checks built into your Xero workflow, book a 30-minute discovery call — we will map where your rates come from before recommending anything.