WF-12 — Master-data Change
Process map for create / change / merge requests on governed master data (parties, units, dimensions) with dedupe, maker-checker and downstream event publication. Owner: Vikram Nair (Config Admin — enterprise data steward) · Version 3 (active since 20 Apr 2026).
WF-12
GOV-03
Open change requests
12
4 awaiting checker decision
Merges this month
9
All with rollback reference kept
Rejected (Jul)
2
Reasons recorded · returned to maker
Conflicts (30d)
3
Optimistic-lock requeues, 0 data loss
Duplicate rate
0.7%
▲ improving vs 1.2% in Q1
Process map — happy path
Trigger: create / change / merge request
Per §8.2 Table 14
Create / change / merge request→
Validate — schema · mandatory fields · TRN / EID format→
Dedupe — match scoring vs canonical records→
Maker-checker approval (SoD enforced)→
Effective date applied / scheduled→
Published — downstream events emitted (via WF-13)
Every record keeps an immutable technical UUID plus a human-readable sequence (e.g. PTY-0044821); mutable attributes are never encoded in identifiers (GOV-03). Merges and deactivations preserve full history and aliases.
Exception paths3 modelled exceptions
Request submitted→
Validation or checker review fails→
Checker rejects — reason mandatory→
Rejected — returned to maker for rework or withdrawal
Merge published→
Post-merge issue discovered (wrong survivor)→
Corrective request citing merge reference→
Rolled back via reference — original merge decision preserved, never erased
Two concurrent edits on one record→
Optimistic-lock version check fails on apply→
Requeue with fresh snapshot — maker re-confirms→
Conflict — second request re-validated against new state before checker
Owner & definition (§8.3)Published v3
- Workflow ID
- WF-12
- Owner
- VNVikram Nair — Config Admin · enterprise data steward
- Version
- 3 · effective 20 Apr 2026 · simulation pack SIM-WF12-009 passed
- Trigger
- Create, change or merge request on governed master data (party, unit, GL dimension)
- Preconditions
- Requester has domain maker role · record not under legal hold · no open conflicting request
- States
- Draft → Validating → Dedupe review → Checker queue → Scheduled → Published
- Terminal outcomes
- Published Rejected Rolled back (by reference) Conflict requeued Withdrawn
- Required evidence
- Request payload + before/after diff · match-score report · checker decision with reason · effective date · downstream event receipts
- Policy snapshot
- Checker resolved from authority policy at submission; maker ≠ checker always enforced
Controls (Table 14, expanded)GOV-03
| Control | Enforcement | Status |
|---|---|---|
| Ownership | Each domain has a named data owner; changes outside owner’s domain are blocked at submission | Enforced |
| Alias preservation | Merged / renamed identities retained as searchable aliases; prior references never break | Enforced |
| Audit | Every change writes an immutable audit event with before/after values (masked where sensitive) | Enforced |
| Downstream events | party.updated / party.merged emitted through transactional outbox (WF-13, INT-02) | Enforced |
| Maker-checker | Independent checker approval; self-approval technically blocked; reasons mandatory on reject | Enforced |
| Identifier stability | Immutable UUID + human sequence; mutable attributes excluded from identifiers | Enforced |
Exception paths & recovery
| Exception | Detection | Recovery | Authority |
|---|---|---|---|
| Reject | Validation failure or checker decision | Returned to maker with reason; rework resubmits as new revision of the same request | Domain checker |
| Merge rollback | Post-merge issue reported | Corrective request references merge decision MRG-id; canonical restored; both decisions preserved in history | Data steward + checker |
| Conflict | Optimistic-lock version mismatch | Requeue with fresh snapshot; maker re-confirms deltas; re-validated before checker queue | System + maker |
| Withdrawn | Maker cancels before checker decision | Closed with reason; draft retained in history for audit | Maker |
Timers & escalation (§8.3)UAE business calendar (Mon–Fri)
| Timer | Calendar | Warning | Breach | Escalation |
|---|---|---|---|---|
| Checker decision | Business days | 1d | 2d | Domain checker → Vikram Nair |
| Dedupe review (held leads) | Business days | 4h | 1d | Steward queue → CRM manager (routing held) |
| Effective-date job | System · daily 00:30 GST | +30m | +2h | Platform on-call · job idempotent retry |
| Downstream delivery | 24/7 (WF-13 timers apply) | 15m | 1h | Integration owner · DLQ incident |
| Rollback decision | Business days | 1d | 3d | Data steward → governance board |
Screens involved
- Party Master & Dedupe — canonical records, match scoring, merge console
- Audit Explorer — immutable before/after change trail
- Customer 360 — downstream consumer of merged party view
- KYC Workspace — KYC records re-linked after party merges
- Events & Webhooks —
party.mergeddelivery monitoring
Recent change requestsSteward queue
| Request | Type | Maker → Checker | Status |
|---|---|---|---|
| MDC-2026-0441 · Amina Noor duplicate | Merge | Yusuf Karim → Noura Saeed | Published 17 Jul |
| MDC-2026-0440 · Falcon Trading FZ-LLC UBO % | Change | Yusuf Karim → Noura Saeed | Checker queue · 1d |
| MDC-2026-0438 · Unit PR-B-3204 area correction | Change | Elena Petrova → Rashid Al Farsi | Conflict — requeued with fresh snapshot |
| MDC-2026-0435 · Prime Link Realty new branch | Create | Layla Hassan → Vikram Nair | Rejected — TRN checksum invalid |
| MDC-2026-0431 · GulfTech bank details | Change | Daniel Chen → Fatima Rashid | Published 15 Jul · dual approval (payment-sensitive) |
| MDC-2026-0427 · Merge MRG-2026-0102 rollback | Rollback | Vikram Nair → Grace Okafor (review) | Rolled back via reference 12 Jul |
Worked instance — MDC-2026-0441 · merge duplicate “Aamina Noor” into canonical Amina Noor
Published · rollback reference kept
- 17 Jul 2026 · 10:05Merge request raised from held lead LD-2026-04530
- 10:12Validation passed
- 10:22Survivor field selection recorded
- 11:04Checker approved — Noura Saeed
- 11:05Published — effective immediately
- 11:05Downstream events emitted
- 11:20Consumers reconciled
- 11:25Audit closed
Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 · Covers: WF-12, GOV-03.