When you compare inverter production with a municipal meter reading, you are comparing two different quantities measured at two different points on the same installation. The inverter reports what it delivered at its own AC output terminals; the municipal meter reports only what crossed the property boundary as import, and on some tariffs as export. In a non-exporting South African hybrid system, virtually none of your solar output is ever recorded on the meter, because a municipal meter is a billing boundary device and not a generation meter. On an exporting system, only the exported share is counted there. The gap people notice between the two numbers is real, but it is made up of conversion and standby losses, battery round-trip losses, and a timing mismatch between a monthly billing cycle and a daily production log, not of energy quietly leaking off the roof.
I did my first proper comparison standing at the meter box on the boundary wall with a torch jammed between my teeth, watching the little LCD cycle through its registers. It was just after nine at night, the inverter in the garage was humming, and the number I wanted eventually appeared: 612 kWh of import for the month. My phone said the array had made 780 kWh over what I assumed was the same period.
The obvious reading of that is that 168 kWh walked off site somewhere. I spent an evening convinced the installer had done something wrong. He hadn't. I had compared an apple with an orange and then got annoyed that it didn't taste like a pear.
The two numbers are taken at different places
The municipal meter sits at the point of supply. Its job is to count what the municipality bills you for, and in a standard non-exporting setup that means import only. Some prepaid meters don't even have an export register, so anything you push back up the line is simply invisible on your side of the fence. Where a bi-directional meter has been installed under an SSEG arrangement, you get import and export registers, and those two numbers together still do not describe how much your array produced.
The inverter counts at its own AC terminals, downstream of the DC bus, the MPPT trackers, the conversion stage and the battery. It knows nothing about the boundary. Those are two instruments answering two different questions.
This is the part that trips people up: if the meter only records import, then self-consumed solar never appears on it as a positive number at all. It shows up as an absence. A quiet meter is the only evidence the meter can give you that the panels were working.
What sits between the array and the counting
Conversion and standby
An inverter turns DC into AC at somewhere in the region of 96 to 98 percent efficiency in normal operation, and the rest leaves as heat. That is a few percent, but it is real. On top of that, the inverter runs itself. Displays, communications, MPPT tracking, fans, the relays that hold it synchronised to the grid: all of it draws power, typically tens of watts, and more when the battery is charging hard or the unit is hot and working the fans. Spread over a month, that idle draw is a meaningful number of kilowatt hours that the inverter produced and immediately consumed.
Low-frequency units with big iron transformers idle noticeably higher than the compact high-frequency ones. Nobody advertises this, and it is not a defect. It is the cost of running the equipment.
The battery is the biggest single loss
Every kilowatt hour that goes into a battery and comes back out again is not the same kilowatt hour. Round-trip efficiency on a lithium iron phosphate pack typically lands around the high eighties to low nineties in percentage terms; lead-acid is worse. Add the battery management system's own draw and the inverter's habit of holding a reserve charge, and a unit of PV routed through the battery to a night-time load is bought with noticeably more than a unit of PV.
This matters for the comparison because a system with heavy battery cycling will always show a wider gap between production and delivered energy than an identical system that sends everything straight to the house. Nothing is broken. The path is just longer.
Cable, isolator and termination losses
DC string cable, isolators, fuses, the run from the inverter to the distribution board: each contributes a small volt drop. Done properly it is a fraction of a percent here and there. Done badly, with undersized cable over a long run, it adds up faster than you would expect.
I treat this as the one area where the loss can become a genuine fault. A loose or corroded termination shows up as heat and resistance, and you can often feel it before you can measure it. If a terminal is warm under load when its neighbours are cool, that is not normal system loss. That is a problem.
And a category that is not a loss at all
On a zero-export setup the inverter throttles the array to match whatever the house is using at that instant. Energy the roof could have produced but nobody asked for was never generated in the first place. It does not appear in the production figure either, so it does not show up as a gap between two numbers. It shows up as a lower production figure than your neighbours with the same array. That is a different conversation from the one about measurement points, and mixing them up wastes a lot of time.
A billing month is not a production month
My billing period runs from roughly the 18th of one month to the 17th of the next. The inverter resets its daily total at midnight on its own clock, which drifts. Seasonal daylight is shifting under both of those the whole time.
If you take a production total logged from the 1st to the 30th and subtract an import figure spanning the 18th to the 17th, you have built a comparison that cannot work, no matter how careful you are with the arithmetic. Add estimated meter readings, or a prepaid meter that gets topped up in lumpy amounts, and the number on the bill can be several weeks away from the energy you actually drew.
The first fix is boring and it is the only one that matters: align the date ranges exactly, and write down the date the meter was read rather than the date the bill arrived.
What a genuine fault looks like
A fault is not a gap. A fault is a change in the relationship.
What I do is keep a simple ratio: production over the period, divided by import over the same period. I log it monthly, same date, with the read date noted. That ratio moves with the seasons and with how much the house is running, so the level on its own tells me very little. What it does not do, in a healthy system, is step.
A drop of one string, a blown DC fuse, a section of array shaded by a new tree, an inverter derating in a Karoo-hot garage, a battery that has stopped holding charge: these show up as a sustained shift across consecutive, comparable months. Not one bad month. Consecutive ones, with the same weather pattern and the same household habits.
The meter side can shift legitimately too. If the municipality swaps the meter, or an SSEG meter is fitted, or the tariff changes from flat to time-of-use, the import figure changes for reasons that have nothing to do with your equipment. Rule that out before you call anyone.
Why load shedding moves the numbers without breaking anything
During an outage the inverter islands and the meter sees nothing at all, in either direction. Whatever the house used in those hours was served by PV and battery, and it is invisible to the billing meter. It also never shows up as production that reached anything the municipality could measure.
A heavy load-shedding month therefore does two things at once. Import falls, because the meter was offline for chunks of the day. Battery cycling deepens, because the pack is doing real work overnight instead of idling at float, so more of the PV goes through the round trip and more of it is lost to efficiency. You end up with a month where production looks healthy, import looks low, and the ratio between them has moved sharply. Nothing has changed about the system's health. The operating conditions changed.
I have learned not to compare a load-shedding month to a quiet month. It is like weighing yourself in boots and then blaming the scale.
Keeping the comparison honest
What works for me is unglamorous. Log production on the same date every month. Log the meter reading and the exact date it was taken. Note roughly how many outage hours there were. Track import and export separately if you have an export register. Watch the shape of the ratio over a year rather than the level in any one month.
When something does look like a step change, I check the mechanical things first: breakers, isolators, fuses, and the string currents the inverter reports. If two strings are producing like each other and the third is producing nothing, that is a five-minute diagnosis and it is usually a fuse.
Beyond that, I leave it alone. The meter and the current transformer clamp that tells the inverter where the boundary is are not things I adjust. If the clamp has been moved or its cable disturbed, the inverter's entire picture of import and export goes wrong, and that is an installer's job to verify, not mine. If a genuine fault is suspected, it belongs with someone who can put a clamp meter on the string and a thermal camera on the terminations.
The thing I would want anyone to take from this is that the two numbers are not supposed to match. They are not designed to match. The inverter tells you what the equipment did. The meter tells you what the municipality bills. Between those two statements there is a conversion stage, a battery, a pile of standby draw, a set of cables, and a calendar that refuses to line up. Knowing which of those you are looking at is the whole skill.