Sunalysis™ v9.2.1.53 · by Arev Analytics LLC

User Guide

How to run an honest solar analysis in ten minutes — and how to read what it tells you.

1 · What Sunalysis is 2 · Your two helpers: the ⓘ bubbles & Ask Sunalysis 3 · Before you start: gather three things 4 · How the calculator thinks (the map) 5 · Where to start, and why 6 · Quick Estimate — section by section 7 · Full Analysis — section by section 8 · Reading your results on screen 9 · The printed report 🗄️ · Hand it to your client — the Customer Playground 📋 · The installer's brief — reading what comes back 10 · Troubleshooting & common mistakes
See your system actually run — before you buy it. The headline is a 30-year projection; to watch how your system performs day to day, open the Simulated Daily Energy Flow beneath the Monthly accounting chart. Pick any month and it plays out 14 typical days hour by hour — solar powering the home, surplus exported, and (with a battery) the pack filling on the morning sun, draining overnight, and carrying its charge into the next day, just like the real thing. Drop in a storm day to stress-test your backup, run the storm-conservation what-if to see what cutting back buys you, or use the simulation sandbox to add panels or battery units and watch payback move — every change priced by the same engine as your headline. It is the closest thing to a test drive; full walkthrough in chapter 8.

1 · What Sunalysis is

Sunalysis treats a solar quote like an investment decision, not a sales pitch. You give it a handful of real numbers — what you pay for power, what the system costs, what it will produce — and it plays out thirty years of honest math: bill savings, battery behavior, electric-vehicle fuel, appliance conversions, maintenance, replacements, insurance, resale, and a fair fight against simply putting the same money in the stock market.

Three rules explain everything about how it behaves:

  1. Nothing is hidden. Every number traces to an input you can see, a default that is labeled, or a source that is named. Print the report and the assumptions print with it.
  2. Everything is editable. Every default is a starting point, not a verdict. Type over any of them and the whole analysis recomputes instantly.
  3. When in doubt, it under-promises. No tax credits assumed, no incentive income assumed, exports valued at your market's real (usually low) credit rate, and the market comparison is after-tax.
Your copy may be branded. Sunalysis is distributed both directly and through solar installers — so your opening screen may carry your installer's name, logo, and region defaults instead of the general Sunalysis landing page shown in this guide. Don't let that confuse you: the calculator and every step underneath are the same. A branded copy may lock your region, start from different defaults, and use client- or installer-facing wording — and, where the installer has linked a company, it may ask you to sign in to run the calculator (the footer then shows "Signed in as … · Sign out"). The retail sunalysis.app never asks. The math and the flow this guide describes apply throughout.
Privacy: your analysis is computed by the Sunalysis engine on the Sunalysis server: as you work, the calculator sends the technical inputs (usage, rates, system size, battery and financing figures — never a name or contact detail) and shows you the server's answer. The engine itself no longer ships inside the page (since v9.0), so Sunalysis needs an internet connection to compute; if the connection drops, your last computed numbers stay on screen and the calculator quietly retries. Uploaded files (Green Button, production CSV) are read inside your browser and never uploaded — only the anonymous usage pattern the math needs (hour-of-day percentages, monthly kWh totals, day counts; no name, address, account number or dates) is sent to compute your analysis. The calculator itself has no login and stores nothing you compute. On the retail site (sunalysis.app) there is no login. An installer-branded site whose owner has linked a company asks for a seat sign-in first — you'll see "Sign in to run the calculator" until a seat signs in. Signing in identifies the installer's seat; it doesn't change what the calculator sends or stores about your analysis — but it does unlock one installer-only Ask feature described next. Separately, Ask Sunalysis: when you ask a question the built-in answers can't handle, your question plus a summary of your inputs and results (never your name, never your files) is sent to the server and an AI service (Anthropic's Claude) to generate the answer. It's used only to answer you. For a signed-in installer seat (never a homeowner, never a client link), a question may additionally carry a compact summary of that installer's own Client Book and Analytics — their own client labels, dates and quote figures — so the assistant can answer their sales questions; it is used only to answer and is not stored.

2 · Your two helpers: the ⓘ bubbles & Ask Sunalysis

Before touching a single input, know that help is built into every screen — you are never more than one tap from an explanation. These two helpers are why you don't need to memorize this guide.

The ⓘ info bubbles

Nearly every field, chart, and result has a small beside it. Tap it and a plain-English note explains that exact thing: what the field means, where its default came from, and what changing it does. When a number surprises you, the ⓘ beside it is the fastest answer there is. (This guide's expandable "ⓘ More" boxes work the same way — tap any of them for the deeper story.)

Ask Sunalysis — the built-in AI assistant

Ask Sunalysis panel
Ask Sunalysis, opened from the button in the bottom-right corner. Tap a suggested question for an instant answer, or type your own in plain English.

How to open it: tap the “💬 Ask Sunalysis” button floating in the bottom-right corner (on phones it's also a tab). The same conversation follows you everywhere the Ask box appears.

How to use it:

  1. Start with the suggested questions. They're grouped by topic (Payback & returns, EVs & electrification, batteries…) and answer instantly from your own numbers — no waiting, no internet round-trip.
  2. Or type anything in plain English. "Why is my payback 11 years?" · "Is my battery too small?" · "What happens if rates rise faster?" · "Explain my export credit like I'm ten."
  3. Ask "what if" questions. This is the special trick: "What if I add a heat pump and one more battery?" — the assistant recomputes your actual analysis with the hypothetical change and gives you the resulting payback, return, and 30-year figures, without touching your inputs. New in v8.5, it covers eleven inputs: your electricity rate, annual usage, rate escalation, system cost, production, battery size and unit count, the outage reserve, EVs, appliance electrifications, and the hold period. (For a monthly-bill what-if it converts your bill to usage with your own rate and says so.)
  4. Ask about the charts themselves (new in v8.5). The assistant can read your 14-day Simulated Daily Energy Flow for any month ("Why is day 10 of July so low?" · "What does January look like?") and your year-by-year ledger ("What's my invested balance in year 12?" · "When do I pass $100k?") — computed answers from the same simulation and tables you see on screen, not guesses.
  5. The assistant knows who is asking (v9.2.1.45). On a client link, a preview of one, or the public calculator, the assistant answers about your analysis and nothing from the installer side — ask about their other clients or prices and it says, in one sentence, that those records are protected and visible only to their company. Signed in as an installer, its answers reach exactly as far as your own access switches, and no further; an Owner or manager may plan with everything they can see. In 🏢 HQ there is now an Ask box of its own, with or without a proposal open, for questions about your book and the screen. Each company has a monthly assistant allowance (set by Arev Analytics in Mission Control); you are warned once at 80% and stopped at 100% until the month turns.
  6. An Owner can plan with it (v9.2.1.46). “How many panels will the next three months need, from the last three and this time last year?” is now a question with an answer: the server works out your installs month by month, what went on those roofs, and what the installs already booked ahead still need — across your whole book, not just the page on screen — and hands the assistant the counts. It carries no household: counts, dates and makes only. Needs see Analytics and see all clients.
  7. Your allowance counts your own homeowners now (v9.2.1.46). A question a homeowner asks on your client link used to be counted against a pool shared with every other installer on the same edition. It is now counted against your company’s own monthly allowance, which is the honest answer — and it changes nothing about what they are told: a homeowner still hears nothing from your side of the product.
  8. Installers: ask about your own book of business. Signed in on your own edition, the assistant can also read a summary of your Client Book and Analytics — "which clients haven't opened their plan?", "when did I last send the Alvarez household a proposal — did they open it?", "how is my pipeline this quarter?" — and answer from your real records — including your own client notes and deal stages (“which clients did I mark quoted?”), though never a client’s address, phone or email. Open the 📇 Clients panel once so your book is loaded, or use the 💬 Ask about these numbers button in Analytics. This never applies to homeowners or client links.
How the assistant works (and the Claude connection)

There are two layers. Layer one is instant and built-in: the common questions are answered directly inside your browser from your current results — tap, read, done. Layer two is the AI: when you type a question that needs real reasoning, it may be run through a Claude AI agent (Claude is Anthropic's AI model) to generate an accurate response. The agent is briefed on how this calculator works and answers from your current numbers — and for "what if" questions it can ask the calculator to re-run your scenario with the change and report the real result, computed by the same engine that computed your headline.

As of v8.5 the AI layer runs on Claude Opus — Anthropic's most capable model tier — chosen for the multi-step reasoning the new calculation tools require. When it needs a number, it asks the same audited Sunalysis engine that computed your screen — on our server since v9.0 — to recompute it, then answers from the real result.

If the AI is ever unreachable (you're offline, for example), the assistant falls back to its instant built-in answers — the feature never breaks. And per the privacy note above: on the retail site there's no login and nothing tied to your identity (a branded installer site may require its own seat sign-in — see chapter 1).

When to use which: a question about one field → the ⓘ beside it. A question about your results or a scenario — or, for installers, your Client Book → Ask Sunalysis. A question about where to click next → this guide.

3 · Before you start: gather three things

Get thisWhere fromWhy it matters
A recent electricity bill (the monthly amount you pay, and your annual kWh if shown)Your utility's app or a paper billYour bill ÷ your kWh is your real price of power — more accurate than any regional average.
The installer quote, if you have oneYour installerTwo numbers matter most: the net cost (after incentives) and the estimated annual production in kWh.
Optional: your Green Button fileYour utility's website — look for "Download my data" or "Green Button"Your actual hour-by-hour usage. Sunalysis reads it to fill your monthly usage automatically and sharpen the analysis with your real daily pattern.

No quote yet? Fine — check "No installer quote yet?" in section 1 and Sunalysis designs a system for you, which you can then take to installers as your benchmark.

4 · How the calculator thinks (the map)

Sunalysis computes everything once, in order, from one set of inputs — so it helps to know what flows into what:

You enter…It drives…You see it in…
Your region / state (always first)Default electricity rate, export/credit rules (California = NEM 3.0 net billing), solar seasonality, gasoline price, tax treatment — every default downstreamThe header badge; every defaulted field; the report's assumptions page
Monthly bill + annual kWhYour real blended rate ($/kWh = bill ÷ usage) — replaces the regional default the moment both exist"Calculated from bill" note under the rate field; every savings figure
System net cost + annual productionThe core return: payback, IRR, 30-year netThe header bar; everywhere
12 monthly kWh (optional grid)Seasonal accuracy. Takes over from your annual figure only when all 12 months are filled.Month-by-month chart; seasonal report page
Green Button upload (optional)Fills the monthly grid for complete months AND refines the used-at-home vs exported split from your real daily pattern"Measured" labels; Energy Security; sharper payback/IRR
Battery choiceEvening self-use, time-of-use shifting, and the Energy Security layerBattery results: Energy Security score, the savings-vs-independence chart, Ownership tier
EVs + appliance conversionsThe "multiplier": fuel and gas-bill money you stop spending, plus the new electric load your roof must feedSolar-budget bar; electrification pages of the report
Financing choice (cash / loan / lease)Cash and loan show ownership returns; lease/PPA switches to an honest "is this lease worth it" analysisHeader bar; "How are you paying?"
Hold period, market return, tax ratesThe market comparison — solar vs the same dollars invested"Compare to market investing"
The flow is one-way. Inputs at the top feed everything below them; results never feed backwards. If a result looks wrong, walk up the page — the cause is always an input above it.

5 · Where to start, and why

1
Open your copy and pick your region. Region comes first because it sets every default that follows. If your copy came from an installer, the opening screen may already show their branding — and may even pre-select your region. For this guide: United States → California.
Landing page
The general landing page (an installer-branded copy shows the same Step 1 with their name on it). Note the User Guide link — it opens this guide in its own tab so you can read alongside the calculator.
US state picker
Choosing United States opens the state list — pick yours. This one choice loads your rates, export rules, sun pattern, gas price, and tax defaults.
2
Choose your path. Two calculators share one engine:
  • Quick Estimate — a guided, numbered flow; a trustworthy answer in about ten minutes. Start here.
  • Full Analysis — every lever: exact tariffs, month-by-month data, battery models, panel models, financing detail, taxes. Graduate here when you have a quote in hand and want every assumption in your own hands. (Printing is never the reason to switch — both tabs print the same two reports, the Detailed and the 3-page Brief.)
Anything you type in one carries into the other — the two share their inputs, so you never re-enter.

The top toolbar (compact icon buttons; on phones they sit in their own row beneath the brand): DARK switches the theme, CHANGE REGION starts over in a different market, PRINT opens the report panel (Detailed / Brief · 3-pg and the Choose-sections picker), SAVE LINK copies a link that reopens this exact scenario, SAVE FILE saves it as a file you can name and email, OPEN FILE restores a saved file, and CLEAR DATA resets everything.

6 · Quick Estimate — section by section

Running example (California): a home paying $300/month, quoted $30,000 net for a system producing 13,000 kWh/year.

Quick top
Quick Estimate. The verdict strip (payback · IRR · net gain · solar-supplied) sits at the top and updates live with every keystroke below.

§1 — Your system & energy details

Quick section 1
Section 1: the quote (gross & net cost, production) and your energy today (usage and bill).
  1. No quote yet? Tick the checkbox at the top and Sunalysis sizes a system from your usage instead — skip the cost fields and come back when quotes arrive.
  2. Gross cost, then net cost. Gross = the full contract price; net = what you actually pay after incentives. Net drives your return.
  3. Annual production — from the quote ("Year-1 production: 13,000 kWh"). The ANNUAL/MONTHLY toggle accepts either form.
  4. Your current usage and bill. Enter both if you can — together they compute your real rate.
  5. Usage timing — pick the day-pattern that sounds like your household (home in the day / out until evening / balanced). It shapes how much solar you use directly vs export.
  6. Upload your real data (optional). The upload card takes your utility's Green Button file (CSV or XML) — it fills the 12 monthly kWh for complete months and sharpens the split with your real pattern. Already have solar? Use the Enphase production button for your solar data instead.
Gross vs. net cost — why both, and which goes where

Example: contract price $30,000, minus a $9,000 tax credit → gross $30,000, net $21,000. Net is your real money at risk, so payback/IRR/net gain use it. Gross is what the hardware is actually worth, so insurance and resale value use it. Enter both when the quote shows both; if you only enter net, Sunalysis works fine and simply treats the hardware value conservatively. Common mistake: putting the after-incentive price in both boxes overstates nothing — but putting the pre-incentive price in the net box makes your payback look ~30% worse than reality.

Bill, kWh, or both — what should I enter?

Both is best: $300/mo ÷ 12,000 kWh/yr = $0.30/kWh — your true blended price, automatically used everywhere. Bill only: Sunalysis estimates your kWh from the regional rate — decent start, less precise. kWh only: it prices your usage at the regional default rate. The note under the rate field always tells you which source is active, so you're never guessing.

What does the usage-timing choice actually change?

Solar makes power midday; the question is whether you're home to use it. "Home during the day" → more solar used directly (worth your full retail rate); "out until evening" → more exported (worth only the credit rate — in California a few cents). Two identical homes can differ by hundreds of dollars a year on timing alone. If you upload a Green Button file, your measured pattern replaces this guess entirely.

§2 — How are you paying?

Cash, loan, or lease/PPA — this one choice sets the lens for your whole return:

Cash vs. loan vs. lease — a 60-second decision guide

Cash maximizes lifetime gain (no interest) and suits money that would otherwise sit in low-yield savings. Loan keeps your cash free; if the loan rate is well below your solar return, the leverage works in your favor — enter your actual quoted APR and watch the header strip. Lease/PPA means the escalator is everything: a 0% (fixed) escalator is the safest structure; a 3%+ escalator can quietly outgrow the utility savings in later years — the analysis will show you exactly when, if ever.

§3 — Refine your analysis (3.1 · 3.2 · 3.3)

Refine cards and sections 4-6
The three refine cards — battery, EV, appliances — with sections 4–6 below them. Each card expands when tapped; each is optional.

3.1 · Add a battery

Pick a real model (warranty, chemistry, and usable kWh shown) or set a custom size. The battery earns money two ways — using more of your own solar after sunset, and shifting energy into expensive evening hours — and both are computed honestly, degradation and future replacement included.

Do I even want a battery? (California vs. 1:1 states)

Under net billing (California NEM 3.0): exports earn pennies while evening grid power costs ~10× more, so storing your surplus instead of selling it is where the money is — the battery is usually the deal. Under 1:1 net metering (some other states): the grid already credits you at retail, so a battery adds little arbitrage value — its worth is backup power, and Sunalysis will tell you exactly that rather than invent savings. Either way, the "Savings vs. independence" chart in the results shows what each added kWh actually buys you — in bill savings and in hours of independence (two lines, your pack marked on both).

3.2 · Add an electric vehicle

Set how many EVs, miles per year, and when you charge. The savings are real but come mostly from gasoline you stop buying — priced honestly against the electricity the car now uses.

Overnight vs. daytime charging — why the window matters

Charge overnight (the typical commuter) and most charging electricity comes from the grid — the EV still wins big — and the grid-bought share is credited at your off-peak rate when your plan has one (overnight power is genuinely cheaper, and your numbers now say so); even full-price electricity beats gasoline (~$1–2 equivalent per "gallon"). Charge daytime (work-from-home, weekend driver) and your own panels feed the car nearly free. Pick the window that matches your life; Sunalysis prices each honestly rather than assuming the sunny best case.

3.3 · Add appliance electrification

Tick what you'd convert — heat pump, water heater, stove, dryer, pool. Each shows the fuel money you stop spending and the electricity it adds. The $/yr box shows the modeled fuel saving; if you know your real number, type it and yours wins (marked "your figure" everywhere it appears).

Why an appliance can show a small — or negative — saving

The honest math: fuel avoided minus what the new electricity costs you. With cheap natural gas and expensive electricity, an induction stove might save $80 of gas but cost $85 of power — a small negative is the truth, not an error, and the real wins there are comfort, air quality, and dropping the gas line. Expensive fuels (propane, heating oil) are usually big wins. The full reconciliation is on the report's "Your home: gas vs. electric" page.

§4 — System design check

System design check
Section 4: the sizing sanity-check — is the quote's size right for your usage, what backup you'd have, and your self-reliance picture.

(New in 8.9.8.1: this section starts collapsed. If you ticked “No installer quote yet?”, use the Take me to §4 link in that yellow box — and look for the “📐 Your estimated system” card inside, which is where the proposed array, battery, cost and payback appear.)

Nothing to enter here — this section reads back what your inputs imply: whether the quoted system is sized sensibly for your usage (or, in no-quote mode, what size you'd need), roughly what a battery would back up in an outage, and your solar-supplied picture. Use it to sanity-check a quote before you sign: an oversized system exports cheap power; an undersized one leaves savings on the table. There's also a metering selector (1:1 vs net billing) if your utility's scheme differs from the state default.

§5 — How long will you stay in this home?

Slide your realistic horizon. Solar isn't a trap if you move — the system adds to the sale price — and this section shows where you'd land if you sold in year 5, 10, or 15: savings banked so far plus the home-value premium, minus what you put in. The chip on the card shows your at-sale position live.

How the home-value premium is estimated

A per-watt method from published research (LBNL's Selling Into the Sun and Zillow analyses), capped at the hardware's installed cost and aged down as the system gets older — a directional estimate, clearly labeled, not an appraisal. The conservative reading: even at year 5, premium + banked savings usually beats having done nothing.

§6 — Compare to market investing

The brave question most solar tools won't ask: would the same money simply do better in the stock market? Sunalysis invests your exact cost at a market rate (default 10%, editable), taxes the gains the way they'd really be taxed (your state included), and puts the two side by side. Solar's edge: its "returns" are tax-free bill savings, immune to market crashes, and stacked on top of a home-value premium.

Fair mode vs. Skeptic's View

Fair mode nets out real-world investing frictions (fund fees, the behavior gap) — the return a normal investor actually keeps. Skeptic's View gives the market its rawest, most generous number. If solar still wins in Skeptic's View, the case is bulletproof; if it's close, the honest answer is "both are good uses of money" — and the tool will say so.

7 · Full Analysis — section by section

Running example (California): a $90,000 whole-home project producing 30,000 kWh/yr, home using 20,000 kWh/yr, with a Powerwall 3, two EVs, and a heat-pump HVAC + water-heater conversion.

Full Analysis top
Full Analysis: your market banner up top (here "Net-Billing (NEM 3.0) — California"), the User Guide link beneath it, Expert mode (hides the explanations once you know your way), then the numbered sections. The live "solar budget" bar shows whether your roof covers everything you're adding.
Work top to bottom, expand as you go. Each numbered card opens with a tap. Quick's inputs are already here — you're refining, not re-entering.

① Your energy baseline

Your pre-solar life: usage, bill, rates. This is where accuracy lives:

Rates
The rate block: your blended rate (bill-derived when possible), the export/NEM credit, and optional time-of-use windows.
Monthly grid
The 12-month grid. Add monthly bill amounts in the $ cells too and Sunalysis computes your true blended rate from a whole year.
The grid's two safety rules

(1) The grid takes over from your annual figure only when all 12 months are entered — a half-filled grid never silently changes results; the annual number stays in charge and the helper text says so. (2) An upload auto-fills only months it covers nearly completely (≥85% of days); partial months are flagged for you to type. Both rules exist so incomplete data can never quietly understate your usage.

Time-of-use in one example

Suppose off-peak is $0.30 and 4–9 pm is $0.60. Evening is exactly when your panels stop producing — so without a battery you're buying the expensive hours from the grid. A battery charged on your free midday surplus discharges into the $0.60 window: that spread, times the energy shifted, times ~365, is the battery's arbitrage income — computed with round-trip losses and degradation included.

② Electricity Production & Panel Selection

Electricity Production and Panel Selection section
The system itself: costs, production, size — plus panel model selection and the design-a-system option.

Everything from Quick §1, plus the deeper levers — tidied into two fold-out cards so the section stays readable. 2.1 Panel & equipment specs (optional), a teal-bordered card, is where you pick your actual panel model (its first-year settling and yearly degradation feed the 30-year math; a what-if compares panels side by side). 2.2 Seasonal production shape — used with annual production (optional) holds the seasonal curve presets — it shows the active preset even while collapsed, and once you enter all 12 monthly production values it dims to "not needed — your monthly entries set the shape," because your own months always win. Enter installer monthly production estimates if you have them, or let "No installer quote yet?" design the array and battery for you.

How good is the production number on my quote?

Installers estimate production with shading and orientation software — usually decent, occasionally sunny-side. Cross-checks: (a) the ⓘ shows your region's typical kWh-per-kW — divide your quote's production by its kW and compare; (b) after signing, upload real production (Enphase) and see; (c) the ±15% sensitivity band shows your result if the estimate runs hot or cold. If the deal only works at +15%, that's worth knowing before you sign.

③ Battery storage

Battery section
Real models with warranty and chemistry, unit count, capacity override — and the honest future-replacement line (a fresh pack's capacity is credited from its replacement year).

Same decision as Quick 3.1 with full control: number of units, usable-capacity override, degradation rate, reserve floor for backup, and the replacement year and cost (defaulted to the warranty term — edit or untick to suit). The results' "Savings vs. independence" chart shows what one more unit really buys — more bill savings, or independence only.

Where the seasonal production curves come from. The curve presets inside section ②'s 2.2 Seasonal production shape card (S. California, N. California, Mountain West, and the rest) are regionally representative monthly distributions in the style of NREL PVWatts production profiles for each region's reference cities — the cities are named right on each option's note. They were audited in July 2026 against physical solar geometry: correct peak month, correct hemisphere, seasonal swing within the bounds set by roof tilt and winter cloud, and every curve summing to exactly 100% of your annual figure (a July-2026 audit caught and fixed four curves that summed slightly off). Remember the division of labor: the curve only decides when your production happens across the year — how much you produce always comes from your own entered annual figure, and entering your installer's month-by-month estimates overrides the curve entirely (the recommended path for site-exact accuracy). A cross-check script against the live NREL PVWatts API ships with the project (pvwatts_check.js).

New in v8.4.4 — the outage reserve now drives the whole analysis. The "Reserve held for outages" slider lives on the redesigned Energy Security tile (which now shows your energy self-supply and your time-on-own-power side by side, each labeled). Because a battery kWh held back for a blackout can't also shift daytime sun into your evening, moving the slider recomputes everything live: your solar-supplied %, your Energy Security, and — in most regions — your payback, IRR and savings. The one exception is 1:1 net metering, where exporting and re-importing a kWh net to the same retail credit, so a battery there is backup value only and the reserve leaves your bill unchanged (it still moves your self-supply %).

④ Electrification

Electrification section
EVs and appliance conversions — each with its own fuel type, run-window, seasonal months, and editable numbers.

Quick §3.2/3.3 with the hood open: a "starts" year for every conversion (now — the default — or in 1 to 10 years: a future-dated swap joins the savings, the load and, if included, its cost in the year you schedule it, and the printed roadmap shows your actual years), per-appliance fuel type (gas / propane / oil — propane and oil conversions save far more), run-window (a pool timer runs on solar; cooking happens at dinner), seasonal month chips (heat the pool May–September only), equipment-cost option (charge each conversion's upfront premium into a blended return), and per-EV mileage, efficiency, insurance and premium fields — plus a per-vehicle arrival year ("EV 1 now, EV 2 in 5 years"): a scheduled car's savings, charging load and premium start in its own year, and its insurance adjustment starts and fades out from that year. There's also an "I already drive an EV — tells us when you charge" note (miles + charge window) for the car in the driveway today — it never adds usage or claims savings; it re-times the charging already inside your bill so the solar split is honest (and stands down automatically when you upload real meter data). Expect the number to move, and know which way: owning the EV has already helped — it made the bill your panels aim at bigger — and that gain is counted the moment you enter the bill. Choosing overnight then tells the model that a slice of your power is drawn after dark, where panels can't reach it, so the projection eases back a little; choosing during the day lifts it. That is timing, not a penalty for owning the car, and the note under the control says so. The remedy for an overnight slice is storage — which is why, when you're sizing a system with no installer quote entered, the recommended battery grows once you say you charge overnight.

"Include equipment costs in ROI" — what that toggle does

Off (default): the analysis assumes you'd replace dying appliances anyway and counts only the operating savings. On: enter each conversion's incremental premium (heat-pump water heater price minus the ordinary tank you'd have bought) and Sunalysis shows a second, blended return with that equipment charged in the year each swap happens — today for "starts now" items, later for scheduled ones — the honest all-in figure, side by side with the solar-only one.

⑤ System design check

The same read-back as Quick §4, with more instrumentation: sizing verdict against your (now electrified) load, backup-power estimate for your battery choice, solar-supplied share, and the design optimizer's view if you're in no-quote mode.

⑥ Financing

Split in v8.3: what used to be one long section is now two — ⑥ Financing (how you pay) and ⑦ Moving, repairs & insurance (what ownership really costs). Same controls, same math; each now has its own card and its own chip in the jump bar.

Full Analysis sections 6, 7 and 8 after the v8.3 split: Financing; Moving, repairs and insurance; Investment comparison
The v8.3 arrangement: ⑥ Financing · ⑦ Moving, repairs & insurance · ⑧ Investment comparison.
Financing section
The money plumbing: how you pay, what the home gains, what upkeep really costs.

Cash/loan/lease details (Quick §2's engine room). Your financing choice is the single biggest lever on your return — cash and loan show ownership returns; lease/PPA switches to an honest "is this lease worth signing?" analysis instead.

⑦ Moving, repairs & insurance

The long-run ownership costs: the resale-premium method and sale-year (what the system adds to your home if you move), the maintenance reserve, inverter replacement by inverter type, and the insurance line — every deduction the headline already subtracts, visible and editable.

The costs people forget (already counted here)

A maintenance reserve on a five-year cycle, an inverter replacement in the mid-life years (type-dependent), your battery's future replacement, and a home-insurance bump that escalates — all already subtracted from every headline figure. That's why Sunalysis numbers can look slightly lower than a glossy brochure's: the brochure didn't subtract them.

⑧ Investment comparison

Investment comparison section
The market benchmark's controls: return, hold years, tax rates, risk-free alternative — all editable.

Quick §6's assumptions, exposed: the market return (default 10% gross), your hold period, your federal bracket and state capital-gains rate (pre-filled from your state at 2026 law, editable — labeled "up to X%" because it's a top-bracket estimate), the risk-free alternative, and Skeptic's View. If your state pays SREC / incentive income (NJ, PA, MD, DE, OH, VA, WV, DC, MA, IL), the SREC field appears in the baseline section automatically — enter your installer's estimate and its program years; it's never assumed and it's flagged as taxable.

8 · Reading your results on screen

👁 The small print got darker (v9.2.1.49). Every faint label, hint, chart caption and line of small print in the light theme was deepened until it clears the readability floor against whatever surface it is actually printed on — not against the white it was designed on. Four status pills that were hard to read against white were deepened with it. Nothing moved and nothing was renamed; the same words are simply easier to read. The dark theme is unchanged, and so is the printed report, which sits on paper rather than on a backlit screen.

Header verdict strip
The always-visible verdict strip.

Deeper layers below the headline: the Energy Security score (how much of the year, played hour-by-hour, you'd run on your own power) with the "Savings vs. independence" battery chart (two lines — bill savings and hours of independence — with your pack marked on both) and your Energy Ownership tier; the Solar Window Reward (what each kWh moved into solar hours is worth under net billing); the year-1 accounting (every dollar of the first year, itemized); the month-by-month chart; the market comparison; and the ±15% band on the headline — a decision that survives the low end is a safe decision.

Savings vs. independence battery chart
The "Savings vs. independence" battery chart. The teal line counts energy (the bill-savings view); the orange line counts hours of the year (the independence view). Where teal flattens but orange keeps climbing, extra battery is buying independence, not savings — your current pack is marked on both lines.
Why two lines? Money and independence are different questions

The teal line counts energy: of all the kWh your home uses in a year, how much do you supply yourself? Every self-supplied kWh is one you don't buy, so this is the bill-savings view. It flattens at a “knee” because the battery's job is the night — once it can hold a typical night's worth, there's little energy left to capture. Deep night at a home is a refrigerator and standby loads: many hours, few kWh.

The orange line counts hours: of the year's 8,760 hours, how many does your home run entirely on its own power? It keeps climbing after the teal line flattens, for the same reason in reverse — a bigger pack bridges deeper into winter nights, converting many grid-touching hours into solar-supplied ones while moving almost no dollars.

How to use it: the battery size where the teal line flattens is the right size for your wallet. Anything past that is an independence purchase — more of the year without the grid — worth it if outages, rising rates, or self-reliance matter to you, but it won't meaningfully cut your bill, and Sunalysis won't pretend otherwise. (Under 1:1 net metering only the orange line appears — exports earn full retail credit there, so battery size barely changes your bill either way.)

Looking for what changed? Release notes now live in a separate document — Sunalysis Release Notes — so this guide stays a guide to using the calculator, and the notes can be reissued on their own schedule without republishing the manual.

Your solar budget for electrification

Just above the monthly chart sits a card headed ☀ Your solar budget for electrification, and it is the one that answers “can my roof actually carry a battery and an EV?” Your roof makes a fixed amount of power. Your home already uses some of it. What is left is your budget — a battery stores it for the evening, an EV or a new appliance spends it. Teal is the part your own solar covers; grey is what the grid tops up. The bar moves as you add or resize equipment below it, so you can see the moment you start buying from the grid again.

If you cannot see it, it is waiting for a production figure. The card has nothing to draw until your analysis knows how much power the system makes, so it holds back until then and says so in one line where it will appear. Enter your annual production — or let the system-design check size it for you — and the card fills in. In Quick Estimate it lives inside §3 Refine your analysis; in Full Analysis it sits on its own, just above the monthly chart.

The month-by-month chart, explained (new in 8.3)

The Monthly accounting chart in the Energy section now opens with a plain-language key. Each month gets one column: everything above the 0 line is what your solar produced (teal = used at home, orange = exported), the grey bar below the 0 line is power you still bought, and the dark line is the grid net — exports minus imports, read on the right-hand axis. Every term has its own ⓘ bubble with a worked example, including the two-axes distinction (bars read left, line reads right — different scales, so compare bars with bars).

The Simulated Daily Energy Flow (new in 8.3)

Simulated daily energy flow: fourteen simulated July days with stacked energy bars, grid-net line, weather icons, and the violet battery-charge curve breathing daily between its dawn low and full charge, with a tapped storm day’s detail tiles
Two simulated July weeks: the violet curve is the battery’s charge through each day — low at dawn, full by mid-morning, drained through the evening — and the storm on day 3 breaks the rhythm.

Directly below the monthly chart lives a day-level view: two typical weeks for any month (tap a month chip, Jan–Dec). It is built from your actual monthly result — system size, battery, EVs and appliances included — and only the day-to-day weather pattern is simulated (sunny, partly cloudy, cloudy, rain, storm). The simulated days are balanced so the two weeks average back to your month's real numbers: sunny days sit above your true daily average, storms below it.

Tap any day's column for its numbers: produced, home used, solar-supplied, exported, grid-supplied, and grid net. With a battery configured, the violet dashed curve shows the pack's charge hour by hour on the right axis (0–100%): it sits at its low at dawn — the evening and night have drawn it down — refills through the morning (typically full by mid-morning on clear days), and drains again after sunset into the next day's dawn. Whatever is left at dawn carries forward; the pack never resets overnight. The dotted line is your outage reserve (set on the Battery tab, default 15%) — the slice never spent on everyday cycling. Pinch the chart (or use the − / + buttons) to stretch the 14-day view and inspect any day hour by hour — zooming is purely visual, so every number stays exactly the same. The day tiles read the curve for you: battery at dawn (the day's low), peak charge with the hour it was reached, evening + overnight draw, and next dawn — and day N's “next dawn” always equals day N+1's dawn, so you can follow the charge from day to day.

Honesty note: this view simulates which day gets which sky — nothing else. Your production, usage, and self-consumption come from your inputs, and the spread between sunny and stormy days is scaled to what your monthly result implies (a nearly solar-supplied month cannot have contained a production-killing storm). Each sky type produces its real-world share of a clear day — storms about 10%, rain 15%, clouds 45% — never brightened; instead, the mix of skies is chosen to be consistent with your monthly result, and every 14-day stretch keeps at least one true weather event. A Storm conservation control on the card lets you rehearse bad weather: cut usage by 50% (strong conservation) or 70% (outage-style essentials — fridge, lights, internet) through each storm or rain day’s whole weather night — from that day’s dawn to the next morning’s dawn, the window a household actually rations through. The reduced-usage hours are tinted teal on the chart, a faint dotted curve shows the battery without the cut, and the amber chip reports the measured result both ways: hours gained above the outage reserve, and grid kWh avoided. While any what-if is active the chart’s axes stay locked to the comparison frame, so bar changes are visibly proportional to the kWh. Each day is now ONE stacked column — teal solar-supplied + orange exported + grey grid-supplied — wrapped by a red dashed box marking the day’s total consumption (red so it can’t be confused with the violet battery curve), so production and consumption read side by side: a column towering above its box is a big export day, grey filling the box top means the grid stepped in, and a conservation what-if visibly shrinks the box on storm days (the buttons now say so: “Cut back −50% (storm days)” / “Essentials −70% (storm days)”). In the Monthly accounting chart itself, the grey Grid-supplied bars are now weather-adjusted for the entire month: the ledger nets each month as one balance, so a month producing more than it uses would show zero grid — instead, the same hour-by-hour weather simulation runs for all twelve months at the real configuration (storm, rain, and cloudy days at their real frequency) and the grey bars show that storm-adjusted grid draw, with hover tooltips for exact kWh and a note beneath the chart. Display estimate only; every financial figure keeps using the ledger; the estimate follows the outage-reserve setting. The simulation sandbox also gains a Reserve floor stepper: adjust the battery’s minimum state of charge in 5% steps for the daily-flow card only (it starts at the app’s own outage-reserve setting and never changes it) and watch the trade-off live — a lower floor means more usable battery and less grid draw, a higher floor protects more outage backup. Know what conservation can and cannot buy: on a pack whose usable capacity is smaller than the overnight draw, the battery reaches its reserve on most nights regardless — the tile on such a day says so plainly, and the win is the smaller grid draw. It is a what-if only — your monthly accounting never changes. Above it sits the Simulation sandbox — a bordered “Try changes — contained to this card” box with Panels −/+ and Battery −/+ steppers and a Reset. Everything in it is a simulation: add or remove panels (one panel ≈ your entered panel wattage, default 400 W) and battery units (one unit = your selected model) and the 14-day view redraws with the simulated hardware while the skies stay frozen, the faint dotted curve showing your system as it stands today. An estimate strip reports, computed by the same engine as your headline, the approximate cost difference (panels at your quote’s own implied $-per-watt, batteries at regional rates scaled to your quote’s discount level — the System design check method) plus payback, IRR, 30-year net gain, and solar-supplied percentage, each shown as current → simulated. Nothing outside the card changes — the headline bar, monthly accounting, and every input stay exactly as they are; to make a change real, edit the System (solar) or Battery storage sections. The card also explains flat responses honestly: batteries only store surplus solar, so when an added unit finds no surplus left to capture (typical of winter 14-day stretches) a note says it sits idle and suggests panels, and when grid need is already ~zero it says more storage cannot help; the what-if chip states grid savings both in kWh and as a percentage of the 14 days, and the conservation chip notes that only the storm/rain days (N of 14) are cut. If no battery is configured, the card both lets you try one in the simulator and offers a one-tap shortcut to the Battery section to choose one for real. The chart legend beneath the graph now uses color swatches (matching the monthly chart’s style) for solar-supplied, exported, grid-supplied, the grid-net line, the battery curve, and the conservation tint. Beneath the chart, a solar-vs-grid share bar totals the 14 days: a teal fill showing the percentage of the home’s electricity that came from its own solar (plus battery) versus the grey share the grid topped up, alongside the year-round solar-supplied figure from the headline — the reassuring context for whatever grid draw the bars show. On large screens (≥1200 px) the app also consolidates its four sticky top bars into two: the payback/IRR/net-gain/solar-supplied strip docks into the header row, the section chips share a row with the Quick/Full tabs, and the Results navigation tiles (Money, Energy, Trust) compact to a single slim row — roughly half the vertical space, with nothing removed. One real-world effect remains visible: because the outage reserve never joins everyday cycling, the 14 days’ solar-supplied total can sit roughly 10–15% under the monthly average in grid-balanced months — lowering the reserve slider narrows the reserve part of it. That gap is the true cost of the outage reserve plus the battery’s round-trip losses — real, not an error.

On your phone: the collapsing bars (new in 8.3)

Phone view scrolled into the results: the top bars have collapsed to a thin summary sliver showing payback, IRR, net gain and solar-supplied share
Scrolled in: everything collapses to a thin live-results sliver. Scroll up — or tap it — and the bars return.

On phones and foldables, the header, results strip, Quick/Full tabs, section-jump chips, and the results navigation (Money · Energy · Trust) all slide away as you scroll down, leaving a thin sliver with your live headline numbers — Payback, IRR, Net gain, Solar-supplied — so the whole screen belongs to the content. Scroll up any amount, or tap the sliver, and everything returns. The jump chips know which mode you're in and carry you straight to any section.

Your session also survives a reload now: close the app, fold your phone, come back — your region, mode, inputs and place are restored (for up to 14 days). The one thing that cannot survive a reload is an uploaded data file (Green Button usage, Enphase production); the app shows a notice and takes you to the upload card to re-attach it, and until you do, results are computed from the model rather than your measured hours.

9 · The printed report

Print panel
🖨 Print → Detailed (the complete multi-page report) or Brief · 3-pg (the three-page executive summary) → your browser's print dialog saves the PDF. Both documents print the same from Quick Estimate and Full Analysis. Use Choose sections to trim the Detailed report to just the pages you need — the anchor pages always print. Add a "Prepared for…" name when sharing.

The executive summary is the whole story on one page — read it in this order:

Executive summary page
1) the headline (already net of costs and replacements) → 2) the spine: what you put in vs. what you get back, split into the panels+battery floor and what electrification stacks on top → 3) the four boxes: year-1 cash, the do-nothing cost, the market alternative, selling early. Every box cites the §section where its math lives.
Seasonal energy page
The seasonal page: your roof vs. your home, month by month. If you uploaded real data, the green note says so — the split was computed from your pattern.
Sell-early page
"What if you move sooner?" — the value travels with the house: savings banked plus home-value premium, year by year.

Near the end, Sources & Methods and the assumptions ledger list every input, default, and method note — the pages to show a financial adviser or a skeptical relative. Brief is the same math in three pages for forwarding. There is no separate Quick-tab report any more — whichever tab you're working in, the same two documents print.

New pages this release: the Summary page now benchmarks your IRR, a quote-check verdict page prints the System design check's answer, and the report adds an export audit, a monthly bill chart, and a battery signal. Trim the Detailed report with Choose sections in the Print panel and the remaining sections renumber themselves — the anchor pages (cover, summary, contents, inputs audit, cash flow, sources, disclaimer) always print.

The Detailed report’s energy pages now match what you see on screen. The “Your energy, month by month” seasonal chart prints the weather-adjusted grid estimate (red bars below the zero line — storm and cloudy days included) instead of the ledger’s netted months, with the caption and legend saying so; its solar-supplied callout reads both ways, e.g. “~89% weather-adjusted (monthly ledger: 98%)”, and the at-a-glance grid-import stat is likewise labeled weather-adjusted. A new page follows it — “Two typical weeks of real weather” — printing a summer and a winter 14-day stretch from the daily-flow simulation at your real configuration only (on-screen what-ifs never print): each day’s stacked column with its red dashed consumption box and battery curve, the 14 days’ solar-supplied share, and a storm-day stress line. The “30 verifiable factors” page now also notes that beyond the modeled factors, the report’s illustrations run on the same engine. Financial figures everywhere keep using the monthly ledger; the weather adjustment is a display estimate, and the Brief report is unchanged.

Signing in: the front door, HQ and your PIN (v9.2.1.53)

Your site opens on a sign-in. On an installer's branded edition the opening page is the team's door and nothing else — your logo, your market, an email and a password. Sign in and you are in 🏢 HQ: no cards to choose from, no second click. A homeowner never sees this page; the link you send them opens straight into their plan. (One edition keeps its previous opening screen for now at its owner's request, and the plain white label still offers Quick Estimate and Full Analysis to anyone, with HQ appearing for a signed-in seat.) The Playground has the same door in its own words.

Your PIN. The first time you sign in on a device you choose a four-digit PIN — not 0000, 1111 or 1234, and not a run like 2345. For as long as you keep using the site it opens straight into HQ. After five minutes without a touch the screen locks and asks for the PIN; the right PIN puts you back exactly where you were. Your password is still the sign-in on a new device and still what you type to change the PIN (👥 Team🔢 Change my PIN). Forgot the PIN? Tap Sign in with your password on the lock screen and choose a new one — no manager needed.

Wrong tries. Three wrong PINs, or five wrong passwords, lock the sign-in for five minutes and send you an email. A second round of wrong PINs straight after the first locks the seat until an Owner (or a Manager, where the company has not named an Owner) resets it with the ordinary one-time link, which sets a new password and a new PIN; the Team tab shows 🔒 locked — needs a reset on that seat. A password lockout never goes further than five minutes.

Hand it to your client — the Customer Playground

When an analysis is ready, a signed-in seat can hand the client the calculator — safely. Open the 🏢 HQ tab (first in the tab row once you are signed in) and go to ➕ Proposal: name the client, add your email (their “Send back” goes there), pick how long the link lives (14 days by default), choose which knobs they may adjust (battery, EVs & timing, appliances, usage & bills, hold years — all on unless you untick them), and add a note if you like. You get a private link to text or email and a matching file to attach — either opens your branded site straight into “Your Solar Plan” for that client: your quote locked exactly as proposed, their name on the banner and the report cover, and everything else free to explore — including the 14-day simulation and Ask Sunalysis.

Their 📒 My scenarios button saves the versions they like — each with payback, IRR, 30-year net, and what changed — and Send to [you] downloads a reply file and opens their email app pre-addressed to you — they attach the file and send. Open that file with your ordinary 📂 Open file button and their scenarios appear on your screen, live, with an “open this scenario” button on each: advice-ready.

Getting back to your own view. Previewing a client link yourself? The “Your Solar Plan” banner carries a button: “↩ Back to installer view” if you're still signed in on that device, or “Installer sign-in” if not. Signing in ends the client view (their saved scenarios stay); cancelling changes nothing. When no one is signed in on your site it opens on the sign-in page (v9.2.1.53), and the 🏢 HQ panel has a Sign out.

The link always reopens onto the plan as sent. However far your client wanders, tapping their link again brings back your proposal exactly as minted — their saved scenarios stay in the 📒 journal, and its “↺ Open the plan as sent” button walks back without even a reload. So if a client ever says “my screen doesn't match your printout,” the answer is one tap away.

Every printout a client makes is stamped “Client exploration — not a revised proposal.” An expired or closed link politely tells them to ask you for a fresh one (Manage active client links, inside the 🗄️ panel, closes any link early).

Your Client Book. The 🏢 HQ tab works in four views — 📇 Clients, ➕ Proposal (create a client version), 📈 Analytics (your own sales analytics), and 👥 Team (your people, their access, and who is working what) — chosen from the strip directly under the tab row, which stays with you as you scroll. It opens even with nothing entered, so reaching your saved clients never needs dummy data. The Clients view is the company's book of business: every client, every proposal (stored on the server when you mint it), searchable, status at a glance, and whether the client has opened their link — your follow-up signal. Per proposal: Open (load it back into the calculator), Extend / Reactivate (their same link works again — nothing to re-send), New link, Close, Remove; archive whole clients when a deal is won or gone. Each client card also carries + Proposal — see the next paragraph, because it is the answer to the most common question about this panel.

It stays with the client you are working on. Open a client, open their proposal in the calculator, and coming back to 🗄️ Client Management returns you to that client — their card open and scrolled to — rather than the + Proposal tab, and the + Proposal name box arrives already holding their name. A strip under the tabs says who you are on, with one tap to their 📋 file and an ✕ to stop. It stays until you deliberately move to a different client, press the ✕, or sign out. On a phone, the + Proposal name list is a proper picker that opens: the client you are on first, then your ten most recent, then a ruled line and everyone else A–Z, with a search box over the whole book. And the phone’s back button closes the file or dialog you are looking at instead of leaving the app.

What the client file shows, and what it hides. While a client’s 📋 file is open, the list’s own controls step aside — the search box, the date-range chips and the + Client / ⬇ Download / ⬆ Import / 💬 Messages row, all of which act on the list rather than on this client. They return on ← All clients, with the range you had chosen still chosen; while it is hidden it stops filtering, so nothing is quietly cut from your name lists behind a control you cannot see. The file keeps its own 💬 with the unread count so a teammate can still reach you in there, and its download button is called ⬇ This client to tell it apart from the list’s ⬇ Download, which saves your whole book.

🏷 The deal stage, and everything else you can tap. A client’s stage is a coloured button: tap it, pick a stage, done — it saves on the spot with no Edit and no Save. The same is true of the two lines under the name. 📅 Follow up opens a date editor with Today / Tomorrow / next week; 💰 Contract & payments opens the contract total, the deposit and the balance with their due and paid dates. Both lines are there even when nothing is recorded yet — that faint “Record the contract & payments” is where money is entered.

🕰 How old, and how quiet. Every client in the list carries their age beside their account number, and a line saying when anything last happened and what it was — “they opened #1252”, “you added them”, “Beth wrote on the thread”. It counts five things: a proposal you sent, one they opened, a note on the thread, a job moved, or an edit to their file. The number turns amber after a fortnight and red after six weeks, so a folder tells you which clients have gone quiet without your reading a single date. The client’s 📋 file says the same with the exact date they became yours.

🧭 Getting around. A client’s 📋 file is four separate regions — 📝 Client notes, 👥 Assigned team, 💬 Thread and 📄 Proposals — and each is its own card, with a colour down its left edge and a tinted title bar. A section’s own buttons live in its title bar, so what a button acts on is whichever card it is standing on. The row of jump chips at the top of the file goes straight to a region and lights up to show which one is on screen. ← All clients takes you back to the list, with your folder, search and date range exactly as you left them.

Where you were. The first time you open a tab it starts at the top; come back to it and you return to the same place. That holds for the calculator’s tabs and for 📇 Clients, + Proposal, 📈 Analytics and 👥 Team. Opening a client’s 📋 file is the exception and goes to the top — it is something new to read, not somewhere you are returning to. If you start scrolling while a page is coming back to you, it lets go and leaves you where you are.

📋 The Client file. Expand any client’s card and press 📋 Client file — edit, contact & notes: one page for everything about that client. ✏️ Edit lets you correct the client’s name and account # after creation — renaming onto a name you already use is refused with a clear message, so two clients can never merge by accident (and a mistyped name, the trap described two paragraphs down, now has a proper fix: open the file and rename). The file also keeps optional contact details — address, phone (tap-to-call), email — an optional deal stage (Lead → Quoted → Won → Surveyed → Permitted → Scheduled → Installed → Inspection → PTO / Complete, or Lost) worn as a pill on the client’s card so your pipeline reads at a glance, the 💰 Contract & payments block described below, and a large Client notes area for site-visit details, financing conversations and follow-ups — press 💾 Save notes and it is on the server, on every device you sign into. The record is yours alone: never shown to the client, never printed. Ask Sunalysis can answer from your notes and stages (“which clients did I mark quoted?”), though it deliberately never carries a client’s address, phone or email. If the file says your server needs its one-command update, run it — everything else keeps working meanwhile.

🏷 Your deal stages. The ten stages above follow a solar job from the first knock to permission to operate — deliberately, because a solar job is roughly a quarter selling and three quarters delivering, and a book that calls all of the delivery “Won” cannot tell you which job is waiting on a survey and which is waiting on the utility. If your company works a step differently, a manager can add stages of their own from 🏷 Your deal stages, up to twelve, each with its own colour. Retiring one takes it out of the dropdown so nobody can be moved onto it again — and every client already standing on it keeps it, name and colour intact, because your history is not ours to rewrite. Type the same name again later and that same stage comes back rather than a second one wearing its label.

🚨 If Sunalysis stops working. Every edition serves a status page at /status.html on the same address you already use — so if you reach Sunalysis at sunalysis.app, the status page is sunalysis.app/status.html. Open it and it checks the calculation server from your own device and says plainly whether the problem is your connection or ours. If the app itself cannot reach the server it will offer you the link. Whatever it says, your saved work is safe: your clients, proposals, notes and contract figures are in the database and backed up every night, and any proposal link you have already sent to a homeowner will start working again by itself. Leave the page open and it will tell you the moment things recover.

🕓 Your company’s time zone. A follow-up date and the four money dates below are calendar days: they carry no clock, so something has to decide whose midnight ends them. A manager answers that once, from 🕓 Time zone beside 🏷 Stages in the 👥 Team tab, and every seat in the company then reads the same day — the Clients list, the Analytics and the follow-up counts alike. Eight zones are offered by the names people use (Eastern, Central, Mountain, Arizona, Pacific, Alaska, Hawaii, Atlantic), each showing today’s date in that zone as you look at it, so you confirm the choice by recognising the day rather than by trusting a name; Arizona is listed separately because it keeps standard time all year, and “Somewhere else” opens the full list. It changes what your team reads and never what is stored — no date is rewritten, and you can change it back. Until a manager sets one, each person’s own device decides, which is why a row could say DUE TODAY while Analytics had already counted the same job late. The Installer Playground is pinned to Pacific and cannot be changed, so a demonstration reads the same to everybody.

🏟 What is actually in the practice playground. It is a fictional solar company three years into trading — around seventy households, real proposals, and a delivery team arguing on the message threads about the jobs that went wrong. You can break any of it; it rebuilds itself to the same world every night, so anything you learn there is still true tomorrow and anything you ruin is gone by morning. Everything the product does is represented, which is the point: every lost deal says why it died, a couple of jobs carry change orders (one of them voided, one a credit), there is a price book with the company’s own items on top of the standard list, costed lines on four jobs, a deposit that bounced and was paid again, a money-owed report with debt sitting in every band including the ugly ones, nested crews with people on the same crew who see different amounts, and a three-year stage history on every client. One job’s margin is deliberately unknowable — a single line on it has no cost recorded — so you can see what the sheet does when it cannot answer honestly: it tells you what the job is worth and says nothing about the margin. That is the same thing it will do on your own book, and it is why the margins it does show can be trusted.

⚠ What asks before it happens. Four things stop and ask, with the verb on the button rather than a bare OK: archiving a client, closing a proposal link, taking a member off a client, and merging a duplicate. Each tells you, in the same place every time, what can and cannot be undone. The merge question is the serious one: a merge moves the duplicate’s proposals across and appends its notes, and then destroys that record. Before it does, every field the surviving record has blank is carried across from the duplicate — the phone, the email, the account number, the follow-up, the address as a whole and the money header as a whole — and the message afterwards says which. The survivor’s own values are never overwritten, and a half address is never mixed with another record’s. What is still discarded is the duplicate’s stage, thread, assignments and history. It does not go to 🗑 Removed and it cannot be brought back. If you are not certain, archive the duplicate instead. Bringing a client back, changing a stage and setting a follow-up ask nothing on purpose: they are one tap, they show their value before and after, and doing them again undoes them.

🗺 Territory — your book, read by area. At the bottom of the Sales Studio sit five tables that answer the questions you cannot answer one client at a time. Where you win is your win rate per ZIP code, next to that area’s electricity price — the biggest single reason solar does or does not pencil at a house, and something your proposals have been recording all along. Where the next job comes from counts the jobs you signed there in the last twelve months, because installed work sells the next job on the same street and that effect fades. Where to look next finds areas whose power price is at least as high as the areas you already win in, and where you have barely quoted. What a job is worth here is the typical signed price, with the margin beside it. How long it takes here is plan check, install and permission to operate, measured in that city rather than in general.

The important part is what it will not tell you. A win rate counts decided deals only — a deal still open has not been lost. An area with fewer than five decided deals gets no percentage at all; it appears underneath instead, with how far along it is, so a quiet area is something you can see rather than something you have to notice missing. A margin shows only where every line of every job there has a cost recorded — one line without and it is withheld rather than overstated. Times come only from deals the system watched moving between two stages. Anything it does not know is a dash you can hover for the reason, and never a zero.

All five tables are free, and they say so where it matters: they suggest areas by price and by how little you have quoted there, and they do not know which areas are next to which. Nothing here leaves your company, and no address is sent anywhere — the unit is the ZIP code.

🗺 The map — the paid Territory add-on. The 🗺 Map button beside the Territory heading opens your own book drawn by ZIP code: a dot at the centre of each ZIP you have worked, sized by how many clients you have there and coloured by your win rate — the same win rate the tables show, from the same figures, so a dot and a row can never disagree. Where fewer than five deals are decided the dot is grey and says so; it is never a small red. A dashed outline wraps every area you have won in, so the shape of your territory is visible, and so is the quiet area sitting right beside it. Tap a dot, or a row in the list under the map, to read the area with the count it rests on.

There are no streets on the map, on purpose. The usual way to draw one is to put dots on somebody else’s street tiles, and every tile a page asks for tells that company which neighbourhood you are looking at. This product promises homeowners that no address goes anywhere, so the positions come from a table of Census ZIP centres that lives on your own server, and nothing about where you are looking leaves the page. A ZIP with no Census centre — a PO-box ZIP, or a typo in an address — is listed under the map with its client count rather than dropped, so the dots are never quietly fewer than the rows. Without the add-on the button still opens and says which add-on it is and that the tables stay free: a feature that is waiting, not a broken one. It is switched on per company by Arev Analytics and takes effect at once. The written summary follows.

✏ The lasso. Press Lasso above the map and draw a loop around the areas you want to read together, then let go. The dots inside the loop are rolled up into one set and the reading appears under the map: how many clients, how many won, lost and open, a win rate over the combined decided deals with its count, the typical signed price across every priced job inside the loop with how many it rests on, the power price, and how many were won in the last twelve months. A margin appears only where every signed job inside the loop carries a cost on every line; otherwise it says how many do not. Every figure is computed on your server from the raw records — never an average of the per-area numbers, because the typical price of two areas together is not the middle of their two typical prices. Only the ZIP codes inside the loop leave the page; the loop itself and the map positions stay where you drew them. Tap Clear to remove the loop and draw another.

✨ Territory, written. With the add-on on, one plain sentence appears under each of the five tables reading its figures back, a since last week line under the Territory heading says what moved in your book by area — and that window is now yours to choose (v9.2.1.49): the past week, 30 days or 90 days, read back from history the add-on was already keeping. If your history is not yet deep enough for the window you picked, it says which window it really used rather than answering a shorter question in silence — and the lasso reading offers ✨ Draft outreach: a subject line and a short letter to the homeowners in the circled areas, with a Copy button. The assistant never computes anything. Your server works out every figure from your own records with the same thresholds the tables use, hands the finished numbers over, and checks every number in the answer against them before you see it — a sentence carrying a number that is not in your figures is dropped, which is how a confident wrong number is kept off the page. No household is ever named, because none is ever sent: the assistant sees ZIP codes, city names, counts, prices and rates, nothing else. The same figures are never written about twice; a sentence is kept until the figures it was written from change. Hover any sentence to see this said in its own words. The written readings need the owner’s one-time setup on the server (a shared secret for the assistant); until then the page says so where a sentence would be.

🔍 Dialling down into an area. Tap a dot, tap a row in the Area table, or draw a loop, and the clients behind it open underneath the map. Open comes first and is sorted by whoever has been left alone longest — that is the recovery list — with what they were quoted, the system size, and a note when nobody ever opened the proposal. Won shows what was signed. Lost shows your own reason for the loss and what a comparable job signed for nearby, so “too expensive” has a number beside it. Every row opens that client’s file. Underneath, the area against the rest of your book, and the areas that share a border with it — including ones you have never quoted, which is where the next job comes from.

🔍 What the area is doing. Under the same panel sit up to six short lines your server worked out and wrote itself. Momentum: what you signed and quoted here in the last ninety days against the ninety before — and, where an area has jobs in it, a year since the last one and nothing quoted since, it says so, because that is a referral pool nobody is asking. Price: what you quote here in dollars per watt against what actually signed in the areas over the border, naming them and the gap; and separately what the deals you lost on price were quoted, which is the answer to “were we too expensive”. Who wins here: your reps rated inside this area over the same five decided deals an area itself needs, and a note when an open quote is sitting with somebody who has never closed here — a suggestion, not an instruction. Speed: lead to signed and signed to switched on, each against your whole book. A line is left out entirely rather than stated on too little, and none of them was written by the assistant: they are comparisons, and the assistant does no arithmetic — your server computes them and writes the sentence, so there is no figure in them to be invented. Amber marks something worth a look; it is never red, which in this product only ever means something is being taken away.

✉ Who to write to. Beside the drafted letter there are now three lists, so you know who to send it to: Recover (open quotes that stalled), Win back (lost inside eighteen months) and Ask for a referral (installed, switched on and quiet for a quarter). Choosing one names the households and offers the names for copying — and ✨ Write the letter for this list writes the letter for those people rather than the general one: following up on a quote that went quiet, telling somebody who went elsewhere that prices and equipment have moved, or asking a customer whose system is running whether a neighbour has asked about it. No household is ever sent to the assistant; it is told how many, how long they have been quiet and your own words for why a deal was lost, and nothing more.

🗺 The Territory map, with its ground. Under the dots sit the Census Bureau’s own ZIP areas — your areas tinted with your win rate, the ZIPs around them outlined, city names on them — held on your own server, so nothing about where you are looking leaves the page. There are no streets, by design: nothing is drawn that is not exact. Drag to move the map, pinch or scroll to zoom, Fit to come back to the whole book. A loop you drew follows the view. On a server before its update the dots sit on a grid and the map says so.

🔩 Equipment — what went on the roof. On every client file, between 📄 Proposals and the money, a 🔩 Equipment section. Behind it is your equipment list: real makes and models in seventeen categories — modules, microinverters, string and hybrid inverters, optimisers, batteries, gateways, EV chargers, rail, attachments, skirts, critter guard, monitoring, main and sub-panels, wire and consumables — each with the one number that matters for it (watts for a module, kWh for a battery, kW for an inverter). It arrives filled with a short real list the first time a manager opens a file, and you add your own; a model you archive stays archived.

The cost is a history, not a box. Recording a new cost adds a row with the day it takes effect — last month’s is still there, and the list can show how far each move went. That is what makes “our costs change monthly” something you can look back at instead of something you lose. Recording one needs the Billing permission and a manager; nothing overwrites anything.

On the job. Rows are grouped by where they came from: Sold (what the proposal said), Survey (what the surveyor confirmed or changed), Ordered (with the PO and the dates it went out and came in) and As built (what the crew actually put up, with serials — a warranty claim needs a serial). Each is its own row, so what was sold and what went up are both kept. 📄 From the proposal fills the array and the battery from the proposal that was sold, working the module count out from the system size and the module’s own watts; it suggests, and you press to accept. Taking a row off is red, happens at once, and offers Undo. The cost and price on a row are frozen the moment it is chosen, so a job costed in March keeps March’s numbers. Saying what went on a roof needs only the edit permission — a crew lead has to be able to — and a seat without the Billing permission sees every row and none of the money.

📈 And now you can read it back (v9.2.1.46). Once a few roofs carry their equipment, 📈 Analytics grows a 🔩 Equipment section. Modules by make and model with the kilowatts behind them; the mix quarter by quarter, so a change of supplier shows up as a shape rather than a total; micro against string against hybrid, counted by job (forty microinverters on one roof is one micro job); how often a job with an array also took a battery, and whose; which make leads in which ZIP; how many modules went onto the jobs each person is on, and each crew. With the Billing permission it also shows cost per watt by month (where a high and low season shows), what you paid against what you charged by kind of equipment, and what has moved since last quarter from the cost history. Everything downloads as one spreadsheet.

One row per job per role, and the last word wins. A job sold a Qcells and fitted an REC has two rows and one truth: the newest source on that part of the job is what is counted, and the disagreement is reported on its own as a line saying how many jobs had something different fitted from what was sold. And a figure that cannot honestly be stated is never shown as a zero: a month with a single uncosted module row is withheld, with the reason on hover. Hover any heading to read how it is worked out.

📦 What to order. At the foot of that section: the next four weeks of booked installs, and every part designed onto them that nobody has marked ordered — the surveyor’s row where there is one, otherwise what was sold, minus anything already ordered. It is not an inventory and knows nothing about what is on your shelves; the question it answers is “did we order it”. A booked install with nothing on its file is counted and said, so a parts order cannot silently miss a job. Both this and the section above need see Analytics and see all clients, because they read the whole book at once.

🧭 Came from — where a job actually reached you (v9.2.1.46). On a client file, under ✍ Edit, a Came from picker: a referral, found us online, an event or a show, came with an acquired book, or something else. Choose a referral and a second box appears — Referred by — where you type two letters and pick one of your own clients. Only your own clients can be named there; there is no way to type in somebody who is not already in your book. In Analytics, two tables read it back: Where the book came from (clients, signed, win rate, typical signed price and lead-to-signed days per source) and Who sends people (your clients who have sent somebody, and how many of those signed). The clients that never recorded a source are shown as Not recorded rather than hidden, and pinned last, so you can see how much of the book is behind the percentages before you act on them. An import may carry a source column; a value it does not recognise drops that cell and never the row.

📦 The Warehouse — what you bought, what you have, what you must order (v9.2.1.48). A 📦 Warehouse tab sits on the same line as your clients, beside 💵 Billing. Three screens: Stock (every item, how many are on the shelf, how many are on order, what each pile is worth at what you actually paid), Orders (every purchase order and what has arrived against it) and Receiving (the doorway).

Nothing here stores a count. The Warehouse keeps a record of every movement — an opening count, a delivery, stock going out to a job, something damaged, a correction — and works out the number each time you ask. That is why it can always show you why it says eleven: open any item and every movement is there with a running balance beside it. It is also why nobody can quietly change a count: a mistake is fixed by recording the opposite movement with a reason, never by rubbing the old one out.

📥 Receiving is built to be used standing up. Pick the order the delivery is for, press Everything arrived — or type a number in one row for a part delivery — and it is in the book. If more arrives than you ordered it is accepted and said out loud, because suppliers over-ship and a screen that refuses the pallet in the doorway is a screen people work around. A line marked → site ships straight to the job and is kept off the list, because it never comes to you.

🔧 And stock leaves the shelf by itself. When a crew records the as-built on a client file — what actually went on the roof, which they already do — the stock comes off. There is no second thing for the field to remember, which is the usual reason a small shop’s stock figures stop being true within three months. Each row on the client file now says from stock with the date, or not from stock. If the book says fewer than the crew fitted, it takes what it has and tells you to count the item — it never refuses to record the installation.

🔢 Counting. Any Friday afternoon: Stock → Count what is there. Type what you actually found and leave a box empty for anything you did not count — empty is not zero. Every difference is written down with your name and the date on it.

Cost, price and who can see them. Set a markup by category, and override it on any single item. The price follows the cost as the cost moves, because what you hold is valued at a moving average — every delivery re-averages the pile, and what goes out to a job keeps the average of the day it left. Every seat can see the shelf and take in a delivery; what things cost needs the Billing permission, and creating or sending a purchase order needs a manager, because an order is a promise to pay.

📦 And now it plans ahead (v9.2.1.49). A fourth screen, Plan, answers the question a warehouse actually exists for: what do I need to buy, and by when? It reads the installs you have already booked, the equipment designed onto them, and the lead times you have set, and lays out the months ahead as a table — how many of each item each month needs, and the day it has to be on the shelf by. Suggest an order groups what is short by supplier. Reading it sends nothing to anybody; press Draft this and you get a purchase order in draft, with the costs you last paid on it, for you to check and send yourself.

Holding stock for a job. On a client file you can now reserve what that job will need. Nothing leaves the shelf — a reservation is a promise, not a movement — but the free figure drops, and the second crew asking for the same eight panels is told how many are actually free rather than finding out on the roof. The status dots read the free figure, not the shelf, so an item that is technically in stock and entirely spoken for reads reorder. Recording the as-built releases the hold by itself; nothing to tidy up.

A month it cannot answer says so. If a booked install has no equipment designed onto it yet, that month cannot be totalled honestly — so the table marks it unknown and tells you which install to fill in, and every figure on the screen is labelled a floor rather than a total. It will never quietly read zero for a month nobody has answered, because a zero is the one answer that looks like good news.

Lead times, value and dead stock. Set a wait per supplier, and override it on any single item; where neither is known arriving by stays blank rather than guessing a fortnight. The shelf also reports what it is worth at what you paid, how much of that is spoken for, what is below its reorder point, and what has not moved in six months — measured from the last real movement, not from a guess.

🏛 Permit & utility — the city, as fields rather than notes (v9.2.1.50). Every client file gains a 🏛 Permit & utility section, between the proposal and what went on the roof, because that is the order it happens in. It holds the authority (your own past entries are suggested — there is no national list of them), the permit number, the day it was submitted and the day it was issued, the day it expires, the inspection and its result, the utility’s application number, and PTO. One line at the top says where the job actually stands: “Submitted 41 days ago to Pasadena · not yet issued”, “Issued, expires in 23 days”, “Inspection failed — re-inspection not booked”.

A permit lapses at 180 days, and a lapse means re-submitting and paying the fee again, so setting the issued date fills the expiry 180 days out — a starting guess you can correct, because some authorities give a year and some give ninety days.

Three screens read it. The Overwatch’s waiting on the city counts from the day it really went to the city rather than from a stage somebody set, and names the authority sitting on it. Today gains permits about to lapse and inspections due this week — including one that failed with nothing rebooked, which is the one that goes quiet. And 📈 Analytics can say how long plan check takes per authority instead of blaming a postcode for a city’s queue; an authority with fewer than three permits behind it says so rather than showing a thin number.

Recording PTO marks the job complete on the day it was granted — not the day you typed it. A date that would put the job’s history out of order is refused, naming both dates, rather than quietly sorted; and it only ever moves a job forward, never out of lost and never onto one already complete.

📞 And the call nobody makes (v9.2.1.50). Under the same section, after PTO: the day to ring them back once the job is finished, and the day you asked for a review. Today lists the calls that are due. The quiet majority of jobs end at PTO with nobody calling back, and a date on a screen somebody opens each morning is the only thing that changes that. The review is a date rather than a tick, so you can tell whether it is too soon to ask again.

🔍 Site survey — what the roof actually turned out to be (v9.2.1.52). A proposal is priced off what somebody could see from the driveway. The survey is the first time anyone stands on the roof and opens the main panel, and until now what they found went into a message, where no screen could read it. There is now a 🔍 Site survey section on every client file, between the permit and the equipment, because that is when it happens.

Two views of one record. 📱 Onsite shows six boxes — the date, the main panel rating, the panel make, whether it is full, the roof type and attic access — which is what is worth typing while you are standing on a roof. 🖥 In office shows all nine, for filling in properly afterwards. It is one record: the toggle changes what is on screen, never what is stored, and saving from Onsite can never wipe something you typed at the desk. Your choice is remembered on the device you are holding, which is the best guess at where you are standing.

It works out what needs re-quoting, and says it in a sentence. A main panel too small for the inverter on the job (the 120% rule — a 100 A service carries about 3.8 kW, a 200 A service about 7.7 kW), a Zinsco or Federal Pacific panel that most inspectors will require replaced, a roof old enough to do before the array goes on, no spare space in the panel, no attic access, or heavy shade. Each one names what to do about it, not just what is wrong — and each is worked out from the survey, so correcting a panel you typed as 400 A makes the flag go away by itself.

Nothing blocks. A finding raises a flag on the file and one line on Today; it does not stop you marking a job won, scheduling it or building it. When somebody has dealt with it, record which: re-quoted, homeowner accepted or not needed. That takes it off Today and stays on the file with your name and the date. You can correct which one later; you cannot un-clear it.

Went back? That is a new visit. Press + New visit and the old survey stays. Earlier visits sit in a dropdown immediately below, and ⚖ Compare puts any earlier one beside the current one with every line that changed shaded and the new value in bold — the same shape as comparing two proposals, and read from what was stored on the day rather than worked out again now.

📎 Documents — the client’s paperwork, on the client’s file (v9.2.1.47). A 📎 Documents section on every client file, for the signed contract, the stamped permit set, the as-built, the photo of the main panel, the utility interconnection letter. Press Add a file and pick one (PDF, JPG, PNG, HEIC, WEBP, DOCX, XLSX, CSV or TXT, up to 25 MB each), or Add a link for paperwork that lives in a Drive or Dropbox folder — the link sits in the list beside the files. Give it a title in your own words; the real file name is kept and shown underneath, so a DSC_0412.jpg can be called “Main panel, before” without losing what it actually is.

📷 Photos are made smaller before they leave your phone. A picture bigger than 2000 pixels on its long edge is scaled down in the browser, so it uploads in a fraction of the time and takes a fraction of the room. A PDF is never touched — a contract that has been re-encoded is not the contract — and a photo already small enough is sent exactly as it is.

🏷 Name several at once (v9.2.1.52). A photo taken on a phone arrives called IMG_4471.jpg, and in year seven that is the record nobody can find. Tick the ones that belong together and press 🏷 Name selected: three pictures of the roof become “Roof — south face” in one action, and three of the panel become “Panel” in the next. The file’s own name on the server does not change — the title is a label over the top of it, and both are kept.

↩ A deleted document comes back for 12 months (v9.2.1.52). Deleting one used to destroy the file there and then. Now it is marked deleted and the file is kept for a year, so a wrong tap is fixable: the row shows can still be restored and an ↩ Restore button, which only an Owner may press — whoever may take a document out is who may put it back. After twelve months the file itself is destroyed for good and the row then says so. The record that the document existed — what it was, when it arrived and who deleted it — stays for ever either way. A deleted file still counts against your storage until it is destroyed, because it is still on the disk.

Who can do what. Anyone who may see a client may open that client’s documents: a crew lead on a roof needs the permit and does not need the client list. Anyone who may edit client files may add one. Only an Owner may remove one — and when they do, the line stays on screen, greyed, with the day it went and who took it off. The file itself is deleted from the server; the record that it existed is not, because that is the whole point of keeping documents for seven years.

📁 What it costs you, under 💵 Billing. A Storage card showing what your company is holding against what it may hold, broken down by year, with the number of files and how much room each year is taking. Past 80% it says so in amber and tells you what to do about it. An Owner can clear a whole year at once — it asks you to type the year first, because that one cannot be undone. The standing rule is seven years and nothing is ever removed automatically. If you need more room, ask Arev Analytics; raising it takes one press and takes effect at once.

☀ Today. The first thing on the Clients list is one line: your follow-ups due, proposals that need a nudge, today’s jobs, who is away, your lapsing cards, unread messages and payments due — on the company’s own calendar. Tap it to open the sections; every row goes somewhere (the file, the week, the thread, the billing sheet). Since v9.2.1.52 it also lists permits about to lapse, inspections (including a failed one with nothing re-booked, which is the one that goes quiet), calls to make back after PTO, and what a survey found that nobody has answered yet. It is folded by default and remembers whether you left it open. A field member sees only what is theirs; the schedule sections say so when the Team & Scheduling add-on is off.

Withdraw a message. Under your own message on a client’s thread, while nobody has opened the thread since you sent it, there is a small Withdraw. It asks first, then the words come off for everyone and the line stays, saying you withdrew it and when. Once a teammate has opened the thread the link is gone — a message somebody has read cannot be unsent.

“Archived. Undo.” Archiving a client, taking a member off a client, cancelling a schedule entry, taking leave off the calendar, removing a card and retiring a stage or a loss reason no longer ask first. They happen at once, the screen says so by name, and an Undo button beside the words puts it back exactly as it was for thirty seconds. A question still comes first for anything that deletes, and for closing or removing a proposal — those reach the homeowner’s link.

Select several, act once. On the Clients list, ☑ Select puts a tick box beside every name. Tick up to fifty, then use the bar above the list: Archive (or Restore, in the Archived folder), Follow-up…, Stage…, or Assign… if you manage the team. One question names how many and the first five households; nothing happens until you answer it. Fifty at a time is the limit on purpose. Lost is not offered in bulk — a loss needs its reason, one deal at a time.

One colour rule. Anything that destroys or removes — erase, remove, void, take off the schedule, cancel — is red, everywhere. Nothing that saves or records is red, so a button that takes something away can never be mistaken for the one that keeps it, whichever screen you are on.

📅 The schedule. The 📅 Schedule tab is who is on which job on which day — site surveys, installs, inspections, service calls — with the house, the crew and the people on each, a time where there is one and “all day” where there is not. Four views: Day (the morning huddle, hour by hour), Week (seven days across, the coordinator’s view), Month (a grid of whole weeks — tap a day to open it) and Crew (a row per crew, a column per day, the unassigned in their own row). ‹ Today › walk the range. The pills under the views choose what is painted — jobs, time off, cards lapsing, unstaffed only, mine only, and each kind of work — and change only what is shown, never what was fetched; your view and your pills are remembered on this device. A two-day install sits on both of its days; your own days carry a stripe. You see your own days, your crews’ days or the whole company, depending on the reach your manager set; the server decides what you see, not the page. ⎙ Print makes a sheet for the warehouse wall — the company, the range, the pills in force and every job in full, people spelled out, kinds told apart by symbol so a black-and-white printer is fine — with the tabs and controls left off the paper.

Putting work on it. If you manage the team, tap + on a day to put a job on it — the kind of work, the days, a time if it has one, the house from your book, a title, a short note for the crew about the job (gate code, ladder needed), and the people going. A crew lead can place only their own crews; the server refuses anybody else by name. A double booking is warned, not refused: it says who is also on what, and saves anyway, because two jobs in a day is how a service tech works. Tap a job to change it. Three changes are a manager’s or the Owner’s: taking a job off the schedule, changing a job that has already started, and moving a job more than a fortnight — a cancel is the change a customer notices, and a big reschedule is a conversation with them. A crew lead sees 🔒 on the jobs that have started and opens them as a card to read, with the reason; a job ahead still opens as a form, without the cancel button. A cancelled job is kept on record, never deleted.

↺ History. For managers and the Owner, at the top right of the tab: every change anybody made to the schedule, newest first, in sentences — who put a job on, who moved it and from which days to which, who changed its time, title, note, people, client, crew or kind, who took it off. Narrow it to the last 7, 30 or 90 days, to one person, to one kind of change, or to one job from that job’s own editor (↺ History of this job). It is a record: nothing in it can be rewritten or emptied, a save that changed nothing adds nothing, and it never says why or how anybody did — only what changed.

What the schedule is not. It is not a time clock and never will be: it records no hours, no clock-in, no overtime, no outcome and no opinion of how anybody did. It is facts about work — who is where — and nothing about a person beyond that they were placed on a job. Part of the paid Team & Scheduling add-on, switched on per company; crews, assignments and the Team tab stay free either way, and without the add-on the tab opens and says so.

🏖 Time off. Under the roster on the Team tab, with the Team & Scheduling add-on on: who is away in the next thirty days, and which bucket it falls in — vacation, sick, personal or other. A bucket, never a reason. The dialog has a person, a first day, a last day and a bucket, and nowhere to write why; that is not this product’s to keep, and the server refuses a reason by name if a page ever tries to send one. No balance, entitlement or accrual is kept either. Anybody records their own; whoever manages the team records for people within their reach. Below about five people nobody approves anybody’s holiday and leave is approved as it is recorded; from five, the company usually wants a decision first, and a manager can set this either way. A person on approved leave cannot be placed on the schedule for those days — the refusal says who is off and which bucket — and leave recorded over a job already scheduled comes back with that job named, so the scheduler knows to move it. The week shows who is away under each day.

🪪 Licences & cards. The cards people carry — state electrical licence, OSHA 10 and 30, fall protection, NABCEP, and whatever kinds your company adds — with the number as printed and the day each lapses, and a standing on every one: current, lapses in so many days, lapsed, no expiry. A manager marks which kinds are needed on site: a lapsed one of those stops a person being placed on an install, a service call or an inspection until it is renewed, and the refusal names the card and the date; one lapsing within sixty days is a warning on the job; a missing one is a warning too. A card carries no grade, no score and no note, and the server refuses those by name. The sentence on screen is the whole of what this promises: a reminder, not a compliance guarantee — it can only warn about a card somebody entered.

🧭 The Owner’s Desk. For whoever runs the company — a manager or the Owner — on the Clients toolbar, with the Team & Scheduling add-on on. It shows what is off-track today and nothing else: deals that have sat in their stage longer than twice your own typical for that stage (never under two weeks; thirty days where a stage has no typical yet); jobs waiting on the city for more than three weeks, kept apart so they read as “chase the city” and not “chase the coordinator”; won jobs nobody is on; won jobs with nothing on the schedule; each crew’s load for the fortnight as person-days against ten weekdays per member; clients handed between people three or more times in ninety days; cards lapsed or lapsing within sixty days; who is away in the fortnight and whose request is waiting. Every list says the bar it uses and where it came from, so you can disagree with it. Tap a row to open the client’s file. A quiet desk says so in one line, and that is the good news.

What the desk will not do. It counts nobody’s output and ranks nobody. Crew load is a crew’s, never a person’s. How long a deal has sat is measured from the move into its stage that this system watched; a deal whose only record is an imported date is not called stuck, because its entry is unknown. Nothing here needs your approval to proceed.

💵 The money desk. The 💵 Billing button on the Clients toolbar opens one screen for whoever chases the money: every job with something outstanding, worst first, the same five aging bands Analytics shows, and the two accountant downloads. Tap a job to open its own billing sheet. The list and the bands come from one answer, so they always agree. It reads across the whole book, so it needs the see Analytics and see all clients switches; without them the button is simply not there.

↩ Correcting a payment. A recorded payment is never edited and never deleted. If one was entered wrongly, press Undo this on it: an offsetting line is added beside it, the original stays exactly where it is, and the totals come out right. That is deliberate — the record of the mistake is part of the record. Voiding a change order works the same way and for the same reason. Until v9.2.1.29 the button was not being shown in companies with no Owner named, so if you have ever looked for it and not found it, that was a fault and it is fixed.

💰 The money on a job. A client’s 📋 file can record the contract total, the deposit with its due and paid dates, and the balance with its due and paid dates. Leave a date blank until it happens. Anything past its date with nothing paid appears in the 💰 Owed folder in 📇 Clients, with how many days late it is — the number a collections call opens with. Overdue is worked out from today every time the list is drawn, so it is never stale. This is deliberately not an invoicing system: two payments, because that is how a residential solar contract is written. It records what is owed and when; it does not raise or send anything.

⬇ Downloading your records. The ⬇ Download button in 📇 Clients offers four files: your client list, every proposal with the quote that was sent, your Analytics report for the range on screen, and one complete backup of everything. The first three are CSV — open them straight in Excel or Google Sheets; the backup is a JSON file to keep somewhere safe. Every file is built from your whole book on the server, not just the page on screen, and a client’s own file has its own ⬇ button for handing one deal to a colleague. Your records are never trapped here.

⬆ Importing a client list. Have your clients in a spreadsheet already? Export it as CSV and press ⬆ Import. Sunalysis reads your column headings — “Customer”, “Telephone”, “Deal Stage”, “Callback” and the like all work — and shows you what it found before anything is saved. Clients you already have are updated, not duplicated, and an empty cell never wipes something you typed by hand.

+ Client, 📅 follow-ups, ⇄ merge and ⚖ compare. + Client records a lead the day you meet them, before any quote exists. A follow-up date on their file drops them into the 📅 Due folder on the day and badges their card if it passes — and Ask Sunalysis can tell you who is due. ⇄ Merge is the proper fix for two records of one household: proposals and notes move to the survivor, and only the empty record goes. And ticking two of a client’s proposals offers ⚖ Compare — the two quotes side by side (size, cost, price per watt, battery, financing) with the differences highlighted, read from what was actually sent.

👥 Your team. The fourth tab runs your crew. Add a member by name and email — they get a one-time setup link and choose their own password, so no password ever travels through you — give them a title (Electrician, Roofer, Permitting…), and assign them clients with instructions. The ⭐ lead owns the deal, each job wears a status chip (assigned → in progress → done) the assignee can tap themselves, and the 👥 filter answers “what is on Marco’s plate?”. Access is the 🔑 Role & access editor: six plain switches (see all clients or only assigned ones, create proposals, edit files, download, Analytics, manage the team, and, since the tab row moved, Billing, Schedule and Overwatch), four one-tap presets, and one built-in Manager role. New members start cautious — their assigned clients only, no downloads. What a member cannot do is simply absent from their screen, and the server refuses it regardless. A field member with no calculator work signs in straight into HQ, full screen — the panel is their app.

🔑 Passwords. Change your own from 👥 Team → 🔑 Change my password. It asks for the one you use now, then signs out your other devices and leaves you signed in here. If somebody has forgotten theirs, anyone who can manage the team can press 🔑 Reset password on that person’s row and hand them the one-time link it makes — a text or a call is fine. It works once, lasts a few hours, and their old password stops working the moment they use it.

👥 Assigned team, and what happened to a job. Assigning somebody asks who, what as — their job on this client — and any instructions they should see on the file. The As — box offers the common installer roles as chips, Roofer first, with a longer list behind the box; it is still free text, so whatever your company calls the job is typeable, and tapping a lit chip clears it. Ticking ⭐ lead makes them the one person who owns the client, taking it over from whoever held it.

Each person’s status chip is a button for whoever may move the job: 📋 assigned → 🔧 in progress → ✅ done, and round again. It also says how long the job has been sitting where it is (📋 assigned · 3d), and the row under it says when the job started. Press 🕘 History on that card for the whole run — every assignment, every move, every handover of the ⭐ lead, everyone taken off, each with the time and who did it. It is a record: nothing on it is ever edited or deleted, it survives somebody coming off the client, and it survives their seat being retired, so a person who has left still reads as a person. If the panel says your server needs its one-command update, run it — assigning and moving jobs work exactly as before meanwhile, the history simply starts the day you run it.

🕘 And how long the deal sat in each stage. The same 🕘 History now opens with the deal’s own journey above the assignments: which stages it moved through, when, how long it spent in each, and how long it has been sitting where it is now. Nothing to switch on — it records itself every time a stage changes, including when you change one during an import.

The one thing worth knowing about it is what it will not tell you, because that is deliberate. A duration only ever appears between two moves this system actually watched. The oldest line on a client says the deal was first seen at that stage, not that it arrived there — and no time is measured from it. That matters most the day you import your existing book: every one of those clients is first seen on the day you import them, so a job that has been stuck in permitting since June would otherwise be reported as having entered permitting that morning. A confident wrong number is worse than no number, so you get no number until the deal moves. From then on every stage it passes through is measured like any other — the rule costs you the past, not the future.

💬 Messages on the client. Every client’s 📋 file carries a thread: write a note about the job, tick teammates to @mention them, and the conversation stays with the client — six months later, “why did we upsize the inverter?” has its answer on the file. The 💬 Messages button in 📇 Clients is your inbox: every thread that mentions you or sits on a client you’re assigned to, with a count of what’s new since you last looked. Messages are a record — they cannot be edited or deleted — and whoever can see the client can read its thread; there is nothing extra to configure. Once your server has an email key on file, an @mention or a new assignment also lands in that teammate’s email as a one-way notification — answering happens here, on the file.

Each note shows the time it was written, and who it was addressed to where somebody was @mentioned. Your own notes sit on the right in your brand colour; your team’s sit on the left. Your own also carry a read receipt✓✓ Read by Marco once that person has opened this client’s thread since you wrote, or ✓ Sent — nobody has opened this thread since. Worth being precise about what that means, because it is a claim about a colleague: it says the thread was on their screen after your note was posted. Not that they read the words, which no software knows.

When somebody leaves. 👥 Team can be rid of a member two ways, and it picks the right one and tells you which. A seat that never did anything — a typo, a duplicate, an invitation nobody took up — is deleted outright, and its email address becomes free to use again. A seat that did anything cannot be: every proposal, note and assignment they touched still points at them. That one is retired instead — the name and email go, the sign-in stops working, and all their work stays attributed to the same person. If a seat cannot be deleted the panel says what is holding it, in words.

Sending the same client an updated proposal. Adjust the plan in the calculator first — add the battery, change the price, whatever moved — then open 🎁 → 📇 Clients and press + Proposal on that client's card. You land on the create form with their name already filled in, and the link you make uses the analysis on your screen right now. Both proposals then sit under the one client.

Do not use Open for this. Open loads the old stored proposal back into the calculator, replacing the changes you just made — it is for revisiting a past quote, not for building the next one.

Proposals are filed under a client by name, matched exactly — capital letters do not matter, but nothing else about the spelling is forgiven. Saving one as “Test 123 Cold St 91011” and the next as “Test123” gives you two separate clients. The + Proposal button carries the stored name across letter for letter so the match cannot miss, and if you do type the name yourself, the box offers the names you already have and warns you — before the link is made — when what you have typed is close to an existing client but not the same, with a one-tap fix.

Going back and forth. After you've reviewed a reply and adjusted the plan, mint the next client version while their reply is still open — the 🗄️ panel offers to include their previous scenarios in the new file, each tagged with its round. Reply to their email with that file and the whole conversation travels together: they see their earlier ideas beside your updated plan, and their next reply comes back with everything — round 1, round 2, round 3. (The short link always starts a fresh journal; for follow-up rounds, use the file.) A tip worth knowing: opening an earlier round's scenario replays the client's choices on the current plan — the honest way to compare.

“Can I have more panels?” The quote stays locked — but your client can try extra panels or battery packs any time in the 14-day simulation's sandbox, priced from your own quote's cost per watt. The page tells them so, a saved try arrives in your brief as “Sandbox try: +4 panels (a sizing request, not a quote change)”, and when they tap Send they're asked if there's anything they want to tell you — “could we fit two more panels?” lands at the top of your brief, next to the numbers that prompted it.

The installer's brief — reading what comes back

Opening a client's reply file doesn't just load their numbers — it opens with a brief, written for an installer running a dozen live deals at once. It starts by naming the job: the client, the date you prepared the plan, your quote exactly as you sent it (price, size, production), which knobs you left open and which you locked, and the note you wrote them. Then each scenario the client saved lists every setting behind it in plain words — battery, each car and its arrival year, charging window, appliance switches and their years, usage, bill, years held, escalation — with anything they moved off your plan marked changed, and nothing cut short. A setting they never touched is written down too, so “it didn't say” can never be mistaken for “they didn't change it.” Here's what one looks like:

CLIENT: The Rivera household
Prepared by: Beacon Solar (example)
Plan dated: 2026-08-22
Quote as sent: $32,000 · 9.6 kW · 15,000 kWh/yr
You allowed: Battery, EVs & timing, Usage & bills, Hold years  ·  you locked: Appliances
Your note: "Try the battery options."
Their message: "Could we fit a couple more panels?"
Plan as sent: 11.2 yr payback · 10% IRR · $99,815 30-yr · 60% solar-supplied

1. Two EVs + a battery  [2026-08-24]
   8.9 yr payback · 13.2% IRR · $186,410 30-yr · 71% solar-supplied
   - Battery: FranklinWH aPower 2 · 2 units   <- changed
   - Electric vehicles: 2 cars — car 1 now, car 2 in 3 yr   <- changed
   - Miles per car: 12,000/yr   <- changed
   - Charging window: overnight
   - Appliance switches: None
   - Annual usage: 17,000 kWh   <- changed
   - Monthly bill: $320
   - Years held: 30
   - Rate escalation: 4%
   - Sandbox try: +2 panels (simulation only — a sizing request, not a quote change)

The request leads (v9.2.1.45). When the client asked for something — and since v9.2.1.45 the Send step asks them plainly, showing what they changed and inviting them to set the panel and battery count they want quoted, with panels offered only if they tried them in the simulation — the review opens with a Requested card: “33 panels (+12), 5 batteries (+5)” and their note. Start a proposal from this opens ➕ Proposal on the plan as sent with the requested panels turned into kilowatts (the count × that proposal’s own panel wattage) and the battery units set; the price is yours to set. If you are signed in, the same request is written once onto the client’s thread in HQ as a 📐 Change request from the homeowner line.

The same brief renders on screen with the changes highlighted, and each scenario carries an “Open this scenario” button that pulls it up live in your calculator. Copy this summary lifts the whole brief out as plain text for your notes, your CRM, or the reply you're about to write — so the follow-up call starts from exactly what the client built, with no reconstruction and no room for error.

10 · Troubleshooting & common mistakes

🛠 “I click a client and it takes me back to the list, or opens somebody else” — fixed in v9.2.1.51. On a book of more than five hundred households, most of them could not be opened at all. The book is sent one page at a time and paging past the first five hundred names had never actually worked, so clicking a household from the Overwatch, Today or the map found nothing and dropped you back to the list — and the “who I am working on” strip kept pointing at whoever you had open before, which made a failed open look like the wrong client opening. Both are fixed: a click now asks the server for that household by name, whatever page of the alphabet it sits on. v9.2.1.50 fixed only the server half of this and the page never asked; v9.2.1.51 is the half that makes it work.

SymptomWhat's happeningFix
Your opening screen looks different from this guideInstaller-branded copies replace the general landing page with the installer's ownNothing to fix — pick your region and everything from there matches this guide
"This looks like a solar home's utility file…" on uploadYour Green Button file shows real solar exports — so it records grid draws, not your home's full usage (the daytime load your panels serve is invisible in it)Type your true monthly kWh (bills or monitoring app) and upload your production file via the Enphase button
"This looks like your solar production file…" or "…looks like a utility usage file…" on uploadThe file landed on the wrong of the two upload buttons — Sunalysis checks the data's shape (homes always use some power at night; panels produce none)Use the button the message names: Usage · Green Button for utility files, Production · Enphase for your solar system's own export
"…contains power readings (kW demand), not energy (kWh)"That's a demand file; summing it would overstate usage several-foldDownload the energy / usage interval file instead
"…only covers N days"Utilities often default the download to one dayRe-export with a full 12-month date range
Entered some monthly kWh but results didn't changeBy design — the grid takes over only at 12 of 12 monthsFill all 12 (or let your annual figure carry it)
No SREC field where the guide shows oneIt appears only in states with an SREC/incentive market (NJ, PA, MD, DE, OH, VA, WV, DC, MA, IL)If your state isn't one, SRECs don't apply to you — nothing is missing from your math
Results look too goodUsually a double-counted incentive or optimistic productionNet cost = what you actually pay, once; read the ±15% low end; ask the installer how production was estimated
Results look too badUsually the export credit doing its job — under net billing, exports earn littleThat's the honest math. Look at the battery and Solar Window Reward: use more of your own power
A number surprises you anywhereTap the ⓘ beside it, or ask Ask Sunalysis "why is my ___ ?"
Want to start overthe CLEAR DATA icon button in the top toolbar resets everything (on phones it's in the seven-button row beneath the brand)

Sunalysis v9.2.1.53 · Arev Analytics — Solar Investment & Return Analysis. This guide uses California (NEM 3.0) as its running example. The calculations and every step work the same in other regions and in installer-branded copies — but a branded copy may lock the region, start from different defaults (blank or pre-filled), and use client- or installer-facing wording, and the opening screen changes. Good-faith estimates, not guarantees; confirm rates with your utility and prices with your installer.