A field map only renames columns. It does not parse, compute, transform, or combine values. Exactly one source column populates each canonical field.
What a field map is
A field map belongs to a single source inside a context. A context reconciles two sides (a
LEFT source and a RIGHT source), and each source has its own field map. Matcher compares the canonical fields produced by both maps. Both sides must resolve to the same vocabulary, even when their raw files look nothing alike.
The mapping is a JSON object in the form:
- The key is a canonical field. Keys come from a closed, case-sensitive vocabulary. Matcher rejects any key outside it.
- The value is the name of the column in the raw source that carries that field. Values are free text (whatever your file calls the column) and must be non-empty strings.
Canonical vocabulary
Matcher uses a closed key space. These are the only keys Matcher accepts.
Required keys
Every field map must declare all four:Optional keys
Declare these only when the source carries them:fee_amount and fee_currency are the optional fee slot. When present, the mapped column’s value is copied into the transaction metadata that fee verification reads. A column with any name, for example mdr_fee, can therefore carry fees end to end without hand-built metadata. Omit them and behavior is identical to a map without a fee slot.Creating a field map
You create one field map per source. Send the mapping object to the source’s field-map endpoint:
cURL
Updating a field map
Each source has one field map. To change a mapping,
PATCH it by its own ID (not the source ID). Send the full mapping. It replaces the previous one and increments version.
cURL
Example: both sides of a context
A context reconciles a bank feed against an internal ledger export. The two files use different column names, so each source declares its own map, but both resolve to the same canonical keys.
LEFT source: bank statement (CSV)
Raw columns:RIGHT source: ledger export (CSV)
Raw columns:external_id, amount, currency, and date in the canonical vocabulary. Match rules can compare them directly, even though one file called the amount Amount and the other called it value.
Common mistakes
Reversing the direction
Reversing the direction
The key is the canonical field and the value is your column:
{"external_id": "BankRef"}, not {"BankRef": "external_id"}. Writing it backwards puts an unknown key (BankRef) on the left, and Matcher rejects the map.Using keys outside the vocabulary
Using keys outside the vocabulary
Matcher accepts only
external_id, amount, currency, date, description, fee_amount, and fee_currency. Matcher rejects keys such as transaction_id, reference, counterparty, or type as unknown keys. The error names each offender.Wrong case
Wrong case
Keys are case-sensitive lowercase tokens. Matcher treats
External_Id, Amount, or CURRENCY as unknown keys.Missing a required key
Missing a required key
All of
external_id, amount, currency, and date must be present. A map missing any of them fails validation with a “missing required keys” message.Empty or non-string values
Empty or non-string values
Every value must be a non-empty string naming a source column. Matcher rejects
null, numbers, objects, or "".Expecting transformations
Expecting transformations
Field maps do not parse dates, divide amounts, concatenate columns, or apply conditionals. Deliver values already in the expected shape from the source file, or normalize upstream before upload.
Next steps
Match rules
Define how Matcher compares and groups the canonical fields.
Uploading files
Import transactions using your field maps.

