Pool Chemical Surcharge Calculator

Size the chemical surcharge to add per pool when chlorine or chemical cost rises above your baseline: set a trigger, step and cap, and see what the surcharge recovers across your route. No signup.

Units
Chemical cost

The chemical price your route rates were built on. This is the peg the surcharge is measured from.

What you are paying today for the same product.

Your route

Product used per pool per visit. For liquid chlorine, enter gallons. For tabs or granular, stay in US units and enter pounds per pool; the arithmetic is the same.

If you bill a flat monthly rate, divide it by visits per month (weekly service is about 4.33).

Show the surcharge as
Surcharge policy (optional): trigger, step, cap, volume

A deadband. Chemical cost has to move past this before anything is billed. 0 turns it off.

Rounds the billable move DOWN to whole steps so the number does not change every delivery. 0 = continuous.

A contractual ceiling. 0 = uncapped.

Optional. Adds the weekly and annual run-rate rows.

Chemical surcharge

—

added to each pool while chemical cost stays where it is.

Chemical cost per pool at your baseline

—

Chemical cost per pool today

—

Export
How this is calculated

A chemical surcharge is a pass-through, so the arithmetic starts with the move in the price you pay for product, not with a percentage someone picked. The move converts to dollars per pool through the gallons of product that pool uses each visit, then becomes a percentage of the invoice.

move        = max(0, current $/gal - baseline $/gal)
billable    = max(0, move - deadband you absorb)
stepped     = step > 0 ? floor(billable / step) x step : billable
per pool    = stepped x gallons per pool
surcharge % = per pool / average job price      (capped if you set a cap)
recovered   = per pool / (move x gallons per pool)

Worked example, using the tool's opening state: chemical cost moved from $3.50 to $5.25 a gallon, a move of $1.75. At 0.5 gallons per pool that is 1.75 x 0.5 = $0.875 a pool; against a $150 job, 0.58%. With no deadband and no cap it recovers 100% of the increase.

The step rounds down, never up, so a published surcharge never runs ahead of the price it claims to track. The deadband is subtracted before the step: it is the slice of the move you have decided to absorb. A cap is applied last, to the percentage, which is why a capped surcharge shows a recovery share below 100%.

Constants: 1 US gallon = 3.785411784 liters (exact by definition), used for the metric toggle. The annual run-rate multiplies weekly recovery by 52 weeks.

What this deliberately does not do: it never claims a chemical price, never stores a customer or an agreement, and never applies a charge anywhere. It also does not size a permanent price increase or model your margin on chemicals; those are separate tools.

Chemical cost is the variable that can spike between billing cycles while every per-visit price you quoted sits exactly where you left it. Unlike fuel, there is no published national index for liquid chlorine or pool chemicals: the baseline is the price on your own supplier invoice when you last set your route rates, and the surcharge tracks the gap between that baseline and what you are paying today. The calculator above sizes one from your numbers.

Why a chemical surcharge needs a written-down baseline

A workable chemical surcharge rests on three parts you can both point to: the product cost it tracks, the baseline it is measured from, and the formula that turns the gap into a dollar amount per pool. If any of those three is missing, the surcharge has no anchor. Customers accept a formula they can verify; they push back on an unexplained line.

Most operators who try a chemical surcharge skip the baseline entirely. The right number is not a round figure and not today’s invoice price: it is the chemical cost per gallon (or per pound, for tabs) that your current per-visit rates were built on. If you do not know it, pull last season’s purchase invoices and divide total chemical spend by gallons (or pounds) purchased. That average is your peg, and the surcharge exists only to cover the distance between the peg and today’s price.

Because pool chemicals have no equivalent of the EIA weekly fuel average, the baseline comes from your books, not from a published series. That means both sides must agree on which product and which invoice date define it. Write those into the clause.

You enter the prices

This calculator does not quote a chemical price. Chlorine, tabs, and other pool chemicals vary by supplier, region, purchase volume, and product form. The only honest numbers are the ones on your invoices: the price per gallon of liquid product (or per pound of tabs or granular) when you last set your route rates, and what your supplier is charging today. For tabs or granular, stay in US units and enter price per pound and pounds per pool; the arithmetic is the same. If you do not know your baseline, pull last year’s purchase invoices and divide total chemical spend by gallons (or pounds) purchased.

From price per gallon to dollars per pool

  1. The move: subtract your baseline chemical price from today’s purchase price. The result is the raw cost gap per gallon (or per pound for dry product). If chemical cost has dropped below the baseline, the gap is zero and no surcharge applies.
  2. The deadband: your absorb threshold, if you set one. It strips the first portion of the gap before any billing, so minor supplier price fluctuations between deliveries never reach the invoice.
  3. The step: the billable gap rounded down to whole increments. Rounding down guarantees the published figure trails the real cost rather than leading it.
  4. Dollars per pool: the stepped move multiplied by the gallons (or pounds) of product that pool uses each visit.
  5. The percentage: dollars per pool divided by the per-visit invoice, capped if your agreement caps it.

What a chemical move is actually worth per pool

Run the arithmetic at a $150 per-visit price and change only chemical move and gallons per pool:

Move above baseline 0.25 gal/pool 0.5 gal/pool 1.0 gal/pool
+$0.50/gal0.08%0.17%0.33%
+$1.00/gal0.17%0.33%0.67%
+$1.75/gal0.29%0.58%1.17%
+$3.00/gal0.50%1.00%2.00%

Every figure there is the same multiplication: move x gallons per pool / $150. At these example inputs, a residential pool using half a gallon per visit at a moderate price move sits well under one percent because the chemical burned on a single pool is a small share of a $150 per-visit invoice. Usage is the lever: the 1.0-gallon column is exactly four times the 0.25-gallon column at every price before rounding, because the only variable that changed is gallons per pool.

Three contract terms that keep the surcharge signable

These three optional terms turn a calculation into a clause customers will accept.

The calculator reports that gap as the recovery share. If the share stays low through peak season, the cap is subsidizing your chemical line out of margin that was meant for labor and equipment.

When the honest move is a permanent rate increase

A surcharge is temporary by design: it tracks a cost that moved above a baseline and it recedes when the cost comes back down. If your chemical supplier has repriced and the new level holds through a full buying season, continuing to call it a surcharge misleads the customer. The cleaner step is a permanent rate adjustment. Size the revenue impact and the customer loss you can tolerate with the price increase impact calculator, then send it with the price increase letter template.

Chemical margin and the fuel parallel

This tool sizes one number: the surcharge to apply per pool while chemical cost is above your baseline. It does not tell you whether your chemical line is profitable in the first place. That question belongs to the chemical cost margin calculator, which maps chemical cost per visit against what you charge and shows the margin. When the acid line is the one that moved, the pool acid cost comparator can help you decide whether switching from muriatic acid to dry acid (sodium bisulfate), or the reverse, changes the cost per acid equivalent enough to absorb the swing without a surcharge at all. For the parallel mechanism indexed to fuel instead of chemicals, the fuel surcharge calculator uses the same baseline-trigger-step-cap structure against a published EIA fuel index rather than a chemical purchase price.

Nothing here is stored, uploaded, or sent anywhere. The arithmetic runs in your browser and the export is a file you keep.

Frequently asked questions

How do I calculate a chemical surcharge for pool service?
Take the move in your chemical cost: today’s purchase price per gallon minus the baseline price your route rates were built on. Multiply by the gallons of product each pool uses per visit. Divide by the average invoice to express it as a percentage. Worked through: a $1.75/gal move at 0.5 gal per pool is $0.875 per pool; against a $150 per-visit invoice that is 0.58%.
What is a normal chemical surcharge percentage for pool service?
There is no universal number, and any page that offers one is guessing. The percentage falls out of three things you already know: how far the price per gallon of chemical product has moved from your baseline, how many gallons each pool uses per visit, and how big your average invoice is. At the example inputs above (half a gallon per pool at a $150 per-visit invoice), a moderate price move lands well under 1%; change any of those three numbers and the result changes with it. Run your own numbers through the calculator rather than borrowing someone else’s figure.
Is a chemical surcharge the same as a price increase?
No, and confusing the two erodes trust. A surcharge is temporary and indexed: it tracks a cost that moved above a written-down baseline, and it recedes when the cost comes back down. A price increase is permanent. If chemical prices settle at a new level and stay there, the honest move is a permanent rate increase, not a perpetual surcharge. Model the revenue effect with the price increase impact calculator, then send it with the price increase letter template.
Can I add a chemical surcharge to an existing pool-service contract?
Check the agreement first. If the contract already contains a chemical-cost adjustment clause, you can activate the surcharge under its terms. If it does not, adding an unannounced fee mid-contract erodes trust and opens the door to disputes. The straightforward path is to build the surcharge clause into the next renewal cycle. Between now and that renewal, treat the unrecovered chemical cost as a candidate for a rate adjustment rather than a retroactive surcharge.

Get early access

Fieldwynn is the field-first app we are building for small crews — simple in the truck, powerful in the back office. It is not out yet; join the early-access list and be first when it launches for your trade.