Home
/
Blog
/
Solar Installer's Real Margin: Why Millions in Revenue but Little Free Cash
Case Studies
Services

Solar Installer's Real Margin: Why Millions in Revenue but Little Free Cash

Olena Smolikova
Olena Smolikova
Financial expert at Finmap

"Last year we installed solar systems worth 42 million. But when winter came and I wanted to pull out 300,000 for myself, it turned out I had 180,000 free in the account. The rest was in panels sitting in the warehouse and in advances to suppliers."

That's what the owner of a turnkey solar installation company told me — a business that builds everything from 10 kW residential rooftops to 100+ kW commercial arrays. Sound familiar? Revenue looks solid, clients are lining up, crews are booked. But when it comes to a simple question — "how much did I actually earn, and where is that money?" — there's no answer.

The thing is, in solar installation revenue and profit are almost always two different universes. And the bigger the project ticket, the further apart they drift. Let's break down why that happens, and how to start seeing your real margin — not for the company as a whole, but for each project.

Project margin in plain words

Project margin is what's left of the price you charged the client after you subtract the direct costs of that specific job. Not "revenue minus everything," but revenue minus what you spent to make this particular project happen.

For a solar install, the direct costs are:

  • Equipment: panels, inverter, batteries, mounting, cable, protective automation. This is the lion's share of the ticket.
  • Installation crew: labor for mounting, roof work, wiring.
  • Commissioning: inverter setup, grid connection, startup, paperwork for the feed-in tariff or grid tie-in.
  • Logistics and small stuff: panel delivery, equipment rental, consumables.

Everything NOT tied to a specific job — the office, the accountant, advertising, your own owner's pay — is not a direct project cost. Those are the company's general expenses, and we count them separately so they don't distort each project's margin.

Simple formula: Project margin = Client price − Equipment − Installation − Commissioning − Logistics. This is the number you need to see for every project. Without it, you're flying blind.

Why "revenue" is misleading

In many industries, revenue at least roughly hints at the scale of profit. In solar installation, it doesn't. Here's why.

Picture a 30 kW system for a private home at 620,000 UAH. Sounds like a big deal. But out of that money:

  • panels, inverter and batteries — about 420,000 UAH;
  • installation and commissioning — another 90,000 UAH;
  • logistics and small stuff — 15,000 UAH.

Direct costs: 525,000 UAH. Project margin: 95,000 UAH — about 15% of the price. And that's before the office, advertising and taxes.

So two-thirds of the ticket is pass-through money. It flows through your account, but it was never yours: it's the cost of equipment you'll pay the supplier. When you look at "42 million in revenue," you're mostly looking at other people's money that just made a pit stop in your account.

Revenue in solar installation is 60–70% the cost of the hardware. Profit lives in that thin strip on top. And you have to manage the strip, not the revenue.

Example: what margin looks like across three projects

Let's take three structurally realistic jobs from one month. We look not at "how much came in," but at what was left after direct costs.

Project Client price Equipment + install Margin
10 kW rooftop (residential) 240,000 UAH 195,000 UAH +45,000 UAH (19%)
30 kW rooftop with batteries 620,000 UAH 525,000 UAH +95,000 UAH (15%)
80 kW commercial carport 1,480,000 UAH 1,460,000 UAH +20,000 UAH (1.4%)

Look at what happened. The biggest job — the 80 kW carport, nearly 1.5 million in revenue — brought the smallest margin. Not because the client was bad, but because the exchange rate on inverters jumped after signing, a couple of "minor" mounting reworks piled up, and the crew sat idle an extra day because of rain. All of that ate the margin, and the job came in near zero.

If the owner looked only at revenue, he'd say: "What a month — we did 2.3 million." But in reality, the entire month's profit came from two small rooftops, while the flagship job merely churned money through. That's why margin is calculated for each project separately — otherwise a big, pretty contract quietly eats what the small ones earned.

Supplier advances and cash gaps

Here's where the real headache of the solar business hides. The cash-flow logic here is inverted from what you'd want.

The equipment supplier wants a 70–100% advance to reserve the panels and inverter — especially when the item is scarce or made to order. Meanwhile the client pays you in stages: a deposit at the start, the main amount when the equipment arrives, the balance after startup. And very often the exact moment you have to pay the supplier the full cost of the hardware comes earlier than the client has closed their part.

A gap appears. You already have to hand over 420,000 UAH for a kit, but only 250,000 UAH of the client's deposit has come in. You cover the difference — with what? With another client's advance. And this is where owners start going gray: one project's money finances the purchase for another. As long as orders keep flowing, the wheel turns. The moment one client delays payment or falls through, the chain collapses — and it turns out you've been plugging a hole you never saw with someone else's advances.

"I thought the 900,000 in the account was mine. It was advances from three clients whose equipment I hadn't even purchased yet."

That's why in solar installation what matters is not only the P&L (how much you earned), but also the payment calendar: when and to whom I owe money, and when money will actually reach me. Without it, the cash gap arrives out of nowhere — even though it was always predictable.

Multi-currency and exchange rate

You buy panels and inverters pegged to € or $, even if you pay in hryvnia — the supplier converts at the rate on the day of payment. But you locked in the client's price weeks or months ago, in hryvnia.

What this means in practice: between the moment you quoted the client and the moment you pay the supplier, the rate may have risen. Let's count. A kit costs €10,000. At quoting time the rate was 44 UAH — you budgeted 440,000 UAH. While the client thought it over for two weeks and the rate moved to 45.5, the actual purchase came to 455,000 UAH. Minus 15,000 UAH off the margin out of thin air — and if the margin was 95,000, that's a sixth of your profit that simply evaporated on the exchange rate.

So the equipment price should either be locked in the quote with a rate condition ("price valid at a rate up to X"), or carry a currency buffer. And in your books, record transactions in the currency they actually happen in, so you see the exchange difference separately instead of writing it off as "the money went somewhere."

Underestimated complex sites

A simple array on a flat roof with good access is one price. But half the sites aren't like that — and they're often quoted as if they were. What quietly eats the margin:

  • Complex roof: slate, brittle metal, steep pitch, several planes — the crew works twice as long.
  • Distant logistics: a site 200 km away means fuel, per diems for the crew, sometimes an overnight stay.
  • Weak grid: you need approval from the utility, a new main breaker, extra cable — none of which was in the quote.
  • Earthworks and concrete for a ground-mount array or carport — a separate story that's easy to underestimate.
  • Weather downtime: the crew is on site, but it's raining — you pay for the day, no work gets done.

Each of these on its own is "oh, that's minor." Together, on one site, they turn a planned 18% margin into an actual 3%. And until you track actual costs for each project, you won't even learn that complex sites are consistently loss-making for you — which means you keep taking them at the same price.

Warranty, service and seasonality

Two things almost nobody builds into the margin, yet they work against it for months after a job is handed over.

Warranty and service. You give a warranty on the work and the equipment — and that's not just a line in the contract. An inverter can fail, mounting may need retightening, settings may need adjusting after a grid-requirement update. Sending a crew to a warranty site is real money: fuel, people's time, sometimes replacing a unit before the manufacturer's replacement arrives. If you haven't built at least a 2–3% service reserve into each project's margin, you're effectively covering those costs out of the next jobs' profit — and once again you can't see where the earnings went.

Seasonality. Demand for solar is uneven: spring and summer are the peak, autumn and winter dip. But costs are steady: rent, key people's salaries, equipment leasing run every month. The mistake many owners make is spending the peak's profit as if the peak lasted all year. Then November comes, orders are down threefold, and the obligations are the same. So part of the hot-season margin has to be deliberately set aside as a cushion for the low season — and you only see that when you see real margin, not revenue.

How it sounds in real life

Not in a financier's terms, but the way the owner actually feels it:

  • "There's a pile of money in the account, but I'm afraid to pay myself — what if it's someone's advance."
  • "We landed a big commercial job, felt proud. In the end we realized we came in near zero."
  • "The supplier wants full prepayment tomorrow, and the client will pay in two weeks. Once again I'm borrowing from myself."
  • "I thought summer would carry us, but demand dropped in autumn — and it turned out there was no cushion, everything was in equipment sitting in the warehouse."
  • "I don't understand why, with revenue like this, there's nothing to set aside for growth at year-end."

All of these are about one thing: no visibility into project margin and no payment calendar. The business isn't sick — it's just invisible to its owner.

How to see this in Finmap

Finmap is management accounting for the owner, not bookkeeping for the tax office. Here's what it specifically gives a solar installer.

Income and direct costs per project

You set up each site as a separate project. The client's advance, the payment to the supplier for equipment, the crew's pay, logistics — everything lands on a specific site. And you see each one's margin, not "the company overall."

Margin, not revenue

Instead of a proud "we did 2.3 million," you see the real picture: two rooftops gave 140,000 in margin, and the big carport gave 20,000. It's instantly clear which type of site feeds you and which merely churns money.

Cash flow and a payment calendar for advances

You see ahead of time: on the 12th you have to pay the supplier 420,000, and the client's money will arrive on the 18th. There it is — the gap, a week before it hits you. You can renegotiate the schedule or hold another payment — deliberately, not in a panic.

Multi-currency

Transactions in € and $ are kept in their own currency, and the exchange difference is visible separately. You no longer write off "15,000 went somewhere" — you see it's the exchange rate, and you build a buffer into the next quote.

Advice for a solar company owner

  • Calculate margin per project, not per company. "Profitable overall" hides the loss-making jobs.
  • Lock the equipment price with a rate condition, or build in a 3–5% currency buffer.
  • Keep a payment calendar: when you pay the supplier vs when the client pays you. The gap should be visible in advance.
  • Separate your own money from client advances. An advance is an obligation, not profit.
  • Quote complex sites separately, with a reserve for downtime, logistics and grid rework.
  • Keep a cushion for the low season — demand for solar is uneven across the year.
  • Compare planned margin to actual after a job closes. It teaches you to quote the next one more precisely.

If the topic of per-project margin resonated, here's the same principle explored deeper in adjacent niches: how a construction company saw which site actually feeds it and how to calculate project margin and avoid working at a loss.

A big contract isn't big profit. It's big responsibility for other people's money that will pass through your account.

You don't earn on revenue. You earn on that thin strip on top — and that's exactly what you need to see every day.

Money Doesn't Disappear. You Just Don't See It.

Money in solar installation doesn't disappear — it's stuck in panels in the warehouse and in advances to suppliers. You just don't see it, because you're looking at revenue instead of margin per project. Finmap shows the real picture: how much each project earned, when the cash gap will hit, and where the exchange rate is eating you.

Try Finmap free for 14 days — set up a few projects and see your real margin, not your revenue. Start for free →

Table of Contents
Check the Status of Your Business's Financial System
Order Financial Diagnostics
Olena Smolikova
Olena Smolikova
Financial expert at Finmap
  • Head of Finance Department, Beauty Hub Ltd (2020–2024).
  • Head of Management Accounting and Budgeting, Intime LLC (2016–2020).
  • Senior Economist, EdYouGet LLC (2015–2016).
  • Economist with responsibilities of Deputy CFO, Ukrainian Media Holding (2008–2015).

Recommended for Entrepreneurs

Frequently Asked Questions

Why do I have millions in revenue but little free cash?

Because 60–70% of revenue in solar installation is the cost of equipment — that is, the supplier's pass-through money. On top of that, part of your money is always frozen in advances for panels and inverters and in kits sitting in the warehouse until installation. The "revenue" is big, but your actual margin is the thin strip on top.

Set up each site as a separate project and tie the equipment purchase to the site where it actually went into the install. If you moved a kit from one site to another, move the cost too. Then each project's margin will be honest.

Two workable ways: lock the price in the quote with a rate condition ("price valid at a rate up to X"), or build in a 3–5% currency buffer. In your books, record currency transactions in their own currency so the exchange difference is visible separately instead of getting "lost."

An accountant keeps records for the tax office — that's about reporting and the past. Margin per site, a payment calendar for advances, cash gaps — that's management accounting for the owner, about tomorrow's decisions. Finmap is about the second.

If you set up your current sites and split out income and direct costs, the first real picture appears within a few days. The 14-day free period is more than enough to see each project's margin and your nearest cash gap.

Any questions left?
We are ready to answer them.
WhatsApp
Telegram
Finmap
Finmap support

Money Doesn't Disappear. You Just Don't See It.

Get a personal financial diagnosis or a Finmap demo — and see your business from a new perspective.

Ask Your Question to a Finmap Expert