The shops this is actually about
Start with the count, because the count for this trade has a shape I did not expect. In the 2023 County Business Patterns file — the Census Bureau's count of establishments with paid employees, which is always the caveat worth stating — Maryland has 140 pet and pet supplies stores under NAICS 453910, employing 2,044 people on an annual payroll of $63,031,000. That is an average of 14.6 employees per store, which is a very large number for a specialty retail trade. Most of the retail verticals I have written about in this series average five or six.
The reason is not that pet shops are unusually successful. It is that the national chains are counted in the same bucket, and a big-box pet store with a grooming salon and a vet clinic under the same roof carries thirty or forty people. Split the file by legal form of organization and the two populations separate cleanly.
| Legal form | Establishments | Employees | Annual payroll | Employees per establishment |
|---|---|---|---|---|
| C corporations | 90 | 1,750 | $55,653,000 | 19.4 |
| Other (including LLCs and sole proprietorships) | 32 | 208 | $5,621,000 | 6.5 |
| S corporations | 9 | 64 | $1,020,000 | 7.1 |
| Partnerships | 9 | 22 | $737,000 | 2.4 |
| All Maryland | 140 | 2,044 | $63,031,000 | 14.6 |
Ninety establishments are C corporations, and they hold 1,750 of the state's 2,044 pet retail jobs — 85.6% of the employment and 88.3% of the payroll on 64.3% of the storefronts. The other fifty establishments, taken together, carry 294 employees, which is 5.9 per store against the C corporations' 19.4. That is a 3.3× gap in staffing inside one NAICS code, and it is the clearest statistical picture I have found of what an independent pet shop is actually competing with.
Six people a store, and why that is the whole argument
Now bring it down to the city. Baltimore City has 10 pet and pet supplies stores with paid employees, carrying 60 people on $1,616,000 of payroll. That is 6.0 employees per store against a statewide 14.6 — the city's stores are 41% the size of the state average — and $26,933 per employee against $30,837 statewide, which is 12.7% below.
| Jurisdiction | Establishments | Employees | Annual payroll | Employees per store | Payroll per employee |
|---|---|---|---|---|---|
| Baltimore County | 22 | 320 | $9,980,000 | 14.5 | $31,188 |
| Anne Arundel | 18 | 277 | $9,110,000 | 15.4 | $32,888 |
| Montgomery | 16 | 285 | $9,018,000 | 17.8 | $31,642 |
| Howard | 15 | 155 | $4,215,000 | 10.3 | $27,194 |
| Prince George's | 12 | 230 | $8,090,000 | 19.2 | $35,174 |
| Baltimore City | 10 | 60 | $1,616,000 | 6.0 | $26,933 |
| Harford | 7 | 104 | $3,083,000 | 14.9 | $29,644 |
| Frederick | 6 | 121 | $3,151,000 | 20.2 | $26,041 |
Baltimore City has 7.1% of the state's pet retail establishments and 2.9% of its pet retail employment. Read those two numbers together and they say something specific and useful: the city has a normal share of the storefronts and almost none of the big ones. Frederick County has six stores and 121 employees. Baltimore City has ten stores and sixty. The large-format chains are in the county shopping centers, on the parking-lot side of the Beltway, and what is inside the city line is overwhelmingly the independent shop — Hampden, Canton, Federal Hill, Mount Washington, Fells Point.
The size distribution in the state file backs this up, and it is worth printing because it inverts the usual story about small retail.
| Employees | Establishments | Share | Cumulative |
|---|---|---|---|
| Fewer than 5 | 33 | 23.6% | 23.6% |
| 5 to 9 | 21 | 15.0% | 38.6% |
| 10 to 19 | 44 | 31.4% | 70.0% |
| 20 to 49 | 40 | 28.6% | 98.6% |
| 50 or more | 2 | 1.4% | 100.0% |
Forty Maryland pet stores employ between twenty and forty-nine people. That band is where the chains live, and it is nearly as large as the entire under-ten population. Fifty-four establishments — 38.6% — employ fewer than ten people, and those are the shops this article is for. Everything below is written for a business with three to eight people in it, a loyalty program, a website it is not sure is earning its keep, and a nagging sense that the subscription economics of pet food are being decided somewhere else.
One more thing the numbers explain. Pet retail is a staffed trade in a way that, say, gift retail is not, and the reason is physical: somebody has to put a forty-pound bag in a trunk, and somebody has to answer a genuinely hard question about a dog with a chicken allergy. That is why per-seat software pricing bites harder here than the sticker suggests, and it is why the trade's best-known product charges per location instead.
What the software costs, and what each meter counts
On 15 September 2026 I went through the published pricing pages of the products a Baltimore pet supply shop would realistically shortlist. This category is better behaved than most: several vendors publish complete ladders, including one that is specific to this trade and one that is specific to subscriptions. That makes the arithmetic below unusually solid.
| Vendor | What it is | Published price | What the meter counts |
|---|---|---|---|
| Astro Loyalty | Frequent buyer and vendor-funded rebates for independent pet retail | Offers $0 · Frequent Buyer $50 per location · Custom Programs $20 · Points Platform $20 | Locations. Not customers, not redemptions, not revenue |
| Lightspeed Retail (X-Series) | General specialty retail point of sale | Basic $89 · Core $149 · Plus $289, one register included | Feature tier, then registers and locations |
| Celerant Cumulus Retail | Specialty retail suite with a pet supply vertical | POS $125 · Specialty Bundle $199 · POS + eCommerce $350 | Feature tier, one POS user and five back-office users |
| Recharge | Subscription and autoship platform | Starter $99 · Plus $499 · Custom | A percentage of every recurring order, plus a flat base |
| Square | Card processing | No subscription required for the base rate card | A percentage of each sale, at a different rate depending on how the card arrives |
| Shopify | General storefront | Plan prices not quotable — see below | Plan tier, plus a fee on third-party payment providers |
A methodology note on that last row, because it is a limitation rather than a criticism. shopify.com/pricing served a 200 and a complete plan ladder, in euros, from a US machine, and then again in euros when I opened it in a real browser. The page geolocates. I am not going to print dollar figures taken off a page that showed me euros, so Shopify is named here without prices and left out of the modeled stack. Every other number in this article came off the vendor's own page, in dollars, on 15 September 2026.
The website costs more than the store
Celerant is the interesting one to start with, because it publishes three tiers of the same product and the gaps between them tell you what the industry thinks a website is worth.
Cumulus Retail Point of Sale is $125 a month, with one POS user and five back-office users, and it covers product and pricing, customers and loyalty, inventory and purchasing, employee management and reporting. Cumulus Specialty Retail Bundle is $199 and adds distributor integrations, catalog imports, auto ordering and a buy/trade module — $74 a month for the machinery that connects a specialty store to the wholesalers it actually buys from. And Cumulus Retail POS + eCommerce is $350, which adds an integrated storefront, a shopping cart, buy-online-pickup-in-store and cross-channel prices and rewards.
That last step is $225 a month, or $2,700 a year, to have a website. It is 1.8 times the entire point of sale, and the finished bundle is 2.80× the price of the store system on its own. I want to be fair about why: an integrated storefront that keeps one inventory ledger across the counter and the web is genuinely harder to build than either half, and a vendor that charges for it is charging for something real. But it is worth naming the shape, because a shop owner comparing $125 to $350 is not comparing two software products. They are being quoted a price for the channel, annually, forever, on a system they will never own.
One flat meter and two percentage meters
Here is the finding that reorganizes the whole decision, and it took me a while to see it because the two halves of the business are usually discussed in different rooms.
Astro Loyalty is the product that runs frequent-buyer programs for independent pet retail — buy twelve bags, get the thirteenth free — and it charges $50 a month per location. Its own claim for its reach is specific and checkable in kind if not in number: “99% of the pet health distributors in the USA and Canada are on Astro.” Its own FAQ is unusually plain about what it is: “Nope. Astro is a collection of digital loyalty platforms and marketing tools that help you track your customers' loyalty progress and report their rewards to your distributors. It can be used with or without a POS.” It runs month to month with no contract, and Astro Offers is free forever. Fifty dollars a month is $600 a year, and that number does not move if you have two hundred loyalty customers or two thousand.
Now walk the same customer over to the website. The moment that customer's bag becomes a subscription, two meters start running that were not running at the counter, and both of them are percentages.
The first is the subscription platform. Recharge — which lists Pets among its top industries — publishes Starter at $99 a month with processing fees at 1.49% + 19¢ per transaction, and Plus at $499 a month at 1.34% + 19¢. That percentage is charged on the recurring order, on top of whatever the card costs.
The second is the card itself, and this is the part nobody mentions when they tell a pet retailer to launch autoship. Square publishes its US rate card openly, and it prices the same card four different ways depending on how it arrives.
| How the card arrives | Published rate | Fee on $76.00 | Effective rate |
|---|---|---|---|
| Tapped, dipped or swiped at the counter | 2.6% + 15¢ | $2.13 | 2.80% |
| The same, on Square's highest plan tier | 2.4% + 15¢ | $1.97 | 2.60% |
| Online, through a payments API | 2.9% + 30¢ | $2.50 | 3.29% |
| Manually entered, or a card on file | 3.5% + 15¢ | $2.81 | 3.70% |
An autoship charge is, by definition, a card on file. Nobody is standing at the terminal on delivery week four; the whole point of the program is that the customer does nothing. Square's own card prices that convenience at 3.5% + 15¢ against 2.6% + 15¢ for the identical card tapped in the store — 0.9 percentage points, or 68 cents more on a $76.00 bag, on every order, forever.
I should be precise about what that table is and is not. It is Square's published rate card, and a shop running Recharge on Shopify will be billed by Shopify Payments, not by Square. I use it because it is the clearest public evidence of a rate structure that every processor has, and because the question it raises — which row does my recurring charge land in? — is one I would put to any processor before signing. Square publishes a payments-API row at 2.9% + 30¢ and a card-on-file row at 3.5% + 15¢, and the difference between them on a year of autoship is not small.
So model it. Take a Baltimore shop with 220 autoship subscribers, an average recurring order of $76.00, and an average interval of five weeks, which is roughly how long a twenty-four-pound bag lasts a medium dog. That is 10.4 deliveries per subscriber per year, 2,288 recurring orders, and $173,888 of recurring revenue. Then price those same orders both ways.
| Line | At the counter | On autoship |
|---|---|---|
| Card processing on 2,288 orders | 2.6% + 15¢ — $4,864 | 3.5% + 15¢ — $6,429 |
| Loyalty or subscription platform, transaction fees | — | 1.49% + 19¢ — $3,026 |
| Platform base | Astro Frequent Buyer — $600 | Recharge Starter — $1,188 |
| Total | $5,464 | $10,643 |
| Per subscriber, per year | $24.84 | $48.38 |
| As a share of the $173,888 | 3.14% | 6.12% |
The same people, the same bags, the same money: 1.95 times the cost to serve, a difference of $5,179 a year, before a single box has been packed. Six cents of every dollar instead of three.
I am not arguing that autoship is a bad idea. It is usually a very good idea — it is the single most reliable retention mechanic in this trade, and the reason Chewy's fiscal 2025 results reported $10.4971 billion of Autoship customer sales, 83.3% of net sales, up from 79.2% the year before, across 21.327 million active customers. Recurring revenue is worth paying for. What I am arguing is that almost nobody tells a shop owner the shape of what they are paying: a flat $600 meter at the counter and a compounding percentage meter online, both attached to the same customer, and the online one growing precisely as fast as the program succeeds.
Where the subscription ladder crosses, and why you will never get there
There is a second, quieter fact in Recharge's rate card worth computing, because it tells you something about who these products are built for.
Starter is $99 + 1.49%. Plus is $499 + 1.34%. The per-transaction nineteen cents is identical on both, so it cancels. The upgrade costs $400 a month more and buys 0.15 percentage points off the rate, which means the two tiers cross at $400 ÷ 0.0015 = $266,667 of recurring volume per month. That is $3.2 million a year of subscription revenue.
The shop modeled above does $173,888 a year of recurring revenue, which is $14,491 a month — 5.4% of the crossover. Recharge's second tier becomes correct for a business 18.4 times the size of this one. That is not a criticism of Recharge; the Starter plan is genuinely the right product and the ladder is honestly priced. It is a statement about where the category's center of gravity sits, and it is worth internalizing before you assume the roadmap of a subscription platform is being written with a five-person shop in Hampden in mind.
The part no national platform models
Everything above is arithmetic, and arithmetic is the easy half. The hard half is that a Maryland pet supply shop sits inside a regulatory structure that no retail product on the market represents at all, and that most owners have never had explained to them. It is not dangerous — I want to say that clearly before I spend three thousand words on it — but it is real, it is checkable, and it is the single best argument I know for why the catalog of a pet shop is not the same kind of object as the catalog of a gift shop.
A distributor is anyone who offers it for sale
Maryland's commercial feed law lives in Title 6, Subtitle 1 of the Agriculture article and calls itself, at §6–117, the Maryland Commercial Feed Law. Start with the two definitions that do the work.
The first is what counts as commercial feed. §6–101(d) reads as follows, and the list in the middle of it is a small piece of 1970s prose that has been quietly governing a modern retail category ever since.
“Commercial feed” means a material or combination of materials distributed, or intended for distribution, for use as feed, or for mixing in feed for any animal other than man including feed prepared and distributed for consumption by dogs and cats, or any domesticated animal normally maintained in a cage or tank, including gerbils, hamsters, canaries, psittacine birds, mynahs, finches, tropical fish, goldfish, snakes, and turtles… — Md. Code, Agriculture §6–101(d)
That is essentially a map of a pet shop. Food, treats, toppers, supplements that are fed, the bird seed, the fish flake, the reptile pellets — commercial feed, all of it. The second definition is the one that reaches the retailer. §6–101(h):
“Distribute” means to exchange, offer for sale, sell, or barter, supply, furnish, or provide commercial feed, customer-formula feed, or contract feed to a contract feeder, or otherwise to supply, furnish, or provide commercial feeds as part of a commercial enterprise. — Md. Code, Agriculture §6–101(h)
A shop that puts a bag on a shelf with a price on it is offering it for sale as part of a commercial enterprise. Under this statute, that shop is a distributor. The Department of Agriculture's State Chemist Section — whose register, as we will see in a moment, covers feed and pet food, pesticides, fertilizer, fertilizer-pesticide mixtures, soil conditioners and compost, and liming materials — states the same reach on its own site: registration is required for all products in those classes that are “exchanged, offered for sale, sold, or bartered, supplied, furnished, or provided as part of a commercial enterprise.”
And then §6–107(a) makes the obligation explicit:
Except as provided in subsection (e) of this section, a distributor shall register each brand name or product name of commercial feed before distributing it in the State. — Md. Code, Agriculture §6–107(a)
The exemption is a fact about somebody else
Now the relief, which is real and which is why no Baltimore pet shop I have ever met has filed a feed registration. §6–107(e):
Provided the product label has not been altered or changed, a distributor may not be required to register any brand of commercial feed which has been registered under this subtitle by another person. — Md. Code, Agriculture §6–107(e)
Read that as an engineer reads a conditional, because it is one. The shop's exemption from a registration duty is not unconditional. It holds while two propositions are simultaneously true, and the shop can observe neither of them from behind its own counter:
First, that another person has registered this brand under this subtitle. Not registered it federally, not registered it in Pennsylvania, not listed it with a distributor — registered it in Maryland, under Title 6, Subtitle 1. Second, that the product label has not been altered or changed. A label change is not a rare event in pet food. Bags are redesigned, formulas are adjusted, a guaranteed-analysis figure moves by a tenth of a point, a “grain free” flash is added, a brand is acquired and the address on the back panel changes. Every one of those is a label change, and the statute conditions the retailer's exemption on there not having been one.
In practice, the Department enforces against registrants, and it should — the manufacturer is the party that knows what is in the bag and controls the label. I have never heard of a Maryland pet shop being pursued for stocking an unregistered product, and I am not writing this to make anyone nervous. But the structure matters for a much more ordinary reason, which is that the question “may this be sold in Maryland?” has a definite answer, that answer lives in a state database, and the shop that depends on it has no way to ask. When a local maker walks in with four flavors of biscuit and asks to be on your shelf, that is not an abstract question. It is Tuesday.
So I downloaded the register and counted it
Here is where it gets genuinely strange, and where this stopped being a legal curiosity and became a software argument.
Maryland does publish the register. The State Chemist Section's renewal and reporting portal at egov.maryland.gov/mda/chemist is a login wall — “You need to create an account with the MDA State Chemist Section to renew commodities or report tonnage online” — and what it offers a logged-in registrant is the ability to “maintain and manage your list of products sold and registered in Maryland.” Your list. Not anybody else's.
But above the login box, unlabeled except for the words Download Product Registration / Renewal Report, there is a link that requires no account at all. I followed it on 15 September 2026. It returns a three-megabyte PDF, titled Product Registrations_2026 and stamped “As of 2026-09-08 23:26:10 Eastern Standard Time/EST”, containing every product registration the State Chemist holds, in five columns: registrant company, company name, product name, product status, and record type. It runs to 1,140 pages. There is no search. There is no filter. There is no CSV, no API, and no query interface of any kind.
So I parsed it. Here is what Maryland's product register contained on the evening of 8 September 2026.
| Record type | Active | Pending Documentation | In Review | Total rows |
|---|---|---|---|---|
| Commercial Feed / Pet Food | 14,472 | 0 | 14 | 14,486 |
| Pesticide | 13,551 | 0 | 2 | 13,553 |
| Fertilizer | 4,421 | 0 | 63 | 4,484 |
| Soil Conditioner / Compost | 380 | 648 | 0 | 1,028 |
| Fertilizer-Pesticide Mixture | 507 | 0 | 4 | 511 |
| Liming Material | 84 | 0 | 1 | 85 |
| All types | 33,415 | 648 | 84 | 34,147 |
One oddity worth flagging before the number that matters: every single “Pending Documentation” row in the entire state register — all 648 of them — is a soil conditioner or compost, which is 63.0% of that whole class. Something is stuck in one queue, and it is not the pet food one.
14,472 active commercial feed and pet food registrations. That is the number that decides what a Maryland pet shop may put on a shelf, and until this afternoon I do not believe anybody in the trade had counted it. At the $50 annual fee set by §6–107(c), the feed half of that register alone represents $723,600 a year in registration fees, before the dog-and-cat surcharge discussed below.
The ownership of those 14,472 rows is more interesting than the total.
| Measure | Value |
|---|---|
| Distinct registrant companies | 439 |
| Median registrations per company | 6 |
| Mean registrations per company | 33.0 |
| Companies holding exactly one registration | 71 (16.2%) |
| Companies holding three or fewer | 156 (35.5%) |
| Companies holding a hundred or more | 28 |
| Share held by the ten largest registrants | 42.2% (6,110 rows) |
| Share held by the twenty-five largest | 64.5% (9,331 rows) |
| Share held by the hundred largest | 86.7% (12,550 rows) |
The largest single registrant in Maryland is North River Enterprises with 1,308 active feed registrations, followed by CK Nutrition at 1,099 and Farnam Companies at 705. Then the names a shop would recognize: Sunshine Mills 523, Mars Petcare US 447, Hill's Pet Nutrition 441, Blue Buffalo 433, Spectrum Brands Pet 422, Compana Pet Brands 401, Petco Wellness 331.
And at the other end, seventy-one companies hold exactly one registration each. Those are the ones I find hardest to stop thinking about. Somewhere in that file is a person who makes one thing, filed one form, pays one fee, and is legally on the same footing as Mars. A third of the register's registrants — 156 of 439 — hold three products or fewer. The median company in Maryland's feed register holds six.
Six is the number of recipes a good local treat maker has.
Two fees, two calendars, and a species test
The fee structure is where the register stops being trivia and starts being a business decision, because Maryland charges twice, from two different offices, on two different clocks.
The base fee is §6–107(c): “The annual registration fee for each commercial feed distributed in the State is $50.” And §6–107(d) sets the clock: “Each registration expires April 30 each year.” Not a rolling anniversary from the date you filed — a single fixed date that every registration in the state shares.
The second fee is somewhere else entirely, in Title 2 of the same article, under a subtitle about the Spay/Neuter Fund. §2–1603 directs the Secretary to establish a fee on each brand or product name of commercial feed that is “prepared and distributed for consumption by a dog or cat” and registered under §6–107, and sets that fee, after 30 September 2015, at $100. It is paid by the person registering the feed, and under §2–1602(e)(1) it flows into a fund whose purpose is “to reduce animal shelter overpopulation and cat and dog euthanasia rates by financing grants to local governments and animal welfare organizations.” The Department invoices registrants for it in October, due by 30 November, and the whole subtitle carries a sunset: it is in effect until 30 September 2032.
Put the two together and you get a per-product tax with a species test in it.
| The product | §6–107(c) base fee | §2–1603 fee | Total per year | Who bills it, and when |
|---|---|---|---|---|
| A dog food, treat or topper | $50 | $100 | $150 | State Chemist, expiring April 30; Spay/Neuter Program, invoiced October, due November 30 |
| A cat food, treat or topper | $50 | $100 | $150 | The same two, on the same two dates |
| A parakeet seed mix | $50 | — | $50 | State Chemist only |
| A tropical fish flake | $50 | — | $50 | State Chemist only |
| A hamster or gerbil pellet | $50 | — | $50 | State Chemist only |
| A turtle or snake food | $50 | — | $50 | State Chemist only |
Three times the fee, decided by which animal eats it. Both animals are on the same list in §6–101(d); only one pair of them carries the surcharge, and the reason is not about the food at all — it is that dogs and cats are the animals that fill shelters. I think that is a defensible piece of policy, and I would rather a state fund spay and neuter grants out of a pet food fee than out of nothing. But it does mean that the answer to “what does it cost to be in Maryland?” requires knowing, per product, what species it is for — which is a field, and a field that no product catalog I have seen in this trade actually carries as structured data rather than as words in a description.
The two calendars matter too, and they matter in an unglamorous way that is very typical of real compliance work. One clock ends on 30 April and is administered by the State Chemist. The other is invoiced in October and falls due on 30 November, and is administered by the Spay and Neuter Grants Program. A company with forty products has two bills from two offices six months apart, each keyed to the same list, and nothing in the world reconciles them except a spreadsheet somebody maintains.
If you make it, you are the registrant
All of the above is background for a shop that only resells. The moment a shop makes something, the exemption in §6–107(e) no longer has anything to apply to, because there is no other person who registered it. This is not a hypothetical. The bakery case is now standard in independent pet retail — a counter of house-made biscuits, pupcakes and birthday cakes is one of the few things a neighborhood shop can offer that an online retailer structurally cannot, and it is exactly the thing an owner adds when they want to differentiate.
Do that, and three obligations arrive at once.
The registration itself is the easy one: $50 under §6–107(c) plus $100 under §2–1603, per recipe, per year. Four flavors is $600 a year. Six flavors — the median of the entire state register — is $900 a year, paid before a single biscuit is sold, and paid again every April and every November whether the flavor sold well or not.
The label is harder, because §6–109(a) is specific about what has to be on it: the net weight; the name or brand; the common or usual name of each ingredient; the name and address of the person responsible for distributing it; and a guaranteed analysis listing the minimum percentage of crude protein, the minimum percentage of crude fat, and the maximum percentage of crude fiber. Those last three are not marketing copy. They are numbers you are guaranteeing to the State of Maryland, which under §6–106(a) may “sample, inspect, test and make analyses of commercial feed distributed in the State at any time and place,” and which under §6–105 publishes at least annually a report comparing official sample analyses against “the analyses guaranteed in the registration and on the label.” A guaranteed analysis comes from a laboratory, and it is specific to a recipe.
Which turns a pleasant-sounding decision — let's add a peanut butter one — into a compound event with a lab test, a label revision, a state filing, two fees on two calendars, and a product record that has to remember all of it. And then §6–112 sits underneath the whole thing in a single sentence: “No person may distribute adulterated or misbranded feed.” Under §6–101(l)(3), a feed is misbranded if it is not labeled as required by §§6–109, 6–110 and 6–111. The word person in §6–112 is not limited to manufacturers.
This is the clearest case in the article for a product record that is more than a name and a price. A recipe needs a registration state, a registration expiry, a species classification, a guaranteed-analysis record with the date it was tested, a label version, and a link between the label version currently in use and the registration that was filed against it. Six fields. No pet retail system I looked at has any of them, and the reason is straightforward: a product built for forty thousand stores cannot afford to model one state's feed law.
Autoship is not a sale, legally speaking
Now the online half, and a statute that is three and a half months old.
Maryland's automatic renewal law was enacted as Chapter 204 of 2025 (Senate Bill 49), approved by the Governor on 22 April 2025, and codified at Commercial Law §14–1328. Its effective date was amended during passage from 1 October 2025 to 1 June 2026, which means it has been in force for a single quarter. A violation is, under §14–1328(G) and the new §13–301(14)(xlvi), an unfair, abusive, or deceptive trade practice; under §14–1328(H) it creates no private right of action, so this is an Attorney General matter rather than a plaintiffs' bar matter.
If you run autoship in Maryland, this is now your law. And the first thing it does is define itself in a way that puts the pet food trade exactly on the boundary.
The dropdown that decides whether a statute applies
“Automatic renewal” means any contract, plan, or agreement between a consumer and a seller in which a paid subscription or purchasing agreement is automatically renewed at the end of a definite term of more than 1 month for a subsequent term. — Md. Code, Com. Law §14–1328(A)
More than one month. Not one month or more — more than one month.
Every autoship program in pet retail asks the customer to pick a delivery interval, and the choices are always some version of the same list: two weeks, three weeks, four weeks, six weeks, eight weeks, twelve weeks. The reason the list looks like that is not marketing. It is that the interval has to match how fast the animal eats the bag, and a bag is sold in pounds rather than in days.
Four weeks is twenty-eight days, which is shorter than any calendar month. Five weeks is thirty-five days, which is longer than all of them. So the statutory line falls between the fourth and fifth options in the dropdown — and the most common real-world interval in dog food, the one that matches a twenty-four-pound bag and a medium dog, sits on the far side of it.
| Interval the customer picked | Days | “More than 1 month”? | Notice and cancellation duties |
|---|---|---|---|
| Every 2 weeks | 14 | No | Outside §14–1328 |
| Every 3 weeks | 21 | No | Outside §14–1328 |
| Every 4 weeks | 28 | No — shorter than every month | Outside §14–1328 |
| Every 5 weeks | 35 | Yes | Inside §14–1328 |
| Every 6 weeks | 42 | Yes | Inside §14–1328 |
| Every 8 weeks | 56 | Yes | Inside §14–1328 |
| Monthly, on the same date | 28 to 31 | Arguably not — a term of exactly one month is not more than one month | Genuinely unsettled |
I want to be careful here, because I am an engineer reading a statute rather than a lawyer advising on one. Section 14–1328 does not define “month,” the section is new enough that there is no Maryland case law on it, and a regulator could reasonably read a four-week cycle as a monthly one. The honest summary is that the boundary is somewhere around the fourth and fifth options in a dropdown, and that reasonable people will place it differently.
But the engineering consequence does not depend on where exactly the line falls. It depends only on the line existing, and the consequence is this: a field the customer sets, from a menu, at checkout, determines which legal regime governs their subscription. Not the product. Not the price. Not the state they live in — that too, but that at least is a field every system has. The interval. Two customers in Hampden, buying identical bags of identical food from the same shop on the same day, can end up in different regimes because one of them has a beagle and the other has a Newfoundland.
Ask any subscription platform to show you the Maryland subscribers whose interval exceeds one month and see what happens. The data is in there. The question is not one the product was built to answer.
A notice window with a ceiling as well as a floor
The second thing §14–1328 does is require an advance notice, and the way it specifies the timing is genuinely unusual. Almost every notice rule in American consumer law is a floor — at least fourteen days, no less than thirty days. This one has a floor and a ceiling.
If an automatic renewal offer includes a free gift or trial lasting more than 14 days, the notice required under paragraph (1) of this subsection shall be provided not less than 3 days and not more than 21 days before the date when the automatic renewal is scheduled to take effect. — Md. Code, Com. Law §14–1328(C)(2)
If the consumer has accepted an automatic renewal offer with an initial term of at least 1 year, the notice required under paragraph (1) of this subsection shall be provided not less than 15 days and not more than 45 days before the date when the automatic renewal is scheduled to take effect. — Md. Code, Com. Law §14–1328(C)(3)
Eighteen days wide in the first case, thirty in the second, with both ends closed. A notice sent two days ahead is late. A notice sent twenty-two days ahead is early, and being early is a violation too. And under §14–1328(C)(1) the notice has to carry five things: that the offer renews unless canceled; the duration and terms of the renewal period including the price that will be charged; the various methods by which the consumer may cancel; if sent electronically, a link that goes to the cancellation process; and contact information for the business.
Now put that against how pet autoship actually behaves, which is the whole point. The single most-used control in any autoship portal is not cancel. It is skip, or delay, or send it sooner — a customer going away for two weeks, a customer who found half a bag in the garage, a customer whose dog went off the chicken. Every one of those presses moves the next charge date.
Which moves the window. A notice that was correctly scheduled on Monday can be outside the permitted window by Tuesday afternoon, because the customer pressed a button, and nothing about the notice itself has changed. This is not a template problem or a copywriting problem. It is a scheduling problem with a moving anchor, and the only correct implementation recomputes the send window from the current charge date every time the charge date changes.
| Event | Next charge date | Permitted notice window (3 to 21 days before) | State of a notice already queued for 2 November |
|---|---|---|---|
| Subscription created | 15 November | 25 October to 12 November | Not yet queued |
| Notice scheduled | 15 November | 25 October to 12 November | Valid — 13 days ahead |
| Customer skips one delivery | 27 December | 6 December to 24 December | Now 55 days ahead — outside the ceiling |
| Customer moves it sooner by a week | 20 December | 29 November to 17 December | Still outside; the window moved again |
Nothing in that table is exotic. It is one customer pressing one button that the product is designed to encourage them to press. And the reason I am confident most implementations get this wrong is that the natural way to build a renewal reminder — schedule it when the subscription is created, at charge date minus N — produces exactly this failure, silently, and nothing in the system ever complains.
Canceling has to be as easy as signing up
The third requirement is the one that will change the most user interfaces, and it is written with unusual specificity. Under §14–1328(B)(3), a seller must give the consumer a “cost-effective, timely, and easy-to-use mechanism” to cancel the automatic renewal, avoid being charged, and immediately stop any recurring charges. The mechanism must be at least as easy to use as the mechanism the consumer used to consent, and must be available through the same medium.
Then subparagraph (II)3 gets concrete: where cancellation is by electronic medium, it must be easy to find, must not require interaction with a live or virtual representative unless the consumer interacted with one to sign up, and must include either “a prominently placed direct link or button to initiate the cancellation process, which may be located either within a customer account or profile or within device or user settings,” or an immediately accessible termination e-mail, formatted and provided by the business, that the consumer may send without adding any information.
A pet shop that lets a customer start autoship in three taps on a product page and then asks them to call the store during business hours to stop it has a problem. Not a design problem — a statutory one, since 1 June 2026. The fix is a cancel button in the customer's own account, one click deep, that stops the next charge immediately; and paragraph (IV) permits you to make them authenticate first, which is reasonable, but not to make authentication the only route if they cannot manage it.
There is one more clause that matters for an owner reading this and wondering whether any of it applies to them. §14–1328(E) deems a person in compliance if they comply with the contract-renewal requirements of the state or federal agency that regulates them, and §14–1328(F) carves out insurance, service contracts, and services regulated by the Public Service Commission, the FCC or FERC. A pet supply shop is none of those things. There is no carve-out for small retailers, and there is no revenue floor.
The tax line runs down the middle of the aisle
A short section, because it is one sentence of statute, but it is a sentence that decides a tax rate on every item in the store.
Maryland exempts food from sales tax, subject to conditions, at Tax-General §11–206(c)(1): the tax does not apply to a sale of food for consumption off the premises by a vendor who operates a substantial grocery or market business at the same location. That exemption is why the grocery down the street rings up a salmon fillet at zero. And then, four subsections earlier, the definition that removes the entire pet trade from the discussion:
“Food” means food for human consumption. — Md. Code, Tax-General §11–206(a)(3)(i)
Six words. Every bag, can, pouch, biscuit and topper in a Maryland pet shop is taxable at 6%, and the identical salmon — same fish, same species, sometimes the same supplier — is exempt three doors down because of who is going to eat it. The exemption is about the eater, not the food.
That is not an injustice and I am not going to pretend it is; a line had to be drawn and this is a clean place to draw it. But two practical consequences follow. The first is that a pet shop has no mixed-taxability problem of the kind that makes grocery point-of-sale configuration such a misery — everything is 6%, full stop, which is genuinely a simplification worth knowing. The second is more subtle: the tax is collected on the full price, and the card fee is charged on the tax-inclusive total. On the modeled shop's $173,888 of recurring revenue, Maryland's 6% is $10,433 of tax, and at the card-on-file rate of 3.5% that tax costs the shop $365 a year in processing fees on money that was never theirs. It is a small number. It is also a number that no one has ever shown a pet retailer.
The free bag is not a discount
Every independent pet shop in America runs a frequent-buyer program, and almost every one of them runs it the same way: buy twelve bags of a given brand, get the thirteenth free. What almost nobody outside the trade understands is who pays for the thirteenth bag.
The manufacturer does. The frequent-buyer program in pet retail is a vendor-funded mechanic, offered brand by brand, and the shop's job is to prove the redemption happened so the distributor can reimburse it. Astro's own FAQ describes exactly this: “Astro automatically sends your customers' free good and rebate redemption information to your chosen distributors for expedited reimbursement,” and its answer to whether you have to run reports and send them to the distributor is simply “Nope — there's no need to!”
That sentence describes something important about the shape of the business. When a shop hands over a free bag, it has not given a discount. It has created a receivable — a claim against a distributor for goods already delivered to a customer, which will be settled at some point, at some value, in some credit memo, against some invoice. A discount reduces revenue on the day it is given. A receivable is an asset that has to be tracked, aged, and reconciled, and which sometimes does not arrive.
I have never seen a point-of-sale system that models it that way. In a POS, the free bag is a line item at $0.00 or a hundred-percent discount, and the cost of goods sold either sits on the shop or is quietly wrong. The reimbursement, when it arrives, lands in accounting as a credit memo from the distributor with no link back to the transaction that earned it. The two halves of one event live in two systems that never speak, and the question an owner would actually like answered — how much am I owed right now, by whom, for which redemptions? — has no place in either.
Which is also why I am going to say something unusual for an article of this kind: we would not rebuild Astro, and I would tell you not to pay anyone to. Fifty dollars a month per location for a system that submits redemptions to essentially the whole US and Canadian pet distribution network is not a piece of software you should be buying custom. Its value is not the code; it is the network on the other end of it, and no custom build gets you that network. The part that is worth owning is one layer up: the ledger that knows what each submitted redemption is worth, whether it has been settled, and how that reconciles against the credit memos on your distributor statements. That is a small, unglamorous internal tool, and it sits alongside Astro rather than replacing it.
The animal in the window is not inventory
One last Maryland-specific structure, because it changes what a pet shop's customer file is for.
Since 1 January 2020, Business Regulation §19–703(a) has said, in ten words: “A retail pet store may not sell or otherwise transfer or dispose of cats or dogs.” Maryland was the second state in the country to do this. The definition that triggers it, at §19–701(f)(1), is broad — a “retail pet store” is “a for-profit establishment that sells or offers for sale domestic animals to be kept as household pets,” or a broker — with an exception at (f)(2) for an establishment where the animals sold were born there.
Read that definition next to a real shop. A store that sells only food, toys and leashes is arguably not a retail pet store under this subtitle at all, because it does not sell animals. The moment it puts a tank of bettas or a rack of crickets on the floor, it is one. That does not create a problem — the prohibition is on cats and dogs, and nobody selling crickets wants to sell puppies — but it does mean the definition is switched on and off by a decision about a different aisle entirely.
What follows from the prohibition is the interesting part. §19–703(b) expressly preserves one thing: the section “may not be construed to prohibit a retail pet store from collaborating with an animal welfare organization or animal control unit to offer space for these entities to showcase cats or dogs for adoption.” An animal welfare organization is defined at §19–701(c) as a 501(c)(3) whose mission and practice is rescue and placement, and expressly does not include an organization that obtains animals from a breeder or broker for payment.
So the modern Maryland pet shop hosts adoption events instead of selling animals, and the adoption event is a genuinely awkward object for retail software. The animal is not inventory — it belongs to the rescue. The adoption fee is not revenue — it belongs to the rescue. The adopter is not yet a customer — but they are, that afternoon, the single highest-intent person who will walk through your door all year, because they are about to buy a crate, a bed, two bowls, a collar, a leash, a bag of food and, if they are new to this, most of a starter kit. They are also, statistically, the best autoship prospect in the building.
None of that is modeled anywhere. Astro has an Adoption Rewards program, included free, which is the closest thing the trade has. But the connection an owner actually wants — this rescue brought us fourteen adopters in March; eleven of them bought something; four are still buying from us in September — requires the adoption event, the rescue partner, and the customer record to be one connected structure. It is three tables and a join. Nobody has built it because the trade's software was designed around a transaction, and an adoption is not one.
What custom actually costs
We publish our prices for the same reason I have just spent several thousand words on everybody else's: a number you can put in a budget is worth more than a demo. These are fixed, agreed before we start, and they are the same numbers on our pricing page.
| Package | Price | What it is | For a pet retail business |
|---|---|---|---|
| Prototype Sprint | $3,500 | One week, a real deployed clickable build, credited toward a full project | The autoship screen: interval, skip, delay, next charge date, and the notice window recomputed from it — running against your real subscriber list before you commit to anything |
| Online Store | from $6,000 | A custom storefront you own outright | Your own autoship, on your own subscriber records, without a percentage of every recurring order going to a platform |
| Custom App / Internal Tool | from $12,000 | A focused application for one job | The rebate ledger: every free-good redemption as a receivable, aged, and reconciled against distributor credit memos |
| Operations System | from $12,000 | The system the business runs on | Counter, web, autoship, loyalty, registrations and adoption partners over one customer and one product record |
Now set that against what a stack costs. I have modeled one Baltimore shop: a single location, eight staff, $821,088 of annual sales — $620,000 at the counter across roughly 16,000 transactions, and $201,088 online, of which $173,888 is autoship (2,288 recurring orders at $76.00) and $27,200 is one-time web orders (340 at $80.00). Every price in the table below came off a vendor's own page on 15 September 2026.
| Line | Basis | Annual |
|---|---|---|
| Specialty POS with integrated e-commerce | Celerant Cumulus Retail POS + eCommerce, $350/mo | $4,200 |
| Frequent buyer and vendor rebates | Astro Frequent Buyer, $50/mo, one location | $600 |
| Subscription platform, base | Recharge Starter, $99/mo | $1,188 |
| Subscription platform, transaction fees | 2,288 recurring orders at 1.49% + 19¢ | $3,026 |
| Card, recurring online orders | $173,888 across 2,288 orders at 3.5% + 15¢ | $6,429 |
| Card, one-time online orders | $27,200 across 340 orders at 2.9% + 30¢ | $891 |
| Card, in store | $620,000 across 16,000 sales at 2.6% + 15¢ | $18,520 |
| Total | 4.24% of sales | $34,854 |
| Replaceable by a build | The e-commerce half of the POS bill, plus the whole subscription platform | $6,914 |
That last row is the one I want to be honest about, because it is much smaller than the total and it is meant to be. Card processing does not go away when you build your own store — we would still be paying a processor, and at broadly the same rates. The point-of-sale core does not go away either, and for most shops it should not: a working till with a working inventory ledger is not a thing to rip out for sport. And Astro, as I said above, is the one line on this list I would actively defend.
What a build actually removes is the $225-a-month channel fee for having a website, and the $4,214 a year that a subscription platform charges to run recurring charges that your own store could run. $6,914 a year. Against that, a $6,000 online store pays for itself in about ten and a half months, and a $12,000 build in about twenty-one.
And because the replaceable layer is mostly a percentage, the payback moves with the size of the autoship program — in the direction you would not expect.
| Autoship subscribers | Recurring orders a year | Recurring revenue | Replaceable layer | Payback on $6,000 | Payback on $12,000 |
|---|---|---|---|---|---|
| 80 | 832 | $63,232 | $4,988 | 14.4 months | 28.9 months |
| 220 | 2,288 | $173,888 | $6,914 | 10.4 months | 20.8 months |
| 500 | 5,200 | $395,200 | $10,764 | 6.7 months | 13.4 months |
Read that column and you have the whole decision. The better your autoship program works, the faster owning it pays for itself — which is the exact opposite of how a subscription is supposed to treat you. The platform charges more as you succeed; a build costs the same whether you have eighty subscribers or eight hundred. At eighty subscribers, honestly, do not call us. At five hundred, the arithmetic has already made the decision and the only question left is when.
What we would actually build
The design follows from everything above, and it starts with a claim that sounds pedantic until you try to write the queries: a pet shop's product is not a SKU, it is a regulated article with a species, a registration, a label version and a funder. Four structures carry information that a generic retail schema throws away.
A product knows what animal it is for, as a field rather than as a word inside a description. That single column answers the species question in §2–1603, and it also answers ten commercial questions you currently answer by eye: what share of my shelf is cat, how has the bird aisle moved, which brands do I carry across three species and which across one. If you make anything yourself, the same record carries a registration state, a registration expiry keyed to 30 April, the date of the guaranteed analysis behind the current label, and a link between the label version on the bag today and the filing that was made against it. Six fields, no exotic engineering, and they turn “are we still registered?” from an annual panic into a screen.
A subscription is a first-class object with an interval, a next charge date, a skip history and a computed notice window — recomputed, every time the charge date moves, from the current charge date rather than from the date the subscription was created. It knows the customer's state, and it knows whether its own interval exceeds one month, because that pair of facts is what §14–1328 turns on. The cancel path lives in the customer's own account, one click deep, and stops the next charge immediately, because that is what §14–1328(B)(3) requires and because a cancel button that works is a better retention tool than a cancel button that does not exist. Customers who can leave easily come back.
A redemption is a receivable, not a discount. When the thirteenth bag goes over the counter, the system records what it was worth, which brand program funded it, which distributor it was submitted to and on what date, and whether it has settled. Then the question an owner actually asks — how much am I owed right now? — becomes a sum instead of an afternoon with a stack of statements. This sits next to Astro and reconciles against it; it does not replace it.
A customer is one record whether they are standing at the counter, on autoship, or holding a leash they bought the afternoon they adopted. That last one is the connection nobody has: adoption events as real objects, linked to the rescue partner that ran them and to the customers who came out of them, so that the sentence “this partnership is worth something” can be tested rather than assumed.
On top of those, two screens earn their keep. The first is autoship management — the shop's view, not the customer's: who is due this week, who has skipped twice in a row and is quietly churning, whose notice window opens tomorrow, whose card is about to expire. The second is intake for new lines: when a local maker walks in with four flavors, a screen that captures the species, the guaranteed analysis, the label, and the registration question, and tells the owner what they are agreeing to before the product is on the shelf.
None of that is hard. It is ordinary software with an honest data model, and the reason it does not exist off the shelf is that a product sold into forty thousand stores across fifty states cannot afford to model one state's feed law or one trade's rebate mechanics, and should not try.
Build, or keep paying
I would much rather you kept a subscription that works than paid us to rebuild it. The honest test is short, and it is the only list in this article:
- Keep buying when your autoship program is under about a hundred subscribers, when your online sales are a small tail on a healthy shop floor, when nobody in the building is retyping the same product into two systems, when your frequent-buyer reimbursements arrive without anyone chasing them, and when you make nothing yourself.
- Build when a percentage of every recurring order is going to a platform on top of what the card already costs, when you cannot say how much your distributors owe you today, when your autoship reminders are scheduled from the signup date rather than the current charge date, when you bake or blend anything and the registrations live in one person's head, or when you have a website you are paying for monthly and do not own.
Most shops we talk to land in the middle: keep the till, keep the accounting, keep Astro, keep the card processing, and own the storefront, the subscriptions and the product record — which is exactly where this trade's peculiarities live. That is a $6,000 to $12,000 decision, not a rip-and-replace.
When you should not call us
If you have no online sales and no intention of starting, software is not your problem and we would be a bad spend; put the money into the floor. If your autoship program is under a hundred subscribers, the arithmetic above says wait — come back when it is working. If you are a single-location shop whose entire web presence is a page telling people your hours, that page is fine and you should leave it alone. If your rent is the thing that is hurting, we cannot fix rent. And if you are three weeks from opening, do not start with a custom build; open first, sell for two seasons, find out what you actually do, and then call us with something specific.
How we work
Fixed price, agreed before we start. You talk to the people writing the code — there are two of us and no account layer. You own every line, in your repository, on your infrastructure, from the first commit. We ship in weeks rather than quarters, and we start with the one screen that is costing you the most, which in this trade is almost always autoship or the rebate ledger. If a week of work would tell us both whether the rest is worth doing, that is what the $3,500 Prototype Sprint is for, and it is credited against the full project if you go ahead.
Questions we get from pet supply store owners
Does a Maryland pet store have to register the pet food it sells?
In almost every case no, but the reason is worth understanding. Under Agriculture §6–101(h) to “distribute” commercial feed means to “exchange, offer for sale, sell, or barter, supply, furnish, or provide” it as part of a commercial enterprise, and under §6–107(a) a distributor must register each brand or product name before distributing it in the State. A shop that puts a priced bag on a shelf is offering it for sale. What saves the shop is §6–107(e): “Provided the product label has not been altered or changed, a distributor may not be required to register any brand of commercial feed which has been registered under this subtitle by another person.” So the exemption is conditional on two facts about the world outside your shop — that somebody else registered it in Maryland, and that the label has not changed. The Department enforces against registrants in practice, and we have never heard of a shop being pursued for stocking an unregistered brand. This is how we read the statute for the businesses we build for, and it is not legal advice.
How much does it cost to register a pet food product in Maryland?
$150 a year for anything a dog or cat eats, and $50 for everything else, billed by two different offices on two different calendars. Agriculture §6–107(c) sets the base registration fee at $50 per commercial feed per year, and §6–107(d) says each registration expires April 30. Agriculture §2–1603 adds a second fee of $100 on each brand or product name “prepared and distributed for consumption by a dog or cat,” paid by the registrant into the Spay/Neuter Fund established by §2–1602; the Department invoices it in October, due by 30 November. A bird seed, a fish flake, a hamster pellet or a turtle food pays only the $50. A maker with four dog treat recipes pays $600 a year; at six recipes, the median for the whole state register, it is $900.
Is there a public list of pet foods registered in Maryland?
Yes, and it is a PDF. The State Chemist Section's portal at egov.maryland.gov/mda/chemist requires an account to manage your own products, but an unlabeled link above the login, “Download Product Registration / Renewal Report,” returns the entire register to anyone. We pulled it on 15 September 2026: a three-megabyte, 1,140-page PDF stamped “As of 2026-09-08 23:26:10 Eastern Standard Time/EST,” holding 34,147 rows across five columns, with no search, no filter, no CSV and no API. Parsed, it contains 33,415 active registrations, of which 14,472 are commercial feed and pet food, held by 439 distinct companies. The median company holds 6 registrations, 71 companies hold exactly one, and the ten largest hold 42.2% of the total.
Does Maryland's new automatic renewal law apply to my autoship program?
It depends on the interval your customers pick, which is the strangest thing about it. Com. Law §14–1328, enacted as Chapter 204 of 2025 and in force since 1 June 2026, defines an automatic renewal as an agreement renewed at the end of “a definite term of more than 1 month.” A four-week autoship is twenty-eight days, shorter than any calendar month; a five- or six-week autoship is longer than all of them. So a field the customer sets from a dropdown at checkout decides whether a state statute governs their subscription. The section does not define “month” and there is no Maryland case law on it yet, so a regulator could read a monthly cycle either way. Either way, a violation is an unfair, abusive or deceptive trade practice under §14–1328(G), though §14–1328(H) creates no private right of action.
How far in advance do I have to send an autoship renewal notice in Maryland?
Inside a window with both ends closed, which is unusual. §14–1328(C)(2) requires that where an offer includes a free gift or trial lasting more than 14 days, notice be given “not less than 3 days and not more than 21 days before the date when the automatic renewal is scheduled to take effect,” and §14–1328(C)(3) requires “not less than 15 days and not more than 45 days” where the initial term is at least a year. Sending early is a violation, not a courtesy. The practical trap in pet retail is that the most-used control in any autoship portal is skip or delay, and every press moves the charge date and therefore the window. A notice scheduled 13 days before a 15 November charge is valid; after one skipped six-week delivery the charge moves to 27 December and that same notice is 55 days early. The only correct implementation recomputes the window from the current charge date every time it changes.
Do I have to let customers cancel autoship online?
If they signed up online, yes. §14–1328(B)(3) requires a “cost-effective, timely, and easy-to-use mechanism” to cancel, avoid being charged and immediately stop recurring charges, and it must be “at least as easy to use as the mechanism the consumer used to consent” and “available through the same medium.” Where cancellation is electronic, it must be easy to find, must not require talking to a live or virtual representative unless the customer used one to sign up, and must include either a prominently placed direct link or button, which may sit inside a customer account or profile, or an immediately accessible termination e-mail the business formats and the customer can send without adding information. You may require the customer to authenticate first. There is no carve-out for small retailers and no revenue floor.
Is pet food taxable in Maryland?
Yes, all of it, at 6%. Maryland's food exemption at Tax-General §11–206(c)(1) covers a sale of food for consumption off the premises by a vendor operating a substantial grocery or market business at the same location, but §11–206(a)(3)(i) defines the word out of reach in six words: “‘Food’ means food for human consumption.” The same salmon is exempt at the grocery and taxable at the pet shop, because the exemption is about the eater rather than the food. The one silver lining is configuration: a pet shop has no mixed-taxability problem at all, which is more than most food retailers can say. Worth noting that the tax is included in the total the card fee is charged on — on $173,888 of recurring sales, the 6% is $10,433 of tax and roughly $365 a year of card fees on money that was never yours.
Is it worth building custom software for a pet supply store?
It depends almost entirely on the size of your autoship program, because that is where the percentage meters are. For a modeled Baltimore shop with $821,088 of sales, 220 autoship subscribers and $173,888 of recurring revenue, the whole published stack comes to $34,854 a year, or 4.24% of sales. Most of that is card processing and a point of sale we would not touch. The replaceable layer — the $225-a-month e-commerce fee and the full subscription platform bill — is $6,914, against which our $6,000 online store pays back in about ten and a half months and a $12,000 build in about twenty-one. At eighty subscribers those become 14.4 and 28.9 months and we would tell you to wait. At five hundred they become 6.7 and 13.4. Our packages are published: a one-week Prototype Sprint is $3,500, a custom online store starts at $6,000, and a custom app, internal tool or operations system starts at $12,000.