Example website Copperworks Plumbing 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
Copperworks PlumbingWoodbridge, VA · licensed since 2009 (301) 555-0142
Plumbers · Woodbridge and Prince William County

A repipe price before anybody opens a ceiling.

Tell us what the job is, how many bathrooms the new pipe has to reach and how we get at it. You get a real price range in about a minute. Then we open one section, look at what is actually up there, and confirm it in writing.

Licensed and insured in Virginia Permit and inspection included We can put the ceiling back
Instant price range
We pull the permitCounty fee and the inspection are in every repipe and main line we quote.
One trip chargeOn a service call it covers the visit, however many fixtures we look at.
We close what we openSay the word and our drywall crew tapes, sands and paints behind us.
Ten-year workmanship warrantyOn a whole-house repipe, in writing, on top of the material warranty.
What we do

Repipes, water heaters and the calls nobody else picks up

Permit, inspection and a pressure test before anything is closed up are in every repipe and main line we quote. We do not leave a wall open or a valve you cannot reach.

Most popular

Whole-house repipes

Every supply line from the meter to the last fixture, in PEX or copper, pressure-tested before the walls close. The job most houses here need once the galvanized starts closing up.

Insurance work

Polybutylene replacement

Grey plastic pipe with crimped rings, put in between about 1978 and 1995. It cannot be patched and carriers will not write around it, so the whole system goes.

Same week where we can

Water heaters, tank and tankless

A tank swap on the day, or a tankless with the gas line and the venting sized properly rather than squeezed onto what is already there.

Under the yard

Main water lines

The run from the meter to the house, when the pressure has gone or the meter turns with everything off. Dug or pulled, and the yard put back.

Same day where we can

Leaks, drains and fixtures

A slow drain, no hot water, a leak under a sink, water coming through a ceiling. One trip charge however many fixtures we look at.

Site visit

Sewer lines, well systems and commercial work

A sewer out to the street, a well pump and pressure tank, a building still in use. We camera the line or test the system before we quote.

How we price

A number before the truck, not after it

The form at the top of this page uses our real rates. It shows a range rather than a single number because what is behind the plaster, how the old pipe was run and what the shutoffs are actually doing are things we can only see with a section open.

Tell us about the job

What we are doing, how many bathrooms it has to reach, what we are running it in, how we get at it, whether the house is on polybutylene, and whether you want the drywall put back. The same questions we ask on the phone.

See the range

Midpoint plus or minus 9%. Jobs under our $1,750 minimum quote at the minimum, and polybutylene supply raises that floor to $6,400. Very large jobs get a site visit instead of a number.

We open a section and confirm

Free assessment, exact price, written warranty. Travel is priced from your ZIP. The price does not change with the month — pipe that has closed up in January has closed up in July.

Service area

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

Your ZIP code sets the travel line on your estimate. No surprises on the invoice, and no free hour on I-95 that gets built into everyone else’s price.

  • Local: Woodbridge, Dale City, Lorton and SpringfieldZIPs 221xx
    No travel fee
  • Outer ring: Manassas, Alexandria, Fredericksburg and StaffordZIPs 201xx, 223xx, 224xx and 225xx
    +$65
  • Everywhere else we travelAny other ZIP we can reach
    +$125 and +4%
Notes for anyone evaluating the demo
  • Priced path. Pick Repipes, water heaters and main lines, then: a whole-house repipe, 2 bathrooms, PEX, a finished basement ceiling, polybutylene No, drywall patched Yes, next opening. Use ZIP 22191. The live pricing engine returns $6,925 – $8,295 with the disclaimer, and the lead lands in the demo account’s inbox. The $4,200 repipe step, two bathrooms at $690, the $780 finished-ceiling access and the $1,250 to patch and paint make $7,610, and no answer on that path carries a percentage.
  • What the engine does and does not do here. Only the bathroom count multiplies. The job step, the access and the drywall are flat adders, and the engine adds a flat adder once per job rather than once per bathroom. Answering 0 bathrooms fires no rule at all — not the multiply, not a percent — so a water heater going in on its own comes back at $1,750 – $2,017 rather than carrying a bathroom’s worth of money. Leave the drywall to somebody else and the priced path is $5,788 – $6,932.
  • Two percentages that pool. Repeat the priced path in copper: $8,726 – $10,452, because copper is +26% on the whole job rather than a line on it. Now put the copper back to PEX and answer “today, the water is off at the street” instead: the same $8,726 – $10,452, because that answer is also +26% and the engine pools percentages and applies them once. Answer both and they add to +52% before anything else happens.
  • The engine has no clock. That last answer is worth a second look, because it is the one thing this trade wants that the software cannot do. qf_price() takes five arguments and not one of them is an hour, so a 2am premium cannot be expressed at all. What you see above is urgency the customer declares on a dropdown, which is a different and honest thing. It is a percentage rather than a fee on purpose: a flat is added in step 1 and is then multiplied by every percentage after it, so a “$185 after-hours fee” would stop being $185 the moment anything else on the form carried a percent.
  • Travel zone. Repeat the priced path with ZIP 20110 (Manassas) or 22401 (Fredericksburg) for the outer-ring fee: $6,984 – $8,366. Any ZIP outside the listed prefixes, whether 22201 (Arlington) or 20852 (Rockville, MD), falls to the catch-all zone: $7,316 – $8,763, the percentage first and then the flat fee.
  • Out of area. Use ZIP 99901. The visitor gets a polite decline instead of a price, and the lead is still captured.
  • Over the ceiling. Take the priced path to 6 bathrooms in copper and it still prices, at $11,890 – $14,242. Ask for a seventh and the midpoint clears the service’s $13,750 ceiling, so the widget routes to “we’ll come and look” rather than printing a number. Because routing is tested on the midpoint and the band is drawn afterwards, that ceiling sits below $15,000 on purpose: the highest number this service can ever print is $14,988, and the highest any real answer set reaches is $14,966.
  • Minimum floor. One bathroom repiped, 0 bathrooms to reach, PEX, an open crawlspace, nothing else, ZIP 22191: the work itself is $1,600, under the $1,750 minimum, and it quotes at $1,750 – $1,908. Note the low end of the band is the floor itself, not 9% below it.
  • A rule that raises the floor rather than adding to it. Answer Yes to the polybutylene question on a single-bathroom repipe: the job’s own arithmetic is $2,290 and on its own it quotes $2,084 – $2,496, but the rule lifts the minimum to $6,400 and the quote comes back $6,400 – $6,976. Nothing was added: the floor moved, and because the low end of the band clamps to that floor after the range is drawn, the bottom of the published range goes flat. A quote with that answered Yes never comes back below $6,400. Answer it Yes on the priced path instead and the number does not move at all — still $6,925 – $8,295 — because that job was already above the floor.
  • The second instant service, and the one with a real trip charge. Pick Leak, drain and fixture call: a slow or blocked drain, 1 fixture, ground floor, a working shutoff, no replacement, next opening. $228 – $290, and the $129 trip and diagnostic is inside that number rather than added at the door — it is the service’s base fee, so it is added once however many fixtures we look at. A second drain on the same visit is labour only: $268 – $340. Answer “no working shutoff” and the rule fires on the No side for $145: $356 – $452. Water through a ceiling, two fixtures, behind a finished wall, no shutoff, today comes back $801 – $1,019. That service has its own $1,500 ceiling, and eight fixtures behind a finished ceiling with a replacement and same-day service routes rather than pricing.
  • Routing mode. Pick Sewer lines, well systems and commercial work. That service is in site-visit mode, so it never shows a price at all; the visitor sees “we like to see it first”. Its “how many bathrooms or fixture groups” 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. Nothing on this account carries a seasonal adjustment, and on this trade that is a decision rather than an omission. The job everybody associates with plumbing arrives on a cold snap, and a cold snap is weather rather than a calendar — a seasonal row repeats every year forever, so encoding the freeze would charge a premium on every mild January and nothing at all for the March freeze that actually fills the board. A repipe, meanwhile, is planned work, and the price of opening a ceiling does not move with the month. Every figure above is the same figure in any month; run the priced path with --date=2027-02-11 and again with --date=2027-07-14 and both return $6,925 – $8,295.
  • 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 on our side, so the reply is written, compliance-checked and held in the outbox where the owner can read it. The rules, the hours, the quiet hours and the opt-out handling are built and running. Note what the hours below do not reach: texting runs 8am to 9pm where the caller is, so the 2am burst pipe is recorded blocked with the reason on it, not queued.
  • The widget’s blue 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.