Cheap, Mid or Overpriced: Benchmarking £/kWp Across UK Quotes
Three quotes land in your inbox within a fortnight. One is £6,200 for “4.4kW with battery.” One is £11,850 for a 12-panel system with a Givenergy 9.5. One is £8,400 and the PDF is two pages of stock photography with a single number at the bottom. You want to know which one is actually cheap.
The problem is that none of those numbers are comparable as written. Quote A’s battery might be 2.56kWh. Quote B’s panel count tells you nothing without the panel wattage. Quote C might include scaffolding for a three-storey terrace, or might not include scaffolding at all and you’ll find that out in week two. Comparing headline totals across UK solar quotes is like comparing supermarket baskets by the number of items.
What makes them comparable is normalisation: strip each quote down to a cost per kWp of generation capacity and a separate cost per kWh of storage, then judge each against current UK bands. This post builds that method, gives you the bands, and then, importantly, covers the legitimate reasons a quote sits above them. Because “above the band” is not the same as “ripping you off,” and if you treat it that way you will end up with the cheapest installer and a scaffold-damaged fascia.
Why £/kWp and not £/panel or £/kW-of-inverter
kWp (kilowatt-peak) is the DC nameplate rating of the array under standard test conditions. It’s the only number in a solar quote that’s defined the same way by every manufacturer, every installer and MCS. Twelve 440W panels is 5.28kWp. Ten 500W panels is 5.0kWp. You can now compare them.
Inverter kW is the wrong denominator because array oversizing is normal and good. A 5.28kWp array on a 3.68kW inverter is a deliberate design choice in the UK, where G98 single-phase connection without DNO approval caps you at 3.68kW export. That system clips a handful of hours a year in June and gains you a fatter shoulder-season curve. Price it per inverter-kW and it looks absurd. Price it per kWp and it looks normal.
Battery gets its own denominator entirely. Mixing storage into a £/kWp figure is the single most common mistake in DIY quote spreadsheets, and it produces a number that moves when the battery moves, which makes it useless for comparing arrays.
The normalisation method
Six steps. Do them in a sheet, one row per quote.
Step 1: extract true kWp. Panel wattage × panel count ÷ 1000. If the quote says “4.4kW system” but lists 11 × 415W panels, your kWp is 4.565, not 4.4. Installers round down for marketing and round up for MCS certificates. Use the panel spec, not the headline.
Step 2: extract usable battery kWh. This is where quotes get slippery. A GivEnergy Gen 3 9.5 is 9.5kWh nominal with roughly 9.5kWh usable (LFP, 100% DoD spec). A Tesla Powerwall 2 is 14kWh nominal, 13.5kWh usable. Some quotes list nominal, some usable, some list “capacity” and mean neither. Normalise everything to usable kWh, and if the quote doesn’t say, put the model number into the manufacturer datasheet rather than guessing.
Step 3: pull VAT out, then put it back consistently. UK domestic solar and battery installs are 0% VAT until 31 March 2027 under the zero-rate for energy-saving materials. Most quotes are therefore VAT-free totals already. But some commercial-leaning installers quote ex-VAT out of habit, and one quote at £8,400 ex-VAT against two at £8,400 inc-VAT is a 20% error you’ll never notice from the front page. Check the footer of every PDF.
Step 4: separate the battery line. If the quote is a single lump sum, ask for it split. Any installer who won’t itemise the battery is telling you something. If they genuinely won’t, you can still estimate: take their battery-free quote for the same array if they offered one, or subtract a market-rate battery figure and flag the row as derived.
Step 5: identify site-cost line items. Scaffolding, roof access, bird protection, a new consumer unit, a DNO G99 application, an EV charger tie-in, roof tile replacement, cable runs over 20m, loft board-out. These are the legitimate reasons a quote sits high and you need them visible.
Step 6: compute three numbers per quote. Array £/kWp (array cost ÷ kWp), battery £/kWh (battery cost ÷ usable kWh), and a blended all-in £/kWp which you use only for a sanity check, never for comparison.
Here’s what that looks like as a table for the three quotes at the top:
| Quote A | Quote B | Quote C | |
|---|---|---|---|
| Headline total (inc VAT) | £6,200 | £11,850 | £8,400 |
| Panels | 10 × 440W | 12 × 450W | 11 × 415W |
| True kWp | 4.40 | 5.40 | 4.565 |
| Battery (usable kWh) | 2.56 | 9.5 | 5.2 |
| Battery cost (itemised) | £1,450 | £4,300 | not split |
| Array cost | £4,750 | £7,550 | ~£5,850 (derived) |
| Array £/kWp | £1,080 | £1,398 | £1,281 |
| Battery £/kWh | £566 | £453 | £490 (derived) |
| Scaffolding included | yes | yes | “if required” |
| DNO application | G98 | G99 (3-phase) | G98 |
Quote A is the cheap one and it’s cheap partly because the battery is a token 2.56kWh that will cover your evening telly and nothing else. Quote B looks expensive at £1,398/kWp until you notice it’s a three-phase property needing a G99 application and it’s carrying a battery at the best £/kWh of the three. Quote C is the one to interrogate: “scaffolding if required” on a two-storey house means the £8,400 is a floor, not a price.
Current UK bands (autumn 2026)
These are working bands for a standard domestic retrofit on a pitched tiled roof, single elevation, MCS-certified installer, 0% VAT:
Array only, £/kWp:
- Under £900: very cheap. Either a large array (8kWp+, where fixed costs amortise), a national-scale installer running volume, or a corner is being cut. Check panel and inverter brands.
- £900 to £1,250: the competitive band. Most honest quotes for a 4–6kWp system land here.
- £1,250 to £1,500: mid-to-high. Usually justified by something specific. Find the something.
- £1,500 to £1,800: high. Needs real justification: slate roof, in-roof mounting, three-storey, multiple elevations, premium hardware.
- Over £1,800: either a genuinely awkward job or a sales-led outfit. Both exist.
Battery, £/kWh usable:
- £350 to £500: good. Typical for 9–15kWh LFP units installed alongside an array.
- £500 to £650: acceptable, particularly for small batteries (under 6kWh) where the inverter and install labour don’t scale down.
- Over £700: poor value unless it’s a battery-only retrofit with its own hybrid inverter, where £700–£900/kWh is normal for small capacities.
Two structural things drive these bands. Fixed costs (scaffolding at £600–£1,200, a day of labour, the DNO paperwork, MCS admin) don’t shrink with array size, so £/kWp falls as kWp rises. And battery pricing scales better than array pricing, which is why a 5kWp + 10kWh system often has a lower all-in £/kWp than a 5kWp + 5kWh system.
Legitimate reasons a quote sits above the band
This is the part most comparison advice skips, and skipping it is how people end up with a cheap install and an expensive decade.
In-roof mounting. Flush systems like GSE or Viridian add £600–£1,500 over on-roof rails, because tiles come off and flashing goes in. If you’ve got a conservation-area planning condition or you just want it flat, that’s a real cost, not a markup.
Slate. Slate roofs are slower, more fragile and need different hooks. Add £15–£30 per panel in labour and breakage allowance.
Multiple elevations. East/west split arrays need either two MPPT strings (fine, free) or optimisers (£40–£70 per panel). A 12-panel system with full SolarEdge optimisation carries £500–£800 of hardware that a single-elevation south array doesn’t need.
Three-storey or restricted access. Scaffolding on a three-storey terrace with no rear access can be £2,000+ on its own. On a 4kWp system that’s £500/kWp of pure scaffold.
Consumer unit replacement. If your board is an old rewireable or has no spare ways, you need a new one. £450–£800, and it’s not optional.
Premium hardware. A Fronius Gen24 or SMA hybrid over a budget inverter is £700–£1,200 more. Whether it’s worth it is a real argument (warranty terms, efficiency at low irradiance, monitoring quality), but it’s not dishonest pricing.
G99 rather than G98. Anything over 3.68kW export, or three-phase, triggers a DNO application with fees and an engineering review. Budget £200–£500 plus installer admin time.
If a quote is £1,450/kWp and the covering note says “in-roof GSE, slate, east-west with optimisers,” it is a well-priced awkward job. If it’s £1,450/kWp for a single-elevation south-facing concrete-tile roof on a bungalow, ask why.
Running this with AI tools
The extraction step is where this gets tedious, and it’s exactly what an LLM is good at. Drop the three PDFs into Claude or ChatGPT with a fixed schema and ask for JSON, not prose:
Extract from each attached quote. Return JSON only, one object per quote:
{
"installer": str,
"total_inc_vat": float,
"vat_status": "inc" | "ex" | "zero-rated",
"panel_model": str, "panel_watts": int, "panel_count": int,
"inverter_model": str, "inverter_kw": float,
"battery_model": str|null, "battery_nominal_kwh": float|null,
"battery_line_cost": float|null,
"scaffolding": "included" | "excluded" | "conditional" | "unstated",
"consumer_unit": "included" | "excluded" | "unstated",
"dno": "G98" | "G99" | "unstated",
"optimisers": bool,
"mounting": "on-roof" | "in-roof" | "unstated",
"roof_covering": str|null,
"quoted_annual_kwh": float|null
}
Use null where the quote does not say. Do not infer.
That last instruction matters more than the rest of the prompt. Models will happily fill “battery_nominal_kwh”: 5.0 because a 5kWh battery is a plausible thing for a quote to contain. Tell it to leave gaps, then treat every null as a question to email the installer. The nulls are the output.
From there the arithmetic belongs in a spreadsheet, not the model. Google Sheets or Excel with =array_cost/((panel_watts*panel_count)/1000) and a conditional format on the band boundaries. LLMs are still unreliable at multi-step arithmetic across a dozen rows, and you’ll never notice a 4% error in a £/kWp figure that came back as flowing text. Extraction in the model, calculation in the sheet. That division of labour is the whole discipline, and it’s covered in more depth across the cost models and AI quote analysis pillar if you want the full workflow including payback modelling.
One more thing worth automating: cross-check the quoted annual generation. Most quotes include an MCS-standard figure. Run the same postcode, orientation and pitch through the EU’s PVGIS tool (free, web-based) or the MCS MIS 3002 lookup and see if it matches. A quote claiming 4,600kWh from a 4.4kWp east-facing Manchester array is inflating payback, and an inflated payback is a pricing signal too.
What “cheap” actually bought you
The £1,080/kWp quote at the top of this piece is real value if the hardware holds up. It’s a false economy if the £4,750 array uses an inverter from a brand with no UK service presence, because a dead inverter in year six is a £1,400 replacement plus a fortnight of no generation. Check three things before you let a low £/kWp figure close the deal: inverter manufacturer warranty in years (10 is standard, 5 is a flag), panel product warranty as distinct from performance warranty (product should be 15–25 years, performance is always 25 and tells you nothing), and whether the installer is MCS-certified under their own number or trading under someone else’s.
Then go back to your sheet and add a column for warranty-years-per-pound, or don’t, because at some point the model stops adding information and you just have to pick the installer whose surveyor climbed into your loft.