Save a new synonym to the mapping library
Who does this: XBRL Reviewer · Senior Accountant · Platform Admin only —
ADD_MAPPING_SYNONYM. XBRL Preparer does not hold this. When: A line-item label you just mapped is canonical enough that future filings (across all clients) should auto-match it. Result:mapping_library.jsonis appended with{label_pattern, target_element_id, confidence: HIGH}. Every future suggest-tag-mappings run picks it up.
IMPORTANT
Synonym writes affect every future filing across every client. The mapping library is a shared global file at v1.0 of this SOP. Per-client overrides are on the Phase 4 backlog. Until then, be conservative: save synonyms for labels that are genuinely market-standard, not for one-off client wording. Every write is audited; reviewers across the firm can see who added what.
Before you start
- [ ] You hold
ADD_MAPPING_SYNONYM. - [ ] You're confident the label is canonical (the kind of phrasing you'd expect to see in other clients' financial statements).
- [ ] The target
elementIdis correct — verified against the ACRA taxonomy reference.
Steps
Path A — while confirming a mapping
- Open the filing → Mappings tab → click into the row.
- Pick or search for the right element.
- Tick Save as synonym.
- Click Confirm. The mapping confirms AND the synonym is appended in one call.
Path B — standalone
POST /ops/xbrl/mappings/synonyms
Content-Type: application/json
Authorization: Bearer <reviewer-jwt>
{ "labelPattern": "Software development costs capitalised", "targetElementId": "sg-as_IntangibleAssetsRelatedToComputerSoftware", "confidence": "HIGH" }How to know it worked
- The
mapping_library.jsonfile in the repo (live in the running app's constitution path) has the new entry. In dev, this is on disk; in production, behind a deploy-time bundle. - Activity log shows
xbrl.mapping.synonym_addedwith{labelPattern, targetElementId, staffUserId}. - The next
suggest-tag-mappingsrun on any client will match the label and produce aHIGH-confidence suggestion.
Reverting a bad synonym
There is no in-app revert today (Phase 1). To revert:
- Open a PR removing the offending entry from
packages/xbrl/constitution/mapping_library.json. - Deploy.
- Re-run
suggest-tag-mappingson any in-flight filings that consumed the bad synonym. The audit log identifies them.
Why this is restricted
The synonym library is constitution-adjacent. A bad entry drifts every future filing across the firm. The role split exists to put the writes behind senior accountability.