The first time a dry cleaner explained his business to me properly, he did it by turning around and pointing at the conveyor.
There were maybe eleven hundred garments on it. He said: every one of those is somebody else's property, I am holding all of it at once, and I have collected about four dollars a piece for the privilege. Then he said the thing I have thought about ever since. He said, the money is not the problem. The problem is that I do not know anything about any of it.
He was not being dramatic. He meant it literally. He did not know what most of those garments cost. He did not know how old they were. He did not know, for a surprising number of the tickets, whether the person who dropped them off was doing so as a private customer or on behalf of a business — which, as we will get to, is the single fact that decides whether he owes the State of Maryland six percent on the ticket. And on a good third of the rail, he could not have told you with confidence what the garment was made of, because the care label had been cut out years ago by somebody who found it itchy.
This is the twenty-fourth trade we have taken apart in this series. In most of them the hard fact was a number that could not be known at the moment of sale — the weight of the meat, the supplement on the collision job, the eight business hours ticking away in a prescriber's office, the eighteen days a jeweler is forbidden to sell what they just bought. Garment care has one of those too. In fact it has three, which is more than any trade we have looked at, and they do not merely coexist. They stack.
Here they are, up front. What the garment is worth, which decides what you owe if it fails, and which nobody writes down. Whether the customer is a business, which decides the tax rate, and which the statute makes partly a question about the future. And what solvent you are allowed to use, which is now a date, and which date depends on a line on an invoice from years ago. None of the three facts is visible on the garment. All three are properties of things around it — the buyer, the label, the purchase order for the machine.
Let us start with the market, because Maryland's is stranger than it looks and Baltimore City's is the strangest part of it.
What Maryland's garment care trade actually looks like
There is no good published count of dry cleaners in Maryland, so we built one. The figures below come from the Census Bureau's County Business Patterns 2023 county file, which we downloaded and filtered ourselves rather than taking from an aggregator. The important caveat, and it matters more in this trade than in most: County Business Patterns counts only establishments with paid employees. A one-person alteration and drop-off shop with no payroll does not appear anywhere in these numbers, and there are a lot of them. Treat every count below as a floor.
| Sector (NAICS) | Establishments | Employees | Annual payroll | Employees per establishment |
|---|---|---|---|---|
| Dry cleaning and laundry, except coin-operated (812320) | 380 | 2,303 | $70.9M | 6.1 |
| Coin-operated laundries and dry cleaners (812310) | 210 | 1,068 | $28.6M | 5.1 |
| Linen supply (812331) | 8 | 168 | $7.6M | 21.0 |
| Industrial launderers (812332) | 11 | 1,012 | $54.6M | 92.0 |
| Total | 609 | 4,551 | $161.7M | 7.5 |
Two things jump out of that table before you get anywhere near the local detail. The first is how small the retail end is: 380 employer dry cleaners for a state of six million people, averaging six people each. The second is how enormous the other end is. Eleven industrial launderers in the entire state employ 1,012 people, an average of ninety-two apiece. Nineteen establishments across linen supply and industrial laundry account for a quarter of the trade's employment and nearly forty percent of its payroll.
Now the counties, for the retail trade specifically.
| County | Establishments | Employees | Employees per shop | Payroll per employee |
|---|---|---|---|---|
| Montgomery | 91 | 527 | 5.8 | $31,500 |
| Prince George's | 76 | 431 | 5.7 | $27,656 |
| Baltimore County | 57 | 416 | 7.3 | $28,939 |
| Anne Arundel | 45 | 245 | 5.4 | $27,477 |
| Baltimore City | 32 | 325 | 10.2 | $37,990 |
| Howard | 27 | 119 | 4.4 | $39,865 |
| Harford | 13 | 92 | 7.1 | $31,413 |
| Frederick | 10 | 37 | 3.7 | $22,297 |
| Carroll | 8 | 25 | 3.1 | $20,040 |
Baltimore City is fifth in the state by number of shops and first by the size of them. Its dry cleaners average 10.2 employees against Montgomery's 5.8 and Carroll's 3.1 — the largest average premises in Maryland, by a comfortable margin. And it pays best: $37,990 per employee against Prince George's $27,656, a 37 percent premium. That inverts the pattern we found in salons, funeral homes and florists, where the city consistently paid worse than its ring counties, and it points at the same thing the employee count does. The city's establishments are not counter shops. They are plants.
Which sets up the finding I did not expect, and which I think is the most useful thing in this whole section.
| Establishments | Employees | Annual payroll | Employees per establishment | |
|---|---|---|---|---|
| Retail dry cleaning and laundry (812320) | 32 | 325 | $12.35M | 10.2 |
| Linen supply and industrial laundry (812331 + 812332) | 8 | 520 | $28.14M | 65.0 |
Eight establishments in Baltimore City employ more people washing other businesses' textiles than thirty-two establishments employ washing the public's — 520 against 325, from a quarter of the premises, at 2.3 times the payroll. Statewide the relationship runs the other way: 380 retail shops employ 2,303 people against 1,180 in the industrial and linen trades, a ratio of roughly two to one in favor of retail. Baltimore City flips it. In this city, garment care is predominantly a business-to-business industry that also happens to have a retail counter attached.
Hold that thought, because it is about to become a tax problem.
The sentence that decides your tax rate
Maryland does not tax most services. The state's sales and use tax reaches tangible personal property, digital products, and a short enumerated list of services that the legislature has picked out one at a time over several decades. That list lives at Tax-General §11-101(m), it currently has fifteen items, and the second item on it is this:
“commercial cleaning or laundering of textiles for a buyer who is engaged in a business that requires the recurring service of commercial cleaning or laundering of the textiles”
Read it again slowly, because the structure of that sentence is the whole article. There are three conditions in it, and not one of them is about the work you performed.
The first condition is that the buyer is engaged in a business. The second is that the business requires the service. The third — and this is the one that has no clean answer — is that it requires it recurringly. Recurrence is not a property you can observe at the counter. It is a property that only becomes visible over time, which is to say it is a statement about the future, and your point of sale has to price the order now.
If you want to see how the Comptroller applies that to this trade specifically, there is a regulation written for you and for nobody else. It is COMAR 03.06.01.17, its title is Dry Cleaners and Laundries, and it is four short paragraphs long in its entirety. Regular readers may recognize the neighborhood: when we took apart the florist trade last month we spent a long time on COMAR 03.06.01.18, titled simply Florists, and noted in passing that it sits between the regulation on dry cleaners and the one on real property construction. This is that regulation.
“Persons operating dry cleaning establishments and laundries are required to collect the tax on receipts from their services when these services are performed for a person engaged in business, such as restaurants, hotels, motels, beauty shops, barber shops, and other such establishments, which require the regular cleaning and laundering of their linens and textiles. … Laundry and dry cleaning services performed for individuals of their personal laundry are exempt from the tax.”
So the same machine, the same solvent, the same press, the same twenty minutes of somebody's labor, applied to the same white cotton shirt, is either a taxable service at six percent or an untaxed one — and the deciding fact is who handed it over and why. A chef's coat cleaned for the restaurant is taxable. The identical chef's coat, brought in on a Saturday by the chef, is not.
There is a fourth paragraph worth flagging because it creates a second data requirement nobody builds for. The regulation also says that where the service is performed for a drop shop, the plant providing it must obtain a resale certificate from the drop shop operator, and that laundries and dry cleaners who rent textiles must collect tax on the rentals while being entitled to issue a resale certificate on the purchase of the textiles. If you run a wholesale plant behind other people's storefronts, you are now maintaining exemption documentation per counterparty — an accounts-payable duty living inside a garment tracking system.
Let me be fair about the difficulty here, because it would be easy to make this sound like a trap and it is not quite one. In practice, almost every shop resolves this at the level of the account rather than the ticket, and that is the right instinct. The restaurant with a weekly aprons pickup is obviously inside the definition; the person who walks in with two suits is obviously outside it. The population that is genuinely ambiguous is small: the realtor, the funeral director, the touring musician, the photographer, the person who is in business and does bring garments in repeatedly but perhaps not in a way their business requires. What matters for our purposes is not that the edge is hard. It is that the field exists at all, that it is a property of the customer record rather than the price list, and that in the ordinary configuration of a dry cleaning point of sale there is nowhere to put it.
What it is worth on a real shop
Let me model a Baltimore shop and be explicit about how. County Business Patterns puts Maryland's average employer dry cleaner at 6.1 people and $186,547 of annual payroll. Trade sources put labor at roughly thirty percent of sales in this business, which implies revenue somewhere near $583,000. I will round that to $600,000 and use an average ticket of $24, which gives 25,000 orders a year, or about 2,083 a month. Every figure below follows from those two assumptions and you should re-run it with your own.
Now suppose that shop, like a great many Baltimore shops and like the city's employment profile strongly suggests, does 22 percent of its volume for restaurants, salons, medical offices, hotels and funeral homes. That is $132,000 of taxable receipts, and six percent of it is $7,920 a year.
The software that runs the shop, as we will see shortly, costs about $1,140 a year. So the sales tax that turns on a single yes-or-no field in the customer record is 6.9 times the entire software bill, and a single point of commercial mix is $360 — about a third of what the platform costs for the year. If a shop has been treating all cleaning as exempt, which is an extremely easy mistake to make because the headline everybody has heard is Maryland does not tax dry cleaning, the exposure compounds quietly across every year it stayed uncorrected.
One more detail worth having. Grep the entire 690-page Tax-General Article for the phrases dry clean, drycleaning or garment and you get zero hits. The statute never names this trade. It reaches it through eleven words about textiles and a buyer, and the only document in Maryland law that says the words dry cleaning establishments out loud is a four-paragraph regulation most owners have never read.
The label was written by somebody who will never pay for it
Now the second fact that is not on the garment — which is strange, because this one is literally printed on a tag sewn into it.
The care label is a federal creature. It exists because of the FTC's Care Labeling Rule, 16 CFR Part 423, first issued in 1971, rewritten in 1983 and last amended in 2004. Almost everyone in this trade treats it as the standard of care, and courts and claims adjusters broadly agree. What almost nobody has done is read it, and it says several things that materially change how a cleaner should think about liability.
Start with who it binds. §423.4 is one sentence: “Manufacturers and importers of textile wearing apparel and certain piece goods are covered by this regulation.” Cleaners are not mentioned. The Rule imposes duties on the party that writes the instruction and none at all on the party that has to follow it. §423.5(a)(5) requires that manufacturer to “possess, prior to sale, a reasonable basis for all regular care information disclosed to the purchaser” — a real obligation, but one owed to the FTC and to the consumer, not to you. The person who decides what you must do to the garment, and the person who pays when doing it goes wrong, are different people, and there is no contract between them.
Then read the definition of the word itself. §423.1(c):
“Dryclean means a commercial process by which soil is removed from products or specimens in a machine which uses any common organic solvent (e.g. petroleum, perchlorethylene, fluorocarbon). The process may also include adding moisture to the solvent, up to 75% relative humidity, hot tumble drying up to 160 degrees F (71 degrees C) and restoration by steam press or steam-air finishing.”
The instruction on the tag names a class of processes, not one process. It does not tell you which solvent. It commits the manufacturer to nothing about how the garment behaves in any particular one. And — hold this, because the next section is about to make it very sharp — the Rule's own list of examples includes perchloroethylene, a solvent that federal law is in the middle of removing from this industry entirely.
The next one is the sentence I think is most useful to a shop owner arguing a claim. §423.6(b) provides that labels must carry either a washing instruction or a drycleaning instruction, and then says explicitly: “If either washing or drycleaning can be used on the product, the label need have only one of these instructions.”
Which means “dry clean only” is not a statement that washing would harm the garment. It is a statement that drycleaning will not. A manufacturer facing a garment that could safely be laundered may print the drycleaning instruction alone, and has satisfied the Rule completely. The entire retail category that a dry cleaner's price list is built around — the dry-clean-only garment — is in significant part an artifact of labeling economics rather than a fact about fiber. The Rule requires a warning only where a procedure the label prescribes would cause harm; §423.6(b)(1)(v)(B) is explicit that “warnings are not necessary for any procedure that is an alternative to the procedure prescribed on the label.”
And then the exemption that lands exactly on the Maryland problem. §423.8(e), in full:
“Manufacturers and importers need not provide care information with products sold to institutional buyers for commercial use.”
There is no size threshold and no conditions. The chef's coats, the salon smocks, the hotel robes, the medical scrubs, the funeral home's fitting-room garments — everything bought by a business for its staff to wear — may legally arrive at your counter with no care instruction of any kind. And those are, word for word, the customers COMAR 03.06.01.17 names when it tells you which receipts to tax: restaurants, hotels, motels, beauty shops, barber shops.
So the two federal and state rules meet on the same customer and pull in opposite directions. The buyer whose status makes your receipt taxable is the buyer whose garments the FTC excuses from telling you what they are. You take on more risk and more paperwork on the same order, and you learn less about the garment than you would from a walk-in with a jacket from a department store.
One last provision, because it becomes almost poignant in the next section. §423.8(d) sets out the one automatic exemption from carrying a permanent care label at all: the manufacturer must have reliable proof that the product survives machine washing in hot water, machine drying on high, ironing on hot, bleaching with all commercially available bleaches, and — clause (5) — “Drycleaning with all commercially available solvents.” The Rule's escape hatch is built on the assumption that solvents are a stable, interchangeable set. That assumption is now on a schedule.
The date on the machine in the back
On 18 December 2024 the EPA published its final risk management rule for perchloroethylene under the Toxic Substances Control Act, at 89 FR 103560. The operative text now sits at 40 CFR §751.605, and for dry cleaning it does something no environmental rule we have written about has done before. It does not set an emissions limit, or a monitoring requirement, or a permit condition. It sets an expiry date on a physical asset, and it decides which date applies to you by looking at when you bought it.
The definitions matter first, and they are at §751.603. A 3rd generation machine means a dry-to-dry machine with a refrigerated condenser. A 4th or 5th generation machine means a dry-to-dry machine with a carbon adsorber and a refrigerated condenser. Both definitions borrow their component terms from 40 CFR part 63 subpart M. Worth noticing: those are not words most manufacturers stamp on the machine. Your machine's generation is a conclusion you draw from its control configuration, and plenty of owners have to go and look.
Then the three prohibitions, at §751.605(b)(7), (b)(8) and (b)(9).
| Machine | Acquired | Provision | Prohibited | Legal life remaining today |
|---|---|---|---|---|
| Any dry cleaning machine | after 16 Jun 2025 | §751.605(b)(7) | already, on acquisition | none — 421 days ago |
| 3rd generation | on or before 16 Jun 2025 | §751.605(b)(8) | after 20 Dec 2027 | 496 days |
| 4th or 5th generation | on or before 16 Jun 2025 | §751.605(b)(9) | after 19 Dec 2034 | 3,052 days |
Sit with the first row for a moment, because it is the one that surprises people. §751.605(b)(7) has no future date attached to it at all. It reads, in its entirety: “All persons are prohibited from industrial or commercial use of PCE in dry cleaning machines acquired after June 16, 2025.” There is no phase-in and no grandfather. A fourth-generation machine acquired on 16 June 2025 has 3,052 days of legal life ahead of it. The identical machine, same manufacturer, same model, same solvent, same shop, acquired on 17 June 2025, may not lawfully be used today and never could be. One day of purchase date separates eight and a third years from zero.
Which produces the consequence that actually changes decisions: you cannot buy your way out of the 2027 deadline. A shop running a third-generation machine has 496 days left, and the obvious response — replace it with a newer perc machine and buy seven more years — is closed, because any machine acquired now falls under (b)(7). The only exits are a different solvent or a different process.
Two things I want to be scrupulous about here, because this is a live rule and the trade press has been all over the place on it.
First, the rule is under reconsideration. Petitions for review of the 2024 PCE rule were consolidated in the U.S. Court of Appeals for the Fifth Circuit, and EPA has since announced its intention to reconsider the rule and solicited comment to inform that reconsideration. In the agency's own words in a Federal Register document published on 28 July 2026, it “intends to publish a separate Notice of Proposed Rulemaking to potentially amend aspects of the PCE Final Rule in the future.” Anybody telling you these dates are certain is overselling.
Second, and this is the part I have not seen reported anywhere: that 28 July 2026 action moved deadlines, and none of the ones it moved were these. The rule at 91 FR 47145 extends compliance dates under §751.607, the Workplace Chemical Protection Program — initial exposure monitoring pushed to 21 June 2027, the exposure limit and regulated areas to 20 September 2027, the exposure control plan to 20 December 2027. EPA estimated the cost saving from the extension at $4.78 to $6.43 million. The prohibitions at §751.605(b)(7), (b)(8) and (b)(9) were left exactly where they were. Two weeks ago the agency reached into this rule, adjusted the neighboring deadlines to give industry a “reasonable transition period,” and left the machine dates alone.
So the honest summary for an owner is: treat 20 December 2027 as real, plan for it, and watch the docket. And whatever else you do, find the invoice. The single most valuable piece of paper in a perc shop right now is the one that establishes the acquisition date of the machine, because it is the input to a federal prohibition and it lives in a filing cabinet.
There is a small, tidy detail in the same section that is worth knowing if a customer ever asks. §751.605(a)(4): “This section does not apply to the distribution in commerce or use of clothing and articles that have been commercially dry cleaned with PCE.” The garment is fine. The machine is the thing with a date on it.
What Maryland does not say about any of this
Here is the finding that took one command and that I would not have predicted. We downloaded the compiled Maryland Environment Article — 1,428 pages, compiled 20 December 2025 — and searched it for dry clean, drycleaning, perchloroethylene, tetrachloroethylene and launder.
All five return zero. Maryland's environmental code does not use the words.
That absence is meaningful, because a good number of states have gone the other way. Florida, Texas, Kansas, Minnesota, North Carolina, Tennessee, Wisconsin and others operate dedicated dry cleaner remediation programs, typically funded by a per-facility registration fee and a per-gallon tax on solvent, in exchange for state assistance with contamination cleanup. Maryland has never built one. What regulation there is arrives through federal air standards administered by the Maryland Department of the Environment, and through a 1997 COMAR provision, 26.11.19.12, titled Dry Cleaning Installations — which, when you read it, turns out to be about petroleum solvent installations almost throughout, setting a 6,000-gallon-per-year exemption threshold and semiannual reporting on gallons purchased and gallons in inventory each 30 January and 30 July.
The practical consequence for a Baltimore owner is that there is no state fund standing behind you, and the recordkeeping the state does want — solvent purchased, solvent held, dates — is inventory data that lives in a notebook in almost every shop I have seen.
The table you did not write, and the age nobody recorded
Now the third fact that is not on the garment, and the one that costs the most money.
When a garment is damaged and the cleaner is responsible, the settlement in this trade is not negotiated from first principles. It is read off a table. The table is the International Fair Claims Guide for Consumer Textiles Products, introduced in 1961 as an adjustment formula, expanded in 1964, approved as an American National Standard in 1988, and used — in the document's own words — “by drycleaners, launderers, insurance adjusters, retailers, consumer affairs and government agencies around the world.” The copy we worked from is a twenty-five page PDF whose embedded file name is FAIR CLAIMS GUIDE 1999.doc and whose PDF creation date is 28 November 2008.
It works in two steps. Table I assigns every garment class a life expectancy in years. Table II takes that life expectancy, the garment's actual age in months, and a condition rating of excellent, average or poor, and returns a percentage of replacement cost.
The life expectancies are shorter than most people guess. A necktie is one year. A plain shirt is two, and so is a wool or silk one. A wool suit is three; a winter-weight wool suit is four. A wool skirt is four. A leather coat is five, a suede coat four, a fur ten. Sheets, towels and scarves are two. Fabric gloves are one.
Then Table II. Here is one garment carried through it — a $600 wool overcoat, life expectancy four years, average condition.
| Age of garment | Adjustment value | Settlement | Change from the step before |
|---|---|---|---|
| 0 to 4 months | 100% | $600.00 | — |
| 4 to 13 months | 75% | $450.00 | −$150.00 |
| 13 to 25 months | 60% | $360.00 | −$90.00 |
| 25 to 37 months | 40% | $240.00 | −$120.00 (−33%) |
| 37 to 49 months | 20% | $120.00 | −$120.00 |
| 49 months and older | 15% | $90.00 | −$30.00 |
It is a step function, not a slope. The coat is worth $360 at twenty-four months and $240 at twenty-five — a third of its settlement value gone on a single day, on a garment nobody touched. And the input that decides which row you are on is the garment's age in months, a fact the cleaner has never recorded, cannot verify, and will hear for the first time from the customer after the damage has happened. Meanwhile the one fact the shop does have on file — what it charged to clean the thing — appears nowhere in the formula at all.
The four-month cliff
Now look at the top row of Table II across all six life-expectancy columns, which is the part I think nobody reads carefully.
For life expectancy 1, the first band is 0 to 4 months. For life expectancy 2, it is 0 to 4 months. For 3, 4 and 5, it is 0 to 4 months. Only the ten-year column differs, where the first band is 0 to 1 year.
In other words: every garment class in this trade with a life expectancy between one and five years falls from 100 percent to 75 percent on exactly the same day — its 120th. Of the seventy-one Table I entries we parsed, sixty-nine sit in that range — only the ten-year classes, which is essentially furs, heavy wool blankets and leather upholstery, behave differently. The necktie built to last a year and the leather coat built to last five depreciate identically for the first four months of their lives, and then again over the same four-month window, and only after that does the life expectancy rating do any work at all.
Which means the same thing in dollars for every garment on your rail:
| Garment | Life expectancy | Replacement | Day 119 | Day 120 | Lost overnight |
|---|---|---|---|---|---|
| Silk necktie | 1 year | $120 | $120.00 | $90.00 | −$30.00 |
| Wool suit | 3 years | $400 | $400.00 | $300.00 | −$100.00 |
| Wool overcoat | 4 years | $600 | $600.00 | $450.00 | −$150.00 |
| Leather coat | 5 years | $900 | $900.00 | $675.00 | −$225.00 |
Twenty-five percent, on the same day, whatever it is. And at the other end the necktie is brutal: at fourteen months, in excellent condition, a $120 tie settles at twenty percent — $24. Eighty percent of its value is gone inside its second year and there is no condition rating that rescues it.
I want to note one small thing we found while checking the arithmetic, offered in the spirit of “read your primary sources.” The Guide closes with four worked examples. Three of them compute correctly. The second — a man's leather coat, replacement cost $200, life expectancy five years, age five months, condition excellent — states the adjustment value as “75% or $135.00.” Seventy-five percent of $200 is $150. The figure printed implies 67.5 percent. It is a $15 discrepancy in the document that settles garment claims worldwide, and it has been sitting in the file since at least 2008.
None of which is an argument for ignoring the Guide. It is a reasonable, well-constructed instrument and the trade is better for having one. It is an argument for two much duller things: knowing what it actually says before you are standing at a counter with an upset customer, and recording the intake facts at intake — brand, apparent condition, existing damage, whether a care label is present at all — because every one of those is an input to a settlement you may be having in two years, and none of them can be reconstructed afterwards.
What the software actually costs
We checked twenty-five dry cleaning, laundry and garment-care products on 11 August 2026, fetching each vendor's own pricing page directly rather than trusting an aggregator, and re-reading the rendered page in a browser wherever the figures turned out to be loaded by script — which, in this trade, is where the two most useful ladders were hiding. Four publish a price you can read without a sales call. That is a better showing than pharmacy, where we found zero out of thirty, and worse than specialty food, where nine out of twenty-nine published.
| Vendor | What the page publishes | Note |
|---|---|---|
| CleanCloud | Lite $43/mo · Pro $60/mo · Grow $95/mo · Grow+ $325/mo | Order caps of 500 / 2,000 / 3,000 / 10,000 a month; Grow+ requires a 12-month minimum |
| Starchup (now part of Cents) | Cents POS $299/mo · Delivery $349/mo annual ($4,188/yr) or $399 monthly · Growth + Cents $439/mo annual ($5,268/yr) or $499 monthly | “No up-front, per-transaction, or per-terminal fees” |
| Geelus | Starter $9/mo · Small $19/mo · Medium $89/mo on a two-year commitment; $19 / $39 / — billed monthly | Order caps of 50, 250 and unlimited; 1, 2 and 10 users |
| Laundroworks | Starter $89/mo · Growth $249/mo | Self-serve payment systems and store management |
| Xplor Spot | None. /pricing returns 404 | compassmax.com/pricing now serves Xplor Spot's site |
| SMRT Systems | None. /pricing returns 404 | drycleaningsoftware.com serves SMRT's home page |
| Enlite POS | None | enlitepos.com now redirects to darkpos.com — rebranded to Dark |
| Turns, Cents (direct), Curbside Laundries, Quick Dry Cleaning, Cleaner Business Systems, Comca, Fabricare Manager, EZTimePro, DCCS, Tailwind and others | None reachable | 404, no DNS resolution, or a 114-byte script shell |
| DryCleanPro.com | $4,295, or $178.96 a month for 24 months at 0% interest | That is the price of the domain name. The site is a HugeDomains listing |
The last row is the sort of thing this series collects. We have previously found a bakery vendor whose /pricing path returned an Apache directory index, and a dental platform whose only three dollar figures were gift cards. DryCleanPro.com now joins them: the single published price under that name is the price of the name, and you can pay it off over two years.
The consolidation pattern is worth naming too, because this is the most concentrated dose of it we have found in any trade. Compassmax has been absorbed into Xplor Spot, so its pricing URL now returns a competitor's site. drycleaningsoftware.com — a domain you would think exists to answer exactly this question — serves SMRT Systems' home page, and SMRT's own /pricing is a 404. Enlite POS now redirects to darkpos.com and has been rebranded to Dark. Starchup carries a banner announcing it has joined forces with Cents, and its entry tier is literally named Cents POS. Four of the twenty-five, in other words, answer “what does it cost” with “that company is now this company.” Which is worth remembering when you are asked to hand over five years of customer and garment history: the entity you signed with may not be the entity holding it.
The sawtooth
CleanCloud is the most transparent vendor in the trade and I want to be clear that publishing a full ladder with order caps on it is more honest than most of its competitors manage. But that ladder contains an arithmetic shape that no owner is shown, and it is worth working through.
| Plan | Price per month | Orders included | Cost per included order |
|---|---|---|---|
| Lite | $43 | 500 | 8.60¢ |
| Pro | $60 | 2,000 | 3.00¢ |
| Grow | $95 | 3,000 | 3.17¢ |
| Grow+ | $325 | 10,000 | 3.25¢ |
The smallest shop pays the most per garment, by 2.9 times. And the cheapest place on the entire ladder to process an order is Pro — which is neither the cheapest plan nor the one the vendor marks “Most Popular.” After Pro the per-order cost goes back up.
But averages hide the part that actually hurts, which is what happens at the ceilings.
| Order number in the month | Effective cost per order before | Effective cost per order after | Change | Monthly bill |
|---|---|---|---|---|
| #501 | 8.60¢ | 11.98¢ | +39% | $43 → $60 |
| #2,001 | 3.00¢ | 4.75¢ | +58% | $60 → $95 |
| #3,001 | 3.17¢ | 10.83¢ | +242% | $95 → $325 |
Three cliffs, and the third one is severe: one additional order in a month more than triples what every order in that month effectively costs. What you get for the $230 a month is, per the vendor's own description, a branded iOS and Android customer app, a dedicated account manager and custom onboarding. That is $2,760 a year for a white-labeled app, on a twelve-month minimum, forever. Our own Online Store package starts at $6,000 once, which pays for itself against that premium in 26 months and is then yours. I am not claiming the two things are identical — they are not, and the rented one arrives on Monday. I am saying the comparison is worth doing, and that nobody does it because the $230 never appears as a line item called “the app.”
And the pattern is not one vendor's quirk. Geelus, the cheapest advertised product in the trade, caps its $9 Starter plan at fifty orders a month, which works out at 18.0¢ an order — six times CleanCloud's best rate. Its Small plan at $19 for 250 orders is 7.6¢. So across the whole market the headline price and the per-order price run in opposite directions, and the shop that shops on the advertised number reliably lands on the worst rate available.
Geelus is also where the sharpest commitment premium in this series lives, and it is worth seeing plainly. That $9 is the two-year price. The same Starter plan is $15 on an annual commitment and $19 billed monthly — a 111 percent premium for declining to sign a twenty-four month contract. On the Small plan it is $19, $29 and $39, a 105 percent premium. Which is a reasonable thing for a vendor to charge for and an unreasonable thing to discover afterwards: the advertised price of the cheapest system in the trade is conditional on a commitment roughly as long as the remaining legal life of a third-generation perc machine.
There is a deeper problem with all of this, and it is the bridge to the next section. The meter is denominated in orders, and an order is a unit you define. A route customer's weekly bag holding three shirts is one order. The same bag holding thirty is also one order. A counter drop of two suits split across two tickets because one is going to the tailor is two. Nothing in the trade agrees on what an order is, and the thing that actually costs you money to process — the garment — is not what anybody is charging you for.
The e-commerce half: why your price list is a work of fiction
Every dry cleaner's website has a price list. Shirts $2.95. Trousers $8.50. Two-piece suit $16. Coat $22, or $28 if it is long, or “call for quote” if it is leather.
It is a reasonable thing to publish and customers want it. It is also, in a way most owners could articulate if asked but almost none have designed around, not really a price list. It is a list of categories the shop has invented, and a garment gets its price by being sorted into one of them by a person at a counter. Nothing about that sorting is knowable in advance, which is why online ordering in this trade has been stuck for fifteen years.
We ran into the same shape when we wrote about butchers and cheesemongers: you cannot charge for a thing you have not weighed, so the online sale becomes two payment events with an open order in between. Garment care has the same structure and a harder version of it, because the unknown is not a quantity you can measure on arrival. It is a classification, and three separate rules are pulling on it at once.
The first is your own price list. Is a lined vest a vest or a jacket? Is a jumpsuit one piece or two? Every shop answers differently and every shop's answer is the actual product being sold.
The second is the care label, which may say dryclean and mean any of three solvent families, may say nothing because the customer cut it out, and may lawfully never have existed because the garment was sold to an institutional buyer under §423.8(e). Your process — and therefore your cost and your risk — is decided by a tag whose absence is legal.
The third is the tax status of the customer, which under §11-101(m)(2) depends on facts about their business and their future behavior, and which changes the price they should be charged by six percent.
So a checkout that works in this trade has to do three things no general storefront does. It has to authorize rather than capture, holding the card until the bag is opened and the garments classified — the same pattern the specialty-food trade reaches for, and the reason the good route platforms have all built it. It has to carry tax status on the customer, not the catalog, and apply it per order at classification time rather than per SKU at listing time. And it has to record the garment, not the ticket, so that the count of items, their classification, their intake condition and the presence or absence of a care label are all captured once, at the only moment anybody is holding the thing.
That third one is where the money is, and it is worth being blunt about the reason. A shop that records garments rather than tickets can answer, two years later, what a customer brought in, in what condition, how many times, and under which classification — which is simultaneously the evidence in a Fair Claims Guide conversation, the audit trail for a Maryland taxability question, and the only honest input to the question of what a route stop is actually worth. A shop that records tickets can answer none of them.
Where does that leave the storefront itself? Somewhere better than most owners assume. A pickup-and-delivery route is the highest-margin channel in this business by a wide margin — no walk-in rent, predictable volume, a customer relationship that renews weekly without a marketing spend — and it is the one channel where a shop's own website genuinely competes with a platform's app, because the thing being sold is a local promise about a van. The platforms know this, which is why the branded app sits at the top of every pricing ladder and why Starchup's tier named Delivery still lists route optimization, the driver app, automated SMS, customer web ordering and the customer apps as optional add-ons.
Let me also put a number on the boring channel that nobody optimizes. On our modeled $600,000 shop, roughly seventy percent of receipts come in on cards at an average ticket of $24. At a typical 2.9 percent plus thirty cents, the thirty cents is 1.25 percent on its own at that ticket size, so the effective rate is 4.15 percent and the annual bill is $17,430 — fifteen times the software. Anything that raises the average ticket, and a route subscription is the most reliable thing that does, attacks that number directly. Doubling the average ticket to $48 cuts the fixed-fee component in half and saves roughly $2,600 a year without changing your rate at all.
Here is the whole hierarchy on that shop, which is the table I would want if I ran one.
| Line | Annual | Multiple of the software bill | Who sells you a fix for it |
|---|---|---|---|
| Card processing (70% of receipts, $24 ticket, eff. 4.15%) | $17,430 | 15.3× | Everybody, at their own rate |
| Sales tax on commercial accounts (22% of receipts at 6%) | $7,920 | 6.9× | Nobody |
| Claims and adjustments (0.4% of 80,000 garments, avg. $81) | ~$25,900 | ~22× | Nobody |
| Software (CleanCloud Grow, plus Maryland's 3% technology services tax) | $1,174 | 1.0× | Twenty-five vendors |
The claims figure is the softest number on that table and I want to flag it rather than bury it: the 0.4 percent claim rate and $81 average settlement are our assumptions, built from the Fair Claims Guide's own tables and trade-press ranges, not from anybody's published data. Move the claim rate to 0.2 percent and it halves. The point survives either way, which is that the three largest lines in a dry cleaning business after rent and payroll are processing, tax and claims, and exactly one of the three has an industry of vendors selling you a solution.
What custom actually costs
We price everything as a fixed number agreed before we start, on a fixed date, and you own all of it afterwards — repositories, keys, accounts, the lot.
| Package | Price | What it typically is here |
|---|---|---|
| Prototype Sprint | $3,500 | A working slice in about a week. Usually the customer tax-status register and the taxable-receipts report, or the machine and solvent calendar. |
| Online Store | from $6,000 | Your own domain, your own merchant account, authorize-then-capture checkout, route subscriptions, and per-customer tax status applied at classification. |
| Custom App | from $12,000 | Garment-level intake and history — condition, brand, label presence, classification, claim file — sitting alongside your existing point of sale. |
| Operations System | from $12,000 | The whole back office: route economics per stop, per-garment margin, commercial account billing with exemption documents, and compliance dates. |
One thing to note on the arithmetic above: Maryland's technology services tax at three percent, introduced by HB 352, applies to software and data services, so it lands on your subscription and on our invoice alike. Include it when you compare.
What we would actually build for a Baltimore cleaner
Three things, in this order, and none of them replaces your point of sale.
The customer status register. A field on the customer record — not the price list — recording whether this buyer is engaged in a business that requires the recurring service, when that determination was made, who made it, and what evidence supports it. It applies six percent at the moment a ticket is classified, produces a taxable-receipts report you can hand to an accountant, and holds resale certificates for drop-shop counterparties. It is the cheapest thing in this article to build and it addresses a $7,920 line. If you do one thing after reading this, do this one.
The garment record. An intake capture that logs the item rather than the ticket: classification, brand if visible, condition on arrival, existing damage, and — a single checkbox that will earn its keep — whether a care label is present and what it says. It feeds three things at once. It gives you a defensible position in a Fair Claims Guide conversation two years later. It gives you per-garment rather than per-ticket margin, which is the only way to find out that the $2.95 shirt is subsidizing the $22 coat or the reverse. And it makes the online order finally quotable, because the classification that the checkout could not perform in advance has now been performed by the person holding the garment, at the moment they hold it.
The compliance calendar. Machines, generations, acquisition dates, solvent purchases and inventory, and the three §751.605 dates rendered as a countdown rather than a memory. This is a small build and mostly a data-entry exercise, and its value is entirely in the fact that it forces somebody to go and find the invoice. The Maryland semiannual solvent reports on 30 January and 30 July fall out of the same records.
What we would not build, and would talk you out of: a point of sale, a garment tagging system, an assembly conveyor integration, a route optimizer, a driver app, or a payment processor. Those are genuinely hard, genuinely solved, and cheap relative to what they do. CleanCloud at $95 a month is not the problem in your business, and any consultant who tells you otherwise is selling you a rebuild you do not need.
Build, buy, or leave it alone
The honest summary of a long article. Most garment care businesses in Maryland should keep what they have and add one narrow thing.
- Keep buying your point of sale. CleanCloud, Starchup, Xplor Spot, SMRT and the rest do real work — tagging, assembly, routes, notifications, card handling — and at these prices they are the best value in your cost structure by a wide margin.
- Go and read your own tier's order cap. Then look at your busiest month last year. If you are within ten percent of a ceiling, you already know what next December costs, and you can decide about it calmly rather than in an email from your vendor.
- Build the customer status register if you have commercial accounts. This is the cheapest fix in the article and it addresses the largest number nobody sells you a solution for.
- Build the garment record if you take in anything valuable. It is the difference between having a conversation about a claim and having an argument about one.
- Find the acquisition invoice for your machine this week if you still run perc, and write the generation and the date somewhere that is not a filing cabinet.
- Do not build a point of sale, a route optimizer, an accounting package or a payment processor. Rent those forever and be glad.
The test we apply has not failed us yet: rent anything where you are one of ten thousand businesses with the same problem, and build the thing that is true about your trade and false about the trade next door. Here, the thing that is true and unshared is that none of the three facts deciding your economics is on the garment. The tax status is a property of the buyer, and partly of their future. The liability is a property of an age nobody wrote down, read against a table published by a trade association in 1961. The legality of your process is a property of a date on an invoice. Nobody is going to build that for you, because outside Maryland the first one does not exist in that form, and inside Maryland the market is 380 employer shops.
Who we are
We are founderandai, a small studio in Baltimore. We are ex-startup founders who got tired of watching good local businesses pay agency rates for software that did not fit and subscription rates for software that fitted less. Everything is fixed price and fixed date, agreed before we start. You talk to the people writing the code. You own every line, every repository, every key and every account when it ships.
We have now written twenty-four of these teardowns — restaurants, trades, warehousing, healthcare, property, law, nonprofits, fitness, auto repair, childcare, veterinary, salons, funeral homes, breweries, florists, dental, pharmacy, hotels, accounting, specialty food, optical, jewelry, catering and now garment care — and the pattern holds every time. The subscription is rarely the problem. The problem is the one number, or the one clock, or in this case the one question about whether a customer comes back, that your trade runs on and that no national platform has ever been asked to model.
If you run a dry cleaner, a laundry, a wash-and-fold or a garment care business in Baltimore, Towson, Columbia, Annapolis or anywhere in Maryland, bring us last month's tickets and a list of your commercial accounts. We will tell you what we would build, what you should keep renting, and the fixed price that goes with it. If the answer is that you should change nothing, we will tell you that too — we have said it before and the call is still free.
This article describes federal and Maryland law as we read it in August 2026 and is not tax, legal or environmental compliance advice. 40 CFR Part 751 is under reconsideration by the EPA and was amended on 28 July 2026; 16 CFR Part 423, Tax-General §11-101, COMAR 03.06.01.17 and COMAR 26.11.19 all change. The Fair Claims Guide is a voluntary industry instrument, not law. Verify your own position with the Comptroller of Maryland, the Maryland Department of the Environment, or your own advisers before relying on anything here.