October 2, 20266 min read
The view says what a row holds. It never said whether the row is any good.
The nightly load reads a view of your supplier master. Three of the rows in it break a business rule you wrote yourself, and the warehouse takes all three. A view shows what a row holds and says nothing about whether the row passed. MDS had a column for that. This is what replaces it, and the one thing an empty status does not mean.
Read moreSeptember 25, 20266 min read
You typed the country onto every store. Then a store moved.
A Country column on the Store entity looks harmless. Country lives on Region, the regional managers wanted it on the grid, so somebody typed it in. Then one store moves to a region across the border, the steward changes the Region, and the Country column goes on saying Netherlands. Nothing fails. The copy is just wrong, and it stays wrong until a report makes someone ask why.
Read moreSeptember 23, 20267 min read
Every admin account is locked, forgotten, or gone. Here is the way back in.
The person who set up your master data platform left the company eighteen months ago. Nobody wrote the admin password down. Last week the one account still active locked itself after five wrong guesses, and now nobody can add a user, unlock anyone, or even see the user list. There is no vendor login screen for this. There is a server, a config file, and two ways back in that were built for exactly this day.
Read moreSeptember 18, 20269 min read
Every shift starts at midnight: how a time column quietly loses its time
Export the entity, fix four names in Excel, import the file back. The names are right and every opening time now reads 00:00. Nothing errored, because midnight is a perfectly good time. Where the hour goes, the two places we lost it ourselves, and a query that finds it in any system.
Read moreSeptember 16, 20268 min read
Approve on Thursday, write Monday: what a stale approval request does to live data
A steward proposes a change on Monday. A nightly feed corrects the same supplier on Wednesday. On Thursday the approver clicks Approve, and Monday wins. The request carries a snapshot of the world as it was, and approval replays it. Here is what Primentra checks before it writes, what it deliberately does not check, and the routes that still let a request go stale.
Read moreSeptember 11, 20268 min read
Audit trail retention: the audit log that deleted the answer on day 91
An auditor asks who changed a supplier's bank account in March. The audit log records every field change and keeps a snapshot of every deleted row, and it starts in June, because a cleanup job removes everything older than 90 days. Primentra ships with that 90-day default. This is how to pick the number that replaces it, and what happens the minute you lower it.
Read moreSeptember 9, 20267 min read
You Can't Send Someone a Link Into MDS. Every Screen In Primentra Has One.
A support ticket, a Slack message, a bug report: describing exactly where to click is a tax most enterprise software charges without anyone noticing. Microsoft MDS never gave you a URL to hand someone. You named the model, the entity and the filter by hand, every time. Every screen in Primentra has its own address instead. Paste the link, and whoever opens it lands exactly where you were, on the exact tab, without you saying a word.
Read moreSeptember 8, 20269 min read
Staging Table Drift: How Primentra Catches a Column That Stopped Arriving
Change an attribute outside the entity editor, through a model import or a hand-edited stg table, and a staging table can quietly stop matching its entity. No error, no failed batch. A column just never receives data again. Here is how Primentra finds that mismatch and repairs it without losing a row.
Read more