Hardware & Paint

Hardware and paint store software in Baltimore: the paint fee is charged by the can and lives inside the price

Since April, every can of paint sold in Maryland carries a fee that the law puts inside the price, that is set by the size of the can, and that the Comptroller taxes even when it is printed on a line of its own. We read the statute, the program plan and the Comptroller’s letter, searched two app stores for a tool that handles it, and counted where Baltimore’s leftover paint goes. The fee is small. The product data it needs is the real story, and it is the most useful way into the question of what a hardware or paint store should build, buy or leave alone.

Hardware and paint store software in Baltimore: an open can of cornflower-blue paint with a stirring paddle on a worn wooden shop counter, beside two unlabeled gallon cans with a blank kraft tag, a tray of brass key blanks, a hammer, loose screws, a kraft paper bag and a tablet showing an abstract grid with one blue square
The tag on that gallon can is blank, and so is every can. This article is about the facts a can of paint now carries into its price, from its size to the address it is going to, and about which software knows them.
The short version. Baltimore City has 10 hardware stores and 5 paint stores with a payroll; across the metro area, 90 hardware stores employ 863 people and 34 home centers employ 6,176. (1) Since 1 April 2026 every container of architectural paint sold in Maryland carries a PaintCare fee of $0.50, $1.15 or $2.25, depending on its size (Environment Article §9-1733). Per gallon, a quart pays 4.4 times as much as a five-gallon pail. (2) The retailer must add the fee to the purchase price, and the Comptroller says it is taxable whether or not it is itemized, the opposite of Maryland’s tire fees. (3) A retailer’s defense for selling a brand is what the state’s list said on the day the paint was ordered; PaintCare’s 1 September list named 103 manufacturers. (4) The law covers Internet sales, and PaintCare runs thirteen fee tables: the District of Columbia charges 45 cents less on a gallon, and Pennsylvania charges nothing. (5) On 22 September the Shopify App Store had no app built for PaintCare and WordPress had no plugin, although the mattress-recycling fee has one. (6) Of Baltimore City’s seven paint drop-off sites, five are paint or hardware counters and none is run by the government. (7) City Code §35-2 makes 21 the age for buying spray paint and solvent cleaners such as acetone and rubbing alcohol. Keep the co-op website; build the product data and the fee logic it does not have.

On 1 April 2026 a can of house paint sold in Maryland picked up a new piece of its price. It is 50 cents on a quart, $1.15 on a gallon and $2.25 on a five-gallon pail. It is not a tax, it does not go to the state, and it is not a deposit. It pays for PaintCare, the nonprofit program the paint industry runs in every state that passes a paint stewardship law, and in Maryland it now pays for 113 year-round places where anyone can leave leftover paint for free. Maryland is the thirteenth jurisdiction with a program like this, after eleven other states and the District of Columbia.

Almost everything written about the fee since April has been written from the buyer’s side of the counter. Fox45 found customers furious about it, WJLA found professional painters driving to Pennsylvania to buy their paint by the pail, and Google’s autocomplete has settled on its own name for the thing: “maryland paint tax”. This article is about the other side of the counter: the independent hardware and paint stores that collect the fee, and the software they collect it with.

The fee is small. What it asks of a store’s software is not. It is charged per container, in size bands that do not follow the gallon, so the product database has to know how big every can is. It applies to some products on the shelf and not to others that look much the same: spray paint, paint thinner and anything in a container over five gallons fall outside it. The statute makes the retailer add it to the purchase price, which the Comptroller reads as making it taxable whether or not the receipt shows it on its own line. That is the reverse of how Maryland treats the tire fees at the auto parts store down the road. A store may not sell a brand whose maker is missing from a state list, and its legal protection is what that list said on the day the paint was ordered. And the statute’s definition of a sale names the Internet. On the day we checked, neither the Shopify App Store nor WordPress’s plugin directory had a single tool built for any of it.

I build software for small businesses in Baltimore, so my interest here is practical. I am not a lawyer, and none of this is legal advice. The question I want to answer is the one the fee puts to every store that sells paint and also runs a website: which of the facts that decide the price of a can live in your software, and which live only in somebody’s head? On the way I will count what the Census says about Baltimore’s hardware trade, look at the websites the buying co-ops give their members, price the software, map where the city’s leftover paint actually goes, and cover two older local rules that bite at the same counter, including one that makes 21 the age for a can of spray paint and, read literally, for a bottle of rubbing alcohol. At the end is what a custom build costs, and when it is not worth it.

What Baltimore’s hardware and paint trade actually looks like

Start with who this is for. I took the Census Bureau’s County Business Patterns for 2023 and its Nonemployer Statistics for the same year, both as the Bureau’s own flat files, and counted three kinds of shop: hardware stores (NAICS 444130), paint and wallpaper stores (444120) and home centers (444110), the category that holds Home Depot and Lowe’s. County Business Patterns counts only establishments with a payroll; Nonemployer Statistics counts the one-person businesses it leaves out.

Hardware, paint and home-center establishments with a payroll, 2023
AreaHardware storesTheir staffPaint & wallpaper storesTheir staffHome centersTheir staff
Baltimore City10935323627
Baltimore County231342195132,410
Anne Arundel County23280146781,195
Howard County121478453606
Baltimore metro area9086358284346,176
Maryland1791,8521326588314,426

Source: U.S. Census Bureau, County Business Patterns 2023 (county, metro and state files; the metro area is the Baltimore-Columbia-Towson MSA), counted by founderandai in September 2026. Staff counts in the smallest cells, including Baltimore City’s hardware stores and every home-center row, carry the Bureau’s noise flag for a distortion of 5% or more; establishment counts carry no noise.

Three things stand out. The first is scale. In the Baltimore metro area, 34 home centers employ 6,176 people and 90 hardware stores employ 863: the average home center has about 182 staff and the average hardware store fewer than ten. Across Maryland, 41.3% of hardware stores have fewer than five employees and 58.7% have fewer than ten. The independent hardware store is, in the Census’s arithmetic, a very small business standing next to some very large ones.

The second is who owns the paint stores. In Maryland, 112 of the 132 paint and wallpaper stores are C corporations, and between them they pay 89.8% of the category’s wages; nationally the C-corporation share of paint stores is 78.5%. For hardware stores the figure is 66 of 179, or 36.9%. Paint retail is a chain business and hardware retail, still, mostly is not. You will see the same thing from another angle later in this article, where a single paint company accounts for more than half of Maryland’s paint drop-off sites.

The third is direction. Between 2019 and 2023 Maryland lost 15 of its 194 hardware stores and the same share of hardware-store jobs, 7.7%, while the number of hardware stores nationally rose 2.4%. The people who stayed are paid more: payroll per employee went from $31,142 to $36,645, up 17.7%. Add the 81 Maryland hardware sellers with no employees at all, whose receipts average $65,012 a year, and the state has about 260 businesses selling hardware, nearly a third of them one person deep. Baltimore City has five one-person hardware sellers and, by the Census’s count, no one-person paint seller at all.

Profit is thin. The North American Hardware and Paint Association’s 2025 Cost of Doing Business Study, built from the 2024 accounts of 1,082 independent stores, put the typical hardware store’s gross margin after rebates at 42.6%, the highest since 2016, and its profit before taxes at 4.7%, down for the third year in a row. The average customer spent $39, an all-time high. (The 2026 edition, covering 2025, went on sale this month, and its figures are not public yet.) Put two of those numbers together and you get the one I kept coming back to while writing this: on an average $39 sale, the store keeps about $1.83 before tax. The PaintCare fee on one gallon is $1.15, and the store has already paid it to its supplier as part of the wholesale price. A store that fails to add it back on a single gallon has given away almost two-thirds of the profit on an average sale.

And the gap between this trade and the software trade is wide. Maryland’s software publishers paid $183,549 per employee in 2023; its hardware stores paid $36,645. Five to one. That ratio is most of the build-versus-buy argument before it starts: nobody in this trade hires a developer, and the real question is only whose assumptions you rent.

The co-op already built you a website

Baltimore has a long habit of selling with paint. In the summer of 1913 William Oktavec, a Czech grocer at Collington and Ashland Avenues, painted the screen doors of his shop with the meat and produce he sold inside. Passers-by could see what was for sale but could not see in. His neighbors wanted screens of their own, and by the 1940s and 1950s, according to the Painted Screen Society of Baltimore, as many as 100,000 painted screens had been supplied to homeowners across the city.

A painted screen is a fair description of what most independent hardware stores have online today: a picture of the goods, painted by somebody else, that tells a passer-by what is inside without letting them in. Nearly every independent belongs to a buying co-operative or buys through a wholesaler, and the big co-ops give members a place on the web as part of the membership.

Ace Hardware gives every store a page on acehardware.com, where shoppers can order for pickup or delivery from their local store. Ace is large and growing: 5,250 stores in the US and $10.0 billion of revenue in 2025, with a 27% increase in its digital business. Do it Best, the Indiana co-op that bought True Value out of Chapter 11 for $153 million in November 2024 and now runs it as a separate subsidiary, told members when it launched its current platform in 2023 that there would be “no setup or monthly operational fees” and that they would “pay only for what you sell online” through “a small per-sale service fee”. It does not publish the percentage. Between Black Friday and Cyber Monday 2025, it reported, 63% of its orders were fulfilled through same-day pickup or shipping to a store.

For most independents this is the right answer, and I want to say so plainly before I criticize it. The co-op site brings a national catalog of tens of thousands of items, with photos and descriptions the store would never write itself, a brand people already search for, and a pickup flow that sends the customer through the store’s own door. No build of ours competes with that on catalog breadth, and a hardware store that tried to would be wasting its money.

What the co-op site is not is yours. The terms are the co-op’s, the customer account belongs to the co-op’s brand, and the fee on a sale is whatever the co-op decides. We looked at a small sample of Baltimore City and Baltimore County stores, ten businesses running fourteen stores between them, and I will treat it as the anecdote it is. Of the seven businesses whose online setup we could classify, three relied on a page inside a co-op’s national site, one ran its own checkout on WooCommerce, two had a brochure site with no way to buy anything, and one had only social media. Two of those three businesses also ran a website of their own on the side: one was a Shopify store whose public product feed held zero products, and the other was a brochure whose shopping links went straight back to acehardware.com. Nobody in the sample sold through Square, Wix, Squarespace or BigCommerce. One store that had closed now has its old domain forwarding to the waterworks distributor that took over the business.

That pattern, a store running a second website that does not sell anything, is the most common thing I see in this trade and the most telling. The owner wanted a place of their own on the web; the co-op gave them a counter inside somebody else’s building. Keep both pictures in mind. The rest of this article is about a rule that has to live in whichever of the two actually takes the money.

What the software costs, and why you cannot find out

Hardware stores run on a small number of specialist systems. Epicor Eagle is the long-standing choice among independents, BisTrack (also from Epicor) serves lumber yards, ECI sells Spruce and RockSolid MAX, and Paladin is popular with smaller stores. On 22 September 2026 I tried to price all five from their own websites. None of them publishes a price. Paladin’s pricing and e-commerce pages returned 404 errors, as did the old Spruce product page and an Orgill brochure for its e-commerce service that still turns up in search results. Epicor’s pages blocked our requests, so I cannot tell you what they say. Review sites quote figures for Eagle and Paladin, but I could not open the pages behind those quotes, so I am not repeating them.

This is a pattern I have now seen in almost every retail trade we have written about. Vendors that charge by the seat or by the location tend to publish a number. Vendors whose meter is a percentage of your sales, or a quote tailored to your size, tend not to. Hardware software sits entirely in the second group, and so does the co-op’s per-sale fee.

The general-purpose platforms do publish their prices, and it helps to have them in one place. Shopify charges $39, $105 and $399 a month for its Basic, Grow and Advanced plans ($29, $79 and $299 if billed annually), with Plus from $2,300, and adds 2%, 1%, 0.6% or 0.2% of every sale if you take payments through a provider other than its own. BigCommerce renamed its plans this year to Core, Growth, Scale and Performance, at $39, $105, $399 and $1,499; Core is capped at $30,000 of sales over the trailing twelve months, after which the plan upgrades itself to Growth. Square charges $0, $49 or $149 a month per location, with card fees of 2.6%, 2.5% or 2.4% plus 15 cents in person and 3.3%, 2.9% or 2.9% plus 30 cents online. None of that is expensive for a store selling a few hundred thousand dollars a year. The expensive numbers in this trade are smaller than that, and they sit on individual items.

One average hardware-store sale, and the small numbers that decide whether it made money
ItemAmountShare of the pretax profit
Average sale per customer (NHPA, 2024 accounts)$39.00
Pretax profit at 4.7%$1.83100%
Card fee at the counter (Square Free plan, 2.6% + 15¢)$1.16
Card fee online (Square Free plan, 3.3% + 30¢)$1.59
Extra card cost of taking the same sale online$0.4223%
PaintCare fee on one gallon, if the store forgets to charge it$1.1563%
PaintCare fee on one five-gallon pail, if the store forgets to charge it$2.25123%

Sources: North American Hardware and Paint Association, 2025 Cost of Doing Business Study (typical hardware store); Square’s published US rates, checked 22 September 2026; PaintCare’s Maryland fee schedule. On Square’s paid plans the extra cost of selling online is $0.31 (Plus) or $0.35 (Premium) on the same sale. Arithmetic by founderandai.

Read the last two rows as the cost of a configuration mistake rather than a fee. The store already paid the PaintCare fee to its supplier; if the website’s price for a pail does not include it, the store has given away more than its whole profit on an average sale. Nobody decides to do that. It happens because a price was typed into a product record before April and nobody changed it, or because the website pulls a price from a feed that knows nothing about Maryland. That is the kind of error this article is about.

The part no national platform models: a fee that lives inside the price

What the law says, in four sentences

Maryland’s paint stewardship law is Chapters 587 and 588 of the Acts of 2024, which began as House Bill 1 and Senate Bill 325. The two identical bills were signed on 9 May 2024 and took effect on 1 July 2024, after versions had failed in each of the three previous sessions. The working parts are two new sections of the Environment Article, §9-1733 and §9-1734, and a handful of definitions added to §9-1701.

Four sentences do nearly all the work for a retailer. The first defines the product: “architectural paint” means “interior and exterior architectural coatings sold in containers of 5 gallons or less”, and does not include industrial, original-equipment or specialty coatings (§9-1701(b-1)). The second defines a sale as “any transfer of title for consideration, including remote sales conducted through sales outlets, catalogues, the Internet, or any other similar electronic means” (§9-1701(r-4)). The third says that “each retailer or distributor shall add a paint stewardship assessment to the purchase price of all architectural paint sold in the State” (§9-1733(c)(2)(iii)). The fourth, in the same subsection, says a retailer “may not sell or offer for sale a brand of architectural paint to any person in the State” unless the brand’s maker belongs to an approved program (§9-1733(c)(2)(i)).

The rest is machinery. The program is run by PaintCare Maryland LLC, which PaintCare Inc. set up in 2025. The fee comes from PaintCare’s program plan, which an independent auditor reviewed and the Maryland Department of the Environment approved; MDE conditionally approved the plan on 25 October 2025, and the program started on 1 April 2026. One oddity is worth knowing. The statute starts the sales ban and the fee on “January 1, 2026, or 6 months after plan approval, whichever is later”, and six months after 25 October 2025 is late April, not 1 April. I found no public explanation. In practice the whole trade started on 1 April, and your software should have started with it. Violations fall under the Environment Article’s general penalty section, §9-342: a civil penalty of up to $10,000 per violation, with each day counted as a separate violation, or administrative penalties of up to $10,000 per violation and $100,000 in total.

The plan also tells you the size of the thing. PaintCare projects that Marylanders will buy 7.88 million gallons of architectural paint in 2027 and bring back 492,507 gallons of leftovers, a recovery rate of 6.2%. It budgets 2027 fee revenue at $6.63 million against expenses of $4.74 million, and plans for its reserve to grow from 18% of a year’s expenses at the end of 2026 to 99% by the end of 2029. It counts about 440 paint retailers in the state. Divide the revenue by the retailers and the average Maryland store passes about $15,000 a year of PaintCare fees through its registers, an average that hides a very lopsided spread, since the chains and home centers sell most of the paint.

Charged by the can, not by the gallon

The fee is set per container, in four bands. Here is Maryland’s, with what each band means for a gallon of paint:

Maryland’s PaintCare fee, by container, from 1 April 2026
Container size (PaintCare band)FeeTypical containerFee per gallon of paintFee per can, with 6% sales tax on it
Half pint or smaller$0.008 oz sample pot$0.00$0.00
Larger than half pint, smaller than 1 gallon$0.50Pint$4.00$0.53
Quart$2.00$0.53
1 to 2 gallons$1.15Gallon$1.15$1.22
Two-gallon can$0.58$1.22
Larger than 2 gallons, up to 5 gallons$2.25Five-gallon pail$0.45$2.39
Larger than 5 gallonsNot covered55-gallon drum$0.00$0.00

Sources: Maryland Paint Stewardship Program Plan (8 May 2026), p. 43, and PaintCare’s Maryland retailer fact sheet (April 2026); Environment Article §9-1701(b-1) for the five-gallon limit. Per-gallon and tax arithmetic by founderandai.

What Maryland’s PaintCare fee costs per gallon of paint, by container

Dollars per gallon · Maryland · from 1 Apr 2026
Pint$0.50 fee on 1/8 gallon $4.00$0.50 per pint can · 8 pints to the gallon
Quart$0.50 fee on 1/4 gallon $2.00$0.50 per quart can · 4 quarts to the gallon
Gallon$1.15 fee on 1 gallon $1.15$1.15 per gallon can
Two-gallon can$1.15 fee on 2 gallons $0.58$1.15 per two-gallon can
Five-gallon pail$2.25 fee on 5 gallons $0.45$2.25 per pail · 4.4× less per gallon than a quart
Sample pot, half pint or lessno fee $0.00No fee on containers of half a pint or less
Drum over five gallonsoutside the statute $0.00Not architectural paint under §9-1701(b-1)
The Maryland fee for each band divided by the volume of a typical container in it (Maryland Paint Stewardship Program Plan, 8 May 2026, p. 43). Sales tax on the fee is not included. The highlighted rows are the quart a homeowner buys and the pail a contractor buys. The same figures are in the table above.

Read per gallon, the fee runs backwards. A quart pays $2.00 a gallon and a five-gallon pail pays 45 cents, so the homeowner buying a quart to touch up a hallway pays 4.4 times as much per gallon as the contractor buying a pail. PaintCare’s explanation is that it weights the fee by container size because smaller containers tend to leave more paint unused, and it says so in its retailer materials: one five-gallon container typically leaves less leftover than five one-gallon cans. Whatever you think of the reasoning, its effect is visible in the plan’s own budget. For 2027 the plan expects $543,498 from the small band, $4,385,275 from the gallon band and $1,704,123 from the large band. If you assume the small band is quarts, the middle band gallons and the large band five-gallon pails, those three revenue lines reproduce the plan’s own forecast of 7.88 million gallons sold to within 0.1%, which suggests the assumption is close. On that reading, five-gallon pails carry 48% of the paint Maryland buys and 26% of the fee, while quarts carry 3.5% of the paint and 8% of the fee.

For software the lesson is simpler. The fee is a function of one number that most product records do not hold in a usable form: the size of the container. A product title that says “1 Gal.” is not a field a checkout can compute with, and paint is full of containers that are not quite what their names say. Tint bases are usually sold as gallons that hold somewhere between 116 and 124 fluid ounces, to leave room for colorant. PaintCare’s bands are written around containers (the statute’s own word is “container”, and the plan’s remittance mechanism works per container sold), so my reading is that a tint base in a gallon can is a gallon for the fee. The safe design stores the nominal container size as its own field, separate from the fill, and that is exactly the kind of edge case to confirm with PaintCare before relying on it.

Then there is what the fee does not cover. The statute leaves out industrial, original-equipment and specialty coatings, and anything in a container over five gallons. The program plan’s product definition and its list of non-assessed products add aerosol coatings, adhesives, paint thinners, mineral spirits and solvents. PaintCare’s Product Notice #5 lets manufacturers and retailers leave the fee off products sold for shop application or original-equipment use, provided they keep records that can be audited. And a sample pot of half a pint or less carries no fee at all. So one aisle can hold a quart of primer that owes 50 cents, a spray can of the same primer that owes nothing, and an eight-ounce sample of the wall color that also owes nothing. A catalog that decides the fee from a “paint” category will get all three wrong in one direction or another.

One receipt line, two opposite tax answers

Maryland now has two per-item environmental fees that look much alike on a receipt. On 1 January 2026 the state started charging a new $5 fee on every tire sold and raised its tire recycling fee from 80 cents to $1, which we covered in our article on auto parts stores. For those, the Comptroller’s Technical Bulletin No. 61 says the fees are left out of the taxable price when they are stated separately on the receipt, and taxed when they are folded into the price of the tire.

The paint fee gets the opposite answer. On 30 May 2025 the Comptroller’s Legal Division wrote to PaintCare’s general counsel that the paint stewardship assessment “is included in taxable price”, and that on a sale to a consumer it is subject to the 6% sales and use tax “whether the charge for the assessment is separately stated or not”. The reasoning takes two sentences. The list of things excluded from taxable price, in Tax-General §11-101(l)(3), does not mention the paint assessment; and because the statute requires the assessment to be added to the purchase price, it is part of what the buyer pays for the paint.

Two Maryland fees on one receipt, and how each is taxed
Tire feesPaint stewardship assessment
Amount$5.00 new tire fee + $1.00 recycling fee, per tire$0.50, $1.15 or $2.25, per container
Where it comes fromChapter 604 of 2025; Transportation §22-421 and Environment §9-228Chapters 587 and 588 of 2024; Environment §9-1733
Stated on its own lineNot taxedTaxed at 6%
Folded into the priceTaxed at 6%Taxed at 6%
Buyer exempt from sales taxStill pays the feesStill pays the fee, but not tax on it
SourceComptroller, Technical Bulletin No. 61Comptroller, Legal Division letter, 30 May 2025

The lesson for software is that “fee” is not one kind of thing. A tax setup that treats every surcharge line as non-taxable will under-collect on paint; one that taxes every surcharge line will over-collect on tires. Each fee needs its own rule, tied to the statute that created it, and the rule has to survive the day somebody decides the receipt looks cleaner with the fee folded into the price. On a gallon the difference is about 7 cents and on a pail 13.5 cents. A store that sells 10,000 gallons and 2,000 pails a year owes about $960 a year of sales tax on the fee alone, and it owes it whether or not its checkout collected it.

Thirteen price lists, and the nearest one starts at the DC line

The fee is Maryland’s, but the program is national, and a store that ships paint has to know all of it. PaintCare runs thirteen programs, and each has its own fee table:

PaintCare fees in every program, September 2026
ProgramOver ½ pint, under 1 gallon1 to 2 gallonsOver 2, up to 5 gallonsLatest change
Washington$0.65$1.45$2.75Increase from 1 Jan 2026
Vermont$0.65$1.35$2.45
Maryland$0.50$1.15$2.25Program began 1 Apr 2026
Colorado$0.50$1.15$2.25Increase from 1 Apr 2026
Connecticut$0.50$1.15$2.25Increase from 1 Jan 2026
Maine$0.50$1.10$2.00Increase from 1 Oct 2025
Minnesota$0.49$0.99$1.99
Illinois$0.45$0.95$1.95
New York$0.45$0.95$1.95
Oregon$0.45$0.95$1.95
Rhode Island$0.35$0.75$1.60
District of Columbia$0.30$0.70$1.60
California$0.30$0.65$1.50

Source: PaintCare’s published fee table for all programs, checked 22 September 2026. PaintCare lists no fee on containers of half a pint or less. Pennsylvania, Delaware, Virginia and West Virginia have no program.

Maryland’s fee ties with Colorado’s and Connecticut’s for third-highest, behind only Washington and Vermont. The District of Columbia charges $0.30, $0.70 and $1.60, so the same gallon carries 45 cents less on the other side of Eastern Avenue. Pennsylvania, Delaware, Virginia and West Virginia charge nothing, which is why WJLA found painters driving north for pails.

For a Baltimore store that ships, three things follow. First, the fee table is data with dates, not a constant. Four programs changed their fees in the twelve months before this article, and Maryland’s statute requires a revised plan whenever MDE requires the assessment to change. A system that stores “$1.15” inside a product price will be wrong on the day the fee moves; one that stores the band and looks the fee up by date and jurisdiction will not. Second, the law counts Internet sales, and PaintCare tells retailers plainly that online retailers and e-commerce sites must pass the fee on. The website is in scope, not just the registers. Third, which program’s fee applies to a can that crosses a line is less settled than the fee table makes it look. Maryland’s statute defines a sale as a transfer of title and includes remote sales, but it does not say where a remote sale takes place, and the assessment is paid by manufacturers on the paint they report as sold into each state. A Baltimore store that ships a gallon to Washington has already paid Maryland’s fee to its supplier. Whether it should charge that customer Maryland’s $1.15, the District’s 70 cents or something else is a question for PaintCare and your accountant, not for a product page. What the product page can do is know where the paint is going before it quotes a price.

A list of brands you may sell, dated the day you ordered

The other half of §9-1733 is a ban with a list attached. A retailer may not sell a brand of architectural paint in Maryland unless its producer is in an approved program, and MDE must list the participating producers and brands on its website (§9-1733(b)(4)). Then comes the provision I would pin above the desk of anyone who writes purchasing software, §9-1733(e):

“…a retailer complies with the requirements of this section if, on the date the architectural paint was ordered from the producer or its agent, the producer of the paint brand is listed on the Department’s website as implementing or participating in an approved Paint Stewardship Program.”

Read that as an engineer and it says something precise. The retailer’s protection is not a property of the paint. It is a fact about a list, on a date, and the date is the day the store ordered the paint from its supplier, not the day the customer bought the can. A store that can show, for every paint order, which version of the list it checked has the defense. A store that checked the list once in March has a belief. We found the same shape in federal toy-warning law, where a retailer’s defense is the record of having asked the supplier (it is in our toy and game store article), and I now look for it in every trade we write about, because it is the most build-shaped kind of rule there is.

The list is not easy to check by machine. PaintCare publishes it as two PDFs, one of manufacturers and one of brands, and its plan says it intends to send MDE current lists every month. The versions dated 1 September 2026 name 103 registered manufacturers and run to eleven pages of brand names in three columns. I found no machine-readable version. MDE’s own website, the one the statute actually names, refused our requests, so I could not compare its copy with PaintCare’s. For a store that stocks the big names the check takes a minute. For one that carries small makers (a Swedish linseed-oil paint, a lime wash, a chalk paint for furniture) it is the only way to know, and it is exactly the kind of job a purchasing system should do once a month, stamping the answer on every purchase order it sends.

Is the fee part of the sticker price?

The statute says the retailer adds the assessment “to the purchase price”, and the program plan adds that retailers “can choose whether to list the fee as a line item on the receipt”. Neither says how the price on the shelf tag or the product page should look. PaintCare’s guidance to retailers warns that state pricing laws may require the fee to be included in the displayed sticker price, and for Maryland it points to Commercial Law §14-103(a), under which a retail seller of a consumer commodity must disclose its total price or, for some goods, its unit price. Whether that section reaches a particular store is not simple: §14-102 exempts some smaller retailers, and I found no Maryland guidance on whether paint counts as a consumer commodity for this purpose. The paint statute itself seems to assume the answer. It requires PaintCare to tell the public that the assessment “is included in the purchase price of all architectural paint sold in the State” (§9-1733(d)(2)).

The practical answer, and the one I would build, is to put the fee inside the displayed price for a Maryland shopper and, if you like, show it on the receipt as “includes PaintCare fee $1.15”. In the store that is a shelf-tag change. Online it runs straight into the problem from the section above: the product page does not know where the shopper is. The workable options are to ask for a ZIP code before showing paint prices, much as stores already ask which branch you will pick up from; to show the Maryland price and adjust at checkout for other destinations; or to sell paint for pickup and local delivery only. All three are simple to build. None of them is a setting in any platform we looked at.

Nobody built the app

This is the sweep I run on every regulated retail trade: search the app stores for the software that already enforces the rule. On 22 September 2026, a search for “paintcare” in the Shopify App Store returned 328 results, every one a loose match on words such as print, pickup or loyalty, and not one built for PaintCare. WordPress.org’s plugin directory returned none at all.

Searching for a PaintCare tool, 22 September 2026
WhereSearchResultsBuilt for PaintCare
Shopify App Storepaintcare328 (loose matches)0
Shopify App Storepaint fee2,6230
Shopify App Storerecycling fee1,7890
Shopify App Storesurcharge1350
WordPress.org pluginspaintcare00
WordPress.org pluginsrecycling fee20
WordPress.org pluginsproduct fee9930

What makes the gap striking is that the neighboring fees did get apps. Shopify has a single-purpose Mattress Recycling Fee app, at $9 a month, that collects the statutory mattress fee in California, Connecticut, Rhode Island and Oregon and itemizes it at checkout. There is a free app for California’s battery fee, and a Canadian electronics eco-fee app whose top tier needs Shopify Plus. Paint, with a program in thirteen jurisdictions, has none.

General surcharge apps exist in quantity: Magical Surcharge + Extra Fees ($9 to $79 a month), VOL Surcharge & Product Fees (free to $35), Bony Fees ($5.99 to $24.99), Upcharge ($9.99 to $29.99) and Canteen – Deposits and Fees ($9.99), among others. All of them add the fee as a separate line rather than raising the product price, and only Canteen, among the general apps, says anything about tax in its listing. That is the wrong default for Maryland twice over: the statute wants the fee in the price, and the Comptroller wants it taxed. Several of those apps keep their checkout features for Shopify Plus, and Shopify’s own Cart Transform API lets apps rewrite existing cart lines only on Plus or development stores, although adding a new line works on any plan. On WordPress, the closest fit is a free plugin called Product Fees for WooCommerce, with 60 active installs, which adds a fee line whenever a product is in the cart and lets the fee be taxable, non-taxable or follow the product’s tax class. That is enough to model Maryland correctly, if somebody sets it up by hand for every paint SKU.

The simplest compliant setup on any platform is still the oldest one: build the fee into the price of every covered product yourself, keep a table of which products are covered and in which band, and update it when the fee changes. That table is the thing no platform will give you, because no platform knows what is in your cans.

Returns, exempt buyers, old stock, and the drive to Pennsylvania

A few smaller rules finish the picture, and each is a test case for software. On returns, PaintCare’s Maryland retailer fact sheet says the fee “should be refunded because it is part of the purchase price”, so a return flow that refunds only the product price leaves the customer short. A buyer exempt from sales tax, such as a church or a school, still pays the fee; as PaintCare’s general fact sheet puts it, the fee, “like the rest of the product price, should not be taxed” for them. Old stock is not grandfathered: the program’s own questions-and-answers sheet says stores must add the fee to every covered product sold from the first day of the program, whenever they bought it. And the shop-application exclusion is a record-keeping feature, not a checkbox, because the fee may be left off only where records show why.

Then there are contractors, who in most independent stores are the customers who matter. There is no contractor exemption: the fee applies to “all architectural paint sold in the State”. A five-gallon pail carries $2.25 plus 13.5 cents of sales tax on it, or $2.39 in all. WJLA reported in May that some Maryland painters had started buying in Pennsylvania, which has no program. The arithmetic is modest. A painter who buys forty pails a month saves about $95 by driving to York, before the fuel and the afternoon. For a store in north Baltimore County the risk is not the individual painter but the contractor account that quietly moves its standing order across the line. A store that tracks each account’s paint volume month by month will see that happen in the first quarter it starts. A store that does not will find out at the end of the year.

Seven counters and no city site: where Baltimore’s leftover paint goes

The other side of the fee is the drop-off network, and it is worth counting, because in this city it runs almost entirely through shops. On 22 September 2026 PaintCare’s Maryland page reported 113 year-round drop-off sites and an estimated 42,900 gallons collected since April. The map behind its site locator is a public data file, which on the same day held 121 Maryland records; the difference is mostly household hazardous waste collection events that run on particular days. I sorted every record by the kind of place it is.

PaintCare drop-off records in Maryland, by type of site, 22 September 2026
Type of siteMarylandBaltimore CityBaltimore County
Sherwin-Williams stores64210
Ace-branded hardware stores1831
Other independent hardware stores and lumber yards800
Paint dealers (McCormick, PPG and others)1704
Government sites and household hazardous waste events1001
Building-materials reuse nonprofits310
Environmental services company (households only)110
Total121716

Source: PaintCare’s public site-locator data, downloaded 22 September 2026, classified by founderandai. City and county were assigned by street address.

Four things in that table matter to a store. Sherwin-Williams alone accounts for 64 of the 121 records, 52.9%, which is what a chain business looks like on a map. Retail stores of every kind account for 107 of them, or 88.4%, so PaintCare’s Maryland network is, in practice, a network of paint counters, and the plan is explicit that “retailers are not compensated for being a drop-off site.” The plan counts about 440 paint retailers in the state, which means roughly one in four has volunteered. And in Baltimore City there is no government site at all. Of the seven places a city resident can take leftover paint, five are paint or hardware counters (three Ace stores under one local owner, in Canton, Federal Hill and Waverly, and two Sherwin-Williams stores), one is The Loading Dock, the building-materials reuse nonprofit, and one is an environmental services company that accepts paint from households only. PaintCare’s 2025 annual report said an agreement for a city-run collection site was still being negotiated at the end of March.

The statute has a density test. At least 90% of residents must have a site within fifteen miles, and, unless MDE approves otherwise, there must be one additional site for every 50,000 residents, which the plan translates into at least 123 sites. In September the network stood at 113. For an independent store the business question is whether to be one of the next ten. PaintCare supplies the bins, the training, the transport and the promotion, and says participation “can increase foot traffic”; the store supplies floor space, staff time and a willingness to be the place where people bring half-empty cans. A collection site “may not charge an additional fee for the disposal of paint” (§9-1733(f)), so the only return is the visit. For software, the relevant fact is that a drop-off site runs a second flow through the store with its own rules (what is accepted, how much per visit, households or businesses) and none of it passes through the till. If you want to know whether the program brings customers in, you will have to count them yourself.

Two older rules that live at the same counter

Twenty-one for a can of spray paint, and for a bottle of rubbing alcohol

Spray paint sits outside the PaintCare fee, but in Baltimore City it sits inside a much older rule. Article 19, §35-2(e) of the City Code makes it unlawful for anyone other than a parent or guardian “to sell, offer to sell, transfer, or act as an agent for the sale or transfer to any person under the age of 21 years any paint, enamel, lacquer, or other coloring matter in pressurized spray containers.” It requires no intent. A separate section, §35-4, covers selling or lending spray paint to under-18s with the intent or knowledge that they will use it to deface property; that is the one most online summaries find, and for a store it is the less important of the two.

The next subsection goes further. Section 35-2(f) applies the same under-21 ban to “any type of cleaning fluid” containing any of a list of chemicals: acetone, benzene, butyl, ethyl, isopropyl or methyl alcohol, ethylene dichloride, methyl ethyl ketone, pentachlorophenol, petroleum ether or toluene. Read literally, that takes in acetone, denatured alcohol, rubbing alcohol, MEK, toluene, most lacquer thinners and a good deal of windshield washer fluid, which is usually made with methanol. The penalty under §35-2(g) is a misdemeanor, punished by a fine of $100 to $500, up to six months in jail, or both, for each offense. The section’s history note lists ordinances from 1968 to 2022, which may explain the number: it was first written when 21 was still the age of majority, and the subtitle it sits in is still called “Minors – Harmful Substances.”

I would not build a store’s whole compliance program on a literal reading of a 1968 ordinance, and I have not found a reported prosecution of a hardware store under it. But look at what it asks of software. The rule is keyed to an ingredient, not a product category, so the only way to apply it is a flag on each product record that someone set by reading the label. It applies to a sale or transfer, not to a place, so on its face it reaches an online order delivered to a 20-year-old in the city as much as a sale at the register. And an age check at an online checkout is only as good as the check at the door when the order is handed over. Many stores lock spray paint in a case, which deters theft and checks nobody’s age. A good point-of-sale system can prompt for ID when a flagged product is scanned. I have not seen an e-commerce platform that ships with an ingredient-driven age gate, and after the paint-fee sweep I would not expect one.

A quart is small enough for one paint law and big enough for another

Maryland’s air-quality rules reach paint through two chapters of the Code of Maryland Regulations, and both apply to anyone who sells, not only to manufacturers. COMAR 26.11.39 sets limits on volatile organic compounds in architectural coatings sold for use in the state: 50 grams per liter for flat paint, 100 for non-flat, 150 for high-gloss, 250 for stains and 730 for clear shellac. It exempts aerosols, and it exempts any coating sold in a container of one liter (1.057 quarts) or less, unless small containers are bundled and sold as a unit. COMAR 26.11.32 does the same for consumer products and limits paint thinner and multi-purpose solvent to 3% VOC by weight. It also says that nobody may “erase, alter, deface, or otherwise remove or make illegible” a manufacturer’s date code, which a price sticker slapped over the code does.

Put the two paint laws side by side and the same can gets different answers. A quart is too small for the VOC rule, which stops at one liter, and big enough for the PaintCare fee, which starts above half a pint. A five-gallon pail is inside both. A 55-gallon drum is outside the fee and inside the VOC rule. An aerosol is outside both, and inside Baltimore’s age rule. None of this is hard once the product record holds the container’s volume in a real unit and the product’s form, and all of it is impossible when the only place the size lives is the words “1 Qt.” in a product title.

A poster at every register, and nothing online

One last Maryland rule shows how much of this law still assumes a physical counter. Environment Article §6-848.1 requires anyone who sells paint or paint supplies to a consumer to display a poster from MDE about the dangers of lead poisoning, with a phone number for help with safe renovation, either in the area where paint is sold or “at each register or check-out aisle.” Penalties under the subtitle are capped at $500 a day (§6-850). There is no online equivalent: the poster exists for the counter, and the website that sells the same gallon owes nothing. It is not a large obligation, but it is a useful reminder that the rules in this trade were written for a building, and a store that sells online has to decide for itself which of them to carry across.

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 comparison is instructive, because Lithuania is roughly where Maryland was in 2023. Leftover paint there is hazardous household waste (waste code 20 01 27* for paint, 20 01 13* for solvents), and households take it free of charge to their municipality’s bulky and hazardous waste drop-off sites, the DGASA. In Vilnius the sites accept it only in sealed containers of up to ten liters, with identification and within annual limits per resident. Lithuanian coverage of the subject is practical in a way American coverage is not: a 2021 partner article on 15min.lt, produced with the packaging organization PTO and the hazardous-waste company Toksika, follows the can after drop-off all the way to incineration at 1,200 °C, and states the rule every retailer’s leaflet should lead with:

„Jokiu būdu nepilkite į kanalizaciją ir nemeskite į bendruosius buitinių atliekų konteinerius.“

That is, under no circumstances pour it down the drain or put it in the ordinary household bins. What Lithuania does not have is anything like PaintCare, a fee paid by everyone who buys paint to fund its collection. A February 2025 report by the Aplinkos apsaugos institutas proposes bringing paints, varnishes, adhesives and solvents into extended producer responsibility. It estimates that about 146,650 tonnes of such products reach the Lithuanian market in a year and assumes that at least a tenth of that, 14,665 tonnes, becomes waste, against about 3,700 tonnes recorded under the two main waste codes for paint. The paint exists; who pays for it is still an open question.

For a Lithuanian e-shop, the rule to watch is European rather than national. Regulation (EU) 2024/2865 rewrote the advertising article of the CLP Regulation and added a new Article 48a for distance sales: an online offer of a hazardous mixture “shall clearly and visibly indicate the label elements referred to in Article 17”, meaning the hazard pictograms, the signal word and the hazard and precautionary statements, before the customer buys. Regulation (EU) 2025/2439 postponed both provisions to 1 January 2028, and a further simplification package agreed politically in June 2026 would narrow them to products sold to the general public; its final text had not been published when we checked. Until 2028 the older Article 48 applies, under which an advertisement that lets someone buy a hazardous mixture without first seeing its label must mention the types of hazard on that label. We looked at the product pages for a one-liter bottle of acetone in two large Lithuanian DIY e-shops, and neither showed a pictogram, a signal word or a hazard statement. From 2028 that will be a clear obligation.

The data problem is the same one Baltimore stores have. The hazard information lives on the physical label and in the supplier’s safety data sheet, not in the product record the website reads. The EU’s Decopaint Directive already requires the can to state its maximum VOC content in grams per liter (the limit for interior matt walls is 30 g/l, against Maryland’s 50 for flat paint), so a Lithuanian store that captured that number from the label would already hold one of the fields a Maryland store needs. And the most useful e-commerce idea from the region costs nothing to copy: when Senukai.lt, one of the largest DIY chains in the Baltics, redesigned its e-shop in 2025, one of the features it announced was showing stock at each physical store. For an independent hardware store anywhere, “is it on the shelf at my branch right now” is the cheapest useful thing a website can say.

What custom actually costs, and when it pays

Our prices are fixed and public. A one-week Prototype Sprint is $3,500. An Online Store starts at $6,000 and takes one to two weeks. A Custom App or Operations System starts at $12,000. Maryland’s 3% tax on IT services and software applies to custom software bought here, which we explained in our article on the tech tax.

Set those numbers against what a hardware store already pays and the first answer is simple. The co-op’s website costs a member little or nothing up front, and a Shopify Basic store costs $348 a year on annual billing. On subscription savings alone, a $6,000 store takes seventeen years to pay for itself. If that is the only argument, keep renting. I would tell you that on the call.

The arithmetic changes when the mistakes have a price. Take a store that routes 2,000 gallons and 500 five-gallon pails a year through its website, most of them contractor pickup orders, at prices that were set before April and never picked up the fee. It gives away $2,300 on the gallons and $1,125 on the pails: $3,425 a year, before the sales tax it owes on the fee whether or not it collected it. A one-week build that fixes the product records and the fee logic pays for itself in about a year at that volume, and a store selling half that much should just fix its prices by hand. The same test works for the other problems in this article. Count what the contractor accounts buy and what one leaving would cost; count the small brands and how often anyone checks them against the list; count the solvent and spray-paint orders that leave the building without anyone checking an age. If the numbers are small, the spreadsheet is the right tool. If they are not, a small build is cheaper than the leak.

What we would build for a Baltimore hardware or paint store

Not a replacement for the co-op site, and not a replacement for Eagle or Paladin at the register. Most of this sits beside what you already run, reads from it, and does the handful of jobs nothing on the market does. Everything on the list came out of the research above:

  • A product record that knows what the label knows. Container volume in a real unit, both nominal and filled; the product’s form (liquid, aerosol, sample); whether PaintCare covers it and in which band; the VOC category and grams per liter; and a flag for any ingredient on Baltimore’s §35-2 list. Filled once from labels and safety data sheets, then kept current by the purchasing flow.
  • A fee table with dates and places. All thirteen PaintCare programs, their bands and the date each fee took effect, looked up by delivery address and sale date. The Maryland fee sits inside the displayed price, appears on the receipt if you want it to, is taxed at 6%, is refunded on returns and stays untaxed for exempt buyers.
  • A registration check on every purchase order. The monthly PaintCare list imported, every paint line on every order stamped with the version it was checked against, and a warning before a brand that has left the list is reordered. That stamp is the §9-1733(e) defense, kept in a database instead of in someone’s memory.
  • An age gate driven by ingredients. A prompt at the register, a date-of-birth step at the online checkout and an ID check at pickup and delivery, all triggered by the product’s flag rather than by a category somebody has to remember.
  • Contractor accounts with a memory. Monthly paint volume by band for every account, the fees collected, exemption certificates on file, and a note to the owner when an account’s paint volume falls off a cliff.
  • A storefront that asks where the paint is going. ZIP code first for paint, stock by branch, pickup and local delivery, and the co-op’s catalog alongside it where that makes sense.

The first item is a one-week Prototype Sprint for most stores, and it is the right first project, because every other item reads from it. The last is our Online Store package in its hardware-store form: a storefront that sells paint with the rules above built in, and leaves the co-op’s catalog to do what it does well. If you would rather see the shape of it than read about it, our demos include an e-commerce store and an internal tool built the same way.

Build, buy, or leave it alone

If you are an Ace or Do it Best member and your online sales are pickup orders through the co-op’s site, keep it. Then spend an afternoon on the things that cost nothing. Check that your shelf tags and your register prices include the fee on every covered product; that the fee is taxed; that returns refund it; and that tax-exempt customers pay the fee without tax on it. Check any small brands against the PaintCare list and keep a copy of the version you used. Put an ID prompt on spray paint and solvent cleaners in the register. Make sure the MDE lead poster is up. None of that needs us.

If you run your own online store on Shopify or WooCommerce, the job is bigger but still mostly configuration. Build the fee into the price of every covered product, keep a list of which products are covered and in which band, decide what you will do about deliveries outside Maryland (the simplest answer is not to ship paint out of state), and revisit all of it on the day any fee changes.

Build when configuration stops being enough: when contractor accounts are a large share of your paint volume, when you ship paint or solvents across state lines, when you stock dozens of small brands, or when you want a customer relationship that belongs to your store rather than to your co-op. Price a fixed build against what the mistakes cost you now. That is the conversation we would have with you.

Questions hardware and paint store owners ask us

What is the PaintCare fee in Maryland?

It is a charge added to the price of every container of architectural paint sold in Maryland since 1 April 2026, under the state’s paint stewardship law (Environment Article §9-1733). It is $0.50 on containers larger than half a pint and smaller than a gallon, $1.15 on containers of 1 to 2 gallons, and $2.25 on containers larger than 2 gallons up to 5 gallons; containers of half a pint or less pay nothing. The money funds PaintCare, the paint industry’s nonprofit recycling program, which runs 113 year-round drop-off sites in Maryland where leftover paint can be left for free.

Is Maryland’s new paint fee a tax?

Not in law. It does not go to the state: it is set in PaintCare’s program plan, approved by the Maryland Department of the Environment, and paid to PaintCare by paint manufacturers, who pass it on through distributors and retailers. But it is taxed. The Comptroller’s Legal Division advised in May 2025 that the assessment is part of the taxable price and subject to Maryland’s 6% sales tax whether or not the receipt shows it separately, so the $1.15 fee on a gallon costs a Maryland customer about $1.22.

How much is the paint fee on a gallon or a five-gallon bucket in Maryland?

$1.15 on a gallon and $2.25 on a five-gallon bucket, plus 6% sales tax on the fee, which makes about $1.22 and $2.39. A quart or a pint pays $0.50. Measured per gallon of paint, a quart pays $2.00 and a five-gallon bucket 45 cents, because the fee is charged per container rather than per gallon.

Is the PaintCare fee subject to Maryland sales tax?

Yes. In a letter to PaintCare dated 30 May 2025, the Comptroller’s Legal Division said the assessment is included in the taxable price and is subject to the 6% sales and use tax on retail sales whether the charge is separately stated or not. That is the opposite of Maryland’s tire fees, which are not taxed when they are stated separately. Customers exempt from sales tax still pay the fee, but not tax on it.

Do I get the PaintCare fee back when I recycle paint?

No. It is not a deposit. Dropping off leftover paint at a PaintCare site is free, but the fee paid when the paint was bought is not returned. The fee is refunded only if the paint itself is returned to the store, because it is part of the purchase price.

Does an online store have to charge the PaintCare fee?

For paint sold in Maryland, yes. The statute defines a sale to include remote sales over the Internet (Environment Article §9-1701(r-4)), and PaintCare tells retailers that online retailers and e-commerce sites must pass the fee on. Each of PaintCare’s thirteen programs has its own fee table, so a store that ships to other states needs to know where the paint is going, and how the fee applies to paint shipped across a state line is worth confirming with PaintCare.

Which paint products are exempt from the Maryland paint fee?

Containers of half a pint or less; containers larger than five gallons; aerosol coatings; paint thinners, mineral spirits and solvents; adhesives; and industrial, original-equipment and specialty coatings. A store may also leave the fee off products sold for shop application or original-equipment use if it keeps records that can be audited. There is no exemption based on who the buyer is, so contractors and tax-exempt organizations pay it.

Where can I recycle leftover paint in Baltimore?

In Baltimore City, PaintCare’s site list on 22 September 2026 had seven drop-off points: Canton Ace Hardware, Federal Hill Ace Hardware and Waverly Ace Hardware; two Sherwin-Williams stores, on Falls Road and on South Central Avenue; The Loading Dock, the building-materials reuse nonprofit; and an environmental services company that takes paint from households only. Baltimore County had sixteen more, including the county’s Central Acceptance Facility in Cockeysville. Check PaintCare’s site locator before you go, because hours, limits and the list itself change.

Do you have to be 21 to buy spray paint in Baltimore?

In Baltimore City, yes. Article 19, §35-2(e) of the City Code makes it unlawful for anyone but a parent or guardian to sell or transfer spray paint to a person under 21, and §35-2(f) sets the same age for cleaning fluids containing solvents such as acetone, isopropyl or methyl alcohol, MEK or toluene. A violation is a misdemeanor punishable by a fine of $100 to $500, up to six months in jail, or both. We found no Maryland state law setting an age for buying spray paint.

What is the best POS system for a hardware store?

The specialist systems are Epicor Eagle, Epicor BisTrack (for lumber yards), ECI Spruce, ECI RockSolid MAX and Paladin, and co-op members often start with whatever their co-op supports. None of those five publishes a price, so compare quotes on what matters in this trade: how the system handles per-container fees such as PaintCare, including whether the fee is taxed and refunded; age prompts on flagged products; contractor accounts and tax-exempt customers; and how it connects to your online store. General retail systems such as Square and Lightspeed publish their prices but were not built around a hardware catalog.

Is it worth building custom software for a hardware or paint store?

For most independents, not as a replacement for the co-op website or the point-of-sale system, which do their jobs. A small custom build pays when it does what neither does: keeping product records that know container sizes, fee bands and flagged ingredients; stamping purchase orders with the PaintCare list that was checked; tracking contractor accounts; or running an online store that prices paint by where it is going. A one-week prototype costs $3,500 and an online store starts at $6,000, both at a fixed price.

Start here

Does your checkout know what is in the can?

Book a free 30‑minute call. Bring a price export from your register, your website’s product list and one month of receipts. We are not your lawyers, but we will go through them with you: which of your products carry the PaintCare fee and in which band, whether your prices include it and your receipts tax it, which products Baltimore’s age rule reaches, and what a fixed-price build would cost against what the mistakes cost you now. Then we will tell you what we would build, and what you should keep.