Insights
What the evidence says is going wrong, ordered by what it costs, each with the action that closes it. Every number names the file it came from.
Approvals, credit control and supplier payments have quietly left the system. The controls are still written down, they have simply not run for over a year.
Credit control run from somebody's inbox means no audit trail, no ageing anyone can rely on and cash collected late.
Rebuild the ladder where the work already is, created and issued as different states. Xero keeps the ledger, the platform runs the chase.
Ranked seventh: cash collected late, no audit trail, and it has held for a year.
Nothing keeps the effective price for a customer and a product on a given day, so no two runs can be compared and no finding can be closed.
A price question asked in a meeting cannot be answered from a report that was thrown away when the page closed. This is the piece that turns detection into governance.
Store the effective price per run, give every finding a lifecycle from open to resolved with a name against it, and persist the audit trail. The platform does all three as standard, so the rules already written keep their value.
Ranked tenth: it is why every pricing finding above has to be found again from scratch.
The logic that makes MSC different is not in Business Central. It sits in bespoke extensions bolted around it, and all of it has readable source in the tenant.
Every rule is readable, so the replacement is bounded and quotable. The branded layouts are the tell: each new reseller today means another Word template.
Scope the replacement against the extension register, not Business Central's feature list. Manufacturing, service, jobs, fixed assets and advanced WMS are demonstrably unused. Branding is a setting, not a layout file.
Last because it is not a defect. It is what makes the replacement quotable.
A margin floor checked at the point of sale. Highest value change on this page, and it is a rule, not a rebuild.
Name the winning level on every line. Thirteen levels of precedence stop being a liability and start being the asset they should be.
Moving stock MSC already own between two sites they run is the cheapest service fix available. Today none of it happens.
Late orders, uncounted quotes and stalled approvals all fix the same way: the work goes back on a screen with a name against it.
Two sources, and every card names its own. The pricing work already built at gitlab.personify.tech/msc/msc-data-project, read directly, file and line quoted. And the read only audit of the live MSUPPLY LIVE Business Central tenant of 11 Aug 2026, the Netstock UI audit of the same day, the AL source read from the tenant's own extensions, and Product Scope chapter 14.
The data project publishes rules, not results. Its findings tables are declared and never written, its seed creates nothing and every count it shows is computed live and discarded, so what it contributes here is its thresholds, its comparison rules and its own record of what is still to build. Its mock fixtures are never shown as findings.
Two caveats travel with the audit numbers and both stand on their cards. The 999 plus open quotes is a display ceiling, so a floor rather than a count. The 400 delayed orders was recorded at medium confidence. The 650,000 price lines is the data project's own working figure for the size of the job, written to size a page cap, not a verified count.
The order is a commercial judgement, not a measurement. Each finding states the basis for its placing, built only from the figures cited on it. No pound value is attached to a finding the source did not price.