mCentral OPS · for The Maintenance Supply Co

We know your operation better than you expect.

So here it is, built. One operational record from quote to cash, across two depots and every sales channel. Shopify is the first retirement target, dependency by dependency; Business Central and NETSTOCK follow later, each proven before it retires; and Xero stays, fed exactly as your accountants expect.

  • Built on your estate, not a template
  • 40 accounts, two depots, one record
  • Every link here opens a real screen
My Work in mCentral OPS: what needs a person now, the live worklist in order, and the commercial pulse of the whole book.
Budgets, where a site uses themOptional per site; live impact while the order builds, and over budget waits for a named approval
Every edit attributedWho, when, previous value, and reversible

The migration, in one picture

Leaving

  • ShopifyFirst target, dependency-led
  • Business CentralLater, proven before retirement
  • NETSTOCKLater, newly scoped
mCentral OPSOne operational record. Two depots, every channel, one history that cannot be quietly edited.
StaysXeroIt keeps the ledger and the VAT. mCentral OPS feeds it and never replaces it.

Your estate, as it runs today

18Bespoke BC extensionsWritten, deployed and maintained by us
284Files of mCentral sourceThe web product and the app's backend
10Systems in the estateBC, Shopify, mCentral, NETSTOCK, Maxoptra and five more
14Stages, customer to returnMapped end to end against live code

Where this comes from. A careful, read-only look at the systems you run today: Business Central, the complete mCentral production source, the live trade shop and the planning feeds. We hold the detail because we built and maintain most of the estate, and every figure on this page can be walked through with you.

Before the plan

Your estate is not off the shelf. We wrote most of the difference.

Not a discovery workshop away. Your estate is not off-the-shelf Business Central and off-the-shelf Shopify, it is those two held together by bespoke code, and we can name every piece of it. Here is a sample, by object.

Codeunit50143 · Sales Order Generator

Your standing orders. It reads blanket sales orders and copies them into live orders four days ahead of the requested date, on a schedule, per customer.

One of the extensions we wrote and maintain

Codeunit50302 · ModuleCodeunit, fetch, graphql

The web-order path. Business Central calls out to mCentral over GraphQL for the company-to-site mapping, because BC does not hold your B2B hierarchy and the platform does.

From the integration code we keep for this join

Table + PageApprovedBuyersList

The approved buying list, held in BC as its own table and page, with ApprovedBuyersPermission as a dedicated permission set, and pushed to Shopify B2B catalogs by ABLSync.

From the buying-list extension and its sync, both ours

Codeunit50180 · SalesPostSubscriber

Subscribes to OnBeforePostInvoice and carries your per-customer opt-in flag. It sits in the Web Information object range, which is where your web-facing behaviour lives.

One of the extensions we wrote and maintain, in the web range

ExtensionsShopify customer card and list

Three page extensions bind a BC customer to a Shopify company, plus salesPriceListExt for contract pricing. This is the join that makes one order legible in both systems.

From the Shopify page extensions we maintain

FeedsNETSTOCK · roughly 50 IA_* OData feeds

Demand forecasting pulls about fifty OData feeds out of BC. Recommendations come back as a human download, which is the single biggest re-keying cost in your week.

Measured during the estate review

The delivery programme

One platform. Three phases.

The existing platform stays together. Each phase adds to the one before it.

Phase 1

MSC One Commerce

The customer shop, account-specific range and prices, basket, ordering, approvals and customer-facing order journey.

Business Central and Netstock keep running operations during this phase. Existing app access, reporting and delivery tracking must continue.

The phase selector explores the delivery plan. It does not filter working records or restrict access. These are prototype screens, not completed replacements or live integrations.

What it becomes

“One operational platform, multiple depots, multiple sales channels and one reliable source of truth.”The working principle this build follows
  • One order queue for every channel. Web, telesales, the app, the trade counter and standing orders land in one place, each keeping its source.
  • Multi-depot by design. The same SKU holds separate stock East and West, stock in transit is counted once, and depot is architecture rather than a filter added later.
  • Approvals that actually run. Held orders decided by named people, with the budget breakdown on the same screen as the decision, on the small number of accounts that use budgets.
  • Immutable history. Previous value, new value, who, when and why, on every change, everywhere.
Open the company book
The Approval Queue in mCentral OPS: pending decisions with the reason each is held, the budget breakdown by category, and Approve or Reject with a recorded reason.

The Approval Queue, in the vocabulary your people already use, and this one is enabled.

Explore the platform

Start with the work that matters to you. Each area opens directly into the working demonstration so you can explore it and leave feedback with Scout.

My work

Live

The work that needs you now, plus one continuous route through the operation.

Orders

Live

One order queue for every channel; every order keeps its source.

Products

Live

The full product record, fed by the mCentral PIM, which stays.

Stock

Live

One stock ledger, multi-depot by design, never double-counted.

Returns

Live

Returns and quarantine on the same record as the order.

Proof, working, now

Not a slide deck. Click it.

These are photographs of the built screens, taken this morning. Open any one of them and use it.

The MSC shop front rebuilt on mCentral OPS: category navigation, trade hero, next-day delivery and account ordering.
01

Your website, off Shopify

Rebuilt from your own production source, the same range, the same depots, the same trade account journey, with the Approved Buying List deciding what each site can select, held here as a customer record instead of pushed into someone else's metafields.

Open the shop front
Site Studio: the page outline, a live canvas of the storefront and the inspector, with a channel switcher and Ask Scout.
02

Edit it without a developer

Site Studio: drag sections, type straight onto the page, switch device, undo, publish. The same editor dresses the site as MSC, a dual-branded portal or a white-label client, your Phase 6, shown rather than promised.

Open Site Studio
The driver's round on a phone: seven doors in drop order, each with its window, parcels and outcome.
03

The round, in the driver's pocket

Sign in on the handset, then today's drops in order: the agreed window, who is at the gate, and the outcome recorded at the door, delivered in full, short with the shortfall, or failed with a reason. Maxoptra still routes; OPS records what happened.

Open the round

Start here

See it working. Then tell us what to change.

Scout sits top right through the whole walk. Share what you think as you go and it lands on the feedback board.