RevOps HQ
← BACK TO BLOG
••
Revenue Operations•Industry Solutions

Best CRM for MSP: Requirements, Platform Categories and Evaluation Method

Best CRM for MSP selection: the five requirements an MSP brings, where PSA-native platforms and general CRMs each win, and a method for testing a shortlist.

P

Paul Maxwell, PhD

AUTHOR

GET WEEKLY REVOPS INSIGHTS

No spam. Unsubscribe anytime.

A managed service provider that adds a general CRM to repair its sales process can find, a year later, that the CRM reports one monthly recurring revenue figure and the invoices another. Every client exists as two company records, and renewal meetings open on unit counts the service desk changed months earlier. Neither product is malfunctioning. The fault lies in treating the search for the best CRM for MSP work as the choice of one system, when an MSP's commercial records sit in two systems built for different jobs.

This article sets out how an MSP chooses a CRM. It starts with five requirements and the three questions they conflate, then locates the agreement of record, on which the rest depends. It compares PSA-native systems, ConnectWise PSA and Autotask, with general CRMs, HubSpot and Salesforce, and measures revenue drift between them on sample data. A comparison table, three stack architectures, an evaluation procedure and a set of symptoms follow.

Four terms carry the argument. A professional services automation (PSA) system runs delivery: tickets, technician time, contracts and the invoices raised against them. A remote monitoring and management (RMM) tool watches client devices and raises an alert when a monitored condition fails. An agreement is the recurring contract a client is under; Autotask calls it a contract. The agreement of record is whichever system's copy of that contract produces the invoice, and monthly recurring revenue (MRR) is the recurring amount billed per month across agreements.

MSP CRM Requirements and the Questions They Conflate

An MSP evaluating a CRM brings five requirements: recurring agreements, PSA and RMM integration, ticket-to-account linkage, MRR reporting, and material for quarterly business reviews (QBRs). Each reads as a CRM feature on a comparison grid. Taken apart, they answer three separate questions, and scoring them as one list rewards breadth rather than fit.

The first question is where delivery is recorded. Ticket-to-account linkage and RMM integration belong here, with the consumption side of an agreement: its hours, devices and users.

The second question is where revenue is won. Leads, opportunities, quotes, marketing engagement and the expansion conversation in a QBR are commercial records, created before an agreement exists or while its renewal is negotiated.

The third question is where recurring revenue is true. With two systems, MRR reporting is a reconciliation between the MRR a contract was sold at and the MRR it is billed at today. A QBR draws on all three answers at once.

The Agreement of Record and the Single Commercial Join

The system that holds the agreement is the system every delivery record resolves to, and Autotask documents the resolution in order. A ticket takes its contract from the device it concerns; failing that, from the organisation's default service desk contract; failing that, from the parent organisation's default (Autotask contract application). Time entered on the ticket bills through that contract unless its role or work type is excluded. ConnectWise calls the same principle agreement tie-back, which it states keeps all work billable and accounted for (ConnectWise PSA).

A CRM running beside a PSA therefore meets the agreement at one point: the won opportunity that creates it. Every later change happens where the service desk works. When a client adds twelve users, retires a site or cancels, the PSA's copy is amended, because that copy produces the invoice. The CRM learns of the amendment only if an integration writes it back.

Every delivery record resolves to the agreement in the PSA; the CRM meets it at one joinTwo zones. In the upper zone, the general CRM, leads and pipeline lead to a won opportunity, which carries MRR as sold. In the lower zone, the PSA, four delivery records point into the agreement of record: the device mapped from the RMM, the service ticket, the technician time entry, and any amendment or cancellation. The agreement produces the recurring invoice, which carries MRR as billed. One solid arrow crosses from the won opportunity down to the agreement: the single join, at which the won opportunity creates the agreement. One dashed arrow returns from the agreement to the CRM, labelled as reaching the CRM only if an integration writes amendments back.GENERAL CRM · WHERE REVENUE IS WONLeads and pipelineWon opportunityMRR as sold, from its line itemsPSA · WHERE DELIVERY IS RECORDEDDevice mapped from the RMMService ticketTechnician time entryAmendment or cancellationAgreement of recordthe contract that billsRecurring invoiceMRR as billedThe one jointhe won opportunity creates the agreementamendments reach the CRMonly if an integration writes them
Every delivery record resolves to the agreement in the PSA, while the CRM meets that agreement at a single join, the won opportunity

In any stack where a PSA bills recurring agreements, the MRR held in the CRM describes contracts as sold. It diverges from billed MRR by every amendment made in the PSA after signature. HubSpot builds this in: its MRR property is calculated from the recurring line items on the deal (HubSpot default deal properties), so it moves only when someone edits a closed deal. Two consequences follow, and both can be checked. A reconciliation on totals cannot detect the divergence, because additions on some agreements offset reductions and cancellations on others. And the divergence can be estimated before any CRM is bought. The PSA's billing history records every agreement amended after signature, and a CRM without a write-back would carry each of them at the wrong value.

PSA-Native Platforms: ConnectWise PSA and Autotask

PSA-native platforms are built around the agreement, and on delivery they are the stronger category. Autotask's recurring service contract generates a billing item at a set interval, calculated as a fixed amount per unit such as a PC or a software licence (Autotask contract types). Service level agreements attach to the services and bundles a contract carries (Autotask contract configuration). ConnectWise states that its agreements track the hours clients consume against their contracts (ConnectWise PSA billing).

Datto RMM devices appear in Autotask as configuration items, each assignable to a billing contract and, for recurring service contracts, to a service or bundle. Each monitor type can create tickets in designated Autotask queues, and an alert ticket can resolve itself when the RMM alert clears (Datto RMM and Autotask). A mapped device carries its contract into every ticket raised against it.

The PSA-native products also own the handoff a split stack has to build. Autotask's Won Opportunity Wizard closes the opportunity, changes the organisation type to customer where necessary, and can create a recurring service contract or add services to an existing one from the quote (Autotask Won Opportunity Wizard). ConnectWise describes a closed opportunity's details flowing into agreements, projects and services without re-entry (ConnectWise PSA CRM). With the sale and its agreement in one database, there is no second copy to drift.

Acquisition is thinner on the documentation read for this article. Both vendors present their CRM modules around opportunities, pipelines and the path from sale to delivery. Neither set of pages cited here describes multi-touch marketing attribution. Campaign and email tooling inside the PSA modules was not assessed, so acquisition is compared below on documented attribution alone.

General CRMs for MSPs: HubSpot and Salesforce

A general CRM can hold an MSP's agreements, but they have to be modelled, and the two products compared here model them at different cost. The firm that publishes this page implements HubSpot as a Solutions Partner; the axes on which Salesforce and the PSAs are stronger are taken from their own documentation for that reason.

In HubSpot the agreement is a custom object, created under Data Management > Data Model and available only on Enterprise subscriptions (HubSpot custom objects). That object's design is set out in the MSP service agreement object model. HubSpot's native MRR sits on the deal instead: the Monthly recurring revenue property is calculated from the deal's recurring line items, ignores the Amount property, and requires Sales Hub Professional or Enterprise. The properties recording upgrades, downgrades and churn belong to recurring revenue tracking, which requires Sales Hub or Service Hub Enterprise (HubSpot default deal properties).

Service levels follow the same pattern. On Service Hub Professional, help desk SLA goals for first reply, next reply and close are keyed to one ticket property: priority, team, source or pipeline. Keying goals to a combination, such as a client tier held on the associated company, requires Service Hub Enterprise (HubSpot SLA goals). The rule is fixed when the SLA is applied and is not re-evaluated when the ticket or its associated properties change.

Salesforce is the stronger general CRM on both axes, because service contracts, contract line items and entitlements are standard parts of its entitlement management. A service contract can represent a warranty, subscription or service level agreement; an entitlement can be associated with accounts, assets, contacts and service contracts; and entitlement processes run milestones such as First Response and Resolution Time. Salesforce's entitlement management guide lists these in Professional, Enterprise, Performance, Unlimited and Developer editions with Service Cloud, and Salesforce Help on service contracts covers setup. An MSP running agreements without a PSA starts closer in Salesforce; the wider trade is covered in HubSpot vs Salesforce.

The general CRMs are stronger on acquisition. HubSpot attributes contact creation, deal creation and revenue to the marketing interactions on a buyer's path, each report type gated by Marketing Hub tier (HubSpot attribution reporting). Beside a PSA, HubSpot's data sync runs one way or two ways on all plans, with custom property mappings on a paid Data Hub subscription (HubSpot data sync). The App Marketplace lists a ConnectWise PSA data sync. Which objects a connector carries is the first question to settle: an agreement it does not sync is an agreement the CRM cannot report.

MRR Drift Between a CRM and a PSA, on Sample Data

The figures below are sample data and describe no client. A sample MSP holds 48 managed agreements. Its CRM carries MRR from the recurring line items on each won deal, and its PSA bills recurring contracts per unit. Since signature, the service desk has amended unit counts in the PSA and two clients have cancelled. None of these changes reached the CRM, and each falls on a different agreement.

MRR in the CRM against recurring billing in the PSA for one month, sample data
MovementMRR in the CRM, from won dealsAgreements48Monthly value$182,400
MovementUnit additions made in the PSA after signatureAgreements14Monthly value+$9,850
MovementUnit reductions made in the PSA after signatureAgreements5Monthly value−$2,310
MovementCancellations recorded in the PSA onlyAgreements2Monthly value−$6,200
MovementRecurring billing in the PSA for the monthAgreements46Monthly value$183,740

The monthly totals differ by $1,340, which is 0.7 per cent of the CRM figure and would pass a reconciliation on totals. The gross divergence is the three movements summed without their signs: $9,850 plus $2,310 plus $6,200, or $18,360, which is 10.1 per cent of the CRM figure. Twenty-one of the 48 agreements, 43.8 per cent, carry a CRM value that does not match what the PSA bills.

On sample data, an $18,360 gross divergence nets to a $1,340 difference in the totalsHorizontal bars on one scale from zero to twenty thousand dollars a month, using the article's sample data for an MSP with 48 agreements. Three movements made in the PSA and never written back to the CRM: unit additions on 14 agreements, plus 9,850 dollars; unit reductions on 5 agreements, minus 2,310 dollars; and cancellations on 2 agreements still counted in the CRM, minus 6,200 dollars. Below a divider, the gross divergence, the three movements summed without their signs, is 18,360 dollars across 21 of 48 agreements. The net difference between the monthly totals, which is all a totals check sees, is 1,340 dollars.SAMPLE DATA · ONE MONTH · 48 AGREEMENTS$0$5k$10k$15k$20kUnit additions in the PSA14 agreements+$9,850Unit reductions in the PSA5 agreements−$2,310Cancellations kept in the CRM2 agreements−$6,200Gross divergence21 of 48 agreements wrong$18,360Net difference in totalswhat a totals check sees$1,340Gross = 9,850 + 2,310 + 6,200 = 18,360. Net = 9,850 − 2,310 − 6,200 = 1,340.
On the sample data, offsetting movements shrink an $18,360 gross divergence to a $1,340 difference between the monthly totals

Reading the net figure alone produces two errors. A renewal forecast built from CRM MRR understates fourteen agreements and overstates five, so nineteen renewal conversations open on a wrong number while the portfolio total looks close. The two cancelled agreements stay in the CRM as $6,200 of MRR, which is churn a board report needs, hidden from a totals check by additions elsewhere.

The repair lies in the direction of the sync rather than in a better report. Amendments made in the agreement of record have to reach the CRM, or the CRM has to stop reporting its own MRR and read the billed figure from the PSA.

MSP CRM Comparison by Requirement

Where each MSP requirement is met, by platform category, as documented in September 2026
RequirementRecurring agreementsPSA-native: ConnectWise PSA, AutotaskNative, and the agreement bills per unitGeneral CRM: HubSpot, SalesforceModelled: a HubSpot custom object on Enterprise, or Salesforce service contracts with Service Cloud
RequirementWon opportunity to agreementPSA-native: ConnectWise PSA, AutotaskNative: the Autotask wizard creates or extends a recurring contractGeneral CRM: HubSpot, SalesforceA connector or integration writes the won deal into the PSA
RequirementRMM integrationPSA-native: ConnectWise PSA, AutotaskDevices mapped to billing contracts; alerts raise ticketsGeneral CRM: HubSpot, SalesforceReached through the PSA, or built
RequirementTicket-to-account linkagePSA-native: ConnectWise PSA, AutotaskContract from the device, then the organisation default, then the parent defaultGeneral CRM: HubSpot, SalesforceHubSpot uses the contact's primary company; Salesforce links entitlements to accounts, assets and contracts
RequirementPer-client service levelsPSA-native: ConnectWise PSA, AutotaskAutotask ties SLAs to a contract's services and bundlesGeneral CRM: HubSpot, SalesforceHubSpot by client tier on Service Hub Enterprise; Salesforce entitlement milestones
RequirementMRR reportingPSA-native: ConnectWise PSA, AutotaskMRR as billedGeneral CRM: HubSpot, SalesforceMRR as sold; HubSpot calculates it from the deal's recurring line items
RequirementQBR materialPSA-native: ConnectWise PSA, AutotaskTickets, hours and SLA attainment per agreementGeneral CRM: HubSpot, SalesforceRenewals, expansion pipeline and marketing engagement
RequirementAcquisitionPSA-native: ConnectWise PSA, AutotaskOpportunities built around the sale-to-delivery path; no attribution documentedGeneral CRM: HubSpot, SalesforceMarketing automation and multi-touch attribution

The table has no winning column: the PSA-native category holds delivery and the handoff, the general CRM holds acquisition, and MRR appears in both under different definitions.

Stack Architectures: Costs and Returns

The categories combine into three architectures. No return below is quantified, because no vendor documentation or public study located for this article measures them for MSPs.

A PSA Alone, With Its CRM Module

This buys one agreement of record, a handoff with no sync, and QBR material from one database. It costs acquisition depth, since marketing tooling is whatever the PSA's module provides. The case is strongest for an MSP whose new agreements come from referrals and renewals, sold by an owner who also reads the service data. It is weakest where growth depends on generated demand whose channels must be measured and funded.

A PSA Beside a General CRM

This buys marketing automation, attribution and sales engagement, with the PSA left to run delivery. It costs a sync to build and maintain, a second company record for every client, a paid Data Hub subscription wherever HubSpot's sync needs custom mappings, and the reconciliation measured above. The case is strongest where a distinct sales and marketing team works before any agreement exists and the CRM is not asked to report billed MRR. It is weakest where amendments are frequent and leadership expects CRM MRR to match the invoices, a design problem treated in the HubSpot integration architecture paper.

A General CRM as the Agreement System

This buys one database for sales, service and agreements, with no PSA licence and no sync. It costs a rebuild of what the PSAs document natively: agreements, per-client service levels, device-to-contract mapping, and technician time billed through an agreement, which the CRM documentation cited here does not describe. The case is strongest for an IT services firm whose work is project-based, or whose managed book is small enough to amend by hand. It is weakest for a per-device, per-user MSP with RMM-driven ticket volume, where contract precedence decides how every alert ticket bills.

Evaluation Method for an MSP CRM Shortlist

The method tests the joins between systems rather than the feature list, since the features are documented and the joins are where architectures differ.

  1. Count the amendment rate: agreements whose units, services or status changed after signature in the last twelve months of PSA billing, divided by all agreements. It is the share of agreements a CRM without a write-back would carry at the wrong value. In the sample the rate is 21 of 48, and it sets the weight of step 5.
  2. Name the agreement of record in writing, the PSA or the general CRM, before any vendor demonstration.
  3. Assign each of the five requirements to delivery, commercial or reconciliation, and to its owning system, using the comparison table as the template.
  4. Test the forward join in a trial account. Win an opportunity with recurring lines and confirm that an agreement exists in the agreement of record with the right services and unit counts, without re-keying. In a split stack, read the connector's object list first; for HubSpot's data sync it is under Settings > Integrations > Connected Apps, then the app, then the button labelled Set up your sync (HubSpot data sync).
  5. Test the reverse join. Add units to one agreement and cancel another in the PSA, then record whether and when the CRM's MRR changes. A connector that syncs companies and contacts but not agreements fails here.
  6. Test delivery routing. Give a device a contract on Autotask's Endpoint Management Configuration Item Mapping page (Datto RMM and Autotask), then raise an RMM alert on it. Confirm the ticket lands on that contract with the client's service level. In HubSpot, compare the ticket's SLA goals with the rules under Settings > Inbox & Help Desk > Help Desk > SLAs (HubSpot SLA goals).
  7. Verify with an agreement-level reconciliation for one billing month. Export recurring billing per agreement from the PSA and MRR per agreement from the CRM, and join them on the PSA agreement identifier held on the CRM record. A client identifier serves only where each client holds one agreement. Count the mismatches. The stack passes when the count is zero or each mismatch has a documented timing rule, and the count becomes the quarterly baseline.

Symptoms of a Misplaced Agreement Record

The MRR totals agree while the account-level figures do not. Additions on some agreements offset reductions and cancellations on others, so the net difference stays small while the gross divergence is large. Reconcile per agreement, then repair the write-back from the PSA rather than editing CRM values by hand.

Tickets for one client appear under another company in HubSpot when a contact works across two clients, such as an outsourced bookkeeper, since HubSpot associates a new ticket with its contact's primary company by default (HubSpot record associations). The fix is to set the company from the PSA account at creation, or to turn automatic association off and associate by rule.

A HubSpot ticket runs to a service level the client has since upgraded away from. The SLA rule was fixed when the SLA was applied, and reapplying goals to open tickets updates their timing without moving them to a different rule (HubSpot SLA goals). The upgrade governs new tickets only, and attainment reporting should exclude tickets opened before it.

Every client exists twice after the PSA and CRM are connected when the sync matched companies on a field that is not unique, such as a name. The durable fix is a stored PSA account identifier on the CRM company for the sync to match on; records already duplicated are handled by the survivorship rules in deduplication across three systems.

RMM alert tickets arrive in Autotask with no contract. The device has no contract on the Endpoint Management Configuration Item Mapping page. Neither the organisation nor its parent has a default service desk contract, so none of the three precedence rules applies (Autotask contract application). A device contract fixes that device; an organisation default catches every device not yet mapped.

Evidence Limits and Scope of This Comparison

Product behaviour, tier gates and editions are as documented in September 2026, and the linked documentation outranks this text as releases change them. ConnectWise's product documentation requires a partner sign-in, so every ConnectWise statement here rests on public product pages, which a demonstration should confirm.

The comparison covers four products in two categories, quotes no prices because none were read from the vendors for this article, and does not assess other PSAs or CRMs, or the campaign tooling inside the PSA modules. For an MSP that chooses HubSpot, the setup is described in the MSP industry walkthrough.

The deeper limit is evidential: the sample shows the arithmetic of drift, not its prevalence. No public study located for this article measures how far CRM and PSA recurring revenue diverge across MSPs, or whether any architecture improves margin or growth. The procedure above measures the one quantity an MSP can check in its own data before buying, and that measurement outranks this page.

Frequently Asked Questions

Which is the best CRM for MSP provider businesses? No single product, because the answer depends on which system holds the agreement of record. An MSP selling through referrals and renewals can run on its PSA's CRM module; one with a marketing function adds a general CRM and designs the write-back of agreement changes before go-live.

What is the best CRM for small MSP or IT support business owners without a sales team? The CRM module inside the PSA, because the owner who sells also reads the service data and the handoff needs no sync. A general CRM earns its cost when generated demand must be measured, or when the business is project-based with no recurring agreements.

Is a PSA the best "CRM" for MSP service delivery? For delivery it is the stronger category by design: tickets take their contract from the device, RMM devices map to billing contracts, and technician time bills through the agreement. For acquisition it is the weaker category on the vendor documentation compared here, which describes no multi-touch attribution.

In Summary

An MSP's CRM decision goes wrong when it starts from a feature grid, because the five requirements divide into delivery, commercial and reconciliation questions. Delivery belongs to the system holding the agreement of record, which in the PSA-native products is the PSA by design. General CRMs are stronger on acquisition, and of the two compared, Salesforce starts closer to an agreement model through Service Cloud, while HubSpot needs Enterprise custom objects and, for per-client service levels, Service Hub Enterprise.

Where a CRM runs beside a PSA, its MRR describes contracts as sold; the sample shows totals agreeing within 0.7 per cent while 21 of 48 agreements are wrong. Before signing anything, count the agreements amended after signature in the PSA's last twelve months of billing. That is the share a CRM without a write-back would carry wrong. Where a CRM already runs beside the PSA, the agreement-level reconciliation measures the same drift directly. Either count says whether the business needs a general CRM, a write-back that carries amendments into one, or only the CRM module its PSA already contains.

HubSpot services

Onboarding, implementation, integration, migration, administration and training, each scoped and priced before the work begins

WEEKLY PROGRAM

RevOps Office Hours

A recurring weekly RevOps operating program. Live support plus hands-on HubSpot implementation work.

$1,500/mo
Monthly Operating Program
  • →1 live Office Hours session per week
  • →4 hours of hands-on implementation work per month
  • →Hours allocated against priorities agreed at the start of each period
  • →Recurring monthly cadence