Interactive tool
Treasury System-of-Record Map
The cleanest treasury architectures follow one rule: every data domain has exactly one system of record, and everything else is a consumer. Owner is blank on purpose — the point is to force that one decision per domain. Name the owner, and the tool flags anything that breaks the rule. It's the tool behind the system-of-record guide and the reference architecture.
8 domains with no owner named — that's exactly the gap this map exists to surface.
| Data domain | System of record (one owner) | Candidate systems | Consumers | Integration | |
|---|---|---|---|---|---|
# Treasury system-of-record map Rule: each data domain has exactly one system of record. Everything else is a consumer or a copy. | Domain | System of record | Consumers | Integration | | --- | --- | --- | --- | | Cash position & balances | — | Treasury, reporting | Real-time / intraday | | Bank statements (raw) | — | AR/AP, cash mgmt | Daily import | | Outgoing payments | — | Banks, treasury | Batch + approval | | FX & derivatives deals | — | GL, risk, reporting | On deal capture | | Debt & investments | — | GL, reporting | On deal capture | | Bank & account master | — | All systems | On change | | Cash forecast | — | Treasury, FP&A | Daily / weekly | | Accounting entries (GL) | — | Close, reporting | On posting |
The seeded domains are a common starting point, not a prescription — rename, re-own and extend them for your landscape. The value isn't the table; it's the argument it forces: for each domain, who owns the truth? The export escapes markdown, so a value like ERP | TMS can't break the table (though the tool will flag it as two owners). Nothing you type here leaves your browser.
Worked example
A first pass at a group treasury landscape: six rows with owners typed in, one of them added by hand. Illustrative values chosen to show what the tool flags — not a recommended ownership model for your landscape.
Owner as entered
- Cash position & balancesTMS
- Bank statements (raw)ERP
- Outgoing paymentsERP or payment hub
- Bank & account master(left blank)
- Cash forecastTMS → FP&A
- Cash forecast (added row)Planning tool
What the map flags
- No owner named1 domain
- Two systems as the owner1 domain
- A flow written as the owner1 domain
- Domain listed twiceCash forecast
- Rows needing attention4 of 6
- Rows that satisfy the rule2 of 6
Read it as: only two of the six domains actually have a single named owner. ERP or payment hub is a decision nobody has made; TMS → FP&A is a flow, not an owner; the blank on bank & account master is the classic duplication trap; and the added Cash forecast row claims the same domain twice. Detection is heuristic — read each flag as a prompt to make the decision, not a verdict on your architecture.
How this works
Methodology
One row per data domain, one owning system per domain. The tool flags anything that breaks the rule — a domain with no owner, two owners, a flow written in as the owner, or a duplicated domain — and exports a markdown table.
Assumptions
- Each domain genuinely can have a single system of record; if it cannot, that is a design smell to resolve.
- The seeded domains are a starting point — you rename and extend them for your landscape.
- Consumers read the domain; they do not own it.
Limitations
- Multi-owner and process detection is heuristic — it catches common patterns, not every case; treat flags as prompts, not verdicts.
- It maps ownership, not the integrations themselves — the integration column is a note, not a spec.
- It does not verify that your named systems actually behave as the system of record; that is an implementation question.
Frequently asked questions
Why does the Owner column start empty?
Because naming the owner is the decision the map exists to force. The eight seeded rows are common corporate-treasury domains with candidate systems shown as a hint — TMS, S/4HANA Cash Management, the ERP general ledger — but the hint is deliberately not an answer, and a row with a domain and no owner is flagged until you pick one. Rename the domains, delete what doesn't apply and add your own; the seeds are a starting template, not a prescription.
What does the tool flag, and how strict is it?
Four things, all on the one-owner rule: a named domain with no owner, an owner that reads as more than one system (two names joined by a slash, 'or', a pipe, an ampersand, a plus or a separating comma), an owner that describes movement rather than a system (an arrow, or words like flow, process, feeds, sync), and the same domain name entered twice. Detection is heuristic — a comma before a legal suffix like Inc. or GmbH is not treated as two owners, but it will not catch every case. Treat a flag as a prompt to look again, not a verdict.
Why shouldn't a data flow be written in as the owner?
Because the owner is the system that holds the truth, not how the data moves — which is why the tool flags an arrow or the word 'sync' in that column. Ownership and flow are separate decisions, and the map only records the first: the Integration column is a note about how the data travels, not a specification. Dashboards and reports read from the record; they don't become alternate masters.
What comes out of the export?
A markdown table you can paste into an architecture document: domain, system of record, consumers and integration, one row per domain, under the rule stated in plain words at the top. Copy puts it on your clipboard; Download .md saves system-of-record-map.md. Rows with neither a domain nor an owner are left out, empty cells print as a dash, and a pipe character inside one of your values is escaped so it can't break the table.
Does the map leave my browser, and will it still be here later?
It stays on your device. Five free-text columns per row is far too much for a URL, so this tool has no share link, and nothing is posted to a server. The map is saved in this browser's local storage as you edit and restored on your next visit — a map is built up over a few sittings — with a notice saying so and a Start fresh link that returns the seeded rows. Nothing syncs across devices, and consent-gated analytics records only that the map was used, copied or exported and whether every named domain ended up with an owner — never a domain, system or note you typed.
These answers are about the builder. What a system of record is, whether the TMS or the ERP should own a domain, and what breaks when two systems claim one are covered in the system-of-record guide and the treasury reference architecture.