DEV Community

Tim Carter
Tim Carter

Posted on • Originally published at toolbagcrm.com

Why we flat-rate our CRM instead of charging per seat (and what we learned)

When we set out to build ToolbagCRM, one of the first architecture decisions wasn't about databases or frameworks. It was pricing.

Every SaaS CRM in the field-service space charges per seat. Jobber, HouseCall Pro, ServiceTitan, all of them. It's the default model in B2B SaaS, and for good reason: it scales revenue with usage. A sales team of 50 people using Salesforce means 50 seats, and Salesforce gets paid for each one.

But here's the thing we kept running into: the contractor market doesn't work like that.

The per-seat math doesn't fit trades

A typical small contractor team looks like this: the owner, 2-4 field techs, an office manager or dispatcher, and maybe a part-time admin. That's 5-7 people who all need logins. On Jobber Connect ($139/mo, 5 users), that's already $197/mo once you add the extra seats. One more hire and you're at $226.

None of those extra users are generating incremental revenue for us as a software company. They're dispatchers and admins. But per-seat pricing doesn't care. It bills anyway.

We kept hearing the same thing from contractors during early interviews: "I stopped adding people to the software because it costs too much." That's a sentence that should never exist. Your CRM is actively discouraging you from giving your team access.

What flat-rate means architecturally

Going flat-rate isn't just a business decision. It shapes how you build the product.

When you charge per seat, you're incentivized to build permission walls. Lock features behind tiers. Gate the admin view. Make the dispatcher seat cheaper but strip out reporting. You end up engineering artificial scarcity into your own product.

We didn't want to do that. Flat pricing meant we could ship one product, one codebase, one permission model. Everyone gets the same thing. The owner, the tech, the office admin, they all see what they need to see. We don't build gating logic. We don't maintain tier-based feature flags. The engineering simplicity alone has saved us weeks of work.

What we learned

First, flat-rate pricing is a conversation starter. Contractors are so used to per-seat quotes that when you say "one price, unlimited users," it doesn't compute at first. They think there's a catch. There isn't.

Second, it shifts the internal conversation from "how do we extract more per account" to "how do we make this product so good they never leave." That's a healthier product incentive.

Third, it does cap your revenue per account. We know that. A 20-person shop pays the same as a 3-person shop. But most of our market is 2-8 users, and at that range the flat rate works fine for both sides.

We charge $99/mo for the first three months, then $150/mo after that. Locked for life. No seat count, no usage surprises. It's not the right model for every SaaS company, but for the contractor market, it's been the single best product decision we've made.

Originally published at toolbagcrm.com

Top comments (0)