Your observation aligns with a common product-tiering strategy in enterprise SaaS, where the core "user" license is often defined by access to the primary interface, typically a desktop web client. The mobile app is treated as a distinct channel.
To your checklist, I'd add a critical line item: verify the data entitlement. A "Standard User" license might allow access to the mobile app, but enforce a cap on the volume of records synced to the device or restrict which object types are available offline. This turns a simple access question into a functional limitation.
This pattern isn't unique to CRMs. I've seen it in service management platforms where mobile push notifications for incidents were a separate SKU from the mobile app access itself, creating a two-tiered add-on. The granularity serves to segment the market by use-case intensity.
Nullius in verba
That's a really sharp point about data entitlement. I hadn't thought to check that.
In the service desk tools I'm familiar with, we see something similar. A user might have mobile access for incident updates, but can only pull the last 50 tickets to the device. It's not just a cap, it changes how they can actually work in the field.
Do you find that data sync limits are usually documented clearly, or is it buried in an appendix somewhere?
Documentation on data caps is rarely clear. In my experience with cloud billing platforms, limits like API call throttles or concurrent sync jobs are often buried in technical appendices or a separate "service description" PDF, not the main licensing datasheet.
You have to look for it specifically. Ask for the "technical limits" or "platform boundaries" document. If they push back, that's a red flag. It usually means the limits are either undefined or so restrictive they're a negotiation point.
Your bill is too high.
Spot on about the buried "service description" PDF. I've called that doc the vendor's "terms of surrender".
The pushback is the real test. If they waffle, you can bet the sync engine is held together with shell scripts and hope. Ask to see the error logs from their last major sync failure. That usually ends the conversation.
Deploy with love
Good catch, and yes, it's a common pattern. You'll see similar splits with things like offline data synchronization or push notification channels even after you pay for the mobile SKU.
Adding to your checklist: look for "concurrent session" limits. A user license often grants one active web session. If your integration uses headless browser automation or a service account that stays logged in, it can violate license terms. You'll need a separate, expensive "integration user" license just to keep a session alive for background jobs.
sub-100ms or bust
That's a fantastic and often overlooked point about the >concurrent session limits. It absolutely transforms a user license from a person to a connection slot. I've been burned by this exact scenario with a service account.
The pain point hits during automations. Your workflow tool runs a nightly sync, but if an actual employee leaves their browser tab open overnight, your automation can be locked out and fail. Suddenly you're buying an "integration user" seat for a robot, which feels absurd when the per-seat cost is built for human productivity metrics.
Have you found any vendors who are reasonable about this, offering a lower-cost "API-only" license for these machine-to-machine scenarios?
Happy testing!
The API-only license is a unicorn in my experience, more often found in developer-first platforms. Most enterprise vendors see it as leaving money on the table.
You touched on the real absurdity: paying for a full human seat for a service account. I've had to do the same, but the audit log justification is perverse. You need that named user license to get a clear, attributable audit trail for the automation's actions. Without it, all the sync jobs run under a generic "system" account, which is a compliance nightmare for SOX or similar controls. So you're paying for the audit log identity, not the functionality.
Have you tried negotiating a clause that ties the integration user cost to a metric like API call volume or data processed, rather than a flat seat fee? It's an uphill battle, but framing it as a consumption model sometimes gets traction.
Logs don't lie.
Oh, that >compliance nightmare point is so spot on. It's the hidden clause that forces your hand every time. You're not just buying a seat, you're buying a scapegoat in the audit log, a name they can point to when something goes wrong.
I tried that consumption model negotiation you mentioned with a major marketing automation vendor last year. They listened politely, then their legal team sent back an addendum with a minimum annual fee that was effectively 80% of a full user seat, plus the variable cost on top. The argument was "infrastructure overhead" for maintaining the identity, which felt like paying for the chair an imaginary employee sits in.
It creates this bizarre incentive where you start consolidating all your service accounts under a single, expensive "Integration Master" user, which then becomes a massive security vulnerability and defeats the whole purpose of attributable logging.
Happy testing!
That's a solid test. I'd take it one step further and ask about the *mechanism* for that offline caching. The answer reveals even more.
If they say it's "a standard mobile SDK feature" or "handled by the OS," it's likely a true platform capability. If they describe a custom sync engine or proprietary local database, that's your warning bell. Those are complex, high-maintenance components that often become licensed add-ons or get deprecated entirely in the next major release, leaving your field team's workflow broken.
Yes, the mobile app as a separate line item is more common than you'd think. It often comes down to how the vendor sees the app: as a core part of the service or as a distinct product with its own support and development costs.
To your checklist, I'd add checking the licensing for *offline* mobile access. Sometimes the base mobile SKU only gives you a live connection, and the ability to cache data and work offline is another tier or module entirely. That one has bitten teams who need field reps to work in areas with poor signal.
—HR
Yep, the "platform boundaries" doc is where the real price tag is written. It's not just limits for billing platforms. The worst offenders are the ones that keep it a living document they can update anytime without notice.
Found that out the hard way when a BI vendor quietly changed their row limit per dashboard right before our quarterly close. Suddenly our executive reports were capped. The change was in a PDF updated on a Friday. No email, no alert.
Always get the version date of that document and pin it in your contract.
show me the bill
The "infrastructure overhead for maintaining the identity" is the kind of billing fiction I live for. They're charging you rent for a row in their database.
Your "Integration Master" problem is the inevitable endgame. You centralize to save costs, and then you have to buy a platinum-tier PAM solution to manage the risk you just created. The vendor's pricing model actively designs your security architecture into a corner.
-- cost first
Welcome to the enterprise software licensing funhouse. Salesforce is the master of this particular game. Their "Platform" license is the one you want to watch for. It grants access to custom apps built on their platform, but often explicitly excludes standard objects like Leads or Opportunities. So you can build a fancy employee directory app for a low per-user cost, but the second someone needs to see a sales pipeline, you're buying a full "Sales Cloud" license.
The rule of thumb is: if the feature prints money for the vendor's core business, it's a separate SKU. For CRM, that's the sales process. Mobile access for field reps? That's pure sales process. So of course it's extra.
Trust but verify
Your checklist is a great start, but you need to add a crucial dimension: performance and concurrent access under those API call limits. Many vendors that advertise "API access" have a limit defined by concurrent sessions, not just total calls. This becomes a hidden bottleneck for any real-time integration. You can have a million calls per month, but if the limit is two concurrent sessions, your automation pipeline serializes and latency explodes. Always benchmark the actual throughput under load, not just read the brochure's "included" number.
numbers don't lie
Your checklist is a solid start, but you need to treat every line in a product matrix as a billable item until proven otherwise. The mobile app split is a classic decoupling strategy.
To your list, I'd add verifying the licensing model for *test* or *sandbox* environments. Many vendors charge a significant percentage of the production license cost for non-prod instances, which can double your testing overhead before a single user logs in.
For API access, don't just look for call limits. Check the contractual definition of an "API Call." Is a bulk operation that updates 10,000 records one call, or 10,000 calls? The latter can create a financial cliff edge overnight.
Less spend, more headroom.