Business intelligence: the money that never arrives
A business intelligence report tells you what your systems recorded. It cannot tell you about work you did and never billed, or stock that left without a document. Eskom published results at the end of August 2026 showing a profit of R30.3 billion and, separately, a larger amount lost to theft and revenue it never recognised. The gap is not an accounting error. It is what happens when the meter and the ledger are different systems.
The scale is national. The shape is the same in a business with forty staff.
What Eskom reported
Eskom's FY2026 profit more than doubled, to R30.3 billion from R14 billion, while electricity sales fell 6.2% to 178TWh. Gross municipal arrear debt rose R17 billion, or 17.9%, to R111.6 billion at year end, and by August the chairman put it at R119 billion.
The profit figure does not carry, and the composition of what it leaves out is the useful part. Eskom lost 13.1TWh to theft in the year, about R29 billion at an average selling price of R2.20 per kWh. A further R15.8 billion it invoiced to defaulting municipalities never became revenue, because it can only recognise that money when the cash arrives.
Roughly R45 billion of potential revenue therefore sits outside a business that made R30.3 billion.
A separate item concerns money already spent rather than money never collected. Eskom has confirmed R36.8 billion of irregular expenditure relating to prior years, restated in the governance report rather than in the financial statements. Irregular expenditure for the year itself was R4.9 billion.
Those two figures are different things and this piece keeps them apart. One is revenue that never arrived. The other is spending that did happen and was disclosed late, outside the statements themselves.
Why a business intelligence tool cannot see either
Every reporting tool sold in South Africa reads from a system of record. Accounting, payroll, a CRM, a job scheduler. That is its whole universe.
Anything that happened outside those systems is invisible to it, and invisible is not the same as zero. A dashboard reporting perfect margin on billed work is telling you the truth about billed work.
The three categories that hide in an ordinary business are the same three, scaled down.
Work delivered and never invoiced. A technician does a call-out, the job card stays in the vehicle, and the invoice never gets raised. Nothing in your accounts is wrong. The revenue simply does not exist.
Goods that left without a document. Stock issued on a verbal, a sample handed to a customer, a part fitted off the shelf. Shrinkage is the polite word, and most of it is paperwork rather than theft.
Amounts billed and quietly abandoned. An invoice disputed in March, credited in June, and never analysed. It leaves the debtors book and takes the reason with it.
The number that tells you your exposure
There is a single metric worth building before any dashboard, and it needs no new software.
Count the jobs completed in a month from your operational system. Count the invoices raised for jobs in the same month from your accounting package. Then subtract.
If the two numbers match, your reporting is measuring your business. If they do not, the difference is your version of the missing figure, and every margin report you have read this year was calculated on the smaller number.
Most operators here have never run that comparison, for a plain reason. The job count lives in a scheduler, a WhatsApp group or a book, and the invoice count lives in accounting, and nobody owns the join between them.
The South African version of unrecognised revenue
Two local conditions make this worse than the textbook case.
Load shedding and connectivity gaps mean a lot of field work is captured on paper and typed up later, or not. A job completed at 19:00 in a load shedding block is a job whose record depends on somebody remembering it on Thursday.
And payment terms here stretch. An invoice raised sixty days after the work is an invoice argued about on the basis of memory, and a disputed invoice that gets written off is revenue that was earned, recorded, and then removed. Your reporting will show it as a credit note rather than as a failure of evidence.
What actually fixes it
Not a better dashboard. The join between the system that knows the work happened and the system that bills for it.
That join is what Zorah builds, because a reporting layer over two systems that disagree produces confident wrong numbers faster. Once a completed job raises an invoice line by itself, the missing revenue stops being a category and becomes an exception list somebody clears on a Friday.
Then the data and reporting layer is worth having, because it is reading a record of everything that happened rather than everything that got typed. The upstream half of that lives in job and operations records, and the downstream half in invoicing and back office.
What to do on Monday
Take last month. Count completed jobs in your operational system and count invoices raised in your accounting package.
Write both numbers on one line and subtract. Whatever that difference is, multiply it by your average invoice value, and that is the figure your reporting has never shown you.
