Exchange Rates for ASC 830 Remeasurement and Translation
Which exchange rate ASC 830 calls for at the transaction date, the balance-sheet date and for income-statement items, which published US sources finance teams commonly use (Fed H.10, Treasury reporting rates, mid-market), and how to make the month-end close reproducible for SOX and the auditor.
ASC 830, Foreign Currency Matters, tells a US GAAP reporter which exchange rate to apply to each kind of item. It does not tell you where to get it. That gap is where month-end closes go wrong: the standard is followed to the letter, but the rate came from a currency converter with no publisher and no publication date, and two years later nobody can show the auditor how the number in the ledger was produced. This page sets out what ASC 830 asks for, which published sources US finance teams commonly use, and how to pull those rates in a way that is reproducible for SOX and the audit file. It describes common practice, not accounting advice; confirm your policy with your auditor.
Which rate ASC 830 asks for
| Item | Rate under ASC 830 | Where it comes from in practice |
|---|---|---|
| Foreign-currency transaction when recorded (remeasurement) | The exchange rate at the date the transaction is recognised (the spot rate on that date) | The published table for that date; the last published table on or before it when the publisher did not publish that day |
| Monetary assets and liabilities at the balance-sheet date (remeasurement) | The current exchange rate at the balance-sheet date | The published table in force on the reporting date |
| Non-monetary items carried at historical cost | The historical rate at the date the item was acquired | The published table for the acquisition date, retained with the asset record |
| Assets and liabilities of a foreign operation (translation) | The current rate at the balance-sheet date | Same closing table as above, from the same source, for every entity in the group |
| Revenues, expenses, gains and losses (translation) | The rate at the dates recognised, or an appropriately weighted average for the period where it is a reasonable approximation | An average computed by you from the published daily or weekly series, kept with the calculation |
The standard's vocabulary is "current rate", "historical rate" and "weighted average". Each is a rate on, or derived from rates on, specific dates. That is the property your source has to have: a rate tied to a publication date, from a named publisher, that does not change after the fact.
Published sources US finance teams commonly use
Federal Reserve H.10
The Federal Reserve H.10 release publishes the noon buying rates in New York, certified by the Federal Reserve Bank of New York, for about 22 currencies against the dollar. It is the official US statistical series for dollar exchange rates and the most common choice for a US-dollar reporter's policy. The API carries the release as a weekly-dated table; a quick look at the current one, keyless:
curl "https://allratestoday.com/api/open/central-bank/fed?source=EUR&target=USD" {
"bank": "fed",
"rate_date": "2026-10-16",
"source": "EUR",
"target": "USD",
"rate": 1.1231,
"rate_type": "reference",
"derived": false,
"method": "published",
"age_days": 3,
"stale": false,
"cadence": "weekly"
} derived: false and method: "published" mean the Fed printed EUR/USD itself.
Ask for USD→EUR and you get the inverse, flagged derived: true, method: "inverse", so the
record shows whether the figure is the publisher's own or a computation from it.
Treasury Reporting Rates of Exchange
The Treasury Reporting Rates of Exchange, published
quarterly by the Bureau of the Fiscal Service, are the rates federal agencies must use to convert
foreign-currency balances for official reporting. Contractors, grant recipients and their auditors
commonly follow the same table so their figures reconcile with the agency's. It is a quarterly table
with mid-quarter amendments when a currency moves sharply, so rate_date is the date of
the table in force rather than a daily spot date:
curl "https://allratestoday.com/api/open/central-bank/ustreasury?source=USD&target=EUR"
# { "bank": "ustreasury", "rate_date": "2026-10-15", "source": "USD", "target": "EUR",
# "rate": 0.881, "rate_type": "quarterly", "derived": false, "method": "published", "cadence": "quarterly" } The same table is what the FBAR and Form 8938 instructions point individuals and businesses to for year-end values; see FBAR and Form 8938 exchange rates via API.
Mid-market rates
Some groups write a mid-market rate at a fixed time of day into the policy, usually for currencies the
Fed does not quote or for intraday-heavy transaction streams. That is defensible if the policy names
the source and the capture time and the figures are stored at the time with their timestamp. Our
Daily Reference Rate (one never-revised table per business day, fixed
at 16:00 London) exists for that use; live mid-market rates are on the paid /api/v1/rates
endpoint. What does not work is pasting whatever a converter showed on the day of the close.
A month-end close that an auditor can replay
- Closing rate. On the first working day after period end, pull the rate in force on the balance-sheet date for every currency pair the group holds monetary balances in. Use the dated endpoint so the response records both the requested date and the date actually published:
# Rate in force on the balance-sheet date (paid plans) curl "https://allratestoday.com/api/v1/central-bank/fed/2026-09-30?source=EUR&target=USD" \ -H "Authorization: Bearer YOUR_API_KEY" # Response carries the date you asked for AND the date the table was published # "requested_date": "2026-09-30", "rate_date": "...", "published_on_requested_date": true|false - Average rate. Pull the series for the period for each pair and compute the average in the close workbook or the consolidation system. Keep the series next to the result:
# Daily series for the period, to compute an average you can recompute later (paid plans) curl "https://allratestoday.com/api/v1/central-bank/fed/history?source=EUR&target=USD&from=2026-09-01&to=2026-09-30" \ -H "Authorization: Bearer YOUR_API_KEY" # { "bank": "fed", "source": "EUR", "target": "USD", "from": "...", "to": "...", "count": N, # "rates": [ { "date": "2026-09-05", "rate": 1.17, "rate_type": "reference", "derived": false, "method": "published" }, ... ] } - Transaction-date rates are posted during the period as transactions are booked, either from the ERP's currency table loaded from the same source (the ERP integration guides cover Business Central, SAP, Xero, QuickBooks and Odoo) or by looking up the dated table at posting time.
- Historical rates for non-monetary items are fixed at acquisition and never refetched. Store the rate, the publisher, the publication date and the method on the asset record.
- Load, lock, reconcile. Load closing and average rates into the consolidation system, lock the rate table for the period, and reconcile the CTA movement to the rate changes.
The closing-rates page covers the IAS 21 side of the same process for groups reporting under both frameworks.
Audit evidence and SOX documentation
Under SOX 404 the exchange-rate step is a control like any other: a documented source, a documented
procedure, and evidence that the procedure was followed. What auditors ask for, in our experience of
the requests our customers forward to us, is reproducibility rather than any particular publisher.
Every rate in the close should carry five fields: the publisher (bank), the publication
date (rate_date), the date it was applied to (requested_date), whether those
two differ (published_on_requested_date), and whether the figure was published or
derived (derived, method). The API returns all five, and because published
tables are immutable in our store, a request for the 2026-09-30 table made in 2029 returns the same
figures it returned in October 2026. See audit
evidence for what to retain and for how long.
Write the policy once: publisher per currency, the treatment of non-publication days (last published on or before), the averaging method, and the system of record. Then do not vary it period to period. A change of source is a change in estimate methodology and should be documented as one.
The tax side uses different tables
US GAAP reporting and US tax reporting are separate exercises with separate conventions. The IRS states that it has no official exchange rate and generally accepts any posted rate used consistently, and publishes its own yearly average table for individual filers; FBAR and Form 8938 point to the Treasury year-end rate. The two posts linked below deal with those: computing and automating IRS-style yearly averages from an official series, and the Treasury reporting rate for FBAR and Form 8938. Keep the book policy and the tax convention in separate documents so neither contaminates the other.
Frequently asked questions
Does ASC 830 name a specific exchange rate publisher?
No. ASC 830 describes the rate to use (the rate at the transaction date, the current rate at the balance-sheet date, a weighted average where appropriate) but does not name a source. The accounting policy names the source. US-dollar reporters commonly standardise on the Federal Reserve H.10 series or a documented mid-market source; entities that report to or reconcile with federal agencies commonly use the Treasury Reporting Rates of Exchange. Confirm the choice with your auditor.
Can we use a monthly average rate for revenue and expenses?
ASC 830 permits an appropriately weighted average rate for the period as a practical approximation of the rates at the transaction dates, where it does not produce materially different results. Compute the average from a published daily or weekly series you can reproduce rather than taking a vendor's single "monthly average" figure, so the auditor can recompute it from the same table.
What if the balance-sheet date falls on a weekend or the publisher did not publish that day?
Use the last rate the publisher issued on or before that date, and record that you did so. The dated endpoint returns the table in force on the date you ask for, with published_on_requested_date set to false when it had to roll back to an earlier publication, so the evidence is in the record.
Is the Treasury reporting rate acceptable for ASC 830?
It is a published official table and some entities, especially those reporting to federal agencies, use it consistently. Because it is a quarterly table with mid-quarter amendments rather than a daily spot series, discuss with your auditor whether it is an appropriate approximation of the spot rate for your transactions and balances.
Which currencies and which consolidation system?
Tell us the pairs, the publisher your policy names and the system, and we will confirm the tables and how they get there.
Talk to us Business plan