Currency codes, decimals and the exchange-rate series every system converts with, kept once with a version for each rate date.
Today the treasury rate, the ERP rate and the planning rate for the same day differ; the variance analysis spends its first hour explaining currency.
With Lima the currencies are read where they live, matched on ISO code and from + to + type + date, assembled field by field and published as one golden record per real currencies, with every source key underneath. The postings converted with a rate and the rate history for a pair are one click away, because the transactions sit in the same bed.
Survivorship is per field; the winning source below is the usual one, and a steward's verified edit outranks it.
Rates are time series in the bed, so a pivot in group currency uses the rate of each row's date, or the budget rate, by choice.
Pairs above the merge line merge; pairs between the lines go to the steward with the two records side by side and the transactions of each; the rest stay apart. Every merge can be undone. The golden records page explains the steps.
Several structures for the same record, each kept as versions with dates.
| Hierarchy | Levels and use |
|---|---|
| Type | rate type → currency pairs |
A pivot can roll the record's measures up any of them; a draft version is validated against the facts before it goes live. See hierarchies.
Written in one language, tested on live rows before they are saved.
| Level | Rules |
|---|---|
| Column | rate is positive decimals match the ISO standard |
| Row | a rate names its source and time an inverse rate agrees with the direct rate within tolerance |
| Business | every business day has a spot rate for every active pair budget rates are frozen after the plan is approved |
| Transactions in the bed | Read from |
|---|---|
| Postings in foreign currency | GL |
| Revaluations | period end |
Measures above are available in the pivot on any hierarchy level, by month or week, with calculated measures beside them. Drill-down opens the postings converted with a rate and the rate history for a pair.
Treasury edits; everyone reads; budget rates locked by finance. The twelve layers apply on every door; see security.
POST /api/v1/golden/fx/rate
{
"from": "USD",
"to": "EUR",
"type": "month-end",
"date": "2026-09-30"
}200 OK
{
"rate": 0.9214,
"source": "ECB",
"loaded_at": "2026-09-30T16:05Z"
}The same call creates the record when nothing matches; related facts are expanded through the cross-reference; page sizes and limits are published per endpoint. See the headless API.
The objects with their real names, the keys in that system's fields, the write interface and what to set up first.
Currencies read from TCURC · TCURX.
Open the SAP S/4HANA page →Currencies read from FND_CURRENCIES (REST: currencies).
Open the Oracle Fusion Cloud page →Currency rates read from Get_Currency_Rates · Get_Currency_Rate_Types.
Open the Workday page →Currency read from CONFORMED.CURRENCY. 2 objects, the keys in Snowflake fields, the write path and the prerequisites.
Open the Snowflake page →Names, places and figures are illustrative or anonymised; the pattern is the catalogue's.
A group with entities in 19 currencies loads one rate series and publishes it to two ERPs, HR and the planning tool. Reports in group currency agree with the ledgers to the cent.
The golden record is a governed view over rows read in place; a governed replica in your lake is used only where a source is too slow or too limited to query live, and the column says so.
One working day for the first two sources; 1 working days to a production-grade version with rules, hierarchies, security and write-back tested.
Financial services, Industrial manufacturing, Consumer goods, High-tech and semiconductor. The industry pages show the domains each starts with.
Bring two systems that hold the same customers, suppliers or materials. In one working day we connect them, run the match on live rows, review the queue with your steward and publish the first golden view with its API.