Parking

Custom parking software in Baltimore: four meters, one lot

Every parking product in the world bills the same way — per space, per month. Baltimore City taxes the money. Anne Arundel County taxes vehicle‑days, rounded up, multiplied by the days in your billing period. The city’s own license is billed per hundred square feet of gross area, ramps and aisles and toilets included. And a lot near Camden Yards is measured in days it opened, against a ceiling of 149. One piece of asphalt, four units of account, and the software you rent counts none of them.

The short version. We checked twenty‑four parking software pricing URLs on 22 August 2026. Two publish a complete number: Metropolis at $0 and $15 per space per month, and Parking BOXX with a full hardware grid from $49 to $41,770. Everyone else quotes. Then the part nobody builds. Baltimore City Code Art. 28 §22‑3 taxes parking at 20% of the fee. Anne Arundel County §4‑6‑106 taxes it at $1.00 per vehicle per 24‑hour period or fraction — and for a monthly parker, at $1.00 times the days in the period, so an identical contract is taxed $31 in January and $28 in February. Maryland itself taxes parking at nothing, and taxes the software you buy to run it at 3%. On the 320‑space garage below the annual city parking tax is $237,0484.1× the software bill — and $21,600 of it turns on forty leases the operator has never read.
Custom parking software in Baltimore: a parking booth counter with a galvanized cash tray, blank notebook, brass key fobs and a tablet, and at the center a blank roll of ticket paper standing beside an opened folding carpenter's rule

The man who made me write this article runs two garages and a surface lot within about a mile of each other, and he called us because his monthly‑parker billing was in a spreadsheet and he wanted it to stop being in a spreadsheet. Reasonable. We spent maybe six minutes on the spreadsheet.

Then he told me about the audit. Not a scary one — a routine look at his parking tax returns. The auditor asked him to show which of his monthly parkers were exempt, and he said, easily, the ones who live upstairs. And the auditor said: show me the leases.

He does not have the leases. He has never had the leases. He is not a party to the leases. The building is not his building. He runs the garage under a management agreement and the residential tenants come to him with a fob request and a credit card, and whether the city takes twenty percent of their money depends on a sentence in a document held by a landlord he has met twice.

“I can tell you how many cars were in that garage at 4 p.m. on a Tuesday in March. I cannot tell you whose lease mentions parking.”

This is the thirty‑third trade we have taken apart in this series, and it has produced the cleanest example yet of something we keep running into: the unit the vendor bills you in has no relationship to the unit the law counts you in. In commercial cleaning the tax attached to a room. In home care the deadline attached to a gesture. In collision repair the state added up the shop’s own estimate differently than the shop did. Parking is all of those at once, and it is arithmetic rather than interpretation, which makes it unusually easy to prove.

So let me start with the market, because the picture in most people’s heads — parking is four national operators in blue polo shirts — is wrong, and the Census Bureau will say so.

A hundred and twenty-four operators, and eighty-seven of them have fewer than five people

The Census Bureau’s County Business Patterns counts 124 parking lot and garage establishments with paid employees in Baltimore City, employing 870 people against an annual payroll of $25.3 million. Across the five Maryland counties the Bureau reports separately for this industry, there are 261 establishments, 2,454 employees and $79.6 million of payroll — and Baltimore City holds 47.5% of the establishments.

The size distribution is the part worth sitting with. Of those 124 city establishments, 87 have fewer than five employees. That is 70.2% of the industry in Baltimore City, and it is not four national operators in blue polo shirts. It is a man with a lot behind a rowhouse, a church that rents its lot on weekdays, a hotel that runs its own deck, a family that has held a corner in Fells Point since the Bromo Tower had a clock on all four sides. Sixteen establishments employ five to nine people, fourteen employ ten to nineteen, three employ twenty to forty‑nine, and exactly four employ fifty to ninety‑nine. Those four — 3.2% of the establishments — account for something close to a third of the employment.

Parking lots and garages (NAICS 812930), establishments with paid employees, 2023. Source: Census Bureau County Business Patterns, county flat file cbp23co, extracted 22 August 2026.
JurisdictionEstablishmentsEmployeesAnnual payrollEmployees per establishmentPayroll per employee
Baltimore City124870$25,305,0007.0$29,086
Montgomery79344$13,139,0004.4$38,195
Prince George’s24182$3,871,0007.6$21,269
Anne Arundel21311$8,930,00014.8$28,714
Baltimore County13747$28,394,00057.5$38,011
Five counties reported2612,454$79,639,000

Two things in that table are worth a sentence each. Baltimore County has one tenth the establishments of Baltimore City and 86% as many employees, at 57.5 employees per establishment — a handful of large employers whose payroll is booked to a county address, not a picture of thirteen neighborhood lots. And Baltimore City’s $29,086 of payroll per employee is below a full year at Maryland’s $15.00 minimum wage, which is $31,200 for 2,080 hours. That is not a claim about anybody underpaying. It is arithmetic proof that a large share of the work in this industry is part‑time, seasonal and event‑driven — which is exactly what you would expect in a city where a meaningful number of parking transactions happen because eighty‑one baseball games and ten football games are played half a mile from the Inner Harbor.

Keep that in your head. It comes back in a moment, in a very specific way, as the number 149.

What the platforms charge, and what most of them will not say

We requested twenty‑four pricing URLs across the parking software and parking hardware market on 22 August 2026 and recorded what came back. This category is not the worst we have surveyed — independent pharmacy remains the record holder at zero published prices out of thirty — but it is close, and it is unusual in a way worth naming: the two vendors that publish are the two that are trying to change how the industry buys.

Metropolis publishes a complete tier list on its own pricing page, under the words “transparent and markup‑free”: Scan starting at $0 per space per month for surface lots with no equipment and QR‑code payment; Vision starting at $15 per space per month for garages, with drive‑in/drive‑out, gate access control and its computer‑vision layer; Vision+ at custom pricing for nested zones and door access; and a fourth tier, the M1 Program, that is explicitly by invitation only and reserved for real estate partners with large portfolios. A banner on the same page notes the company has raised $1.6 billion in financing. Whatever you think of the model, publishing a per‑space number in this market is a genuinely aggressive act and they deserve to be quoted accurately for it.

Parking BOXX does something even rarer and, for a small operator, more useful. Its pricing page opens with “We frequently receive requests for ballpark pricing — so here it is!” and then prints an actual grid.

Parking BOXX published prices, read from parkingboxx.com/parking-system-pricing on 22 August 2026. “Starting at” assumes you already have barrier gates, loops and loop detectors and excludes delivery, training, installation and site preparation. “Popular package” is typically one entry plus one exit and includes delivery, training and installation, but not conduit, cabling, cement, permits or inspections.
SystemStarting atPopular package
P‑123 phone payment app$49$495
Smart parking meter$5,900$11,900
Access control + gates$11,270$21,536
Flat‑rate gated$11,900$26,791
Full‑featured gated$14,662$41,770

After those two it goes quiet. AirGarage states its model plainly — “AirGarage operates on a revenue share model, with no hidden fees” — but publishes no percentage, so a lot owner cannot compare it to $15 per space without a call. Flash has a pricing page that returns a clean 200 and then puts the numbers behind a form. T2 Systems, Passport, TIBA, Amano McGann, Oobeo and Parkade published no figure we could find (Wayleadr we cannot fairly judge — its pricing URL returned a 530 from the edge both times we asked), and before writing that sentence we did the check we always do: pull every same‑domain link off each homepage and grep it for pric, plan, cost, quote and fee, because a 404 at the obvious path is not proof of opacity. On this sweep that check found exactly one hidden page — Parking BOXX’s, at a URL nobody would guess — and it changed the article.

One more result belongs here because it tells an operator something real about the market they are buying in. parkhub.com no longer serves ParkHub. It redirects to justpark.com/business, a British company’s business page, and a Baltimore garage owner following an old bookmark lands on a page that measures its track record in £300 million and its satisfaction on Trustpilot. Nothing wrong with JustPark. But if you are budgeting from a quote you were given eighteen months ago, check whether the company that gave it to you still exists under that name.

“Everybody sells me the same thing. Per space, per month. Nobody has ever asked me how big the ramp is.”

Per space, per hundred square feet, per vehicle-day, per dollar

Here is the model we will use for the rest of the article, and it is deliberately ordinary: a 320‑space structured garage in downtown Baltimore with 180 monthly parkers at $225, roughly 65 daily commuters at $18 across 21 weekdays, about 900 evening and event parkings at $25, and 1,400 short stays at $8. That is $98,770 a month, or $1,185,240 a year. It is a good business run by four people and a part‑timer.

Metropolis Vision at $15 per space per month bills that garage $57,600 a year. Straightforward, predictable, and it is the number every vendor in the category will quote you some version of. Now watch what the other three meters do to exactly the same asphalt.

Baltimore City’s annual commercial parking facility license is set by Art. 15 §12‑4(b)(1), and it is worth reading the words rather than the summary. The fee is “$5.10 for every 100 square feet (or fraction of 100 square feet) of the gross area used for parking facility purposes, including all parking spaces, offices, ramps, driveways, aisles, toilets, car washing, greasing, or other facilities used in connection with the operation of the parking facility.”

Read that list again. Ramps. Driveways. Aisles. Toilets. The city bills you for the square feet you can never sell. Your vendor bills you for the ones you can. The two numbers move independently, and the gap between them is pure building geometry.

Two 320‑space garages, identical stall count, different geometry. License fee under Baltimore City Code Art. 15 §12‑4(b)(1) at $5.10 per 100 square feet or fraction; software at Metropolis Vision’s published $15 per space per month.
 Garage A — efficient helix, 300 gross sq ft per spaceGarage B — older ramps, ground‑floor office and wash bay, 380 gross sq ft per space
Spaces320320
Gross area96,000 sq ft121,600 sq ft
Billing units of 100 sq ft9601,216
Annual city license$4,896.00$6,201.60
License per space$15.30$19.38
Annual software at $15/space/month$57,600$57,600

Same stall count, same software bill, $1,305.60 apart on the license — a 26.7% difference produced entirely by how much of the building is circulation. No parking product on the market stores your gross area, because no parking product has any reason to. It is not a fact about your business. It is a fact about your tax.

Then there is the parking tax itself, and this is where the arithmetic gets genuinely strange, because Maryland has two parking taxes and they are not the same kind of thing. The Department of Legislative Services publishes a Guide to Local Government Taxing Authority, and its August 2026 edition lists a parking tax in exactly two of the state’s twenty‑four jurisdictions. Baltimore City taxes the money. Anne Arundel County taxes the cars.

The same transaction, taxed three ways. Baltimore City Code Art. 28 §22‑3(a): 20% of the fee. Anne Arundel County Code §4‑6‑106(c) as amended by Bill 42‑25 effective 1 July 2025: $1.00 per motor vehicle per 24‑hour period or fraction, and for weekly or monthly charges, $1.00 times the total number of days in the period. Howard, Baltimore County, Harford and Carroll: no parking tax at all.
TransactionPriceBaltimore CityAnne ArundelHoward / Baltimore Co.
30‑minute errand$3.00$0.60$1.00$0.00
Two‑hour lunch$8.00$1.60$1.00$0.00
Daily commuter$16.00$3.20$1.00$0.00
Overnight, 25 hours$22.00$4.40$2.00$0.00
Evening event flat rate$40.00$8.00$1.00$0.00
Monthly reserved, January$250.00$50.00$31.00$0.00
Monthly reserved, February$250.00$50.00$28.00$0.00

Four things fall out of that table, and each of them is a software requirement wearing a disguise.

The crossover is exactly $5.00. Twenty percent of five dollars is one dollar. Below a $5 parking fee, the county’s flat charge is the heavier tax — a $3 errand park in Glen Burnie is taxed at an effective 33% while the same $3 in Baltimore is taxed at 20%. Above $5, the city’s percentage runs away. An operator with sites on both sides of that line is running two businesses whose optimal price points differ because of a tax, and no rate engine in the category can express that.

The 25‑hour stay is two units in Anne Arundel and one fee in Baltimore. “Or fraction of a 24‑hour period” means the county tax is a ceiling function on elapsed time. Your system already knows elapsed time to the second. It has nowhere to put the result.

February is cheaper than January, and the service is identical. This is my favorite line in the whole ordinance. Bill 42‑25 provides that for a charge made on a weekly or monthly basis, “the amount of tax shall be computed by multiplying $1.00 by the total number of days in the period of time for which the charge is made.” Not the days parked. The days in the period. So the same $250 contract with the same customer for the same space carries $31.00 of tax in January and $28.00 in a non‑leap February. Over a year it is $365. In Baltimore the same contract is a flat $50 a month, $600 a year, and the calendar is irrelevant.

And the rate moved. Anne Arundel County Council Bill 42‑25, introduced 1 May 2025 and passed 13 June 2025, repealed and reenacted §4‑6‑106(c) to strike [[$0.60]] and insert $1.00, effective 1 July 2025. It was the first increase since 1999 — twenty‑six years of a constant, then a 67% move in a single budget cycle. As of the day we are publishing this, the county code as served by its commercial code library still reads sixty cents. If your system has 0.60 written into it anywhere, it has been wrong for fourteen months.

Put the whole model through both regimes and the size of the thing becomes obvious. Our 320‑space garage owes Baltimore City $237,048 a year in parking tax — 4.1× its entire software bill and 48× its license fee. The identical operation in Anne Arundel owes $109,680. In Howard County it owes nothing. The gap between the two taxing jurisdictions, $127,368, is more than twice what the operator pays for software in a year.

“The biggest line item in my business after payroll is a tax, and the system I pay fifty‑seven thousand dollars a year for treats it as a note field.”

The part no national platform models

Everything above is arithmetic you could do on paper. What follows is the part that decides whether the arithmetic is even possible — eight places where Baltimore and Maryland ask a parking operator for a fact that no product in the category is built to hold.

The exemption that lives in somebody else’s lease

Baltimore City Code §22‑4(a) exempts residential parking by “the tenant of a single‑family dwelling, multi‑family dwelling, or apartment dwelling, if the parking is provided for in the lease or in a separate agreement between the landlord and the tenant, whether the parking fee or other consideration is paid to the landlord or to the operator of the parking lot or garage.” Condominium owners get the same treatment through an agreement with their association.

Read the conditional. The exemption does not depend on where the car is, or who the parker is, or how they pay. It depends on the existence of a clause in a contract between two other parties, and it survives the payment going either way. Two identical residents in identical units, both paying the garage directly, both parking in the same row: one is exempt because a leasing agent ticked a box in 2023, and one is not.

The operator is not party to that contract and often cannot demand it. And the city’s own Parking Facility Tax and License Rules and Regulations tightens the screw: “Exemptions claimed must be supported by validated parking tickets or by form supplied by the Department of Finance in the case of Federal or foreign government vehicles, duly signed by the individual claiming the exemption,” and the operator must retain every exemption honored, in the same manner and for the same period as everything else.

So an exemption is not a flag on an account. It is an evidenced state, with a document behind it, a date, a signature, and a retention clock — and it has to survive the tenant moving out, the lease being renewed on different terms, and the building changing hands. In our model garage, forty exempt residential parkers at $225 a month represent $21,600 a year of parking tax, which is 4.4× the entire annual license fee. Get one parker’s status wrong for a year and it is $540. Every product in the category models this as a checkbox called tax_exempt.

One hundred and forty-nine days, counted against somebody else’s calendar

This is the one that made me want to write the article. Baltimore has a second, entirely separate parking license, and whether you need it depends on the Orioles.

Article 15, Subtitle 13 governs special‑event parking lots, and §13‑2 provides that the ordinary commercial parking facility subtitle “does not apply to special‑event parking lots operating under and in compliance with” it. §13‑1(g) then defines a special‑event parking lot as one that (1) is not otherwise licensed under Subtitle 12, (2) is located within the Special‑Event Parking District, (3) provides parking to people attending sporting, social, cultural or other special events, and (4) operates “only on days in which events are held at the Camden Yards Stadium Complex” and “for no more than 149 days in any license year.”

Take the four conditions apart. Condition (2) is a boundary the code draws itself, in feet: the district is described as a metes‑and‑bounds walk from Bush Street and Russell Street, northwesterly ~2,018 feet, northeasterly ~2,485 feet, north ~1,935 feet, and onward through Pratt, Howard, Conway, Charles, Ostend and Leadenhall before wrapping around roughly 4,200 feet of Middle Branch coastline back to the start. Your lot is either inside that polygon or it is not, and the answer is a survey question, not a business question.

Condition (4)(i) is the sharp one. The lot must operate only on days when the stadium complex has an event. Open the gate on one quiet Wednesday in February for a contractor who needs somewhere to leave a truck, and the lot has not merely committed a violation — it has stopped satisfying the definition. It is no longer a special‑event parking lot, which means §13‑2’s carve‑out no longer shields it, which means it needed a Subtitle 12 commercial parking facility license, computed on gross square footage, with the annual financial report attached.

And notice what that does to the timing. You cannot know on the first day of a license year whether you are a special‑event lot for that year. The classification of the whole year is determined by its worst single day, and you find out retrospectively. Condition (4)(ii) then adds a counter: no more than 149 operating days. The Orioles play 81 home games and the Ravens about ten dates including preseason, so a lot that opens for every one of them and nothing else sits comfortably under the ceiling — but comfortably is not the same as provably, and the ceiling is measured in a license year that §13‑8(a) starts on the anniversary of issuance, which is a different date for every operator in the district.

“So whether I need a different license depends on whether the Orioles were at home. That is a real sentence I just said out loud.”

What the software needs is not complicated. It is an operating‑day ledger: one row per calendar date the gate opened, joined to the stadium complex’s published event calendar, with a running count against 149 and against a license year that begins whenever this particular license began. It is perhaps two tables and a nightly job. No parking product has it, because outside a few square miles of one American city the requirement does not exist.

Seven clocks, five different year boundaries

Once you start counting the deadlines this trade runs on, the picture stops being a calendar and starts being a scheduling problem.

Recurring obligations for a Baltimore parking operator that also runs valet, with the authority for each.
ObligationClockAuthority
Parking tax remittance and per‑facility transaction reportBy the 25th of the month following the transaction monthArt. 28 §22‑5(b), (c)
Commercial parking facility license1 May – 30 April, at $5.10 per 100 sq ft of gross areaArt. 15 §12‑4(a)(2), (b)(1)
CPA‑certified financial report to the City AuditorWithin 120 days of the end of the operator’s own fiscal yearArt. 28 §22‑7(b)
Lender‑ or investor‑required audit, if one existsWithin 30 days of the operator receiving itArt. 28 §22‑7(b)(4)
Special‑event parking lot licenseExpires on the anniversary of issuance; renew 30–90 days beforeArt. 15 §13‑8
Valet operator licenseExpires on the anniversary of its effective date; renew 60–90 days beforePABC valet rules, §§II.D, III.B
Event permit for valet operationsAt least 7 business days before the event, $10PABC valet rules, §VI.B

Five different year boundaries, one business. The tax year is a rolling month. The license year is 1 May. The audit year is whatever the operator’s accountant chose. The special‑event license year and the valet license year are each keyed to an issuance date that nobody chose deliberately — they are keyed to whenever the paperwork happened to clear.

And the license‑year proration hides a cliff. §12‑4(b) steps the fee down by quarter: 75% for a license issued after 31 July and before 1 November, 50% after 31 October and before 1 February, 25% after 31 January. That is fair enough at the boundaries — 75% of the fee for 9 of 12 months is exactly pro rata. But it means a license issued on 31 July costs the full year’s fee for nine months of use, and one issued on 1 August costs three quarters of it for the same nine months. On Garage B that single day is worth $1,550.40. A new operator taking over a garage at the end of July should know that, and there is nowhere in any parking product to write it down.

The license is metered on the square feet you cannot sell

I want to come back to the gross‑area rule for one more paragraph, because it is the cleanest illustration in this whole series of a mismatch between how a business is sold to and how it is governed.

Every vendor in parking prices per space, because a space is the unit that produces revenue. That is a sensible commercial instinct and I would probably do the same. The city prices per hundred square feet of everything, and rounds the fraction up, because the city is not charging you for revenue — it is charging you for occupying land that could have been something else. The two philosophies are both coherent and they produce numbers that drift apart with every ramp you build.

The practical consequence is that gross area is a field your business genuinely needs and your software genuinely lacks. It has to come from the survey or the deed, it changes when you convert an office into two more stalls or wall off a wash bay, and it is the input to a fee you will pay every year forever. It belongs in the same record as the stall count, the license number, the license year and the parcel block and lot — which, incidentally, the city’s own application form asks for.

Who collects when the app sells the space

On 22 July 2024, Baltimore enacted Ordinance 24‑349, from Council Bill 24‑0520, titled Parking Facilitators and Taxes. It added a definition to §22‑1: a “facilitator” is “a business entity that makes parking spaces in the City available for use by a person through an online, mobile, or other third‑party booking platform… for a certain amount of time; and for a fee.”

It then rewrote two operative sentences. §22‑3(a) now taxes 20% of any fee “received, directly or indirectly, by the operator of the parking lot or garage or the facilitator.” And §22‑5(a) now provides that “the operator of the parking lot or garage or the facilitator, must collect the tax… at the same time that the operator or the facilitator collects any fee.”

The policy is obvious and, I think, correct: a space booked through an app is still a space in Baltimore and should be taxed like one. But the word doing the work is “or”, and for an operator whose inventory sells through both their own gate and two or three booking platforms, “or” is a reconciliation problem with real money in it. Which transactions did the platform tax and remit? Which arrived net of a commission the platform kept? Is a fee “received indirectly” by you when a platform collects $22, keeps $4 and pays you $18? Your own monthly return under §22‑5(c) has to state, per facility, the “number and type of transactions” — which means your channels are not a marketing category, they are a tax classification, and a booking that arrives as a nightly settlement file needs to land in your ledger as individual taxable events with their own gross amounts.

Eleven hundred dollars for a curb you can be punished for not using

Valet in Baltimore is regulated by the Parking Authority under Article 31, Subtitle 14, and its economics are worth laying out because they invert in a way that surprises people.

A valet operator pays $25 to apply and $250 for the operator license, renewed on the anniversary of its effective date, with the renewal application due no less than 60 and no more than 90 days beforehand — a thirty‑day window that opens and closes on a date derived from a form somebody submitted years ago. A Valet Parking Zone Permit costs $500 to apply for, requires a public notice printed on 11×17 paper whose sufficiency is “in the sole discretion of the Parking Authority,” needs the Department of Transportation to approve a valet parking plan, and then carries a use‑of‑right‑of‑way fee of $1,100 annually, regardless of the operational hours of the Valet Permit Zone.

Two details make that fee interesting. First, the permit is issued to the host — the restaurant or hotel — and not to the valet company, which the rules call a “contract‑operator.” So the license and the permit sit in two different businesses, and when they part company one of them keeps the curb. Second, the flat fee means the effective rate depends entirely on how much you use it. A restaurant running valet two nights a week for eight hours pays $1.32 per hour of actual use; a hotel running twelve hours a day, seven days a week pays $0.25. Same fee, exactly 5.25× the effective rate, because 4,368 hours divided by 832 is 5.25.

And then the twist. Among the grounds for suspending or revoking a zone permit, the rules list “failure to staff or utilize a valet parking zone for valet parking during its operational hours.” You pay the same $1,100 whether you use the curb or not, and you can lose the permit for not using it. The only lever an operator actually has is the declared operational hours — which is a data field, entered once, on a form, that quietly sets both the effective price of the curb and the standard you will be judged against. The same rules list “failure to collect and properly remit parking taxes” as grounds for revoking the operator license too, so the 20% is not merely a tax obligation for a valet company. It is a licensing condition.

If you cannot prove it, the number becomes your competitors’ average

Most tax ordinances tell you to keep records. Baltimore’s tells you what happens if you do not, and the mechanism is unusual enough to change how you should design a system.

§22‑7(c): “If any operator fails to keep records from which the tax imposed by this subtitle can be accurately computed, the Director of Finance may compute the amount of tax due by using a factor developed by surveying other operators of a similar type, or otherwise. The Director’s computation is prima facie correct.

Your tax bill becomes an estimate derived from your competitors, and the burden of disproving it is yours. For an operator whose lot is quieter than the ones around it — a church lot, a fringe surface lot, anything seasonal — that is not a neutral default. It is a bad one. And the records that would rebut it are exactly the records §22‑7(a) describes: complete and accurate records of all vehicles parked on an hourly, daily, weekly, monthly or other basis, together with the tax collected from all transactions, plus all claim checks, available at all times during business hours for inspection and audit.

Alongside that sits §22‑7(b), which requires a financial report prepared in accordance with GAAP and certified by a public accountant, filed with the City Auditor and the Director of Finance within 120 days of the operator’s fiscal year end, containing a balance sheet, statements of operation, and statements of changes in financial position and owners’ equity. For a one‑lot operator that is a genuinely heavy ask, and it is worth noting — carefully, because it is a divergence rather than a contradiction — that the city’s own renewal application offers a softer alternative for applicants without an audited statement: a balance sheet, an income statement, “or, a statement under oath that the financial statements are complete and accurate.” The ordinance says certified by a public accountant. The form offers a sworn statement. If you are relying on the form, keep the form.

The license you cannot get if you owe the tax

The last piece binds the others together. §12‑6 provides that a commercial parking facility license “may not be issued to, renewed by, or transferred from or to any person from whom taxes, interest, or penalties are due and unpaid under City Code Article 28, Subtitle 22.” §13‑12 says the same for special‑event lots.

So a disputed tax assessment does not merely cost money. It freezes the license, and with it your ability to operate lawfully or to sell the operation to anybody else — and note the asymmetry the code creates while it is at it: a commercial parking facility license is transferable during the license year under §12‑5, while a special‑event license under §13‑11 “is not transferable to a new operator, to a different location, or otherwise.” Same asphalt, opposite treatment, depending on which regime the previous twelve months put you in. Late tax carries 1% a month interest plus a 10% penalty under §22‑6, a late license carries the same, and §22‑12 makes any violation of the subtitle a misdemeanor punishable by up to $1,000 or six months, for each offense.

“Nobody sells software to solve this. They sell software to open the gate.”

What custom actually costs

We publish our prices, which after that vendor sweep feels almost confrontational. Here they are against the problem I have just described.

founderandai fixed‑price packages, applied to a Baltimore parking operator.
PackageFromWhat it means here
Prototype Sprint$3,500One week, working software. Usually the tax engine: import a month of transactions, classify each one by jurisdiction and basis, compute Baltimore’s 20% and Anne Arundel’s vehicle‑day charge side by side, apply the residential exemption only where evidence exists, and print the §22‑5(c) return by facility. Most operators run last quarter through it and find at least one class of transaction they have been taxing wrong.
Online Store$6,000The paid side as a real checkout: monthly parker subscriptions with proration that knows the difference between days billed and days in the period, event pre‑sales with capacity, validation codes for the restaurant downstairs, card and ACH, and a receipt a customer can find again in November when their employer asks for it.
Custom App$12,000The operating half: an occupancy and rate board across every facility, the operating‑day ledger with the 149‑day counter and the stadium calendar joined in, valet zones with their declared operational hours and staffing, permit and fob inventory, and a facility record that carries gross area, stall count, parcel, license number and license year.
Operations System$12,000All of it joined up: three tax bases derived from one transaction stream, the exemption register with its documents and retention clocks, facilitator settlement files unpacked into individual taxable events, every license and permit renewal window on one calendar, and the CPA report package assembled rather than reconstructed each spring.

One honest note while we are talking about tax, because it applies to our invoice as much as to anybody’s. Since 1 July 2025, Maryland taxes data and information technology services under NAICS 518, 519 and 5415 and software publishing under NAICS 5132 at 3%, as Tax‑General §11‑101(m)(14) and (15). Parking is not on that list of enumerated taxable services and never has been. So the position an operator now sits in is this: the State taxes the parking you sell at nothing, Baltimore City taxes it at 20%, and the State taxes the software you buy to run it at 3%. On a $57,600 subscription that is $1,728 a year of sales tax on the tool — about 35% of Garage A’s entire annual city license fee — and it applies to a fixed‑price build from us too.

What we would actually build

Almost everything above reduces to one design decision, and it is a decision most parking systems got wrong for understandable reasons: they store answers where they should store the facts that produce answers.

A tax rate is not a constant, it is a dated record — jurisdiction, basis, rate, effective date, authority — because Anne Arundel held sixty cents for twenty‑six years and then did not. A tax amount is not a column, it is a function of jurisdiction, gross fee, elapsed time and the length of the billing period, recomputed rather than remembered, so that a 25‑hour stay becomes two units in one county and one fee in another without anybody editing a setting. An exemption is not a boolean, it is an evidenced state with a document, a signature, a date and a retention clock behind it, so that when an auditor says show me the leases the answer is a folder rather than a phone call. A facility is not a name, it is a record carrying gross area as well as stall count, because one of those numbers is billed by the city and the other is billed by the vendor. And an operating day is not an implicit consequence of having transactions — it is a row, joined to somebody else’s event calendar, counted against 149.

Do that and the reports stop being a spring project. The §22‑5(c) monthly return — name, address, account number, capacity, rate schedule, number and type of transactions, per facility, by the 25th — falls out of the transaction table rather than out of somebody’s memory. The license renewal calendar assembles itself from the facility records. The audit answer to §22‑7(c) exists, so the Director never has to reach for a factor derived from your competitors. And when the council changes a rate, which it does — a bill introduced in July 2026 would add a half‑point surcharge to the city’s 20%, taking it to 20.5% — you add a row with an effective date instead of finding every place a number was typed.

None of this is exotic engineering. It is a handful of tables, a rate table with dates on it, and the discipline to derive rather than store. It is unexotic in exactly the way that good operational software usually is.

When you should not call us

I would rather tell you this now than at the end of a call.

  • You have gates, cameras and pay stations and they work. Keep them. Replacing a working revenue‑control system is a capital project with a hardware bill, and nothing in this article argues for it. Parking BOXX will sell you a full‑featured gated lane for $41,770 and Metropolis will run your garage for $15 a space; both are reasonable purchases if that is the problem you have.
  • You operate one lot in a county with no parking tax. If your asphalt is in Howard, Baltimore County, Harford or Carroll, most of this article is a curiosity and a spreadsheet is genuinely fine.
  • You want an app in the app stores so drivers can find you. That is a demand problem, not an operations problem, and a marketplace already has the drivers. List with one.
  • Your real problem is that you do not know your occupancy. Buy sensors or cameras first. We cannot build you a report on data that is not being collected, and we will say so on the call rather than after the deposit.

Where custom does earn its keep is narrower and easier to test: you run more than one facility, at least one of them is in Baltimore City or Anne Arundel County, you have monthly parkers whose exempt status is a matter of somebody else’s paperwork, you sell through a booking platform as well as your own gate, and the parking tax is one of the largest numbers you write a check for every month. If four of those five are true, the case is usually easy to make on the tax line alone.

How we work

We are a small studio and we are deliberate about it. You talk to the people writing the code — there is no account manager between you and the build. The price is fixed and public before we start, you pay half to begin and the balance when it ships, and the source code, the repositories, the keys and every account are yours at the end. We build on a deliberately boring stack, React and TypeScript over Node and Postgres with Stripe for payments, deployed on infrastructure you own, so that any competent developer can pick it up after we hand it over. If you want to see what that looks like before you talk to us, the demos are real applications, not screenshots, and the pricing page has the numbers on it.

And if the honest answer on the call is “keep your subscription and fix your rate table,” that is what you will hear. We have said it to a florist, a towing company and two dental practices this year.

Questions we get from parking operators

What does parking management software cost in Baltimore in 2026?

It depends on whether you are buying software, hardware or an operator, and two vendors out of the twenty‑four URLs we checked on 22 August 2026 publish a complete number. Metropolis lists Scan starting at $0 per space per month for surface lots, Vision starting at $15 per space per month for garages, Vision+ at custom pricing, and an M1 Program that is by invitation only. Parking BOXX publishes a hardware grid with starting prices of $49 for its phone payment app, $5,900 for a smart parking meter, $11,270 for access control with gates, $11,900 for a flat‑rate gated system and $14,662 for a full‑featured gated system, and popular packages at $495, $11,900, $21,536, $26,791 and $41,770. AirGarage says plainly that it works on revenue share but publishes no percentage. Flash, T2 Systems, Passport, TIBA, Amano McGann, Oobeo and Parkade published nothing we could find, and Wayleadr’s pricing URL returned a server error both times we asked. For a 320‑space garage, Metropolis Vision works out at $57,600 a year.

How much is the Baltimore City parking tax?

Twenty percent. Baltimore City Code Art. 28 §22‑3(a): for all parking, whether on an hourly, daily, weekly, monthly or longer basis, the tax is 20% of any fee or other consideration received, directly or indirectly, by the operator of the parking lot or garage or the facilitator. §22‑2(b) places ultimate liability on the person seeking the privilege of parking, and §22‑5 requires the operator or facilitator to collect it at the same time as the fee and remit it by the 25th of the following month with a report identifying, for each facility, its name, address, account number, capacity, rate schedule and number and type of transactions. Late payment carries 1% per month interest and a 10% penalty under §22‑6.

Does Maryland charge sales tax on parking?

No. Parking is not an enumerated taxable service under Md. Code, Tax‑General §11‑101(m). That list has fifteen items on it — fabrication, commercial cleaning of a building, cellular service, credit reporting, security services and, since 1 July 2025, data and IT services and software publishing at 3% — and parking is not among them. The practical result is a three‑rate stack: the State taxes the parking you sell at 0%, Baltimore City taxes it at 20%, Anne Arundel County taxes it at $1.00 per vehicle‑day, and the State taxes the software you buy to run it at 3%.

What is the Anne Arundel County parking tax and when did it change?

$1.00 per motor vehicle per 24‑hour period or fraction of one, effective 1 July 2025. County Council Bill 42‑25, introduced 1 May 2025 and passed 13 June 2025, repealed and reenacted §4‑6‑106(c) to replace $0.60 with $1.00 — the first increase since 1999. The same subsection provides that for a charge made on a weekly or monthly basis, or on some basis other than a 24‑hour period, the tax is computed by multiplying $1.00 by the total number of days in the period for which the charge is made, which is why an identical monthly contract is taxed $31 in January and $28 in a non‑leap February. The tax does not apply in the City of Annapolis, to publicly owned metered spaces, or to county‑owned garages.

How much is a Baltimore commercial parking facility license?

$5.10 for every 100 square feet, or fraction of 100 square feet, of gross area used for parking facility purposes — and Art. 15 §12‑4(b)(1) spells out that gross area includes all parking spaces, offices, ramps, driveways, aisles, toilets, car washing, greasing or other facilities used in connection with the operation. The term runs 1 May to 30 April. A license issued after 31 July and before 1 November is 75% of the annual fee, after 31 October and before 1 February 50%, and after 31 January 25%. Because it is billed on gross area rather than stalls, 320 spaces at 300 gross square feet each costs $4,896 a year while the same 320 spaces at 380 gross square feet each costs $6,201.60.

What is a special-event parking lot license in Baltimore?

A separate license under Art. 15 Subtitle 13, and Subtitle 12 does not apply to a lot operating under and in compliance with it. §13‑1(g) defines the category as a lot that is not otherwise licensed under Subtitle 12, sits inside the Special‑Event Parking District, serves people attending sporting, social, cultural or other special events, and operates only on days when events are held at the Camden Yards Stadium Complex and no more than 149 days in any license year. The district is drawn in the code itself as a metes‑and‑bounds boundary in feet along street centerlines and around the Middle Branch. The license expires on the anniversary of issuance, is not transferable at all, and requires a traffic management plan and a security plan. There are operating rules too: an adult attendant present whenever any vehicle remains, identification signs no larger than 12 square feet that may not stay up more than two hours after the event ends, and a prohibition on leaving customers’ cars in the street that does not apply during 7–10 a.m. or 4–6 p.m.

Do I need a license to run valet parking in Baltimore?

Yes, and the license and the curb permit are two different things held by two different businesses. Under the Parking Authority’s valet rules supporting Art. 31 Subtitle 14, a valet operator pays $25 to apply plus a $250 operator license fee, renewed on the anniversary of the license’s effective date with the application due 60 to 90 days before. A Valet Parking Zone Permit costs $500 to apply for and carries a $1,100 annual use‑of‑right‑of‑way fee “regardless of the operational hours,” and it is issued to the host establishment, not the operator. A short‑term Event Permit for Valet Operations is $10 and must be filed at least seven business days ahead. Failure to collect and properly remit parking taxes will revoke either the license or the permit — and so will failure to staff or utilize a zone during its operational hours.

Is custom parking software cheaper than a per-space subscription?

Not as a replacement, and we will say so plainly: if your gates and pay stations work, keep the platform that runs them. The honest comparison is narrower. Our Operations System is $12,000 once and you own the source code, and the work we would give it is the work the platform is not built to do — deriving three tax bases from one transaction stream, holding the residential exemption as evidence rather than as a checkbox, counting operating days against the 149‑day ceiling, and producing the per‑facility return §22‑5(c) actually asks for. On the garage modeled above the annual city parking tax is $237,048, which is 4.1× the software bill, and $21,600 of it turns on forty leases the operator has never read. An operator who gets one class of transaction wrong for a year has usually already paid for the build.

This article describes Baltimore City and Maryland law as we read it in August 2026 and is not legal, tax or accounting advice. Baltimore City Code Article 28, Subtitle 22; Article 15, Subtitles 12 and 13; Article 31, Subtitle 14; the Department of Finance’s Parking Facility Tax and License Rules and Regulations; the Parking Authority’s Valet Parking Rules and Regulations; Anne Arundel County Code §4‑6‑106; and Md. Code, Tax‑General §11‑101 all change. Whether a posted parking price in Baltimore is tax‑inclusive or tax‑exclusive is a question we deliberately do not answer here: §22‑2(b) places ultimate liability on the parker and §22‑5(a) requires collection at the same time as the fee, but unlike Anne Arundel’s §4‑6‑106, Baltimore’s ordinance does not say “in addition to” other charges — confirm your own treatment with the Department of Finance, because on the daily transactions in our model the two readings are about $49,000 a year apart. The Anne Arundel rate is taken from the enacted text of Bill 42‑25 and from the Department of Legislative Services’ Guide to Local Government Taxing Authority dated August 2026; at the time of writing at least one widely used commercial code library still served the superseded $0.60 figure. The garages, revenue mix and gross‑area ratios in this article are illustrative and chosen to be ordinary rather than drawn from any client — run your own numbers on your own facility, and get your gross area from your survey, not from a stall count. Establishment data is County Business Patterns 2023 (NAICS 812930) and counts only establishments with paid employees, so owner‑operated lots with no payroll are excluded; the Census Bureau reports this industry separately for only five Maryland counties. Vendor pricing pages were requested on 22 August 2026 and change without notice; where a vendor published no figure we have said so rather than quoting an aggregator. Verify your own position with the Department of Finance, the Department of Consumer Protection and Business Licensing, the Parking Authority of Baltimore City, the Anne Arundel County Office of Finance or your own advisers before relying on anything here.

Start here

How much of last month’s parking tax was actually owed?

Book a free 30‑minute call. Bring one month of transactions and your last parking tax return, and we’ll run both tax bases on them with you — Baltimore’s 20% and Anne Arundel’s vehicle‑day charge — separate the exemptions you can evidence from the ones you cannot, and show you the two totals side by side. Then we’ll tell you what we’d build, what you should keep renting, and the fixed price that goes with it.