Worked Example · Investigate and MCP · Product: Lens

February was the best month on record. Then she ranked every restaurant by margin.

Ember & Oud runs six brands out of a single commissary kitchen. Oak & Marble is the premium grill, earning 84 fils on every dirham it takes; Blaze Wing is the volume business; Clawpoint, Rolling Twentytwo, Frankly Dogs and Verde Blends fill out the portfolio. Fourteen restaurants, one finance team, all on Business Central.

The company is invented; the mess is the kind every real business knows. DEWA bills and mall service charges, four restaurants opened in a single month, a bucket of costs nobody has assigned to a branch yet. On the third of March, with February finally closed, Amira, the group's finance lead, opened Lens expecting a routine read.

The same afternoon in 3 minutes 50. Captions are burned in; the written version follows below.

February, as reported

Lens Performance tab for February 2026 against January: KPIs, income statement and every brand
The Performance tab, live from Business Central. Everything a dashboard should say about February, it says.

It was anything but routine. Revenue had jumped 59 percent to 4.7 million dirhams, margin was up a point and a half, EBITDA was nearly a million dirhams better than January, and every brand's revenue had grown by double digits. The screen was a wall of green, and every number on it was true. Most months, Amira would have poured the coffee and moved on.

Two rows stopped her. Verde Blends was the only brand in red, but it had just opened its second restaurant, and new sites bleed margin for a while, so that alone was not alarming. What bothered her was the row above it. Unallocated is not a brand; it is cost that has not been assigned to any restaurant yet, sitting against a stub of revenue. That row showed the largest green number on the screen: +453.5 points.

An accounting residue does not improve by 453 points; it just gets less wrong. If a residue can swing that hard, how much of the green came from restaurants cooking better? Everything on the screen was true. Whether it was the whole story was a different question, and dashboards do not answer those.

Two questions later, the problem has an address

Investigate ranking all fourteen restaurants by gross margin, plus the unallocated bucket
Question 1. All fourteen restaurants ranked, plus the unallocated bucket so nothing is quietly dropped.

She did not build a report or go hunting through tabs. She opened the Investigate tab and asked for the ranking, and Lens computed it on the spot, from OKM0001 at 87.4 percent down to RLT0001 at 27. Three of the four new restaurants landed roughly where a new site should. The fourth did not. VRD0002, Verde Blends' new opening, sat second from last at 30.3 percent, ten full points below its twin, which sells the identical menu out of the same kitchen. Same food, same recipes, same suppliers, ten points apart.

Investigate comparing VRD0001 and VRD0002 on revenue, COGS, gross margin, opex and EBITDA
Question 2, straight from the restaurant P&L and reconciled to the dashboard. The two sell within 8% of each other, so the gap is entirely in cost of goods.

Where a dashboard stops

Investigate had done its job. The remaining questions were not lookups.

Two questions had produced two governed answers, each reconciled to the dashboard and showing the queries behind it. But what she was left wondering could not be answered by ranking or comparing anything. Was the wall of green even telling the truth? Was VRD0002's gap a real problem, or just the noise of a first month? And the question no dashboard ever volunteers: what could this ledger not prove?

Claude, on the same MCP server

The first thing Claude did was disagree with the question

She opened Claude, already connected to the MCP server Lens runs on, and asked it to apply February's brand-level gross margins to January's revenue mix. Claude's answer began by taking the question apart. She had asked how much of the decline was mix, but as reported the margin on her dashboard had risen 1.6 points. What Claude showed her was that both stories were true at once: the reported improvement came mostly from the Unallocated row, and like for like, ex-Unallocated, margin had fallen, and the fall was entirely mix.

Claude's like-for-like split of the margin move, excluding the unallocated bucket
Question 3. Oak & Marble fell from 34.2% to 25.3% of revenue, worth 1.8 points on its own. Verde Blends growing at 35.7% costs another 0.7; Clawpoint gives back 0.5.
Claude naming the company it is querying before quantifying the excess cost
Question 4. Claude names the company it is querying rather than assuming one. Tenancy is explicit, never inferred.

Same server, same rules

Nothing about the ground rules changed with the tool. Claude and ChatGPT connect to the same MCP server, the same warehouse, the same conventions and the same access rules as the dashboard. A branch manager's assistant sees their branch and nothing else, because MCP inherits the grants the dashboard already enforces.

Then Claude qualified its own number

Unprompted, Claude gave three reasons not to take 215,000 dirhams a year to a board yet, each one checkable against the ledger. A dashboard produces answers; it does not produce an account of what its answers can and cannot support. That account turned out to be the most useful part of the afternoon.

1

It rests on a single first month

VRD0002 opened 1 February and posted nothing in January. Twenty-eight daily invoices confirm a full month, but opening waste, training batches, over-ordering and initial stock build routinely inflate month-one COGS by this order of magnitude, and opening inventory may have been expensed rather than capitalized. Treat 215,000 as a ceiling, not a run rate, until March closes.

2

Food cost cannot be narrowed further

COGS posts to a single account, 51100100 COGS - Consolidated. The P&L vocabulary lists food and packaging separately, but the ledger has no split, so nobody can yet say whether this is yield, portioning, waste or packaging. The purchase and stock-count lines behind that account are what to pull next.

3

Overhead is exonerated by construction

Opex lands at exactly 18.60% of revenue for every restaurant in the company: a pro-rata allocation of a central pool, not captured spend. Overhead cannot differ between two restaurants in this dataset. So the finding is that the gap is in COGS, not that VRD0002 overhead is fine.

The four questions she asked

Nothing paraphrased.

Investigate · 1

Rank all outlets by gross margin for February 2026.

Investigate · 2

Compare VRD0001 and VRD0002 for February 2026, revenue, COGS and gross margin.

Claude · 3

Using the Zfense MCP for Ember & Oud: apply February 2026's brand-level gross margins to January's revenue mix. What would group gross margin have been, and how much of the actual decline is mix rather than trading?

Claude · 4

Using ZfenseMCP for Ember & Oud: VRD0002 runs 10 points below VRD0001 on the same menu. Quantify the excess cost per month and annualized, and confirm whether it is food cost or overhead.

The same sandbox, one month earlier

The companion worked example is a reconciliation: two people answer the same diligence question from the same ledger, agree on all six brands to the dirham, and still disagree on the total by 292,808.81.

Read the Reconciliation worked example →

Download this worked example as a PDF (4 pages)

Secure, and in Your Control

Sign in with Microsoft·Read-only, never writes to Business Central·Runs in your own cloud region·Daily sync, unlimited users

Figures shown for illustration.