ERP & Treasury

One closing rate for every entity, delivered where finance works

Automated exchange rate feeds over REST API for SAP, NetSuite and Oracle general ledgers. A daily 22:00 UTC close, hourly and minute rates for teams that revalue during the day, or your own cut-off such as 4pm London. 150+ currencies and 50+ cryptocurrencies, with audit-grade history back to 1990.

Daily close · 22:00 UTC 28 Oct 2026
Pair Low – High Close
EUR / USDEuro to US dollar1.1113 – 1.11691.1154
GBP / USDPound to US dollar1.3273 – 1.33391.3327
USD / JPYUS dollar to yen157.656 – 158.347157.836
USD / CHFUS dollar to Swiss franc----
USD / CNYUS dollar to yuan----
USD / INRUS dollar to rupee----

What a nightly revaluation job fetches. Same values on any later date.

Close is the mid at 22:00 UTC 150+ currencies
client logos client logos client logos client logos

Trusted by top companies & institutions. Read our customer stories

Daily close
22:00 UTC
Daily history
Since 1990
SLA Uptime
99.99%

Why finance teams move their rates to us

Built for groups that still copy rates between systems at period end, or pay a data vendor by the tier for a close they could have in every system by morning.

Into SAP without a connector licence

Load the day's close into S/4HANA Cloud through Market Rates Management with one short script we publish. No middleware subscription in between.

Read the SAP tutorial

In Snowflake, with no pipeline

Closing rates arrive in your Snowflake account by data share, ready to join against the ledger. Nothing to schedule, nothing to load. Daily rates are being added to the share shortly; ask us and we will tell you when it is live.

Request information

Excel and Google Sheets, no code

Add-ins put live and historical rates into the exposure and hedging models treasury already runs, without an engineering ticket.

See the add-ins

History the auditors can query

Daily history back to 1990 and tick data since 2016. Any date returns the same close whenever you ask, so a restatement reproduces the original number.

Explore historical data
Architecture

From the market close to the balance sheet, without a spreadsheet in between

You keep your ERP, your rate types and your close process. We supply the number.

  • Mid, bid and ask from the same source Revalue on the mid and price intercompany transfers on the side you deal on, with one timestamp behind both.
  • Weekends and holidays need no special case A Saturday, Sunday or holiday returns the last traded day, so a month end that falls on a weekend loads like any other night.
  • History back to 1990 from the same endpoint Last night and 1990 come from one call, so restating a prior year or back-testing a hedge policy uses the number you already trust.
  1. 22:00UTC
    The day's bar closes Open, high, low and close are fixed for every pair. Before this the bar is still forming, so nothing loaded after 22:00 will change later.
  2. 22:05your job
    One call, every currency Your nightly job asks /historical for the date, an intraday run asks /hour_historical or /minute_historical for the bar it needs, or the Snowflake share refreshes on its own.
  3. 22:10landed
    The close is in your systems SAP Market Rates Management, your warehouse table or the workbook. Rate type, rounding and posting stay yours. SAP S/4HANASnowflakeExcel / Sheets
  4. Nextmorning
    Every entity opens on the same number One close, taken once. Nobody re-pulls at a different time, nobody rounds differently, and consolidation has nothing to reconcile. London · evening beforeNew York · afternoon beforeSingapore · same morning
  5. Anylater date
    Revalue now, prove it later Period-end revaluation takes the close. Missed a night, or asked by the auditor a year on? Request 30 September again and the same number comes back.
Delivery

Three ways in, one source

Each team takes the close in the tool it already uses. The number is the same in all three.

ERP

SAP S/4HANA and any ERP that imports rates

A nightly script fetches the close over REST and uploads it to SAP Market Rates Management, where S/4HANA's own import job collects it. Other ERPs take the same /historical JSON or a CSV through their standard rate upload.

Warehouse

Snowflake data share

Closing rates shared straight into your Snowflake account. No pipeline to build, nothing to load, ready to join against the ledger and the hedge book. Daily rates are being added to the share shortly.

Spreadsheets

Excel and Google Sheets add-ins

Live and historical functions inside the workbook, so exposure, hedging and cash forecasting models refresh themselves instead of waiting for a paste.

All tutorials

Compare

What a close costs elsewhere

We checked the publicly listed plans of a widely used FX data provider for treasury and accounting teams in October 2026. Where we don't do something, the table says so.

$4,850/yr
Entry plan elsewhere: daily averages, 100,000 quotes a month
$9,000/yr
The tier that adds open and close rates elsewhere
22:00UTC
One close with open, high and low, TraderMade
1990
Daily history from, on every agreement, TraderMade
Side by side
Public plan pages, checked October 2026
A widely used FX data provider* TraderMade
Open and close rates From the second tier, $9,000 a year Open, high, low and close in every daily record
Quotes per month 100,000 on the entry plan, unlimited above Sized to your close run. A nightly load of 150 currencies is a handful of calls
Into the ERP Marketplace connector or an integration-platform subscription Published SAP S/4HANA script; REST or CSV into any ERP that imports rates
Into the warehouse Pull it yourself over the API Snowflake data share, no pipeline
Into spreadsheets Download and paste, or a converter tool with 2 seats on the second tier Excel and Google Sheets add-ins with live and historical functions; no per-user fees
Intraday rates "3-5 second spot" from the third tier, $13,500 a year WebSocket ticks and REST live rates, on the same key
Your own cut-off Not listed on the public plan pages Any minute of any day from minute history: 4pm London, 5pm New York or your month-end time
History Back to 1990 Daily, hourly and minute since 1990; tick since 2016

Already paying for daily rates?

Send us your currency list, the systems that need the close and your renewal date. We'll map your plan line by line and come back with a like-for-like quote, SAP and Snowflake included.

Compare my plan
Connectivity

Daily, hourly, minute or live, on one key

Everything a nightly revaluation, an hourly mark, a restatement or a live exposure view needs, with the same field names throughout.

REST: historical

One date, every pair you list, with open, high, low and close. The call a nightly ERP job makes, and the one an auditor's query makes a year later.

Historical docs

REST: hourly and minute

hour_historical and minute_historical return the open, high, low and close for one hour or one minute of any day; timeseries returns a run of daily, hourly or minute bars for a date range. For intraday revaluation, hedge checks, period averages and backfilling a new entity's history.

Timeseries docs

Live and WebSocket

Bid, ask and mid right now, polled over REST or streamed tick by tick, for intraday exposure monitoring and dealing desks that cannot wait for the close.

WebSocket docs

What a close looks like

The record a revaluation job receives for month end, 30 September 2026.

  • Open, high, low and close per pair. The close is the mid at 22:00 UTC.
  • Every pair is quoted per one unit of the base currency; SAP converts to its own ratios, such as per 100 JPY, by itself.
  • The same field names on timeseries and live, so one parser covers the nightly job, the backfill and the intraday view.
  • Ask for the same date next year and the values are identical.
Field reference
# after 22:00 UTC: the day that has just closed, for the whole list
curl "https://marketdata.tradermade.com/api/v1/historical\
  ?currency=EURUSD,USDJPY,USDCHF,USDCNY,USDINR\
  &date=2026-09-30&api_key=YOUR_KEY"

# or your own cut-off: the minute bar at 16:00 London (15:00 UTC in summer time)
curl "https://marketdata.tradermade.com/api/v1/minute_historical\
  ?currency=EURUSD&date_time=2026-09-30-15:00\
  &api_key=YOUR_KEY"
GET /api/v1/historical · JSON Close at 22:00 UTC · same value forever
Defensible by design

A close you can put in front of an auditor

Banks, audit practices and payment companies run on the same feed. Here is what makes the number stand up.

How the close is made

Tier-1 sourced, filtered, stamped, kept

Aggregated from Tier-1 liquidity, filtered for outliers before it is stored, captured into the daily bar at 22:00 UTC. The stored value never changes: the close you booked is the close you retrieve at the audit.

What an SLA should actually cover

99.99% availability SLA

Legally backed on enterprise agreements, measured by an independent third party and published on our status page. The nightly job runs.

GTN: 87 markets on one feed

Used where rates get challenged

3S Money prices cross-border business payments on it; BITA calculates systematic indices on it; Chainlink publishes FX feeds on-chain from it.

Read the customer stories
Answers

Frequently asked questions

The close, revaluation, SAP, Snowflake, history, cut-off times and group licensing.

22:00 UTC. The close is the mid price at that moment, and each daily record also carries the open, high and low. Before 22:00 UTC the day's bar is still forming, so overnight jobs load the day that has just closed. If group policy sets a different time, such as 4pm London, take the minute bar at that time instead (next question).

Yes. Live and historical endpoints return bid, ask and mid with the same timestamp, so a group can revalue on the mid and price intercompany transfers on the side it deals on, from one source.

On S/4HANA Cloud, a short Python script we publish fetches the close and uploads it to Market Rates Management (Bring Your Own Rates); SAP's import job then collects it on a schedule. On-premise and other ERPs import the same JSON or CSV through their standard rate upload. The tutorial walks through the SAP setup, the script and the schedule.

Daily, hourly and minute history back to 1990 and tick data since 2016. Any date returns the same close whenever you ask, so restatements and audit queries reproduce the original number. See historical data.

Rates are shared into your Snowflake account as a data share, so there is no pipeline to build and nothing to load. Join them against the ledger directly. Daily closing rates are being added to the share shortly; request information below and we will let you know when it is live and set you up.

Yes. Group internal use across subsidiaries, shared service centres and the data warehouse is covered under one agreement, with no per-user fees. Showing rates to customers or the public needs display terms, which we add on request.

Yes. Minute history covers every pair, so a job can take the mid at 16:00 London, 17:00 New York or whatever time group policy names, every business day, and store it as the day's rate. It is our aggregated market mid at that minute, and that is how to describe it in your policy. Intraday, the same key returns a live rate on every REST request and streams ticks over WebSocket for exposure monitoring.

Yes. hour_historical and minute_historical return the open, high, low and close for any hour or minute since 1990, and timeseries returns a run of hourly or minute bars for a range. Treasury teams use them for intraday revaluation, hedge effectiveness checks and a group cut-off that is not the close. Same key, same field names as the daily close, so the parser that loads the close loads the hourly bar too.

Closing in a different time zone?

Tell us your currency list, the systems that need the close and the time your books close. A market data engineer will come back with terms, evaluation access and the right endpoint for each system.

Talk to an engineer
Get started

Request Pricing and Access

Please fill the form with your details and requirements and someone from our data team will contact you shortly.

Daily 22:00 UTC close or your own cut-off
REST into SAP, NetSuite and Oracle; Snowflake share on request
Group internal use under one agreement
Replies within 1-2 hours
Please enter your name (at least 2 characters).
Please enter a valid work email address.

Replies within 1-2 hours.