Last updated 10 September 2026
Quick answer: List every system with its inverter brand and kWp, export a full financial year of generation from each portal, divide kWh by 1,000 to get MWh, check how many days of data are missing before you add anything up, and multiply generation by your electricity rate for the savings figure. Sanity check each site against roughly 1,300 to 1,500 kWh per kWp per year. Or let a monitoring service do all of it continuously.
If you look after solar on more than a few buildings, sooner or later someone asks for the annual generation figure. For NSW agencies it’s now a published reporting requirement. For councils it comes up in annual reports and grant acquittals. For everyone else it’s the sustainability report, the insurer, or the CFO asking whether the solar was worth it. Here’s how to produce a number you can stand behind, and where the process usually goes wrong.
Step 1: Build the list
Start with a table of every system: site name, inverter brand and model, installed capacity in kWp (DC) and kW (AC), install date, and who has the portal login. This sounds trivial and it’s the step that takes longest. Systems installed over five or ten years by different contractors end up with logins in old email accounts, portals registered to the installer rather than the owner, and the odd site nobody remembers has solar at all.
Capacity matters because it’s a reporting line in its own right, and because you’ll use it to sanity check the generation later. If you only have the panel count, multiply by the panel wattage on the datasheet. If you only have a rough roof photo, our free roof area calculator will get you to an approximate kW figure.
Step 2: Export a full year from each portal
Every inverter brand has a portal, and every portal exports differently. SolarEdge, Fronius, Enphase, Huawei, Sungrow and SMA all let you download production data, but the date ranges, file formats and units vary. Some give you daily kWh, some give you 5 or 15 minute intervals in watts, some default to the calendar year when you want the financial year. Pull 1 July to 30 June for each system and note the units before you touch the numbers.
One thing to check: whether the figure is total generation or just export to the grid. For reporting you almost always want total generation, meaning everything the panels produced whether it was used on site or sent out. Some portals only show generation if a production meter or the inverter’s own reading is enabled, and some only show export if the meter was wired that way.
Step 3: Check the gaps before you add anything up
This is the step most people skip, and it’s where the number stops being trustworthy. An inverter that lost its wifi for three months didn’t stop generating, but the portal shows nothing for that period. An inverter that tripped and sat dead for three months shows the same nothing. The portal doesn’t tell you which one happened, and some portals present a gap as a zero on the chart, which then gets summed as zero.
For each system, count the days in the year with data. A simple percentage is enough: 358 days out of 365 is 98% complete and the total is basically right. 240 out of 365 is a different story, and you’ll need to decide how to treat the missing days and say so. The NSW reporting framework, for example, allows agencies to estimate where reliable data isn’t available, but asks for the methodology to be explained. Whatever you’re reporting to, write down what you did.
Step 4: Convert and total
Generation is normally reported in MWh, so divide kWh by 1,000. If your export is in 5 minute intervals of watts, you need to convert each interval to energy first (watts multiplied by hours; a 5 minute interval is one twelfth of an hour), then sum. Add up per system first, then across the portfolio, so you have both the per installation and total figures. Reporting frameworks usually want both, and the per site numbers are what tell you which system is underperforming.
Step 5: Sanity check against expected yield
Before you send anything, divide each system’s annual kWh by its kWp. In most of populated Australia a reasonably installed system produces somewhere around 1,300 to 1,500 kWh per kWp per year, higher in Queensland and inland areas, lower in Melbourne and Hobart. The NSW government framework uses 1,424 kWh per kWp as its Sydney average. A site coming in at 700 kWh per kWp either has a data gap you missed, heavy shading, or a fault that has been there for months. Any of those is worth knowing before the number is published. If you want a location specific benchmark, our solar panel angle calculator gives expected yield for a postcode, tilt and orientation.
Step 6: Work out the savings
The simple version, and the one the NSW framework describes, is annual generation in kWh multiplied by your electricity rate in dollars per kWh. On a flat tariff that’s it. On a time of use tariff, or where a lot of the generation is exported at a feed in rate rather than used on site, the true saving is lower and you’ll need a blended rate or a split between self consumed and exported energy. For most reporting purposes the flat calculation with the rate stated is accepted; just be consistent year to year.
Step 7: Keep the record
Save the exports, the completeness check and the calculation, dated, somewhere the next person can find them. Next year’s report will be compared with this one, an auditor may ask how the figure was arrived at, and if a site’s generation drops 20% you’ll want to know whether it was the weather or the inverter. A spreadsheet is fine. A folder of portal screenshots is not.
Or don’t do any of this by hand
To be honest, the manual process works for three or four sites. At ten or twenty, across several inverter brands, it’s a week of someone’s time every year and the completeness check tends to get dropped. PV Fleet does steps 2 to 7 continuously. It connects to the portals you already have, records generation for every system every day, shows data completeness for each site, works out savings from generation and a tariff you set, and writes a plain English report for each site every month. When a system drops off, you get an SMS or email within hours rather than finding the gap next June.
If you’d like to see what the annual figures look like across a live portfolio, book a 15 minute demo.
And if you are planning a new system rather than reporting on an existing one, the free solar tools will give you roof azimuth, pitch, panel count and expected yield for any address before you talk to an installer.