Example website Southface Solar is not a real company. This page shows Tailgate Office’s NapkinPrice widget running on a contractor’s own site, quoting against real rates in a real account. Missed-call text-back Open the demo dashboard About NapkinPrice
Southface SolarYork, PA · since 2012 (301) 555-0142
Rooftop solar · York County and over the line

What the array actually costs, before anybody comes out.

Tell us roughly how many kilowatts you want, what the roof is covered with and how far up it is. You get a real price range in about a minute. Then we survey the roof, pull the shade report and confirm the number in writing.

That number is the price of the job — before any tax credit or rebate and before financing.

Free roof survey and shade report Permit and interconnection filed by us Ten-year workmanship warranty
Instant price range
Gross price, never netEvery figure here is the contract price, before any credit you claim.
We survey before we orderRoof planes, rafters, main panel and a real shade report.
Permit and interconnectionFiled by us, inspection included, in the number you see.
Ten-year workmanship warrantyIn writing, on top of the manufacturer’s on the panels themselves.
What we do

Roofs, ground mounts and the systems somebody else put up

Racking, flashing, conduit, the inverter, the rapid-shutdown device, the permit and the utility inspection are in every array we quote. We do not leave a roof penetration unflashed and we do not leave the old proposal’s promises unexplained.

Most popular

Asphalt-shingle rooftop

Flashed lags into the rafters, rail and clamp, panels laid out around the vents and the valleys. This is the baseline rate every other roof on the form is a percentage away from.

Standing seam

Metal roofs, no penetrations

Seam clamps rather than holes. A metal roof is the easiest roof to keep watertight and the hardware costs more, which is why it is a small step up rather than a small step down.

Slow and careful

Tile and slate

Every tile lifted, hooked and set back without breaking it, and on slate some of them break anyway. The biggest percentage on the form, and the form says so rather than hiding it.

Storage

Batteries and backup

Quoted at the survey rather than on this form, because what you want backed up — the whole house, or the fridge and the well pump — decides the whole design.

Priced on this page

Service call - the array stopped producing

Somebody else’s array that has stopped producing, an inverter out of warranty, or squirrels living under the panels. The $185 trip charge is inside the number rather than added at the door.

Site visit

Ground mount and commercial - we come and scope it

A field, a pole barn, a commercial roof, a house that is not built yet. Trenching, setbacks and the run back to the meter are not things to guess at online, so this one books a visit instead of printing a number.

How we price

A number before the survey, not a week after it

The form at the top of this page uses our real rates. It works the way the job does: a baseline dollar figure per kilowatt, and then the panel, the inverter, the roof covering and the height as percentages on the whole job, because a slate roof is not a line item — it is a different day.

Tell us about the roof

Roughly how many kilowatts, what panel and inverter you want, what the roof is covered with, how far up it is and whether the main panel needs upgrading. The same questions we ask on the phone.

See the range

Midpoint plus or minus 9%. Jobs under our $13,000 minimum quote at the minimum. Anything over $45,000 gets a survey instead of a number, because past that the design decides the price.

We survey and confirm

Free roof survey, shade report, exact price, written scope — and it is still the gross price of the work, not a figure with a credit already taken off it. Travel is priced from your ZIP. The price does not change with the month.

Credits and rebates

Real money, and the worst thing anyone could put inside the number

The federal homeowner solar credit ended for systems placed in service after 31 December 2025 (IRS). Credits and rebates are still why solar is the easiest trade on the internet to start lying in, because the temptation is to show you the number after one and let you assume we worked it out.

We quote the job. Any credit or rebate is yours to claim.

Every figure on this page and in that form is the gross contract price: what the contract says and what the invoice says. Nothing here is net of a credit, a rebate or an SREC, and there is no monthly payment on this site at all.

The reason is simple enough to check. What you get back depends on your tax bill, on owning the system rather than leasing it, and on rules that can change or end, as the federal homeowner credit did. A form on a website does not know any of that, and a contractor who shows you a net figure is quoting you money he never charged and will never refund.

The form does ask — “Do you expect to claim a tax credit or rebate on this?” — and the answer moves the price by nothing at all. It tells our office to have the commissioning paperwork and the equipment serial numbers ready for your accountant. That is the whole of what we do about it, and it is the honest whole.

If you work out for yourself that what you finally pay will be less than what you see here, good: that is the arithmetic being done by the person who has the tax return in front of her.

Service area

Based in York. We say what the trip costs before we make it.

Your ZIP code sets the travel line on your estimate. On a job this size the trip is a small line and we would rather show it than bury it in everyone else’s rate.

  • Local: York city and the county around itZIPs 174xx and 173xx
    No travel fee
  • Over the line: Baltimore County, the city, Harford and HowardZIPs 210xx, 211xx and 212xx
    +$340
  • Everywhere else we travelAny other ZIP we can reach
    +$520 and +4%
Notes for anyone evaluating the demo
  • Priced path. Pick Rooftop solar install, then: 9 kW, high-efficiency mono, DC optimizers, asphalt shingle, two storeys, panel upgrade No, expecting a credit or rebate Yes. Use ZIP 17402. The live pricing engine returns $25,082 – $30,043 with the disclaimer, and the lead lands in the demo account’s inbox. Nine kilowatts at the $2,450 baseline rate makes $22,050; the three percentage answers pool into one +25% — the panel at +12, the optimizers at +6, the two storeys at +7 — and apply once to all of it, for a midpoint of $27,562.50.
  • That figure is the GROSS price of the work. It is not net of any tax credit or rebate, and the widget has no idea a credit exists — the engine knows base fees, per-unit rates, flat adds, percentages, a minimum, a ceiling, a season and a travel zone, and nothing else. Answer the credit question No instead of Yes and the band is identical, $25,082 – $30,043, because that question carries no pricing rule at all. That is the demonstration, and it is worth doing: a homeowner who qualifies for a credit or rebate may pay less than this, and we would rather she discovered that than be shown a net number we cannot reproduce.
  • What the engine does and does not do here. A solar price is really kilowatts times dollars-per-watt, and the dollars-per-watt is set by four other answers. No rule multiplies one question’s answer by another’s, so the fixture does what demo/fencing-service.php already does for the same problem: one multiply at a baseline rate on the size question, and percentages carrying the qualitative answers. Those percentages are large on purpose. Repeat the priced path with a concrete or clay tile roof: $30,299 – $36,292.
  • The one flat adder. Repeat the priced path with the main-panel question answered Yes: $28,324 – $33,926. A service upgrade is $2,850 of panel, meter work and utility coordination, added once for the job before the percentages run — so it is lifted by them too, which is right: the percentage answers are about the day, and the day includes the electrician.
  • Minimum floor. 5 kW, standard mono, string inverter, asphalt, one storey, no upgrade, ZIP 17402: the job works out at $12,250, under the $13,000 minimum, and quotes at $13,000 – $14,170. Note the low end of the band is the floor itself, not 9% below it. Ask for 3 kW instead and you get the same band: nobody rolls a rack truck, a permit runner and an electrician for less.
  • Over the ceiling. Enter 14 kW, high-efficiency mono, microinverters, standing-seam metal, two storeys. The midpoint works out at $47,334, clearing the service’s $45,000 ceiling, so the widget routes to “we’ll take a proper look” rather than printing a number. That is the honest instrument for a job the form cannot price, and it is why the band stays at ±9% instead of being widened to cover jobs it does not fit.
  • Travel zone. Repeat the priced path with ZIP 21212 (Baltimore) for the over-the-line fee: $25,391 – $30,414. Any ZIP outside the listed prefixes, whether 22801 (Harrisonburg, VA) or 75001 (Texas), falls to the catch-all zone: $26,558 – $31,812, the percentage first and then the flat fee. On a job this size a $340 trip is 1.2% of it, which is what travel honestly is on this trade.
  • Out of area. Use ZIP 99901. The visitor gets a polite decline instead of a price, and the lead is still captured.
  • The second instant service, and the one with a real trip charge. Pick Service call - the array stopped producing: the inverter is dead or out of warranty, 24 panels, two storeys, 0 feet of critter screen, next opening. $2,399 – $2,817, and the $185 trip charge is inside that number rather than added at the door — it is the service’s base fee, so it is added once however many panels we lift. The cheapest answer set possible — squirrels, 4 panels, one storey, no screen, this week — comes back $332 – $390, above the service’s own $285 minimum on its own.
  • A number question answered zero costs nothing. The critter-screen question is a number with a per-foot rule, and the engine fires no rule at all on a number answered 0 — not the multiply, not a percentage, not a minimum. Answer 96 feet instead, with 20 panels, one storey and “today”, and it is $3,685 – $4,326. Push the same service to its worst case (60 panels, three storeys, 300 feet, today) and the midpoint reaches $16,439.50 against that service’s $6,500 ceiling, so it routes too: past a certain point a repair has become a re-install.
  • Routing mode, and the name that says so. Pick Ground mount and commercial - we come and scope it. That service is in site-visit mode, so it never shows a price at all; the visitor sees “we like to see it first”. The widget’s service picker prints nothing but the service name — no badge, no hint — so the only place the visitor can learn this one will not quote is the name itself, which is why the outcome is written into it. Its “roughly how many kilowatts” question is a number with no rule attached, which the widget still validates and still records.
  • The photo question carries no rule. Photos never move the price — the engine skips them entirely. Nothing is uploaded either: on a demo the visitor can tick “I have photos I can send” and the lead records “Has photos to send, not uploaded”, which is the owner’s cue to ask for pictures on the call. Attaching the image itself is on the roadmap.
  • No season, deliberately, and the reason is particular to this trade. Nothing on this account carries a seasonal adjustment. A roof in March and the same roof in September are the same crew day, and the thing that looked seasonal — the year-end rush to be energised before a tax year closed, while the federal homeowner credit lasted — is the tax-credit event this page is not allowed to price. Encoding it as a season would put that subject back on the page through the one door left open. Every figure above is therefore the same figure in any month, which was checked by re-running the same command at three dates six months apart rather than assumed.
  • The missed-call text-back. The CallMitt page replays which of five messages a missed caller would get and why. Straight about where it stands: nothing on this platform delivers a text message yet, because there is no SMS gateway and no carrier registration, so the reply becomes an outbox row marked queued and stops there. The rules, the hours, the quiet hours and the opt-out handling are built and running. The hours here are the narrowest in the demo estate on purpose — a solar office is a desk, not a dispatch board, and the call that matters arrives in the evening when somebody opens a July bill.
  • The widget’s bronze matches this site because the account’s key carries a theme color; the same script on an agency’s client site would carry the agency’s color.