Pool & Spa

Pool store software in Baltimore: “shock” is a pesticide claim, and the bucket needs a fire permit

Every sanitizer a Baltimore pool store sells is a registered pesticide, a pail of shock is a fire code quantity, and half the chemical aisle cannot be mailed. Here is what that means for a store’s inventory and online store and for a service company’s trucks and pool logs, what the software costs, what 26 local businesses and 1,268 chemical listings show, and what we would build.

Pool store software in Baltimore: an open white pail heaped with chlorine tablets on an oak sales counter, beside a small glass bottle of pool water, a blank index card, a blue skimmer basket, a white brush and a tablet showing an abstract grid, with shelves of unlabeled pails and jugs behind and a Baltimore rowhouse visible through the shop window
A pail of tablets, a customer’s water sample and a card with nothing written on it yet. This article is about what belongs on that card, and on the product page: what the product is under federal pesticide law, how much of it the fire code lets the store hold, how it may travel, and what the pool it goes into has to record.
The short version. (1) Every chlorine tablet, bag of shock and algaecide is an EPA-registered pesticide, EPA calls the word “shock” itself a pesticide claim, and a web listing is an offer for sale that must not stray from the label. Maryland registers each product yearly; its register lists 786 pool and spa chemicals, all expiring December 31. (2) In Baltimore City, storing more than 10 pounds of calcium hypochlorite shock requires a fire code permit, and a store may hold 1,350 pounds of it per control area, or 2,250 if every package is sealed and 10 pounds or less. (3) A 50-pound pail of trichlor cannot ship as a limited quantity, carries a $58 hazmat surcharge on UPS Ground and cannot be mailed; muriatic acid cannot be mailed at all; a service truck may carry 440 pounds of chemicals. (4) Of 1,268 pesticide listings on 23 US pool web stores, 42.4% claim to kill germs, 17.4% call the product safe, gentle or natural, and 0.4% give the EPA registration number. (5) Of 26 pool businesses in Baltimore City and County, no independent store has a confirmed online chemical checkout and none offers online booking. (6) Maryland rewrote its public pool regulation on 14 September 2026, with logs kept three years and a two-hour response clock for contract operators. Service software costs $25 to $240 a month; card fees cost more. The fix is one record per chemical and per pool, with the product page, shipping, fire code count and pool log generated from it.

Late on a Saturday in September, a homeowner from Parkville carries a jar of pool water into a pool store on Harford Road. Ten minutes later the counter prints a slip: a 20,000-gallon vinyl pool, free chlorine at 0.5, pH at 7.9, and a closing plan. Four pounds of calcium hypochlorite shock, a quart of winter algaecide, a gallon of muriatic acid and a closing kit. The customer pays, loads the car and drives home. Nobody mentions that three of the four lines on that slip are registered pesticides, that the shock came off a shelf the fire code counts by the pound, or that the gallon of acid is one of the few things in the store the Postal Service will not carry at any price.

Now open the same store’s website, if it has one. The product page for that shock was most likely written by a distributor: a photo, a size, a price and a sentence about killing bacteria. When we read 1,268 listings for chlorine, bromine, shock and algaecide on 23 independent pool supply web stores in 18 states, 42.4% made a germ-kill claim, 17.4% described the product or its use as safe, gentle or natural, and 5 gave the EPA registration number printed on every one of those containers.

That gap is most of this article. A pool store and a pool service company run on three kinds of record that rarely meet. The water test knows the pool: its gallons, its sanitizer, its last reading. The catalog knows the product: a name, a size, a price. And a stack of rules decides what the product is and where it may go: federal pesticide law, the fire code, the hazardous materials table, the Postal Service’s manual, Maryland’s product register and, since the middle of this month, a rewritten Maryland regulation for every pool that is not in somebody’s backyard. Almost none of it is modeled by the software small pool businesses use.

It is also an unusual moment for this trade. Leslie’s, the largest pool retailer in the country, closed 80 stores last winter, told investors in August that there is substantial doubt about its ability to continue as a going concern, and was reported by Bloomberg last week to be preparing a Chapter 11 filing. Its annual report names what makes pool chemicals hard to sell online: hazardous materials shipping rules, installation, and water testing and advice. A local store is better placed than anyone to handle all three, and all three are, underneath, questions about data.

We build custom software for small businesses in Baltimore, so my interest here is practical. I am not a lawyer, and none of this is legal advice: check the rules that apply to your business with the Maryland Department of Agriculture, your fire marshal, your local health department and your accountant. The question I want to answer is narrower. Which facts about a pool chemical does a store’s software need to know before it sells one, stores one, ships one or pours one into a customer’s pool, and what does it cost to make sure it does?

What Baltimore’s pool trade looks like, and why the federal statistics cannot count the stores

Start with a small puzzle: you cannot count Baltimore’s pool stores with federal data. In the 2022 edition of the North American Industry Classification System, “swimming pool (above-ground) and supply stores” is one of 26 index entries in code 459999, “all other miscellaneous retailers,” alongside trophy shops, flag shops and monument dealers, and the Census Bureau’s County Business Patterns for 2023 still use the 2017 code 453998, an equally mixed bag. Whatever those codes show for Baltimore, it is not a count of pool stores.

Pool service is easier to see, and what it shows is small businesses. Pool cleaning is classified in 561790, “other services to buildings and dwellings,” a code it shares with gutter cleaning, pressure washing and chimney sweeps, so treat the totals as an upper bound. In County Business Patterns for 2023, Baltimore City has 12 establishments with paid employees in that code and Baltimore County 38. The Nonemployer Statistics for the same year count 74 one-person businesses in the city and 213 in the county, with average receipts of about $37,000 and $44,000 a year. In that code, for every business with a payroll there are five or six people working alone.

Our own census, described below, found 12 storefront pool retailers and 14 service companies based in the city or the county, only one of each in the city. And much of the service market that advertises in Baltimore County is run from outside it: nine of the 23 service companies we found selling there were based in Anne Arundel, Carroll, Harford or Montgomery, or out of state.

Seasonality explains a lot about the software this trade tolerates. Baltimore City’s free public pools ran a full daily schedule only from 16 June to Labor Day, 7 September, and Baltimore County runs no outdoor public pools of its own, so its summer swimming happens at backyard pools, swim clubs, community associations and apartment complexes. Leslie’s quarters covering April through September were 71.6% of its sales in fiscal 2025; for POOLCORP, the country’s largest pool distributor, the second and third quarters were about 61% of 2025 net sales, Sun Belt included. A Baltimore business lives on five months, and it buys for them in winter.

The incumbents, and one of them in trouble

Be fair to Leslie’s first, because it built much of what this article recommends. It pioneered the free in-store water test and the printed “prescription” that goes with it, which its annual report likens to the relationship between a pharmacist and a patient; its AccuBlue test screens ten water criteria; it sells for pickup and delivery; and it runs its own chemical packaging plants and private labels. At the end of its 2025 fiscal year it had 1,022 locations in 39 states, 11 of them in Maryland. In the Baltimore area we found four, all in the county.

The numbers since then are hard. Sales fell from $1.45 billion in fiscal 2023 to $1.24 billion in fiscal 2025, with comparable sales down 6.8% last year and 6.2% in the quarter to 4 July 2026. Last November the board approved closing about 80 to 90 underperforming stores, and by July the company operated 943. In its quarterly report filed on 12 August, it reported total liabilities of $1.21 billion against assets of $722 million, withdrew its full-year outlook, and said its plans “do not alleviate the substantial doubt” about its ability to continue as a going concern. It is exploring strategic alternatives, including a transaction to reduce its debt. Bloomberg reported on 25 September that it was preparing a Chapter 11 filing that could hand control to its lenders. When we checked the company’s filings with the Securities and Exchange Commission on the morning of 29 September, no filing had been announced.

None of that means the stores disappear; a restructured Leslie’s may come out leaner and more aggressive. But the trade is splitting. POOLCORP, which sells to pool builders, service companies and independent stores rather than to homeowners, held 2025 net sales at $5.3 billion and grew 4% in the first half of 2026, crediting steady demand for maintenance products and its private-label chemicals. It has two sales centers in Maryland. The professional channel is holding while the national consumer chain shrinks, and the independents in between are the ones whose customers are, at this moment, reconsidering where they buy.

Leslie’s annual report is also the most candid document we found about why this category resists e-commerce. It lists the obstacles to serving pool customers online as the regulations that restrict shipping hazardous materials, the need for professional installation of equipment, and the need for regular water testing, expert advice and customized prescriptions. Read as a to-do list for a local store’s software, that is: know how each product may travel, schedule the people who install things, and turn the water test into the order.

What pool store and pool service software costs, and what the meter counts

Pool service software is one of the more transparent corners of small-business software, and also one of the least comparable, because almost every vendor counts something different. We checked each vendor’s own pricing page on 29 September 2026 and priced the same job on each: a service company with two technicians, one office user and 120 pools serviced weekly in season.

Pool service software for two technicians and 120 weekly pools, per month in season, from vendors’ published prices (checked 29 September 2026)
ProductWhat the meter countsPublished priceOur job, per month
The Dip AppThe company$24.99$24.99
PaythepoolmanBase plus technicians$50 + $15 per technician$80
Pool FounderBands of technicians$99 for up to 3$99
GorillaDeskRoutes$99 for 2 routes (Basic)$99
Pool BrainOffice plus active technicians$50 + $65 per technician$180
Housecall ProPlans with included users$189 monthly, 5 users (Essentials)$189
Pool Office ManagerUsers$125 + $25 per extra user; QuickBooks +$25$200
ProValetBase plus technicians$149 incl. 1 technician + $59 each$208
SkimmerPools serviced that month$98 incl. 49 pools + $2 per pool$240
PoolDialPools serviced$2 per pool, $40 minimum$240
ServiceTitan, FieldRoutesTechnicians (ServiceTitan)Not published—

Ten products, seven meters, and a spread from $25 to $240 a month for identical work. For a Baltimore company the off-season matters as much as the peak: a per-pool meter falls away when the pools close, although Skimmer’s tiers keep a floor and PoolDial says it has no seasonal pause rate, while a per-technician or per-user plan keeps billing in February unless, as Pool Office Manager allows, you can switch people off. Either way, none of these subscriptions is where the money goes.

The payment rate is the real subscription

The larger meter is on the invoice, and it is the one vendors are least eager to print. Skimmer’s pricing and billing pages describe its processing rates only as competitive; its help center gives them as 2.9% plus 25 cents per card payment, plus another half a percentage point for keyed-in or recurring payments, so the automatic payments the product encourages cost 3.4% plus 25 cents. Its bank transfers cost 1% plus 25 cents, capped at $10. Square charges 3.5% plus 15 cents on a card kept on file. Several pool apps publish no processing rate at all on their pricing pages.

Now price a real Baltimore season. The price lists in our census sell full-service weekly care as a seasonal plan, between $3,200 and $3,950 for sixteen to eighteen visits. Take $3,400. Paid by a card on automatic billing at 3.4% plus 25 cents, the fee is $115.85 per customer; by bank transfer at 1% plus 25 cents, capped at $10, it is $10. Across 120 customers that is $13,902 against $1,200, a difference of $12,702 a season, more than any product in the table costs in four years. Card payments are not wrong, and some customers will pay no other way. But the processor is the biggest software bill a pool service company has, and it rarely appears on the comparison chart.

Store systems, water tests and the shipping surcharge

Pool store systems are less transparent. Evosus, whose LOU system is built for pool and spa retailers and service departments, is the only pool-specific point of sale we found with public prices: $1,999 once on its PRO plan, per-user licenses from $19 to $99 a month, and an e-commerce add-on at $100 a month plus another $1,999. RB Retail & Service Solutions, formerly RB Control Systems, offers a cost calculator that returned no prices to us. General systems are cheaper and do not know what a water test is: Square for Retail is $0, $49 or $149 a location a month, with in-person card rates of 2.6%, 2.5% or 2.4% plus 15 cents.

The water test is where the brands are. POOLCORP’s POOL360 WaterTest, according to a 2023 sell sheet, cost $39.99 a month plus $1,200 for hardware and required the store to carry specific chemical lines. BioGuard’s ALEX analysis is for BioGuard dealers and recommends BioGuard products; three of the twelve Baltimore storefronts in our census are BioGuard dealers. Leslie’s AccuBlue prescribes Leslie’s products. The brand-neutral options are LaMotte’s WaterLink Pro software, whose core license is free (LaMotte, as it happens, is based on Maryland’s Eastern Shore, in Chestertown), the free Orenda app and Trouble Free Pool’s Pool Math. That split matters later in this article, because the software that reads the water also writes the shopping list, and whoever supplies that software decides whose products are on it.

For a store that ships, one more price decides whether e-commerce works: the carrier’s hazardous materials surcharge. A fully regulated package, which is what a 50-pound pail of trichlor becomes, costs $58.00 in surcharge alone on UPS Ground in 2026 and $57.25 on FedEx Ground, before postage, and both need a dangerous goods agreement. Limited quantities carry no such surcharge on FedEx Ground and need no contract on UPS Ground, while Shopify’s own USPS labels do not support hazardous materials at all. The same chemical ships for the price of a box in the right container, and for the price of a closing kit in the wrong one.

The part no national platform models: what federal law, Maryland and Baltimore say about a pool chemical

Most rules in this section are written for the product, not the store, which is why store software misses them. A point-of-sale system knows a SKU is a 25-pound pail with a price. It does not know the pail is a registered pesticide, an oxidizer of a particular class, a hazardous material of a particular packing group and a product Maryland registers every calendar year. Each of those facts changes what the store may say, stock, ship and carry.

“Shock” is a pesticide claim, and the listing is where you make it

Federal law defines a pesticide by its purpose, not its chemistry. Under 7 U.S.C. §136(u) it is any substance “intended for preventing, destroying, repelling, or mitigating any pest,” and EPA’s registration rule at 40 CFR 152.15 treats a substance as a pesticide if the person selling it “claims, states, or implies (by labeling or otherwise)” that it can be used as one. Algae and bacteria in pool water are pests. So every chlorine tablet, bag of shock, algaecide and bromine puck on a pool store’s shelf is an EPA-registered pesticide, and a product that is not registered becomes an unregistered pesticide the moment somebody’s description says it kills algae.

EPA has been explicit about the most common word in the trade. Its page on the use of the term “shock,” last updated in January 2026, says previous enforcement determinations “have indicated that the term ‘shock’ is inherently a pesticide claim,” and lists “Non-chlorine Shock,” “Antibacterial” and “Algicidal” among its examples. A non-chlorine oxidizer can stay outside pesticide law as a “shock-oxidizer” for “non-living” waste, but only if no pesticidal claim appears “in conjunction with the marketing of the product.” On a website, a category called “Shock & Sanitizers” or a search title can make that claim for you.

The website counts because selling includes offering. FIFRA’s definition at §136(gg) includes to “offer for sale,” §136j(a)(1)(B) forbids selling a registered pesticide if the claims made for it “as a part of its distribution or sale substantially differ” from those accepted at registration, and EPA reads that, in 40 CFR 168.22, as reaching “advertisements in any advertising medium.” Its fact sheet on pesticide sales in e-commerce, which names “some swimming pool chemicals,” puts the burden plainly: “it is the seller’s responsibility to ensure that pesticides sold over the internet are labeled according to federal standards and are registered both by the U.S. EPA and any state in which they are distributed.”

The federal civil penalty is up to $24,885 per violation, and EPA counts violations per sale; its 2018 settlement with Amazon covered nearly four thousand of them for $1,215,700. The pool case worth knowing is smaller and more instructive. In 2020 EPA settled with an Arizona distributor, Pool Water Products, for $800,000, after inspectors found it selling a version of its own registered 3-inch jumbo tablets that had been made in China. Same brand, same tablet, a different factory, and therefore an unregistered pesticide. A catalog keyed on product names cannot tell those two pails apart. A catalog that stores the EPA establishment number printed on each lot received can.

The words the label could never carry

The label is the one document about a pesticide that EPA has read and accepted, and its rules say what it may not say. Under 40 CFR 156.10(a)(5), a pesticide is misbranded if its labeling makes “claims as to the safety of the pesticide or its ingredients, including statements such as ‘safe,’ ‘nonpoisonous,’ ‘noninjurious,’ ‘harmless’ or ‘nontoxic to humans and pets,’” even with “when used as directed” attached, or non-numerical safety comparisons such as “Contains all natural ingredients.” A product page is advertising rather than a label, so the store’s question is the §136j one: does its copy make a claim that differs substantially from the registration? A registered label cannot call the product safe, so a page that does is, at the very least, not repeating the label.

That is a text rule, and text rules are cheap to enforce in software. A catalog can refuse to publish a pesticide listing that contains the phrases EPA lists, require the registration number before a pesticide goes live, and treat “shock,” “sanitize” and “kills” on an unregistered oxidizer as an error rather than a style choice. Almost nobody does, as the census below shows, because the copy arrives in a distributor’s feed and nobody at the store reads it as regulated speech.

The store brand has a third number, and the pail stays sealed

Private label is the economic heart of the chemical aisle: Leslie’s says in its annual report that proprietary brands and custom formulations are more than 55% of its total sales and 82% of its chemical sales. The mechanism is EPA’s supplemental distribution rule at 40 CFR 152.132: a registrant may sell its product under a distributor’s name, the label must carry the registration number “followed by a dash, followed by the distributor’s company number,” the product may not be repackaged, and “both the registrant and the distributor may be held liable.” EPA’s formats are xxxxx-xxxx for a registered product, xxxxx-xx-xxxx for a distributor product and, for the plant that made it, an establishment number with a state or country code, as in xxxxx-CHN-xxxx.

Opening a pail changes everything. EPA’s definition of “produce” at 40 CFR 167.3 includes to “repackage, label, relabel, or otherwise change the container,” so a store that breaks a 50-pound pail into bags has become a producing establishment that needs its own EPA establishment registration and annual production report. Maryland closes the door from its side: under Agriculture §5-106(b), a pesticide sold in the state “shall be in the registrant’s or manufacturer’s unbroken, immediate container.” Federal refilling rules offer a narrow path through a written agreement with the registrant. What there is not is a lawful “chlorine by the pound” SKU invented at the counter.

Maryland keeps its own list, one brand at a time

Federal registration is necessary and not sufficient. Maryland’s Agriculture §5-105 requires “each brand or product name of a pesticide” to be registered before it is distributed in the state, for $110 a product a year, and every registration “expires December 31 each year.” A retailer need not register a product someone else has registered, “provided the product label has not been altered or changed,” but §5-109 forbids anyone to “distribute, sell, or offer for sale” an unregistered pesticide, the Department can issue a stop-sale order (§5-108), and its inspectors may enter premises where pesticides are sold or stored, “including any commercial transportation vehicle” (§5-112(e)). That includes a pool service truck.

The register is public, in the awkward way we described in our post on pet supply stores: the State Chemist’s portal offers one PDF with no search or category field. Our copy, stamped “As of 2026-09-23,” runs to 1,141 pages and holds 13,551 active pesticide registrations. Classifying the rows by product and company name, we counted 786 active registrations for pool and spa chemicals under 88 brand owners (a hand check of 60 random rows found no false positives), including Leslie’s own brand, registered under the name LPM Manufacturing, In The Swim, Walmart, HD Supply and regional dealers with private labels of their own. Every row expires on December 31, so Maryland registration is a field with an expiry date on each SKU, not a fact you check once. And for an online store the list multiplies: a bucket shipped to Delaware, Pennsylvania or Virginia relies on three more registers.

The fire code counts pounds, by class and by package size

The rule in this article’s headline comes from the fire code. Baltimore City adopts the International Fire Code, 2021 edition, with its hazardous materials chapters unamended. The code sorts oxidizers into four classes, and the two most common pool sanitizers sit in different ones: trichlor tablets are a Class 1 oxidizer under NFPA 400, as Occidental’s safety data sheet for its trichlor states, while calcium hypochlorite shock at the usual 65% to 73% strength is Class 3, and at 50% or less, Class 2.

Class matters twice. The permit table, Table 105.5.22, requires an operational permit to store more than 10 pounds of a Class 3 oxidizer solid, 100 pounds of Class 2 and 500 pounds of Class 1, so a single 25-pound pail of cal-hypo shock is over the first line on its own. And Table 5003.11.1 in Chapter 50 caps how much a retail store may keep in each control area, with a footnote that makes the package size part of the rule.

Oxidizers in a Baltimore City pool store under the International Fire Code, 2021 edition, per control area in a retail (Group M) occupancy
Oxidizer classTypical pool productOperational permit aboveMaximum per control areaWith sprinklers throughout
Class 3Cal-hypo shock, 65%–73%10 lb1,350 lb; 2,250 lb if every package is sealed and 10 lb or lessDoubled
Class 2Cal-hypo 50% or less; bromine100 lb2,250 lb; 4,500 lb if packages are sealed and 10 lb or lessDoubled
Class 1Trichlor tablets, dichlor500 lb18,000 lbNot limited
Class 4—Any amountNot allowedNot allowed

Sources: IFC 2021 Table 105.5.22 and Table 5003.11.1, notes b, c, g, h and i. Approved storage cabinets and outdoor control areas each double the limits again; retail displays may not exceed six feet in height or 200 pounds of solids per square foot of floor they occupy.

Read the Class 3 row as a warehouse manager would. The same 1,350 pounds of shock can be legal or not depending on how it is packed: a pallet of one-pound bags gets the 2,250-pound allowance, while the same chemical in 25-pound pails does not. That is a constraint on the pre-season order, which in this trade arrives in winter. Leslie’s says it receives merchandise from December to March on extended supplier terms and pays for it from April to July, and POOLCORP’s early-buy programs let dealers take delivery off-season and pay in installments in the second quarter. A point-of-sale system counts units; the fire code counts pounds by class and package size, per control area. Nothing on the market that we found connects the two.

Across the city line the book changes. Baltimore County’s fire code is the NFPA 1 Fire Code, 2018 edition, adopted by County Bill 14-21, which replaced NFPA 1’s permit tables with an annual inspection and a paid fire inspection certificate; its quantity limits come from NFPA 1 and NFPA 400. A store with a counter in the city and a warehouse in the county answers to two code books, and its software should know which building it is counting.

Today is the second anniversary of the reason fire marshals care. On 29 September 2024, water from a corroded sprinkler at KIK’s Bio-Lab warehouse in Conyers, Georgia, reached pool-treatment chemicals and set off fires and a plume of toxic smoke; the U.S. Chemical Safety Board cites local reports that roughly 17,000 people were evacuated. The board’s final report, released in July 2026, found nearly 14 million pounds of reactive chemicals in a warehouse for which documents given to local authorities had anticipated an average inventory of about 6.2 million pounds, “more than twice the amount initially indicated to local officials.” A pool store is a long way from that scale, but the failure mode is the same: an inventory figure nobody reconciled with the number the fire official was given.

The fifty-pound pail cannot travel like a book

Every common pool sanitizer is in the federal Hazardous Materials Table, and the row decides how it may ship. According to the table and the safety data sheets we checked, trichlor is UN2468, Division 5.1, packing group II; cal-hypo shock is typically UN2880, Division 5.1, packing group II, though tablets may ship as packing group III; liquid chlorine at 12.5% is UN1791, Class 8, packing group III; and pool-grade muriatic acid is UN1789, Class 8, packing group II. Sodium dichlor dihydrate, a common spa sanitizer, is taken out of Division 5.1 altogether by special provision 28.

The packing group sets the size of the box. Under 49 CFR 173.152, a packing group II oxidizer can ship by ground as a “limited quantity,” with lighter marking and no shipping papers, only if each inner container holds 1.0 kg or less, about 2.2 pounds. A 25-pound or 50-pound pail of trichlor does not qualify, so it ships fully regulated, with specification packaging, labels, shipping papers and a carrier contract. The Postal Service is stricter. Publication 52, in its August 2026 edition, accepts oxidizers only as limited quantities, domestic only, at no more than one pound per container and 25 pounds per box, and accepts hydrochloric acid only in solutions “not exceeding 10 percent acid” (§348). A gallon of liquid chlorine is over its one-pint limit for corrosive liquids, and muriatic acid at around 31% cannot be mailed at all.

Six pool chemicals, six shipping rules (common classifications from 49 CFR 172.101 and product safety data sheets; always check the SDS for the exact product)
ProductHazmat entryGround limited quantityU.S. mail
Trichlor tablets, 25–50 lb pailUN2468, 5.1, PG IINo: inner containers over 1 kgNo
Cal-hypo shock, 1 lb bagsUN2880, 5.1, PG IIYes, up to 30 kg gross per boxYes: 1 lb per bag, 25 lb per box
Cal-hypo tabletsUN2880, 5.1, PG III (tablet form)Yes, up to 5 kg per inner containerOnly in 1 lb containers
Sodium dichlor dihydrate granulesExcluded from 5.1 by special provision 28Not regulated as an oxidizerCheck the SDS
Liquid chlorine 12.5%, 1 gal jugsUN1791, 8, PG IIIYes, up to 5 L per inner containerNo: over the 1 pint limit
Muriatic acid 31%, 1 gal jugsUN1789, 8, PG IINo: inner containers over 1 LNo: over 10% acid

The service truck has a chlorine limit

A pool service company ships nothing and still carries hazardous materials every day. Its exception is “materials of trade” at 49 CFR 173.6, for hazardous materials a private carrier transports in direct support of a business other than transportation. Each Class 5.1 or Class 8 container in packing group II or III may hold no more than 30 kg or 30 liters, about 66 pounds or 8 gallons; containers must be in the manufacturer’s packaging or equivalent, secured and marked with the common name; the driver must be told what is on board; and all materials of trade on the vehicle together may not exceed 200 kg, or 440 pounds, gross.

Four hundred and forty pounds sounds like a lot until a truck loads up for closings. A gallon jug of 12.5% liquid chlorine weighs roughly ten pounds, so about forty jugs of chlorine and acid use the whole allowance before a single pail of tablets goes on. Chemistry adds a loading rule: acid and chlorine release chlorine gas when they meet, and the federal segregation table at 49 CFR 177.848 says Class 8 liquids may not be loaded “above or adjacent to” Class 5 oxidizers. Whether that table legally reaches a truck carrying only materials of trade is a question for a hazmat specialist; as practice, it is a rule every pool tech already knows.

One more federal line is a neat piece of drafting. FIFRA’s definition of distributing leaves out the holding or application of registered pesticides by an applicator who controls pests “without delivering any unapplied pesticide to any person so served.” A technician who pours chlorine into a customer’s pool is applying it. A technician who leaves a bucket of tablets by the pump for next week has delivered a pesticide, and that line on the service ticket is a sale.

Maryland adds a question we could not find answered in writing. Its Pesticide Applicator’s Law defines “pest control” to include pests “in, on, or around any house, building, water,” and “pest” to include bacteria and aquatic plant life. A pest control business needs a $150 annual license and a certified applicator, and must keep a two-year record of every application under COMAR 15.05.01.12, including each product’s EPA registration number, the rate and the total amount used. We found no pool exemption in the regulations and no Department statement either way, so ask its Pesticide Regulation Section. If the answer is yes, the required record is almost exactly the ticket a pool route already keeps, with the registration number added.

The public pool’s log is a legal record, and it was rewritten this month

The biggest change for Baltimore’s service companies took effect on 14 September 2026, and most forms online still cite the old rules. Maryland repealed its entire regulation for public pools and spas, COMAR 10.17.01, and adopted a new chapter. “Public” is broad: everything except a pool on a property with four or fewer residences, used by residents and their unpaid guests. Condominium and hotel pools are generally semipublic; apartment complexes and subdivisions with more than ten units, swim clubs and fee-paying pools are recreational.

The new chapter speaks directly to contractors. Under Regulation .23, a certified operator must be on site whenever a recreational pool is open, and for a semipublic pool must be able to respond within 30 minutes, or “if a contractual certified pool and spa operator, 2 hours.” The operator must record disinfectant, combined chlorine and pH every two hours at a recreational pool and three times a day at a semipublic one, record chemicals added daily, sign every sheet and “keep the records on the premises for a minimum of 3 years.” An approved automatic controller reduces the readings to three a day. The records may be kept on the state’s form “or an equivalent form,” which is an open invitation to generate them.

Licenses add their own calendars. Baltimore City charges $455 a year for each pool or spa, with a seasonal license from May 1 to October 1 that must be applied for by April 1. Baltimore County’s year runs from May 1 to April 30, with fees that, according to its published application, rise with the pool’s volume from $200 to $700, plus its own $35 operator card on top of the state certificate. The county’s June 2024 list of licensed aquatic venues has 572 entries at 374 facilities, from apartment complexes and swim clubs to hotels and schools. That is the commercial market for a county service company, and every one of those pools now keeps the new log. Service apps record readings; we did not find one that promises the Maryland equivalent form, the two-hour clock or the three-year archive.

What 26 Baltimore pool businesses show a customer, or a machine

To see what a Baltimore customer, or an AI assistant answering one, can find, we listed every pool business we could locate based in Baltimore City or Baltimore County: 12 storefront retailers, including Leslie’s four stores and the pool and hot tub dealers that sell chemicals, and 14 companies doing service, openings and closings, repairs or community pool management. We found them through OpenStreetMap, directories and town-by-town searches, and read each website on 29 September 2026. It is a small sample because this is a small trade, and the service half is a floor: sole operators without websites are hard to find, which is part of the finding.

What 26 pool businesses based in Baltimore City and Baltimore County show online, checked 29 September 2026
On the website12 storefronts14 service companies
Has a working website119
Refused our automated fetch6 (3 of 8 domains)0
Sells chemicals online, confirmed5 (4 chain stores, 1 hot tub dealer); 0 of 7 independents0
Advertises water testing8 (6 say it is free)1
Online booking widget for openings or closings00
Publishes a numeric opening or closing price11
LocalBusiness structured data (of sites we could read)3 of 53 of 9
Listed in OpenStreetMap70
Explains chemical safety, shipping or pickup-only rules (of sites we could read)0 of 50 of 9

Three things stand out. First, the storefronts put everything into the water test and nothing into the website. Eight of the twelve advertise testing, most of them free, and not one independent store has a confirmed online checkout for chemicals; the only confirmed ones belong to the national chain and a regional hot tub dealer. Nobody explains why an item is pickup-only, which is a shame, because “this bucket cannot go by mail, but we deliver it free within ten miles” is an honest reason to buy locally.

Second, booking online means filling in a form. Across the 23 working websites in our full list, including out-of-area companies selling into it, we found no booking widget and no trace of Skimmer, Pool Brain, Jobber, Housecall Pro, ServiceTitan or any other scheduling product. Whatever software these companies run is behind the office door, and five of the fourteen local service companies have no working website at all.

Third, prices are rare, and the ones that exist are good material. Across the 26 businesses, two publish a numeric opening price and one a numeric closing price. Counting out-of-area companies that sell into Baltimore County, published inground openings run from $300 to $525 and closings from $475 to $620. The price lists are also the best evidence of how seasonal the trade is: one retailer charges $375 for an opening booked in March or April and $400 from May 1, another sets an October 31 cutoff for closings with a 30% surcharge after it, and one list bills $43.25 for every 15 minutes a job runs past two hours. Those are rules a booking system could apply by itself. At the moment they live in PDFs and phone calls.

The machine view is thinner still. Half of the twelve storefronts, including all four chain stores, sit behind websites that refused our automated fetches, both a plain browser request and an AI assistant’s fetcher. Our requests came from outside the United States, so that does not prove every crawler is turned away, but an assistant in that position knows only what a search snippet says. OpenStreetMap has no pool shop tagged anywhere in Baltimore City and none of the service companies, and only six of the fourteen readable local sites mark themselves up as a local business, three of them by a website builder’s default. When a customer in Towson asks an assistant who can close a pool next week and what it costs, the honest answer from this data is that almost nobody has told it.

What 1,268 pool chemical listings tell the buyer

Few Baltimore stores sell chemicals online, so to see what a pool chemical product page usually says we went national: 23 independent pool and spa supply stores in 18 states, one of them in Maryland, whose websites run on Shopify, which publishes each store’s product data in a machine-readable file. We read 18,883 products from those files on 29 September 2026 and classified them; 1,268 were pesticides in EPA’s sense, meaning chlorine and bromine sanitizers, shock, algaecides and mineral sanitizers. Then we measured what each listing says.

What 1,268 pool pesticide listings say

23 web stores · 29 Sep 2026
Claims to kill germs or algaekill_claim 42.4%537 of 1,268
Gives the active ingredient with a percentageactive_ingredient_pct 19.6%248 of 1,268
Calls the product or its use safe, gentle or naturalsafety_claim 17.4%221 of 1,268
Links a safety data sheetsds_link 7.0%89 of 1,268
States a shipping or pickup-only limitship_restriction 3.5%44 of 1,268
Mentions EPA registrationepa_reg_mention 2.2%28 of 1,268
Shows a signal word (Danger, Warning)signal_word 0.7%9 of 1,268
Gives the EPA registration numberepa_reg_number 0.4%5 of 1,268
Says keep out of reach of childrenkoroc 0.0%0 of 1,268
Carries a California Prop 65 warningprop65 0.0%0 of 1,268
Share of 1,268 listings for chlorine and bromine sanitizers, shock, algaecides and mineral sanitizers on 23 independent US pool supply stores in 18 states, read from each store’s public product data on 29 September 2026. Product data covers titles, descriptions, tags and variants, not label photos. Bars in blue are the three rows discussed in the text.
The same census as a table: 1,268 pesticide listings on 23 independent US pool supply web stores, 29 September 2026
What the listing saysListingsShareMedian store
Claims to kill germs or algae53742.4%41.5%
Gives the active ingredient with a percentage24819.6%19.6%
Calls the product or its use safe, gentle, natural or similar22117.4%14.8%
Links or mentions a safety data sheet897.0%0%
States a shipping or pickup-only limit443.5%0%
Mentions EPA registration at all282.2%0.5%
Shows a signal word such as Danger or Warning90.7%0%
Gives the EPA registration number50.4%0%
Says “keep out of reach of children”00%0%
Carries a California Prop 65 warning00%0%

Read down the table and a pattern appears that we have now seen in several retail trades. The facts that reach a product page are the ones that sell the product or help run the store. Kill claims are on 42.4% of listings, and the size is in the title or variant of 61.8%. The store’s own “local delivery or in-store pickup only” banner accounts for 39 of the 44 shipping limits we found. The facts that federal pesticide law puts on the label stay on the container. The registration number appears on 5 listings at 2 stores. A signal word appears on 9. “Keep out of reach of children,” which is on essentially every one of these labels, appears on none. Safety data sheets are linked on 89 listings, all of them at just four stores.

The safety words need care, and we tried to be fair to the stores. A raw search for words like safe, gentle and natural matched 29.4% of listings, but many say something harmless, such as safe for vinyl liners. Removing compatibility, handling and brand-name uses left 21.4%, and keeping only claims about the product or its user left the 17.4% in the chart, such as a promise that swimmers can safely get back in the water minutes after application. On a clarifier or pH adjuster such words are lawful, and 33.5% of the non-pesticide chemical listings in the same stores use them. On a registered pesticide they are words the label itself could never carry.

The Prop 65 row is the most interesting zero. California’s warning, which private enforcers have a financial reason to police, did turn up in these stores: on 50 products at 3 stores, all but one of them hardware, such as pumps, heat pumps, valves and brushes (the exception was a test strip kit), whose manufacturers wrote the warning into the product copy that retailers import. It travels with the products it was written for and nowhere else. The pesticide label facts have no equivalent courier. The manufacturer prints them on the jug, the distributor’s feed leaves them off, and the store publishes what it received.

The usual caveats apply. We measured product data, not rendered pages, so label photos, attached PDFs and warnings added at checkout are invisible to us, and a store that shows the label as an image has done more than our numbers credit. Eight larger stores were read in part, through their chemical collections, and the sample came from web search. None of that changes the shape of the result.

The e-commerce half: what a pool store’s online store is actually selling

Put the rules and the two censuses together and the case for a pool store’s own online store changes. It is not about beating Amazon on the price of tablets. The national marketplaces are poor at what this category needs, and a local store is good at it: knowing the customer’s pool, knowing how each product may travel, and saying true things about a regulated product. An online store built around those three is hard to copy from a warehouse in another state.

Sell the dose, not the bag

The water test at the counter produces a prescription for one pool. The website sells bags. The difference is arithmetic. One pound of 65% calcium hypochlorite adds about 7.8 parts per million of chlorine to 10,000 gallons, so shocking the 20,000-gallon pool from our opening story from 0.5 to 15 ppm takes about 3.7 pounds, which is why the slip said four, while a gallon of 12.5% liquid chlorine adds 12.5 ppm to 10,000 gallons. The product page that says “shock your pool” is two bags for one customer and five for the next, and only the store that knows the pool can say which.

Knowing the pool also means knowing what not to sell. A pool on a biguanide system must not get chlorine at all. Trichlor tablets add stabilizer as they dissolve, roughly 0.6 ppm of cyanuric acid for every 1 ppm of chlorine, by the chemistry of the molecule, so a pool whose last test showed high stabilizer should be steered toward unstabilized chlorine; Maryland’s new regulation treats cyanuric acid above 100 ppm at a public pool as a major violation. A good counter clerk knows this; a product page does not know whose pool it is looking at.

So the most useful record a pool store can put online is the pool: its volume, surface, sanitizer system, cover and test history. With it, the last water test becomes a pre-filled cart for pickup and the closing kit comes in the size that fits. Leslie’s saw this long ago, which is why it built its in-store test into a prescription and, in 2023, took the technology into customers’ backyards. An independent store can do the same with a brand-neutral test and its own catalog, and keep the prescription honest about whose products are on it.

Shipping is a property of each product

A pool store’s checkout needs to know, for every SKU, its hazardous materials entry, packing group and container size, because those decide whether it can go by mail, by ground as a limited quantity, only as a fully regulated package with a $58 surcharge, or only in the store’s truck or the customer’s car. A cart holding one-pound shock bags, a 50-pound pail of tablets and a jug of acid is three shipments, and one of them may not be a shipment at all. The rules also say what may not share a box: acid and chlorine release chlorine gas when they meet, and calcium hypochlorite must not be mixed with trichlor.

The same record decides where a product may be sent, since EPA expects it to be registered in every state it is distributed to, and what the shipping label says: since 3 September 2026 a store printing its own labels may use a smaller limited-quantity mark, but only if the label electronically tells the carrier the package’s status. For most Baltimore stores the honest result is a short list of mailable items, ground shipping for limited quantities, and local delivery or pickup for everything else, explained on the page. That explanation is also the best argument a local store has against a national website.

The product page is the label’s shadow

A pesticide listing should carry the facts the label carries, as data rather than as a photo: the EPA registration number, including the distributor suffix on a store brand; the establishment number of the lot on the shelf; the active ingredient and its percentage; the net weight; the signal word; a link to the safety data sheet; and the oxidizer class and hazmat entry, which customers may never read but the store’s systems need. The copy should pass a check before publication: none of EPA’s listed safety phrases, and no “shock,” “sanitize” or “kills” on an unregistered non-chlorine oxidizer, for which EPA recommends a sentence of its own: “This product is neither a sanitizer nor algicide.”

Bundles need the same care. EPA’s guide to pesticide devices says an apparatus sold with a substance, such as salt, that is used to generate a pesticide is generally a pesticide itself, not a device, so a salt chlorine generator alone and the same generator bundled with salt are different kinds of product. Drain covers are similar: the Consumer Product Safety Commission’s checklist for public pools looks for the standard marking, the flow rating and the lifespan stamped on each cover, and a store that records those markings at receiving can refuse to sell a cover without them.

What Google and ChatGPT will list

The machines that increasingly send customers to stores are not built for this category. Schema.org’s Product vocabulary, which search engines read, has no property for an EPA registration number or a hazmat class, so a store must publish them as generic name-and-value properties. OpenAI’s product feed specification for shopping in ChatGPT has no field for hazardous materials or shipping restrictions, and says its warning and age-restriction fields do not limit who can buy. Its commerce policies, updated on 24 June 2026, list among prohibited products: “Dangerous chemicals and hazardous materials, including highly toxic, poisonous, corrosive, radioactive, or otherwise acutely hazardous substances.” On the plain words, muriatic acid and liquid chlorine look ineligible, and a store should not count on selling any oxidizer through an assistant’s checkout. eBay already bans the acid and liquid chlorine by name.

That suggests a division of labor. The assistant is where a customer asks who tests water on a Sunday or delivers chlorine in Catonsville; the store’s own site, with pickup and delivery, is where the chemicals are sold. So the first job is to be findable and quotable: business details marked up for search, services and prices published as text, testing hours stated, and a website that lets a well-behaved crawler in. Almost nobody in Baltimore has done that, which makes it cheap to be first.

Openings and closings are products too

The service side sells a few things over and over: openings in spring, weekly care in summer, closings in fall. Each has a price, a duration that depends on the pool, a crew and a date, which makes each a product with inventory. The price lists we found already contain the rules a booking system needs: an early-bird price for openings booked by the end of April, a closing cutoff with a surcharge after it, extras for water above or below the skimmer, and a rate for time over two hours. Turned into a page where the customer picks a date the crew has free, enters the pool’s size and cover type and pays a deposit, those rules sell the season in February instead of on the phone in May, and a published closing price is the one thing an assistant can quote when someone asks what a closing costs.

A note for readers in Lithuania

We write mostly for Baltimore, but part of our team and many of our readers are in Lithuania, and the same pattern shows up there under a different legal system. In the European Union, chlorine tablets, shock and pool algaecides are biocides, “product-type 2” under the Biocidal Products Regulation (EU) No 528/2012, and the rule that matters most for a web shop is Article 72. Every advertisement for a biocide, which in practice includes every online listing, must carry two sentences that stand out from the rest of the text. In the official Lithuanian version they read: „Biocidinius produktus naudokite saugiai. Prieš naudodami visuomet perskaitykite etiketę ir informaciją apie produktą.“ Article 72(3) then bans the same kind of words EPA’s labeling rule does: „netoksiškas“, „nekenksmingas“, „natūralus“, „nesukeliantis žalos aplinkai“ and anything similar.

We read 39 pool chemical listings in 11 Lithuanian online shops on 29 September 2026. Eleven of them (28%) showed the full mandatory sentence and four more a shortened version. None printed a biocide authorization number in the page text; one attached a certificate as a PDF. Fourteen showed some hazard information, but only five gave the hazard statements themselves, three linked a safety data sheet, and four described the product in terms Article 72(3) forbids, one of them as „visiškai saugi cheminė priemonė“. Eighteen of the 39 showed none of these signals at all. That is close to what the EU’s enforcement forum found in its project on online sales, published in 2021, in which inspectors, including Lithuanian ones who checked 204 products, found the mandatory sentences missing for 70% of the biocides examined and 42% of the products not legally on the market.

Three details are worth knowing. First, the active substances in trichlor tablets and dichlor granules are still under EU review, so those products are sold under national transitional rules and must be registered in Lithuania; the substances released from calcium and sodium hypochlorite and from chlorine itself are approved. Second, the register is unusually easy to use: the Nacionalinis visuomenės sveikatos centras publishes it at biocidai.nvsc.lt and as open data on data.gov.lt, updated daily, with certificate numbers and expiry dates, which means a shop can check every SKU automatically every night. The Valstybinė vartotojų teisių apsaugos tarnyba supervises biocides on the market and their advertising, and supplying a biocide in breach of the regulation carries a fine of €1,500 to €4,300 under Article 49(5) of the Administrative Offences Code. Third, a trap: the revised CLP regulation adds an Article 48a requiring online offers of hazardous chemicals to show the full label elements, and the consolidated text on EUR-Lex dated 1 July 2026 already prints it. It does not apply yet. Regulation (EU) 2025/2439 moved it to 1 January 2028, and a further simplification package agreed in June 2026 had not been published when we checked.

The Lithuanian pool-closing guides we read for inspiration, almost all written by shops rather than news sites, make this article’s first point from the other direction: they give doses per ten cubic meters of water, doubling the winterizing product in warmer water, and advise closing when the water cools to 12 to 15 degrees. They sell the dose, not the bag. A shop that already asks for the pool’s volume could insert the Article 72 sentence, the active substance and the authorization number from its own data, check each product against the national register nightly, and refuse to publish the forbidden adjectives. None of that is expensive, and on our count very few Lithuanian shops do it.

What custom actually costs, and when it pays

We price every project at a fixed fee, agreed before we start, and publish the starting points on our pricing page. For a pool store, a service company or a business that is both, they map onto the problems in this article like this.

founderandai’s fixed-price packages, applied to a pool store or pool service company in Baltimore
PackageFixed priceWhat it would be for a pool business
Prototype Sprint$3,500A working chemical ledger on your own catalog in about a week: every pesticide SKU with its EPA registration number, Maryland registration expiry, oxidizer class and hazardous materials entry, and a live count of pounds per class in each storage area against your fire code limits, fed from last season’s receiving
Online Storefrom $6,000A store on your own domain and your own card account that sells by the pool: a customer’s water test becomes a pickup cart, each product page carries its label facts as data, shipping options come from each product’s hazmat entry (mail, ground limited quantity, or local delivery and pickup), copy is checked before it is published, and openings and closings can be booked by date under your own price rules
Custom App or Internal Toolfrom $12,000A route and log app for service: the new Maryland pool log (readings at the required intervals, chemicals added, signatures, a three-year archive per pool), the two-hour response clock for contract pools, operator certificates with their expiry dates, and a truck load sheet that adds up materials of trade against the 440-pound limit
Operations Systemfrom $12,000The back office for a store with a service department: pre-season orders checked against fire code limits per control area, receiving that records the establishment number of every lot, Maryland and destination-state registration checks with a stop-sale switch, and invoices that put the tax where Maryland’s rules put it

Most of our projects land between $6,000 and $30,000, and none of them requires you to drop the route app, the card reader or the distributor portal that already works; the demos page shows what finished work looks like. If you are in Maryland, remember that the state’s 3% tax on software and IT services applies to a custom build, which we explained in a separate post.

The honest case for building is not that pool software is expensive; the main service apps cost less a month than one pool opening. It is that money leaks out between the systems. Here is one worked example, with every assumption stated. Take a company with 120 customers on a $3,400 seasonal plan. If a booking page that offers bank payment first moves half of them from card autopay to bank transfer, each of those 60 customers costs $10 in fees instead of $115.85, a saving of $6,351 a season. Suppose the store next door to the route tests 30 customers’ water a week for 20 weeks, and a pre-filled pickup cart means a quarter of them buy one more product at $25 of margin that they would otherwise have bought elsewhere: $3,750. Together that is about $10,100 a season, more than the starting price of an Online Store, before counting the cost of a stop-sale order, a fire code citation or a pool log that cannot be produced when the health inspector asks. Change the assumptions and the number moves; the shape does not. None of this shows up on a software invoice, and all of it depends on records that talk to each other.

What we would build for a Baltimore pool store or service company

If a pool business in Baltimore asked us to fix the problems in this article without replacing anything that already works, this is what we would build, roughly in this order.

  • A record for every chemical. The EPA registration number with any distributor suffix, the establishment number of the lot on the shelf, the active ingredient and percentage, the net weight and container size, the oxidizer class, the hazardous materials entry and packing group, the signal word, the safety data sheet, the Maryland registration expiry and the products it must never share a box or a shelf with, entered once when the product is first received.
  • Pages, feeds and shipping options generated from that record. Label facts as text and structured data, copy checked against EPA’s list of safety claims before it is published, shipping offered only in the ways each product may travel, destination states limited to where it is registered, and a plain sentence explaining why an item is pickup or delivery only.
  • A fire code ledger. Pounds on hand by oxidizer class and control area, measured against the code book that governs that building, city or county, with the package-size rule and the permit threshold built in, and a warning at receiving when the pre-season order would push a room over its limit.
  • The water test as a cart. A profile for each customer’s pool, a brand-neutral test, doses calculated from the pool’s volume, incompatibilities checked, and the result sent to the customer as a pickup order they can confirm from a phone.
  • A service log that files itself. Readings at the intervals Maryland’s new regulation requires for each class of pool, chemicals added, signatures, a three-year archive per pool that can be printed as the equivalent form, the two-hour response clock for contract pools, certificates with expiry dates, and a load sheet for each truck that counts materials of trade and records anything left with a customer as a sale.
  • A season customers can book. Openings and closings by date and crew capacity, with the store’s own early-bird, cutoff and surcharge rules, a deposit, bank payment offered first, and prices published as text a customer, or an assistant, can quote.

None of that is exotic engineering: a product record, a pool record, a few generated pages and feeds, a ledger, a log and a booking calendar. It is also why, as far as we could find, nobody sells it as a product. It is too specific to one city’s fire code and one state’s pesticide register and pool regulation to be a feature on a national platform, and too important to leave to a spreadsheet and a clerk’s memory.

Build, buy, or leave it alone

Most Baltimore pool businesses should buy their software, and several products in this article are good at their job. If you run one or two trucks, a route app for $25 to $240 a month will schedule your stops, record your readings and bill your customers, and nothing we could build would be a better use of your money. Keep it. Before next season, do a few things by hand: add the EPA registration number to every chemical you list online and take out any claim that a pesticide is safe, gentle or natural; write down why each item you will not ship is pickup or delivery only, and say so on the page; publish your opening and closing prices; check whether your store holds more than ten pounds of calcium hypochlorite shock and, if it is in the city, whether you have the fire permit that goes with it; and ask the Department of Agriculture whether your route needs a pesticide business license, and write down the answer.

If you run a store with a service department, sell chemicals online, or manage community pools for associations and landlords, the question is different. Your problem is not the route app or the register but everything between them: a product record the website, the shipping and the fire code count are all generated from; a pool record the water test and the service log share; and a log that satisfies the regulation Maryland rewrote in September 2026. Do not migrate. Add what is missing around the systems you have, and replace the storefront only if the storefront is what is costing you sales.

Leave alone what is cheap and works: the payment setup with the best rate for how your customers actually pay, which matters more than any software plan; your distributor’s ordering portal; and your accounting package. Build the few things nobody sells in this trade: the chemical record, the generated pages and shipping rules, the fire code ledger, the pool log and the bookable season. If you are not sure which of those is costing you money, a one-week prototype on last season’s receiving and service tickets is the cheapest way to find out.

Questions pool store and pool service owners ask us

How much does pool service software cost in 2026?

When we checked vendors’ own pricing pages on 29 September 2026, a company with two technicians and 120 weekly pools would pay from about $25 to $240 a month: The Dip App $24.99, Paythepoolman $80 ($50 plus $15 per technician), Pool Brain $180 ($50 plus $65 per active technician), ProValet $208, and Skimmer or PoolDial $240 (about $2 per serviced pool). ServiceTitan and FieldRoutes do not publish prices. The bigger cost is usually card processing: on a $3,400 seasonal plan, Skimmer’s recurring card rate of 3.4% plus 25 cents costs $115.85 per customer, against $10 by bank transfer.

What is the best POS system for a pool supply store?

It depends on whether it must understand water testing and service. Evosus LOU is built for pool and spa retailers and publishes its prices: $1,999 once plus $19 to $99 per user a month, with e-commerce as a $100-a-month add-on. RB Retail & Service Solutions, formerly RB Control Systems, does not publish prices. Square for Retail ($0, $49 or $149 a location a month) is cheaper but knows nothing about water tests, oxidizer classes or hazmat shipping. Check which water-test software a system connects to, because some test platforms recommend only one brand’s chemicals.

Is pool chlorine a pesticide?

Yes. Under federal law a pesticide is any substance intended to prevent, destroy or mitigate a pest, and algae and bacteria in pool water count, so chlorine and bromine sanitizers, shock and algaecides are EPA-registered pesticides. EPA says the word “shock” is inherently a pesticide claim, even on a non-chlorine product. For a store, that means product pages are offers for sale whose claims must not differ substantially from the registered label, and each product must also be registered in Maryland, at $110 a year, expiring every December 31.

Can you ship pool chemicals by mail or by UPS?

Some of them. The Postal Service accepts pool oxidizers only as limited quantities, domestic only, at no more than one pound per container and 25 pounds per box, and it accepts hydrochloric acid only up to 10% strength, so pool-grade muriatic acid and gallon jugs of liquid chlorine cannot be mailed. By ground, trichlor in packing group II ships as a limited quantity only in inner containers of 1 kg or less, so a 25-pound or 50-pound pail ships fully regulated, with a 2026 surcharge of $58.00 on UPS Ground or $57.25 on FedEx Ground per package. Always check the product’s safety data sheet, section 14.

How much pool shock can a store keep, and does it need a fire permit?

In Baltimore City, which uses the 2021 International Fire Code, a store needs an operational permit to store more than 10 pounds of a Class 3 oxidizer solid, which includes calcium hypochlorite shock above 50% strength, and more than 500 pounds of a Class 1 oxidizer such as trichlor. A retail control area may hold up to 1,350 pounds of Class 3 oxidizer, or 2,250 pounds if every package is sealed and 10 pounds or less, doubled with sprinklers throughout. Baltimore County uses the NFPA 1 Fire Code, 2018 edition, with annual inspections instead of a quantity-triggered permit. Confirm your limits with your fire marshal.

Does a pool service company need a pesticide license in Maryland?

Possibly, and it is worth asking. Maryland’s Pesticide Applicator’s Law defines pest control as using a pesticide against pests in or around water, and defines pests to include bacteria and aquatic plants. A pest control business needs a $150 annual license, a certified applicator and registered employees, and must keep a two-year record of every application. We found no written exemption for swimming pools in the regulations and no statement from the Maryland Department of Agriculture either way, so ask its Pesticide Regulation Section before assuming the answer.

What records does a public pool in Maryland have to keep under the new rules?

Maryland replaced its public pool regulation, COMAR 10.17.01, effective 14 September 2026. Covered pools include condominium, hotel, swim club and most apartment and community pools. The operator must record disinfectant, combined chlorine and pH every two hours at a recreational pool and three times a day at a semipublic one, record chemicals added daily, sign each sheet and keep the records on the premises for at least three years. A contract operator for a semipublic pool must be able to respond within two hours.

Is pool service taxable in Maryland?

Pool cleaning is not on Maryland’s list of taxable services, so the service itself is not taxed, but chemicals and parts sold at retail are taxed at 6%. Under the Comptroller’s rule for nontaxable services, a service company pays sales tax on the chemicals and supplies it uses in the service, much as a pest exterminator pays tax on insecticide. For repairs, labor is untaxed and separately stated parts are taxed; if parts and labor are billed as one lump sum, the repairer pays the tax on the parts when buying them. We found no ruling that names pools, so confirm with your accountant.

Can I sell pool chemicals on Amazon, eBay or through ChatGPT?

Only partly. eBay’s hazardous materials policy bans muriatic acid and sodium hypochlorite by name. OpenAI’s commerce policies, updated in June 2026, exclude dangerous chemicals, including corrosive or acutely hazardous substances, from shopping in ChatGPT, and Amazon runs a separate dangerous goods program. A store’s own website with pickup and delivery is the one channel for its whole chemical range, so the goal with AI assistants is to be found and quoted: business details, services, water testing and prices published as plain text.

How much does it cost to close a pool in Baltimore?

Few local companies publish prices. On 29 September 2026, the published prices we found for closing an inground pool in the Baltimore area were $475, $480 and $620, and openings ran from $300 to $525. Closings usually include blowing out and winterizing the lines, plugs, antifreeze and installing the cover, with extras for water above or below the skimmer or debris on the cover. One local price list adds a 30% surcharge to closings after October 31, so book early.

Is Leslie’s going out of business?

Not as of 29 September 2026, but it is in serious financial trouble. Leslie’s, the largest pool retailer in the United States, closed about 80 stores last winter and operated 943 in July. In its quarterly report filed on 12 August 2026 it reported substantial doubt about its ability to continue as a going concern, and on 25 September Bloomberg reported that it was preparing a Chapter 11 filing that could hand control to its lenders. When we checked its SEC filings on the morning of 29 September, no bankruptcy filing had been made. A Chapter 11 reorganization does not necessarily close a retailer’s stores, so check the company’s own announcements for the current status.

Start here

Does your catalog know which products are pesticides?

Book a free 30‑minute call. Bring a few of your chemical listings, last winter’s pre-season order and one pool log. We are not your lawyers, but we will go through them with you: what each listing should say, how each product may ship, how your stock compares with your fire code limits, and what a store and a log generated from your own records would look like.