End-to-end workflows

How work moves through Master Data from start to finish, who does each step and what the system does in response.

On this page (13)

Bank account maker-checker

Who: Steward A (master_data_steward), Finance approver B (master_data_finance_approver)

#What the person doesWhat the system does
1A opens a party > Registrations & banks > Propose (bank) with a valid test IBAN and proof refRequest MCR-xxxxxx proposed, domain finance; Bank accounts unchanged; A sees the IBAN masked (no partner.bank.reveal)
2A opens Bank and tax changes and presses Approve this exact proposalRefused: no finance permission (and, if given it, 'Somebody other than the person who prepared this change must decide it.')
3B opens the same requestB sees the full IBAN (holds partner.bank.reveal) and the SHA-256
4B approvesState approved; the party's Bank accounts lists an active account with approved time and hash
5Open Reports > Sensitive changesThe request shows requested by A, decided by B, decided at, hash

Bank account replaced, never edited

Who: Steward A, Finance approver B

#What the person doesWhat the system does
1A proposes an update for the active bank account (API action update with its target_id) with a new IBANRequest proposed
2A proposes a second update for the same accountThe first request goes stale
3B tries to approve the stale oneRefused 'This request is already stale.'
4B approves the newestOld account retired, new account active and pointing to the old one; nothing edited in place

Tax registration change reaches every company

Who: Steward A, Tax steward T, member of companies 1 and 2

#What the person doesWhat the system does
1Party released to companies 1 and 2; A proposes VAT AE registration 100123456700003Request domain tax, proposed
2A proposes '200123456700003'Refused 'A UAE TRN is 15 digits starting with 1.'
3T approves the valid proposalRegistration active; party registration = new TRN
4Open the partner in company 1 and in company 2Both partners' tax id = 100123456700003

Duplicate found -> merged -> references resolved

Who: Steward A, Board member B (master_data_board)

#What the person doesWhat the system does
1Create two customers with the same name and mobile in ContactsThe second save already records a duplicate pair
2A: Duplicates and merges > Scan partnersPair listed 'same name, same phone', confidence 80
3A: Propose merge, survivor = the older customerMerge MRG-xxxxxx proposed with the impact count
4A tries to ApproveRefused 'Somebody other than the person who prepared this merge must decide it.'
5B approvesMerge applied; the other customer inactive; pair state merged
6Call /mdm/resolve/partner/<merged id>Returns the survivor's id; the merged customer's old invoices still show the merged customer

Product template to channel

Who: Product manager P, Steward S, Steward S2

#What the person doesWhat the system does
1P creates attributes SIZE (S,M,L), COLOUR (RED,BLUE) - needs a steward - and template TSHIRT with both axesTemplate draft
2P: Generate all variants6 variant products, not sellable
3P: Validate; S: Approve; S: ReleaseReleased; all 6 variants active
4P registers EAN-13 6291000000013 for TSHIRT-M-REDBarcode active
5P (mdm.publish): Catalogues > WEB > publish TSHIRT-M-REDPublished v1; visible on the public catalogue API without cost
6S: Archive the templateVariants inactive; the public API no longer returns TSHIRT-M-RED (inactive products are filtered)

Import with errors -> fix -> commit

Who: Steward with mdm.import

#What the person doesWhat the system does
1Upload a 5-row products CSV with 2 bad rows (missing name, unknown unit)Preview: 3 valid, 2 with problems; nothing written
2Discard the batchState discarded
3Fix the two rows in the CSV and upload againPreview: 5 valid, 0 problems
4Write 5 valid rowsCommitted; Written 5; each row links to the product it became
5Upload the same file againPreview: every row 'code: <code> is already a product'; Write button disabled (0 valid)

Tracking change with stock in hand

Who: Product manager P, Steward S

#What the person doesWhat the system does
1Product with lots in stock; P tries to switch off expiry on the product formRefused '<code> has lots in stock. Change expiry management through a tracking policy...'
2P proposes a policy version without expiry and a 20+ character conversion planDraft version
3P (if also steward) tries to ActivateRefused 'Somebody other than the person who prepared this tracking change must decide it.'
4S activatesVersion active, previous superseded, product expiry management off; existing lot dates unchanged

Account mapping drawn up and approved

Who: Product manager P, Finance approver F

#What the person doesWhat the system does
1P: New mapping for category 'Test cat' with stock account = an income accountDraft MAP-xxxxxx
2F: ActivateRefused '<code> <name> is an income account; the stock account must be asset.'
3P: New mapping with correct accountsDraft v2
4F: Activate v2Active; category stock account updated; P could not have activated it

New supplier with a verified bank account, used on a purchase

Who: Purchasing clerk (partner.manage), Finance controller (partner.bank.reveal), Buyer

#What the person doesWhat the system does
1Clerk creates contact 'Test Supplier LLC', Contact Type Vendor, TRN, address Dubai, payment terms 30 daysSaved with a code; history row 'created'
2Clerk adds a bank account (Test Bank PJSC, IBAN AE07..., SWIFT) with Verification UnverifiedSaved; IBAN stored without spaces; audit shows the bank change
3Finance controller opens the contact and checks the IBAN against the bank letter (Documents: Bank Letter)Full IBAN visible to the controller; masked 'AE07 •••• 3456' for a user without partner.bank.reveal
4Finance controller sets Verification = Verified and savesStatus Verified; history names who changed it
5Buyer adds the supplier as preferred supplier reference on product TST-1001 with quoted cost 420Saved on the Purchase tab
6Buyer uses More > Create purchase on the product and confirms the RFQ as a purchase orderDraft RFQ to the supplier at 420.00; PO confirmed; supplier summary counts it

New product with variants and barcodes, then sold

Who: Product manager (product.manage, reference.manage), Salesperson (document.draft), Cashier

#What the person doesWhat the system does
1Product manager adds variant attribute 'Size' if needed and unit 'Unit'Configuration masters saved
2Creates TST-2001 'Test T-shirt', Stocked goods, price 50, cost 20, Taxes VAT5Saved; Tax % 5.00
3Variants tab: Size S (SKU TST-2001-S, barcode), Size M (SKU TST-2001-M, price diff 5); Save; Create product on each rowTwo products created: TST-2001-S at 50.00 and TST-2001-M at 55.00 with their barcodes
4Prints barcode labels for TST-2001-M (24 labels)Label page opens with that code
5Receives 10 of each variant on a purchase receiptOn Hand 10 each; Stock on hand report lists both
6Salesperson scans the M barcode on a quotation, qty 2, confirms and delivers; invoice postedLine is TST-2001-M at 55.00 + 5% VAT = 115.50 for 2; on hand M becomes 8

Credit limit review and credit hold on a customer

Who: Sales rep (document.draft), Credit controller (partner.manage + credit.limit.reveal), Finance manager

#What the person doesWhat the system does
1Customer has limit 50,000, policy Hard block, exposure 45,000Status Limit near (90.0%)
2Sales rep confirms an order of AED 10,000 incl. VATRefused 'Credit check: This takes exposure to 55000.00, 5000.00 over the limit of 50000.00.'
3Credit controller records a credit review: approved 70,000, risk Low, reasonLimit 70,000; review row with old 50,000.00, new 70,000.00, exposure 45,000.00
4Sales rep confirms the order againConfirmed; exposure 55,000, utilisation 78.6% Watch
5An invoice goes 30 days overdue; credit controller sets Hold Type Sales orders with a reasonStatus On hold; new order confirms refused 'Customer transaction hold: Sales orders. ...'
6Payment received; hold set back to NoneStatus returns to Watch / Good; orders confirm again

Contact master data governance on documents

Who: Sales admin (partner.manage), Compliance officer

#What the person doesWhat the system does
1Sales admin creates a customer with Tax Registration = Registered and TRN 100000000000003Saved; VAT chip on the header
2Uploads the trade licence in Documents with expiry 2026-12-31Status 'Expiring · 90d' on 2 Oct 2026
3Compliance officer sets KYC Status Verified and Next review dateSaved and visible in History
4Compliance officer blacklists the customer with a reason after a test fraud flagCredit status Blocked; a sales order confirm is refused '<name> is blacklisted: <reason>.'
5Sales admin archives the customerNot offered on new documents; existing documents and statements still open

Product shared across two companies

Who: Group product manager (product.manage in both companies), Accountant in company B (product.cost.view)

#What the person doesWhat the system does
1Manager creates TST-3001 in company A with cost 100, price 150Saved in A
2Company Access: shares with company B and applies'Shared with B'; B has its own linked copy
3Accountant in B sets B's cost to 105 and price 160B's figures change; A's stay 100 / 150
4Manager renames the product in AThe name changes in B too; B's cost and price unchanged
5B receives 5 units; manager tries to unshare BRefused '<B> still holds stock of TST-3001; it stays shared until that stock is zero.'