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.

By Madhushan, Founder & Lead Developer

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.

Two different exercises. Remeasurement (ASC 830-20) converts transactions and balances denominated in a currency other than the entity's functional currency, and differences go through earnings. Translation (ASC 830-30) converts a foreign operation's functional-currency statements into the reporting currency for consolidation, and differences go to other comprehensive income (the cumulative translation adjustment). Both need dated, published rates; they use them differently.

Which rate ASC 830 asks for

ItemRate under ASC 830Where 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 dateThe published table in force on the reporting date
Non-monetary items carried at historical costThe historical rate at the date the item was acquiredThe 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 dateSame 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 approximationAn 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

  1. 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
  2. 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" }, ... ] }
  3. 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.
  4. 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.
  5. 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

Related