/pricing — among them Molo, DockMaster, Speedy Dock, Scribble Software, BoatCloud, MarinaGo, SlipBoss and Nauticspot. Dockwa answers every automated request with 403 from behind a bot wall. Four more return 200 and render nothing. And two products have simply gone: marinamaster.com now redirects to a domain-sale listing, and harborassist.com is parked with GoDaddy at $6,940. Then the arithmetic none of them do. Tax‑General §11‑104(h)(2) taxes dyed diesel sold by a marina at 6% of 94.5% of gross receipts — an effective 5.67% — and §11‑410 forbids you from collecting it “as a separately stated item,” so it has to live inside your posted price. That rounding to 94.5% instead of the exact 94.34% costs you about $9.62 per $100,000 of diesel sold. COMAR 03.06.01.03B then lets you choose how to bill a repair, and the cheaper format reverses depending on the boat: lump‑sum saves a pleasure‑boat owner exactly 6% of your parts margin, while for a commercial vessel it destroys a statutory exemption and costs them 6% of your parts cost. Natural Resources §8‑716(i)(1) then decides a 5% tax on the whole boat by asking whether your work order is at least twice the market cost of storing it — which only pays for the owner when the boat is worth more than forty times its storage bill. And eight separate provisions count your slips, using three different boat‑length qualifiers and five different thresholds.
A hundred and sixty-one marinas, and not one of them is big
There is a version of this article that opens with the size of the global recreational boating market and a growth rate to two decimal places, and it would tell a Baltimore marina operator nothing at all. So here is the local picture instead, counted rather than estimated.
The Census Bureau’s County Business Patterns file for 2023 — still the most recent county‑level release — records marinas under NAICS 713930. Summing every reporting Maryland county gives 161 establishments with paid employees, employing 1,466 people against an annual payroll of $78,759,000. That is a small trade by establishment count and a genuinely tiny one by employment: it averages 9.1 employees per establishment, and the distribution behind that average is more lopsided than the average suggests.
Anne Arundel County holds a third of it. With 54 establishments, 725 employees and $42,023,000 of payroll, Annapolis and the South and Severn rivers account for 33.5% of the state’s marina establishments and 53.4% of its marina payroll. Nothing else in Maryland comes close, and any national vendor that has one Maryland reference customer almost certainly has it there.
Baltimore City has ten. They employ 49 people and pay out $3,479,000 a year, which works out to $71,000 per employee exactly — the second‑highest figure in the state behind Worcester County, 32.2% above the Maryland marina average of $53,724, and very nearly double Baltimore County’s $35,650. That inversion is worth sitting with for a second, because it runs the opposite way to most trades we look at, where the city trails its suburbs on pay per head.
We are not going to pretend the file explains why. The likeliest reading is mix. A Baltimore City marina is an urban, year‑round, high‑service operation on expensive water — Inner Harbor, Fells Point, Canton, Harbor East — with a longer season, more transient traffic, more restaurant and event adjacency, and proportionally fewer of the seasonal dock hands that pull the county averages down. Baltimore County’s marina belt on Middle River and Back River is the other end of that: more small, family‑run, seasonal yards. Same NAICS code, different businesses.
| County | Establishments | Employees | Annual payroll | Employees per establishment | Payroll per employee |
|---|---|---|---|---|---|
| Anne Arundel | 54 | 725 | $42,023,000 | 13.4 | $57,963 |
| Cecil | 19 | 101 | $5,389,000 | 5.3 | $53,356 |
| Baltimore County | 17 | 143 | $5,098,000 | 8.4 | $35,650 |
| Kent | 14 | 141 | $7,361,000 | 10.1 | $52,206 |
| Baltimore City | 10 | 49 | $3,479,000 | 4.9 | $71,000 |
| Queen Anne’s | 9 | 60 | $2,357,000 | 6.7 | $39,283 |
| Talbot | 9 | 88 | $4,844,000 | 9.8 | $55,045 |
| Calvert | 7 | 39 | $1,213,000 | 5.6 | $31,103 |
| St Mary’s | 6 | 17 | $718,000 | 2.8 | $42,235 |
| Harford | 5 | 28 | $1,353,000 | 5.6 | $48,321 |
| Dorchester | 4 | 29 | $1,342,000 | 7.3 | $46,276 |
| Worcester | 4 | 34 | $3,131,000 | 8.5 | $92,088 |
| Garrett | 3 | 12 | $451,000 | 4.0 | $37,583 |
| Maryland, reporting counties | 161 | 1,466 | $78,759,000 | 9.1 | $53,724 |
The caveat about paid employees matters more in this trade than in most, and it cuts in a specific direction. County Business Patterns counts establishments that run a payroll. A figure of roughly five hundred Maryland marinas circulates widely in coverage of the state’s Clean Marina program; we could not retrieve the Department of Natural Resources page that is its apparent source, so we are repeating it as a secondary figure rather than a verified one. What a count like that includes and County Business Patterns does not is yacht clubs, small private basins, condominium docks and community piers — facilities that never appear in a payroll file because nobody draws a wage from them. Both numbers are true and they measure different things. The 161 is the population that has an operating business behind it, which is the population that buys software.
The size distribution is the part that decides what software is affordable here. Of the 124 Maryland marina establishments whose employment class the Census discloses, 79 employ fewer than five people and only six employ twenty or more. Not one establishment anywhere in the state discloses fifty employees or more in this code. In Baltimore City, seven of the ten are under five employees.
| Employment size class | Baltimore City | Anne Arundel | Maryland, disclosed | Share of disclosed |
|---|---|---|---|---|
| Fewer than 5 employees | 7 | 25 | 79 | 63.7% |
| 5 to 9 | suppressed | 13 | 28 | 22.6% |
| 10 to 19 | suppressed | 8 | 11 | 8.9% |
| 20 to 49 | suppressed | 6 | 6 | 4.8% |
| 50 or more | none disclosed | none disclosed | none disclosed | — |
| Disclosed / total establishments | 7 of 10 | 52 of 54 | 124 of 161 | 77.0% |
Two other codes sit alongside this one and belong in the picture. Boat dealers, NAICS 441222, add 92 establishments, 743 employees and $52,197,000 of Maryland payroll, again heavily concentrated in Anne Arundel with 42 of them. Boat building, NAICS 336612, is almost gone as an employer: 9 establishments, 123 employees, $5,859,000. And for scale, deep‑water port and harbor operations, NAICS 488310, records 11 establishments in Baltimore City alone employing 1,292 people against $83,516,000 of payroll — a single city code with more payroll than every recreational marina in Maryland combined. The working harbor and the recreational harbor share a shoreline and almost nothing else.
The trade that owns the waterfront in this state is not the trade that owns the water. Baltimore City has ten marinas employing forty‑nine people, and eleven port operators employing one thousand two hundred and ninety‑two.
What the software costs, when anyone will say
We check this the same way every time. We take the products a business in the trade would actually shortlist, request /pricing on each one from a normal desktop browser agent, record the HTTP status, and read whatever comes back. It is a crude instrument and that is the point — it measures whether a vendor has decided that a prospective customer may know the price before speaking to a salesperson.
Marina software is the most closed category we have surveyed. Not one of the eighteen products we checked on 29 August 2026 published a complete, usable price. Ten returned a bare 404. Dockwa, which is probably the best‑known name in transient dockage, returned 403 to every automated request and sits behind a bot‑verification wall that a desktop user agent does not get past. Four returned 200 and rendered no pricing content at all — single‑page applications whose pricing route exists but resolves to nothing without a browser session.
And two products are simply not there any more. marinamaster.com no longer serves a product site; it redirects to a listing on a domain marketplace. harborassist.com serves a GoDaddy sale page offering the domain for $6,940. Two others, marinaware.com and brightmarina.com, no longer resolve at all. That is four of eighteen gone, in a category small enough that four is a fifth of it.
| Product | /pricing status | What came back |
|---|---|---|
| Molo | 404 | No pricing page |
| DockMaster | 404 | No pricing page; /pricing-plans also 404 |
| Speedy Dock | 404 | No pricing page; /pricing-2 also 404 |
| Scribble Software (MarinaOffice) | 404 | No pricing page; product site live |
| BoatCloud | 404 | No pricing page |
| MarinaGo | 404 | No pricing page |
| SlipBoss | 404 | No pricing page |
| Nauticspot | 404 | No pricing page |
| Dockwa | 403 | Bot verification wall; no automated access |
| Snag-A-Slip | 200 | Rendered nothing |
| Swell Advantage | 200 | Rendered nothing; root redirects to a lander |
| Pier 360 | 200 | Rendered nothing |
| Oasis Marinas | no response | Request did not complete |
| Marinalife | no response | Request did not complete |
| Marina Master | 403 | Redirects to a domain marketplace listing |
| HarborAssist | 200 | Parked; domain offered at $6,940 |
| Marinaware | no response | Does not resolve |
| Bright Marina | no response | Does not resolve |
We want to be fair about what that means. A 404 on /pricing is not evidence that a product is bad, and several of these are good products with real customers and long histories. DockMaster has been in boatyards since before most of the category existed; Scribble’s MarinaOffice is a serious accounting‑grade system; Dockwa solved transient booking for a whole coast. Opacity is a sales strategy, not a quality signal, and in a category where the customer ranges from a ten‑slip community basin to a six‑hundred‑slip resort it is an understandable one.
But it has a cost, and the cost lands on the small operator. Published trade estimates put the category at roughly $150 to $2,000 or more per month depending on slip count, module selection and payment processing. We are quoting that as a secondary estimate and we would not build a budget on it. What we can say from the sweep is narrower and more useful: if you run a Baltimore marina with four employees, you cannot find out what any of these cost without booking a call, and the reason a vendor wants that call is that the answer depends on how many slips you have.
The meter is the slip, and the slip is not what you sell
Almost everything in this category is priced per slip, per month, or in slip‑count bands. It is an obvious meter and a bad one, and it is worth being precise about why, because the mismatch is the whole reason a custom system can be cheaper here than it looks.
Start with what a slip is. It is a rectangle of water with a finger pier, defined by a length and a beam, sitting over a bottom with a depth. A marina sells access to that rectangle, but it almost never charges for the rectangle. It charges per foot of boat. So a 36‑foot slip occupied by a 31‑foot boat produces revenue on 31 feet and consumes 36 feet of your inventory, and the five‑foot difference is real, unsellable and completely invisible to a meter that counts slips. Run that across a hundred‑slip basin with an average four‑foot mismatch and you are carrying four hundred feet of dock you can neither bill nor fill.
Now add the second dimension. A slip has a beam limit as well as a length limit, and modern boats are wider for their length than the boats these docks were built for. A 40‑foot slip that will not take a 14‑foot beam is a 40‑foot slip you cannot sell to half the 40‑foot boats on the Bay. Add depth, which changes with the tide and with the last time the basin was dredged. Add the fact that a good dockmaster re‑shuffles boats through the season as transients arrive and annuals haul out. What you are actually running is a two‑dimensional packing problem with a seasonal calendar and a depth constraint, and the software you are being sold models it as a row in a table with a boolean called occupied.
Then consider that a marina’s revenue is not mostly slips at all. Dockage is the recurring base, but the yard is where the money moves: haul‑out and launch, bottom paint, winter storage, shrink‑wrap, engine service, rigging, the ship’s store, the fuel dock, pumpout, ice, transient nights, event bookings. A per‑slip subscription charges you for the smallest, most predictable, least labor‑intensive part of your business and leaves the complicated part — the part with parts inventory, technician hours, work orders, tax treatments and customer approvals in it — as either an add‑on module or somebody else’s product entirely.
You are billed for how many rectangles of water you own. You are paid for feet of boat, hours of labor, gallons of fuel and cases of oil filters — and every one of those four has a different tax treatment in Maryland.
That last sentence is not a rhetorical flourish. It is the actual subject of the next four sections, and it is where a marina’s software problem stops being about docks and starts being about documents.
The word “marina” appears once in Maryland’s list of what is taxable
Maryland does not tax services in general. It taxes tangible personal property, and then it taxes the specific services the legislature has written into Tax‑General §11‑101(m), which currently enumerates fifteen of them. Everything else is untaxed by omission, which makes the omissions worth checking directly rather than assuming.
So we checked. Across the entire Tax‑General Article — every section, every definition, every exemption — the words “dockage,” “mooring,” “berth” and “wharfage” appear zero times each. The same four words appear zero times in the Comptroller’s own published list of taxable tangible personal property and services. Slip rental is not an enumerated taxable service in Maryland, and nothing in the statute reaches it.
That is genuinely good news, and it is the sort of thing worth knowing with certainty rather than believing. Your largest recurring revenue line is untaxed. But it also sets up the oddity that gives this article its title, because there is exactly one place in the Comptroller’s list where the word marina appears at all.
The only time Maryland’s official guide to what is taxable uses the word “marina” is to describe a tax you are required to collect and forbidden to show the customer.
Six percent of ninety-four and a half percent
Here is the provision. Tax‑General §11‑104(h)(2):
If a retail sale of dyed diesel fuel is made by a marina, the sales and use tax rate is 6%, applied to 94.5% of the gross receipts from the dyed diesel fuel sales.
Two things are happening in that sentence. The first is a jurisdictional handoff. Ordinary motor fuel is not subject to sales tax at all — §11‑221(a)(3) exempts “a sale of a motor fuel that is subject to the motor fuel tax or the motor carrier tax,” and the Comptroller’s FY2027 rate chart puts that tax at 46.60¢ per gallon on gasoline and 47.45¢ on diesel from 1 July 2026. Dyed diesel is dyed precisely because it is not going on a road, so the motor fuel tax does not reach it, and the sales tax picks it up instead. The fuel dock is the seam between two tax regimes and the seam runs down the middle of it.
The second thing is the 94.5%, and it is worth working out where that number comes from, because the statute does not say. It is a tax‑inclusive back‑out. If the price on the pump already contains the tax, then the taxable base is the price divided by 1.06, and 1 ÷ 1.06 = 0.943396…, or 94.34%. Maryland rounded that to 94.5%.
Rounding up the base rounds up the tax. The statutory computation is 6% × 94.5% = 5.67% of gross receipts. The exact back‑out would be 6% ÷ 1.06 = 5.6604%. The difference is 0.00962% of gross receipts, which sounds like nothing and is nearly nothing — but it is a real, permanent, computable overpayment that scales linearly with how much diesel you pump, and it is the kind of number no vendor’s reporting module will ever surface for you.
| Annual dyed diesel gross receipts | Tax at the statutory 5.67% | Tax at the exact 5.6604% | Cost of the rounding |
|---|---|---|---|
| $50,000 | $2,835.00 | $2,830.19 | $4.81 |
| $100,000 | $5,670.00 | $5,660.38 | $9.62 |
| $250,000 | $14,175.00 | $14,150.94 | $24.06 |
| $500,000 | $28,350.00 | $28,301.89 | $48.11 |
| $1,000,000 | $56,700.00 | $56,603.77 | $96.23 |
We are not suggesting anybody should be upset about $9.62 per hundred thousand dollars of diesel. We are pointing at it because it is the clearest possible illustration of the general problem: the state has specified an arithmetic that is not the obvious arithmetic, and if your point of sale computes the obvious one you are wrong in a way nobody will catch until an audit. A system that does 6% of the whole receipt over‑collects by 5.8% relative to the statute. A system that does the exact 1÷1.06 back‑out under‑remits. Only 94.5% is right, and only because a sentence says so.
The receipt that is not allowed to say what is in it
Now the second half, and this is the part that actually changes how software has to be built. Tax‑General §11‑410, in full:
A marina that sells dyed diesel fuel, as defined in §11‑104(h) of this title: (1) shall pay the sales and use tax to the Comptroller; and (2) may not collect the sales and use tax from the buyer as a separately stated item.
Read that against the rest of a marina’s day. When you sell a case of oil in the ship’s store, Maryland expects the 6% to appear on the receipt as a line. When you sell a bilge pump, same. When you invoice a haul‑out with parts, we are about to see that the itemization is a choice with consequences. But when you pump dyed diesel, the tax must be computed, must be remitted, and must not appear. It has to be buried inside the number on the sign.
That means your pricing engine runs backwards for one product and forwards for every other. For the ship’s store you set a price and add tax on top. For dyed diesel you have to start from the margin you need, gross it up through an embedded 5.67%, and post the result as a per‑gallon figure — and then, when the price of fuel moves, do it again. It also means your receipt template has a conditional in it. Not a formatting preference: a statutory conditional, where one branch prints a tax line and the other branch is legally required not to.
We have looked at a lot of point‑of‑sale configurations over the years. Almost every one of them treats “show tax separately” as a global setting on the receipt template, because in almost every trade it is one. Here it is per‑product, and getting it wrong in the permissive direction — printing the tax on a diesel sale because that is what the template does — is not a cosmetic error. It is doing the one thing the section names.
One hose, three answers
It gets better, or worse, depending on where you sit. The dyed diesel rule is not even the whole fuel dock, because the tax treatment of a single gallon out of a single hose depends on who is buying it and what their boat does for a living.
Tax‑General §11‑218(3) exempts from sales and use tax the sale of “fuel or a repair part for a commercial fishing vessel or for a vessel otherwise used for commercial purposes.” That is a broad phrase and it is doing a lot of work. A charter fishing boat, a workboat, a launch service, a commercial diver’s tender — those are vessels used for commercial purposes, and the fuel you sell them is exempt outright.
So one hose of dyed diesel has three possible outcomes, and the marina has to pick the right one at the moment of sale:
| What is sold, and to whom | Which tax applies | Rate | Shown on the receipt? |
|---|---|---|---|
| Gasoline, any vessel | Motor fuel tax; exempt from sales tax | 46.60¢ per gallon | Not a sales tax line |
| Dyed diesel, recreational vessel | Sales and use tax | 6% of 94.5% of gross receipts, i.e. 5.67% | Forbidden |
| Dyed diesel, vessel used commercially | Exempt | — | Nothing to show |
| Undyed diesel, any vessel | Motor fuel tax; exempt from sales tax | 47.45¢ per gallon | Not a sales tax line |
Three of those four rows require your system to know something it cannot observe: what the customer’s boat is used for. That is not a field any marina platform ships with, because in most states it does not matter. Here it decides whether a sale is taxed at 5.67%, taxed at nothing, or taxed on a completely different rail — and in one case it decides whether printing a line on a piece of paper is lawful.
The practical answer is an exemption register: a per‑customer, per‑vessel record of commercial use, with the documentation attached, the date it was established, and a review date. That is a small piece of software. It is also the piece that turns a defensible audit position into a click, and it does not exist in anything we surveyed.
The invoice format is a pricing decision, and it flips on the customer
The yard is the other half of the business and it has its own rule, which is the most genuinely interesting thing we found in this trade because it is not a compliance burden at all. It is a choice, deliberately offered, with real money on both sides.
Start from the baseline. COMAR 03.06.01.03A(1): “The charge for labor to repair or alter existing tangible personal property belonging to another for the purpose of restoring the property to its original condition or usefulness is not subject to tax.” Labor is clean. The Comptroller repeats it verbatim in its own guidance. Paragraph A(2) adds the limit — tax does apply “if the labor expended results in the creation of a new or different item” — which is why a repower is a different conversation from a repair, and why a custom‑fabricated part is a different conversation again.
Then COMAR 03.06.01.03B offers two ways to handle the parts, and says outright that a repairer “may handle the sales and use tax on their transactions in either of the following ways.”
Under B(1), you state a separate charge for materials. Tax applies to the materials, the customer pays it, and you buy the parts under the resale exclusion so they cost you wholesale. Under B(2), you bill a lump sum. Then — and this is the sentence people miss — “the tax may not apply to any portion of the charge to the customer.” No tax on the invoice at all. In exchange, you pay the tax on your own purchases of the materials and you may not claim the resale exclusion.
Why lump-sum is cheaper for a pleasure boat
The arithmetic is short and it resolves cleanly. Let the parts cost you C at wholesale and let your markup be m, so the retail parts price is C(1+m).
Itemized, the customer pays 6% of the retail price: 0.06 × C(1+m). Lump‑summed, you pay 6% of your wholesale cost, 0.06C, and to hold the same dollar margin you fold that into the price. Subtract one from the other and everything cancels except the markup:
The customer’s saving from lump‑sum billing is exactly 0.06 × C × m — six percent of your gross margin on the parts. Itemizing taxes what you charge. Lump‑summing taxes only what you paid. The difference between those two numbers is your markup, and Maryland taxes it or does not depending on how you format the invoice.
| Parts at cost | Markup | Retail parts | Tax if itemized | Tax if lump-sum | Difference |
|---|---|---|---|---|---|
| $500 | 25% | $625 | $37.50 | $30.00 | $7.50 |
| $1,200 | 30% | $1,560 | $93.60 | $72.00 | $21.60 |
| $4,000 | 40% | $5,600 | $336.00 | $240.00 | $96.00 |
| $9,000 | 35% | $12,150 | $729.00 | $540.00 | $189.00 |
| $18,000 | 45% | $26,100 | $1,566.00 | $1,080.00 | $486.00 |
On a repower with eighteen thousand dollars of parts at cost, the invoice format is worth $486 to the customer. That is not a rounding error on a job that size, and it is entirely within your control.
Why it is more expensive for a workboat
Now put a commercial vessel in the same slings, and the answer reverses completely.
Remember §11‑218(3): a repair part for a vessel used for commercial purposes is exempt. If you itemize, the parts line is exempt and the customer pays no tax at all — better than the pleasure‑boat lump‑sum outcome, not just better than the pleasure‑boat itemized one. But if you lump‑sum that same job, B(2) says you owe tax on your own purchases, and the regulation goes out of its way to close the door you would want to open:
The taxability of purchases for lump‑sum contracts is not affected by the fact that the person for whom the repair work is performed would not have been required to pay the tax on a separately stated charge for materials.
That sentence is the regulation anticipating exactly this situation and refusing to help. Lump‑sum billing a commercial customer means the yard pays 0.06C that nobody in the chain would otherwise have owed. On the $18,000 job that is $1,080 of pure leakage — either off your margin, or passed through as a higher price to a customer who was entitled to pay nothing.
| Vessel | Cheaper format | Why | Cost of the wrong format |
|---|---|---|---|
| Recreational | Lump sum | Tax falls on wholesale cost instead of retail price | $486 to the customer |
| Used for commercial purposes | Itemized | §11‑218(3) exempts the parts outright; lump-sum forfeits it | $1,080 to the yard or the customer |
So the correct invoice format for a boatyard is not a policy. It is a per‑job decision that depends on a fact about the customer’s vessel, and getting it backwards costs real money in both directions. A work‑order system that knows whether a hull is commercial and defaults the billing format accordingly is worth building on that basis alone. Not one product we surveyed has the concept.
Two times the cost of storing it
Maryland levies a vessel excise tax of 5% of fair market value. Natural Resources §8‑716(c)(1) attaches it to three events: the issuance of a title, a sale within the State, and — the one that concerns a marina — “the possession within the State of a vessel used or to be used principally in the State.”
“Used principally in this State” is defined at §8‑716(a)(6), and the definition carries a carve‑out that is unusual enough to read twice: in calculating where a vessel is used, “a vessel is not considered to be in use for any period of time that it is held for maintenance, repair, or commissioning for 30 consecutive days or more.” Time on the hard, in other words, does not count against the owner.
Then §8‑716(i)(1) defines what “held for maintenance, repair, or commissioning” actually requires, and all three conditions are facts that live in the boatyard’s records rather than the boat owner’s:
(i) The maintenance, repair, or commissioning work is provided in exchange for compensation; (ii) the work is performed pursuant to a schedule preestablished with one or more marine contractors; and (iii) the total cost of the maintenance, repair, or commissioning work is at least two times the reasonable current market cost of docking or storing the vessel.
Condition (iii) is the remarkable one. Whether the State of Maryland can charge a customer 5% of the value of their boat turns on a ratio between two dollar amounts, one of which is a rate the marina publishes. The statute does not say “your rate” — it says the reasonable current market cost — but your posted storage rate is the most readily available evidence of what that market cost is, and your work order is the only evidence of the numerator. The boatyard is holding both sides of a test applied to somebody else’s tax bill.
Condition (ii) deserves a note too, because “pursuant to a schedule preestablished with one or more marine contractors” is a documentation requirement dressed as a definition. A verbal agreement to “take a look at the transmission over the winter” is not a preestablished schedule. A dated work plan with line items and a start date is. And §8‑716(i)(2) adds that sea trial time counts toward the maintenance period, with “sea trial” defined at §8‑716(a)(4) as an on‑the‑water period “not to exceed 1 day.”
Why raising your storage rate raises your customer's threshold
Because the test is a ratio and your rate is the denominator, the arithmetic has a consequence that runs against intuition. Put the numbers on it.
| Length overall | Illustrative rate | Storage cost | Minimum work order (2×) | Breakeven vessel value |
|---|---|---|---|---|
| 26 ft | $75 per foot | $1,950 | $3,900 | $78,000 |
| 32 ft | $85 per foot | $2,720 | $5,440 | $108,800 |
| 38 ft | $95 per foot | $3,610 | $7,220 | $144,400 |
| 45 ft | $105 per foot | $4,725 | $9,450 | $189,000 |
| 55 ft | $115 per foot | $6,325 | $12,650 | $253,000 |
The breakeven column is the useful one, and it generalizes to a single sentence. The minimum work order is 2S where S is the storage cost; the tax avoided is 0.05V where V is the vessel’s value; those are equal when V = 40S. So:
Spending your way to the maintenance exclusion only pays when the boat is worth more than forty times what it costs to store it. Below that line, the work order costs more than the tax it avoids.
Two honest qualifications. First, this compares the full work order against the tax, which is only the right comparison if the owner would not have done the work anyway — in practice most of a winter list is work somebody wanted, and the marginal question is smaller. Second, raising your own storage rate raises your customers’ threshold, which is a genuine and slightly perverse effect, but it is bounded by the fact that the statute asks for market cost rather than yours. Still: if you are the yard advising the owner, you should know that the number you quote for storage sits in the denominator of their tax test.
Ninety days, and then the first ninety count too
There is a second route out of the excise, and it contains the strangest piece of drafting in the subtitle. §8‑716(e)(9) exempts the possession of a vessel that is not used principally on State waters, then qualifies itself twice:
(i) A vessel is not deemed used on the waters of the State if the vessel is used for 90 days or less of a calendar year; and (ii) if a vessel is used for more days than 90 days in a calendar year, the period of 90 days shall be counted in the determination of principal use.
Read those together. The first ninety days are free. But the moment day ninety‑one happens, the first ninety days stop being free and are added back into the count. This is a threshold that retroactively changes the meaning of everything before it.
For software that is a specific and slightly annoying property: the answer is not computable incrementally. You cannot maintain a running “days used” counter and a running “taxable days” counter side by side, because the second one is a function of whether the first will eventually exceed ninety — which you do not know until the year is over or the threshold is crossed. Every honest implementation either recomputes the whole calendar year on each change, or holds the days in a way that lets it recompute cheaply. Most systems that track days do neither, because in most domains a counter is just a counter.
It also interacts with the maintenance exclusion in a way worth stating plainly, because it is the practical planning point for a transient customer who winters on the Bay. Days held for maintenance under §8‑716(a)(6) — in blocks of thirty consecutive days or more, meeting all three of the (i)(1) conditions — are removed from the “used” count before the ninety‑day test is applied. A boat that spends its season here can stay on the right side of the line if enough of its time ashore is properly documented work rather than storage. The difference between those two things is a work order and a ratio.
One more definitional trapdoor, and it is the cleanest fact in the article. §8‑716(a)(7)(ii) says that for excise purposes “vessel” does not include “a ship’s lifeboat, a vessel propelled only by sail, or vessel manually propelled.” And §8‑712(a)(1)(vi) exempts a vessel propelled only by sail from the numbering requirement altogether. A pure sailboat with no auxiliary is invisible to both systems. Hang an outboard on the transom and it becomes a titled, numbered, taxable vessel. Your slip contract records length, beam and draft; whether it records propulsion decides which of your customers exist as far as two separate state regimes are concerned.
Five percent, and a ceiling that moves every July
The rate is 5% but the tax is capped, and the cap is one of the few numbers in Maryland law that is written as a moving target. §8‑716(c)(3) provides that the excise “may not exceed $15,000 for any vessel,” and then that this maximum “shall be increased by $100 on: 1. July 1, 2016; and 2. July 1 of each subsequent year.”
Count the increases. July 2016 through July 2026 inclusive is eleven of them, so the ceiling for the year beginning 1 July 2026 is $16,100. That matches the figure the Department is currently applying, and it is worth deriving rather than looking up, because a great deal of secondary writing about Maryland boat tax still quotes $15,000 or a stale intermediate value.
A fixed cap on a percentage rate means the tax stops being a percentage at some point, and that point moves. Divide the cap by the rate: $16,100 ÷ 0.05 = $322,000. Below that value you pay 5%. Above it you pay $16,100 regardless, so the effective rate falls the more the boat is worth. And because the cap climbs $100 a year, the crossover climbs $2,000 a year, every year, forever.
| Year beginning 1 July | Maximum excise | Vessel value at which 5% reaches the cap | Effective rate on a $600,000 vessel |
|---|---|---|---|
| Before 2016 | $15,000 | $300,000 | 2.50% |
| 2020 | $15,500 | $310,000 | 2.58% |
| 2023 | $15,800 | $316,000 | 2.63% |
| 2025 | $16,000 | $320,000 | 2.67% |
| 2026 | $16,100 | $322,000 | 2.68% |
There is a related subtlety in the tax base that catches brokers more often than yards, and it belongs in any system that prices a trade‑in. Under §8‑716(a)(3)(i), a dealer sale deducts the value of a trade‑in — but the deduction “may not exceed the value for the trade‑in vessel as shown in a national publication of used vessel values adopted by the Department.” Your invoice is not the authority on your own trade‑in allowance; a book you do not publish is. And for a private sale, §8‑716(a)(3)(ii) and (iii) give the base as the greater of the purchase price or $100, or the book value if a certified bill of sale is not attached. The same boat, the same money, two different tax bases depending on whether a piece of paper travels with the application.
What the state charges you to exist
The licensing side of this trade is refreshingly cheap, and the contrast with the software bill is the point of putting it here.
| Item | Amount | Authority | Note |
|---|---|---|---|
| Certificate of number (registration) | $70 | §8‑712(c)(2)(i) | Valid up to 2 years, so about $35 a year |
| Replacement or corrected certificate of number | $20 | §8‑712(c)(2)(ii) | — |
| Certificate of title, transfer, duplicate or correction | $20 | §8‑716(b) | Separate from the excise |
| Nonmotorized vessel decal | $12 | §8‑712.4(c) | Expires 31 December of the following year |
| Returned check service charge | $5 | §8‑712(f) | — |
| Manufacturer or dealer license | Not to exceed $50 | §8‑710(c)(5)(ii) | Expires 31 December annually |
| Vessel excise tax | 5%, capped at $16,100 | §8‑716(c) | Remit within 30 days, §8‑716(d) |
A dealer license costs at most fifty dollars a year. Registering a boat costs seventy dollars for two years. Against that, a marina platform in the middle of the published range costs more every month than the state charges a dealer to operate for a decade. That is not an argument that the software is overpriced — software does more than a license does — but it is a useful sense of scale when a vendor tells a ten‑slip operator that per‑slip pricing is only fair.
Eight ways to count a slip
If you take one structural idea away from this article, make it this one. Maryland counts your slips in at least eight separate places, using five different thresholds and three different boat‑length qualifiers, and no two of them are quite the same test.
The chain starts oddly. Natural Resources §8‑709.1(b) reads, on its face, as a flat prohibition: “Except as provided under §9‑333 of the Environment Article, on or after July 1, 1989, a person may not construct: (1) Any additional slips at an existing marina that would result in a total slip capacity of more than 10 slips; or (2) A new marina with more than 10 slips on the navigable waters of the State.”
Read alone, that section bans every marina in Maryland larger than ten slips. All of its actual content lives in the cross‑reference, and the cross‑reference is in a different article of the Code. Environment §9‑333(c) restates the same ten‑slip line, adds a qualifier the Natural Resources section does not have — the marina must be “capable of berthing vessels 22 feet or larger” — and then supplies the conditions: an adequate wastewater collection and treatment system and an on‑site pumpout station.
Environment §9‑333(d) then carries a phase‑in that has long since completed but is still on the books, and it is where a number you will hear quoted comes from: marinas berthing any vessel over 22 feet needed a pumpout and a waste reception facility on site by 1 July 1995 at 200 or more slips, by 1 July 1996 at 100 or more, and by 1 July 1997 at 50 or more. If somebody tells you the Maryland rule is fifty slips, that is the sentence they are remembering, and it is the last rung of a ladder that finished climbing in 1997.
| Provision | Threshold | Boat-length qualifier | Verb used | What it triggers |
|---|---|---|---|---|
| Nat. Res. §8‑709.1(b)(1) | More than 10 slips | None | — | Bar on expansion, subject to §9‑333 |
| Nat. Res. §8‑709.1(b)(2) | More than 10 slips | None | — | Bar on new marina, subject to §9‑333 |
| Env. §9‑333(c) | More than 10 slips | 22 ft or larger | “capable of berthing” | Wastewater system and on-site pumpout |
| Env. §9‑333(d)(1) | 200 or more slips | Over 22 ft | “berths any vessel” | Pumpout and waste reception, by 1 July 1995 |
| Env. §9‑333(d)(2) | 100 or more slips | Over 22 ft | “berths any vessel” | Same, by 1 July 1996 |
| Env. §9‑333(d)(3) | 50 or more slips | Over 22 ft | “berths any vessel” | Same, by 1 July 1997 |
| COMAR 26.24.04.03D(1) | More than 10 slips | None | — | One of three alternatives, including a contract |
| COMAR 26.24.04.03D(2) | More than 25, and 10 or more | 25 ft or more | “designed to accommodate” | Wastewater facilities may be required |
Look at the last three columns. To answer all eight of those questions about your own marina you need, per slip, at least three separate attributes: the slip’s capacity in feet, whether it is capable of berthing a vessel of 22 feet or more, and whether it was designed to accommodate a boat of 25 feet or more. Those are not the same attribute, they are not the same cutoff, and one of them — “berths any vessel over 22 feet” — is not about the slip at all. It is about who is actually in it right now.
No marina platform we surveyed models any of this, and it would be unreasonable to expect one to, because these are Maryland questions and the products are sold in fifty states. But it is exactly the kind of thing a small custom system does almost for free: three columns on the slip table, one on the contract, and a page that answers the question directly instead of requiring somebody to count docks with a clipboard when a permit application is due.
The statute says on-site; the regulation says within two miles
There is one more wrinkle, and we flag it because it is the sort of thing worth asking your own counsel about rather than taking from a blog.
Environment §9‑333(c) gives two conditions joined by and: an adequate wastewater system, and “a pump‑out station on‑site at the marina.” The implementing regulation, COMAR 26.24.04.03D(1), gives three alternatives joined by or: (a) an approved wastewater collection and treatment system, (b) an on‑site pumpout station, or (c) “a contract with a pumpout facility” that is “located not more than 2 miles from the marina,” adequate as determined by the local health department, and “operable and accessible at reasonable times.”
Option (c) has no counterpart in the statute. A marina relying on a two‑mile contract is relying on the more permissive of two texts, and the conservative reading is the statutory one. We are not going to tell you which applies to your basin; we are telling you the two documents do not say the same thing, and that if your compliance position is “we have a contract with the yard down the creek,” you should know it rests on the regulation rather than the statute. The regulation also sets the siting rules that decide whether a basin can be built at all: under 26.24.04.03G(2)(a) a new marina may not go where “the natural depth is 4.5 feet or less at mean low water” unless the basin is excavated from upland, and under 26.24.04.03A(5) the application must describe the project’s impact on navigation channels within 3,000 feet.
What custom actually costs
We publish our prices, which in this category feels almost confrontational. Here is the whole list, and the version of each that a marina or boatyard would actually buy.
| Package | Fixed price | What a marina gets |
|---|---|---|
| Prototype Sprint | $3,500 | A real, deployed, clickable prototype of one thing — usually the slip map or the online transient booking flow — so you can put it in front of your dockmaster before committing to anything larger. |
| Online Store | from $6,000 | The customer‑facing half: transient dockage booking with real availability, the ship’s store, winter storage and haul‑out reservations, gift cards, and a checkout that applies the right tax treatment to each line rather than one rate to all of them. |
| Custom App | from $12,000 | One operational problem solved properly — the slip inventory with length, beam, draft and the three compliance attributes, or the boatyard work‑order system with the itemize‑versus‑lump‑sum decision built in. |
| Operations System | from $12,000 | The whole yard: contracts, billing, work orders, parts, fuel, storage, the exemption register and the reporting that ties them together, with your existing accounting package on the other end of it. |
Two things about those numbers that matter more than the numbers. First, they are one‑time. A marina platform at the middle of the published range is a permanent operating expense that rises with your slip count; a build is capital that stops. Second, Maryland now taxes both. Tax‑General §11‑101(m)(14) and (15), effective 1 July 2025, bring data and IT services under NAICS 518, 519 and 5415 and software publishing under NAICS 5132 into the tax base, and §11‑104(l)(1) sets the rate for them at 3%. On a $12,000 build that is $360, once. On a $9,000‑a‑year subscription it is $270 every year, forever. We would rather tell you that than have you find it on an invoice.
The honest comparison depends entirely on how long you keep the thing. A subscription at $500 a month is $6,000 a year, or $30,000 over five years before the 3% and before any per‑transaction fee on the payments side. A $12,000 operations build plus a prototype is $15,500 once. Below about thirty months the subscription wins on cash. Beyond that it stops winning, and it never stops charging.
What we would build for a Baltimore marina
Not everything at once, and not a replacement for your accounting package. Three pieces, in the order we would build them.
The slip inventory that knows what it is
A slips table where a slip has a length, a beam, a controlling depth, a finger‑pier length and a power service — and then the three attributes the state cares about: capacity in feet, capable of berthing 22 feet or more, designed to accommodate 25 feet or more. On top of that, an assignment view that fits boats to slips on both dimensions instead of one, shows you the unsold feet between the boat and the slip it is in, and lets a dockmaster reshuffle a season without a whiteboard. The compliance page is then a query, not a project: how many slips do I have by each of the eight statutory tests, and what does that oblige me to have on site.
The store, and a checkout that knows the difference between its lines
This is where most of the money is and where the off‑the‑shelf products are weakest, because a marina’s cart is not a normal cart. Transient dockage priced per foot per night with a length the customer enters and you verify. Winter storage priced per foot with a haul‑out and a launch attached to it. Shrink‑wrap by the foot. Ship’s‑store goods at 6%. Fuel that is exempt, or taxed at 5.67% and forbidden from showing it, or on a different tax rail entirely, depending on the hose and the buyer. Gift certificates. Event and slip‑holder deposits.
The checkout has to carry a per‑line tax treatment rather than a per‑order rate, an exemption register keyed to the vessel rather than the customer, and a receipt renderer with a genuine conditional in it — because on exactly one product line, printing the tax is the thing the statute forbids. That is a day of work if the model is right and impossible to bolt on afterwards if it is not.
The yard, where the invoice format is a decision
Work orders with parts and labor tracked separately underneath, whatever the invoice ends up looking like on top. A flag on each vessel for commercial use, with the supporting documentation and a review date. And then the small piece that pays for the module: when the job is ready to bill, the system already knows which format is cheaper, shows you both totals side by side, and defaults to the right one. Itemize the workboat and lump‑sum the pleasure boat, automatically, with the arithmetic shown so the service manager can explain it to the customer.
Alongside that, the maintenance‑exclusion helper: for any vessel on the hard, the consecutive‑day count, the work‑order total, the storage cost it is being measured against, and whether the job currently clears the two‑times threshold. Not tax advice — a number, with its inputs visible, that the owner’s accountant can check. In our experience that single screen is the one that makes a yard’s customers feel their marina is competent in a way a booking confirmation never does.
Build, buy, or leave it alone
We turn work down when the honest answer is that a subscription is fine, and for a good number of Maryland marinas it is. If you run twenty slips, no fuel dock, no yard, and your billing is twenty annual contracts and a handful of transients, the right system is a spreadsheet and a card reader, and anybody selling you a platform is selling you overhead. Nothing in this article changes that.
The case for building starts when the complexity we have been describing is actually present in your business. Concretely, we would only tell you to build if several of these are true:
- You run a fuel dock with dyed diesel, and some of your customers are commercial.
- You have a working yard, not just docks — parts inventory, technician hours and real work orders.
- Your slip mix is genuinely constrained on beam or depth, so assignment is a puzzle rather than a list.
- You sell transient nights online and are paying a commission on them to somebody else’s network.
- Your slip count sits near one of the statutory lines — ten, twenty‑five, fifty — and you are contemplating expansion.
- You are already paying for three products that do not talk to each other, and someone re‑keys between them.
If fewer than three of those are true, keep renting. If four or more are, the arithmetic has probably already tipped, and the thing to do is not to buy a bigger platform but to find out what the specific pieces would cost.
There is also a middle path we recommend more often than a full build, and it is the one most marina operators do not know is available. Keep the accounting package you have. Keep the booking network if it brings you transient business you would not otherwise get — paying a commission on incremental revenue is a perfectly good trade. Build only the part that is genuinely yours: the slip model, the yard, and the checkout. That is usually one Custom App and one Online Store, it costs less than two years of a mid‑range subscription, and it leaves you owning the part of the system that encodes how your marina actually works.
Who we are
We are a small studio of former startup founders in Baltimore. We build web apps, online stores and operations systems at fixed prices, we work directly with the people who write the code, and the result belongs to you — repository, infrastructure, data, all of it. We do not resell anybody’s platform and we do not take a percentage of your transactions.
The reason these articles are full of statute numbers is that this is genuinely how we scope work. Before we quote a marina we read the rules that marina operates under, because the difference between a system that fits and a system that almost fits is usually three columns and a conditional that nobody thought to ask about. Every number in this article came from a primary source we can point you at, and where we have used illustrative figures — the storage rates in the two‑times table — we have said so on the table.
If you run a marina, a boatyard or a yacht basin anywhere on the Patapsco, the Middle River, the Bay or the Eastern Shore, and you want an outside read on whether your software is costing you more than it saves, that is a free half hour and we will give you a straight answer even when the answer is to change nothing.
Questions we get from marina and boatyard owners
How much does marina management software cost in 2026?
Almost nobody will tell you in public. We checked eighteen products on 29 August 2026 and not one published a complete, usable price. Ten returned an outright 404 on /pricing — Molo, DockMaster, Speedy Dock, Scribble Software, BoatCloud, MarinaGo, SlipBoss and Nauticspot among them. Dockwa returned 403 to every automated request from behind a bot‑verification wall. Four pages returned 200 and rendered no pricing content. Two products have left the market: marinamaster.com now redirects to a domain marketplace listing and harborassist.com is parked with GoDaddy at $6,940; two more, marinaware.com and brightmarina.com, no longer resolve. The trade‑press range is roughly $150 to $2,000 or more per month depending on slip count, modules and payment processing, but that is a secondary estimate rather than a published rate.
Does Maryland charge sales tax on marina slip rental or dockage?
There is no provision imposing it. Maryland taxes tangible personal property plus the services enumerated in Tax‑General §11‑101(m), and dockage is not among them. We checked by absence: “dockage,” “mooring,” “berth” and “wharfage” each appear zero times in the entire Tax‑General Article and zero times in the Comptroller’s published list of taxable property and services. The single occurrence of the word marina in that list is the sentence about dyed diesel fuel. So the largest recurring line on most marina invoices is untaxed, while several smaller ones are taxed at three different rates.
Why can’t a Maryland marina show the fuel tax on a customer’s receipt?
Because Tax‑General §11‑410 forbids it. The section says a marina that sells dyed diesel fuel “shall pay the sales and use tax to the Comptroller” and “may not collect the sales and use tax from the buyer as a separately stated item.” The rate is set by §11‑104(h)(2) at 6% applied to 94.5% of the gross receipts, an effective 5.67%. So the tax has to live inside your posted price per gallon, and your pricing engine has to solve backwards from a target margin through an embedded tax — while the gasoline hose a few feet away is exempt from sales tax entirely under §11‑221(a)(3) because motor fuel tax applies instead, at 46.60¢ a gallon from 1 July 2026. Two hoses, two arithmetic directions, and only one may appear on the receipt.
Should a boatyard itemize parts and labor or bill a repair as a lump sum?
It depends on the customer, and Maryland gives you a real choice. COMAR 03.06.01.03A(1) makes repair labor non‑taxable. B(1) says that if you state materials separately, tax applies to the materials and you buy them under the resale exclusion. B(2) says that if you bill a lump sum, “the tax may not apply to any portion of the charge to the customer,” but you pay tax on your own purchases and may not claim resale. For a pleasure boat, lump‑sum is cheaper for the customer by exactly 6% of your gross margin on the parts — $486 on a job with $18,000 of parts at a 45% markup. For a vessel used commercially the answer reverses, because §11‑218(3) exempts the parts outright and lump‑sum billing forfeits that exemption; the regulation says so expressly in its closing sentence.
How does Maryland’s vessel excise tax work, and what is the 2026 cap?
Five percent of fair market value, capped at $16,100. Natural Resources §8‑716(c)(1) levies it on the issuance of a title, on a sale within the State, and on the possession within the State of a vessel used or to be used principally in the State. §8‑716(c)(3) capped it at $15,000 and directed a $100 increase on 1 July 2016 and each subsequent 1 July; after eleven increases that is $16,100 for the year beginning 1 July 2026. Because the cap is fixed and the rate is not, the tax stops being 5% at a vessel value of $322,000, and that crossover rises $2,000 every July. The owner remits within 30 days under §8‑716(d). A vessel propelled only by sail is outside the definition entirely under §8‑716(a)(7)(ii), and exempt from numbering under §8‑712(a)(1)(vi).
When does a boat kept at a Maryland marina become taxable?
Once it is used on Maryland waters for more than ninety days in a calendar year — and then the first ninety count too. §8‑716(e)(9) provides that a vessel “is not deemed used on the waters of the State if the vessel is used for 90 days or less of a calendar year,” but that “if a vessel is used for more days than 90 days in a calendar year, the period of 90 days shall be counted in the determination of principal use.” That is a counter whose earlier values change meaning once the threshold is crossed, so the answer cannot be computed incrementally through the season; it has to be recomputed for the whole year. The way out is §8‑716(a)(6), which removes any period of 30 consecutive days or more during which the vessel is held for maintenance, repair or commissioning, with sea trial time counted in under §8‑716(i)(2).
What does it take to qualify as “held for maintenance, repair, or commissioning”?
Three conditions, and the third is a ratio against the yard’s own rates. §8‑716(i)(1) requires that the work be provided in exchange for compensation, that it be performed “pursuant to a schedule preestablished with one or more marine contractors,” and that its total cost be at least two times the reasonable current market cost of docking or storing the vessel. All three facts live in the boatyard’s records, which makes your work order and your storage rate the evidence for a tax on somebody else’s asset. And the arithmetic has a consequence worth knowing before you advise a customer: since the threshold is twice the storage cost while the tax is 5% of value, buying the exemption only pays when the vessel is worth more than forty times its storage bill.
How many slips can a Maryland marina build without a pumpout station?
Ten — but slip count is only half the test, and the sources disagree on the remedy. Natural Resources §8‑709.1(b) prohibits constructing additional slips that would bring capacity above ten, or building a new marina with more than ten, “except as provided under §9‑333 of the Environment Article.” §9‑333(c) restates the ten‑slip line for marinas “capable of berthing vessels 22 feet or larger” and requires an adequate wastewater system and an on‑site pumpout. COMAR 26.24.04.03D(1) repeats the ten‑slip line with no length qualifier and offers three alternatives, the third being a contract with a pumpout facility “located not more than 2 miles from the marina.” D(2) adds a further test at more than 25 slips combined with ten or more designed for boats of 25 feet or more. The widely quoted fifty‑slip figure is the last rung of the completed phase‑in at §9‑333(d), which ran 200 slips by 1995, 100 by 1996 and 50 by 1997.