Reporting

The numbers, on a screen, the day they mean something.

One operating view for the decisions that fail when sales, labour, invoices, cash, debt and separate legal entities are each looked at on their own.

Your point-of-sale reports on sales. Your ERP reports on production. Your property software reports on rent. They are good at that, and this is not an argument that they are broken. The gap is narrower and more expensive: the numbers that decide things need two or more of those systems at once, or two or more entities, or a document that sits in no system at all.

Three worked examples follow, for companies that do not exist. Every figure is invented. What is real is the structure — the question each screen answers, and the finding it surfaces that no one system could have produced.

Example 01 · Food & beverage

Which locations are actually carrying themselves?

Four restaurants, one owner. Prime cost is the number everybody watches, and a POS with a food-cost module gets close to it. It is also the reason the weakest room here has gone unnoticed for a year.

Marsh & Main Hospitality · illustrative

March 2026 — location contribution

Reviewed · day 8
  • POS
  • Payroll
  • Scheduling
  • AP invoices
  • Inventory counts
  • Merchant statements
  • Delivery platforms
  • GL
  • Leases
Net sales $1,265k four locations
Location contribution $201k 15.9% of sales, before overhead, debt service and capex
Prime cost 61.6% against a 60.0% internal target
Weakest room 9.1% Meeting Street — and its prime cost is the best of the four

Contribution by location

net sales less COGS, burdened labour, delivery commission, merchant fees, occupancy and controllables · marker is the group average
Meeting Street 9.1% $28,800 · prime 59.3%
Park Circle 16.6% $48,200 · prime 65.0%
Daniel Island 18.7% $45,600 · prime 60.0%
East Bay 19.1% $78,600 · prime 62.0%

Meeting Street runs the best prime cost of the four and produces the least cash. Prime is 59.3% — under the 60.0% target and the lowest of the four. Then delivery commission takes 9.0% of sales and the lease takes 13.0%. Neither is in prime cost, and neither is in the POS. The gap to the group average is about $21,778 a month at current sales — though the lease portion of it is a renewal conversation, not an operating one, and should not be counted as recoverable.

Show the underlying numbers
March 2026 location contribution
LocationNet salesCOGS Burdened labourPrime % DeliveryMerchantOccupancy OtherContribution%
Meeting Street $318,000$88,000$100,700 59.3%$28,600$8,300 $41,300$22,300 $28,8009.1%
Park Circle $291,000$87,300$101,900 65.0%$8,700$7,000 $20,400$17,500 $48,20016.6%
Daniel Island $244,000$68,300$78,100 60.0%$6,100$5,900 $24,400$15,600 $45,60018.7%
East Bay $412,000$119,500$136,000 62.0%$12,400$9,900 $30,900$24,700 $78,60019.1%
Group $1,265,000$363,100$416,700 61.6%$55,800$31,100 $117,000$80,100 $201,20015.9%

What the POS already does, and where it stops

Toast already reports sales by location, daypart, channel, item and server, and gives voids, comps, discounts and labour as a percentage of net sales for free, with no payroll subscription needed. It maps GL codes and produces daily journal entries too. Square ships a free custom report builder and free multi-location grouping, though it puts labour-against-sales behind a paid tier. Add an invoice-capture and recipe-costing module and food cost arrives as well. None of that is being claimed here.

What a POS report rarely does on its own is put sales, labour and food cost on one page on a consistent definition. Connected stacks can get close. But prime cost is assembled rather than held, and four of its inputs come from somewhere else. Burdened labour — employer taxes, benefits, workers’ compensation and salaried managers, not just clocked wages. Actual COGS — purchases adjusted for opening and closing inventory, transfers between rooms, waste and vendor credits, which is a different number from what was bought that month. Delivery commission and merchant fees, which arrive on settlement statements. And occupancy, which is in a lease. Leave any one of the four out and the ranking above changes.

There is software that assembles it for you, and it is worth knowing about before paying anyone — including this practice — to do it by hand. Restaurant365 ships around fifteen financial statements including profit and loss by location side by side, and its entry tier lists at $469 to $499 per location per month; across four rooms that is roughly $23,000 a year before implementation. Check the current rate card rather than this page. For plenty of groups it is the right answer, and you will be told so.

Worth knowing what it does not settle. Read the complaints about those platforms and they are rarely about the arithmetic — they are about implementation burden, and about nobody being there to read the output. A screen reporting a 2.6-point variance in one room is not the hard part. Deciding what it means and what changes on Monday is, and no licence does that. And the further you get from one operating company — separate legal entities, eliminations, a cash forecast someone has to stand behind — the more of it is a policy and judgment question rather than a configuration one.

The clearest version of the problem is not a reporting problem at all

For a non-exempt employee of the same employer, hours worked across locations generally have to be totalled for the week rather than counted by address. Someone who works 25 hours in one room and 20 in another has worked 45. Neither schedule shows more than 40, so neither manager can see it, and payroll only catches it if the two records were joined before the run. Nobody got a number wrong. Nobody was in a position to compute it.

Daily is a different screen, and an honest one says so. Sales, scheduled against worked labour, and cash are worth watching every day — a labour percentage running hot at four in the afternoon is still fixable that night. Actual food cost is not a daily number: it is not final until invoices, credits, transfers and a count are in. A screen that claims otherwise is showing you theoretical cost and calling it actual. The cadence that actually pays here is weekly, which is late enough for the invoices and early enough to change the next one.

Example 02 · Manufacturing

Which jobs actually made money?

Five jobs shipped in the month. The ERP says the month beat quote. Three costs it never received say otherwise — and the job that looked like the best of the month was the worst by a distance.

Kestrel Instruments · illustrative

March 2026 — quoted, reported and true job margin

$29k never reached a job
  • ERP job cost
  • Payroll
  • Time clock
  • AP invoices
  • Freight bills
  • GL
  • Customer quotes
Shipped $661k five jobs
Quoted margin 29.9% what was priced
ERP job margin 31.5% beat quote by 1.6 pts
True margin 27.2% −2.7 pts against quote

Job margin, as reported and as incurred

bar is true margin · marker is what the ERP reported
J-2214 · Rush reorder 20.8% ERP said 35.5% · quoted 30.0%
J-2221 · Short run 22.7% ERP said 24.9% · quoted 26.0%
J-2198 · New tooling 25.5% ERP said 27.2% · quoted 28.0%
J-2203 · Framework order 31.6% ERP said 33.1% · quoted 32.0%
J-2230 · Repeat build 31.0% ERP said 31.5% · quoted 30.0%

J-2214 was reported at 35.5% and actually ran at 20.8%. It carried $9,700 of overtime premium that payroll coded to burden rather than to the job, $8,900 of outside processing invoiced after the job closed, and $3,100 of expedite freight booked to freight expense. All three are real costs of that job. None of them are in the ERP’s job cost, so the rush job that consumed the month reports as the best work in the shop — and gets quoted again at the same price.

Show the underlying numbers
Quoted, ERP-reported and true cost by job, March 2026
JobPriceERP cost OT premiumLate subcontract Expedite freightTrue cost ERP marginTrue margin
J-2214 $148,000$95,500$9,700 $8,900$3,100$117,200 35.5%20.8%
J-2203 $212,000$141,800$1,400 $1,900$0$145,100 33.1%31.6%
J-2230 $131,000$89,800$600 $0$0$90,400 31.5%31.0%
J-2198 $96,000$69,900$900 $0$700$71,500 27.2%25.5%
J-2221 $74,000$55,600$1,200 $0$400$57,200 24.9%22.7%
Month $661,000$452,600$13,800 $10,800$4,200$481,400 31.5%27.2%

What the ERP already does, and where it stops

Job-shop systems are good at this. JobBOSS², Global Shop and E2 all ship estimate versus actual by job natively; NetSuite ships purchase price variance and production variance by item. Standard-cost variance reporting is an ERP feature, not a differentiator, and this page does not pretend otherwise.

The limit is usually the process rather than the software. Most of these systems can take actual labour cost onto a job; plenty of installations never get set up to. The work centre carries a configured shop rate, and the gross wages, overtime premium, employer taxes and workers’ compensation sit in payroll unless somebody designed the feed. Add costs that post after a job closes — the subcontract invoice, the expedite freight coded to an expense account — and the estimate-versus-actual report is comparing the ERP’s own estimate against the ERP’s own partial actual. It is internally consistent and still wrong.

The version worth having in real time is hours to date against quoted hours on open jobs. At hour 44 of a 40-hour quote there is still a decision available — stop, raise a change order, or accept it deliberately. At hour 54, after it shipped, all that is left is the post-mortem and a quote that repeats the mistake.

Example 03 · OpCo / PropCo

What does the bank already know about you?

A retail group running five stores, three of them in buildings it owns through separate property entities. The lender computes coverage across every entity and the guarantee. The owner, working from a property system and a general ledger, cannot.

Ashley River Holdings · illustrative

Trailing twelve months — coverage and rent

1 of 3 below covenant
  • Property system
  • GL, per entity
  • Bank
  • Loan servicer
  • Loan agreements
  • Operating agreement
  • Market rent study
Blended DSCR 1.26x reads as comfortable — and is not what gets tested
Tightest property 1.21x Rivers Avenue, against a 1.25x threshold
Rent above market $203k a year, across the three sites
Rent coverage 1.35x 1.50x if rent were set at market

Coverage by property

NOI over annual debt service · marker is the 1.25x threshold
Rivers Avenue · Amortising 1.21x below threshold
Coleman Boulevard · Amortising 1.25x sitting on the threshold
King Street · IO through 2027 1.30x 0.05x of headroom

The blended number is carrying a property that has already gone through. Rivers Avenue is at 1.21x. Whether that matters depends on the loan agreement rather than on the ratio — how the lender defines NOI, whether the test is trailing twelve months or annualised, whether there is a cure right, and whether it is tested per property or across a pool. Depending on the document it can be an event of default, or a reporting default, or it can trip a cash-management provision — revenue sweeping to a lender-controlled account and distributions stopping. That last one is the version owners actually feel, and it is the one worth knowing about a quarter early rather than on the certificate.

The rent is doing two jobs at once

Each property entity has one source of revenue, which is rent from the operating company. Set the rent where the covenant needs it and the property files look healthy. Set it at market and they do not. Nobody can serve both, and the number that gets chosen is almost always the one the lender needs.

Rent charged against market rent, and coverage, by property
PropertyRent charged Market rentAbove market NOIDebt serviceDSCR
King Street $486,000$470,000 $16,000 $412,000$316,0001.30x
Coleman Boulevard $1,150,000$950,000 $200,000 $1,000,000$800,0001.25x
Rivers Avenue $322,000$335,000 −$13,000 $274,000$226,0001.21x
Total $1,958,000$1,755,000$203,000 $1,686,000$1,342,0001.26x

Rent is $203,000 a year above market. Inside the group that is a wash — it eliminates in combined reporting and nets to nothing. Outside the group it is not. It understates the operating company’s earnings by the same $203,000. What that costs at a sale turns on size and sector rather than on a rule of thumb: a retail operator at this scale prices nearer 3 to 3.5 times EBITDA than the multiples quoted off larger deals, which puts the rent gap somewhere around $609,000 to $710,500 of enterprise value — on an operating-company sale, where the buyer resets the lease and the seller keeps the buildings. Sell the group together and it is a different sum, because what the operating company gains the property company gives back. Higher multiples get quoted and they are real, but they are earned by contracted recurring revenue, margin and management depth rather than by site count.

And it is only recoverable with evidence. A buyer will underwrite the higher earnings — but only where a market-rent study and arm’s-length lease terms support the adjustment. Without them the rent stays contractually payable, the buyer prices the reported number, and the seller absorbs the whole gap. The same study is what supports the rent as arm’s length if it is ever questioned — rent between entities under common control is a related-party transaction, and the position is far easier to hold with contemporaneous evidence than with an explanation after the fact.

What the property system already does, and where it stops

AppFolio, Buildium and Yardi already produce rent rolls, tenant ledgers, occupancy, budget versus actual and property-level income statements. That is not the gap.

Three of the inputs on this screen are not in any system. The covenant definition is in a loan agreement — whether NOI is the lender’s or yours, whether reserves come out, how often it is tested. The waterfall is in an operating agreement, which is why distributions by partner cannot be read off a general ledger when partners hold different percentages in different entities. Market rent is a study somebody has to commission. And the principal half of debt service is on the servicer’s amortisation schedule, not in the profit and loss at all — along with the date interest-only converts and the payment steps up.

The timing is the argument. A compliance certificate is typically due 45 days after quarter end, but the quarter that failed started 135 days before that. An owner who learns of a breach from the certificate has spent every day of negotiating room he had.

Where the numbers come from

Reporting reads from the systems already running the business, plus the documents that run it and sit in no system at all. The month-end review is in the middle, and it is the part that makes a screen trustworthy rather than merely current.

Systems of record The review What you read Ledger QuickBooks · Sage Intacct · NetSuite Payroll & time Gusto · ADP · Paylocity Point of sale & commerce Toast · Square · Shopify Inventory & production ERP · MRP · job cost Property & banking AppFolio · Yardi · Plaid · loan servicer In no system at all leases · loan covenants · operating agreements Month-end review · One definition per number· Intercompany matched both sides· Eliminations in combined reporting· Signed off, or marked preliminary Operating dashboard refreshed on a schedule Statement package the same numbers

Those are the systems most often on the other end, not a list of everything — anything with a documented API can be. Connections are API or scheduled export depending on what the system supports; some publish a clean one, some do not, and the awkward ones get handled rather than pretended away. The arrows that matter are the two on the right: the screen and the statements are built off one reviewed set of definitions, so when they differ you can say why rather than guess.

Two kinds of number, and the difference is stated on the screen

Anyone promising that everything is live all the time is describing a data operations team, and this is one controller. What is actually on offer is narrower and more useful: every figure carries where it came from, when it last refreshed, and whether it has been signed off or is still moving.

Operating pulse — daily

Sales, scheduled against worked labour, cash position, open job hours against quote, covenant headroom. Refreshed as often as the source allows, marked preliminary, and visibly stale when a feed fails rather than quietly showing yesterday as today.

Controlled reporting — weekly and monthly

Contribution by location, true job margin, coverage by entity, anything that needs inventory, accruals, eliminations or a cut-off. Much of it runs weekly, which is late enough for the invoices and early enough to change the next week. The rest lands after your bookkeeper closes the month and it has been reviewed. Signed off, and dated.

The reason the distinction is on the screen rather than in a footnote: a reporting tool renders whatever is in the ledger on the day it is asked, and cannot tell you whether the month underneath it was finished. Acting on an unfinished month is the failure this is built to prevent, so the state of the month is part of the report.

Your bookkeeper keeps it

Transactions, coding, bill pay, payroll runs. That work stays where it is, and a good bookkeeper is worth keeping.

Element controls it

Structure, definitions, eliminations, the judgment calls and the sign-off — then the reporting those produce.

Your CPA advises on it

Tax position, planning, structure and returns — off books that hold up. Nothing here displaces that relationship, and the better it holds up the more useful that relationship gets.

See the controller work underneath it See what gets checked

Which number would actually change what you do?

Thirty minutes is enough to work out what you are missing and whether it is worth paying anyone to fix. Sometimes it isn’t, and you’ll be told so.

Request a 30-minute fit call