PSA vs CRM: which system owns what (and where your margin hides)

Blog post image

PSA vs CRM: summary & key takeaways

  • The difference: A CRM manages how you win and grow accounts, while a PSA manages how you resource, deliver and get paid.

  • The gap: Your CRM knows what a retainer was sold for, but only the PSA knows what it cost to deliver, and margin is the difference.

  • The fix: Give every record one owner system and decide which fields cross from CRM to PSA at closed-won.

  • The decision: Most agencies past 50 people need both systems, connected, rather than one stretched to do the other's job.

PSA vs CRM is rarely an either/or choice for an agency past 50 people. Your CRM runs the pipeline and client relationships; a PSA, or professional services automation platform, connects projects, people and budgets to run delivery and margin.

Before I joined Teamwork.com, I was an Account Director without a PSA, so the sold fee was the one retainer number I trusted, and it said nothing about margin. This guide gives you a Record Ownership Map, a worked retainer example and clear rules for which system you need.

What a CRM does vs what a PSA does for an agency

A CRM answers "Will we win it, and who do we talk to?" while a PSA answers "Can we deliver it, and did we make money?" A CRM, or customer relationship management system, stores your companies, contacts and deals, and tracks each pitch through to signature.

The usual shorthand, CRM for pre-sale and PSA for post-sale, gets both systems wrong. Your CRM keeps working after the sale, running renewals, upsells and account growth with existing clients. A PSA works before the sale too, quoting from what past projects cost and checking capacity against the pipeline. For the full definition and core features, start with what PSA software is.

If delivery runs on a project tool today, the missing piece is money. Project tools track tasks, a PSA tracks what they cost, and our PSA vs project management software comparison covers the rest.

PSA vs CRM at a glance: the question each system answers

Dimension

CRM
PSA
Main question it answers
Will we win it, and who do we talk to?
Can we deliver it, and did we make money?
Core records
Companies, contacts, deals, pipeline stages
Projects, budgets, resource plans, timesheets, cost rates
Primary users at an agency
New business, account directors, marketing
Delivery leads, project managers, operations, everyone who logs time
Key metrics
Pipeline value, win rate, deal velocity
Billable utilization, budget burn, margin per retainer
Where it starts and stops
First touch through to renewal and upsell
Quote and capacity check through to handing billable time to finance
Typical examples
HubSpot, Salesforce, Pipedrive
Agency PSA platforms that connect projects, resourcing and budgets

Any question about a person, a pitch or a renewal date belongs in the CRM. Any question about hours, cost or margin belongs in the PSA.

Where the margin goes missing between the two systems

If each system answers a different question, the money question falls between them at closed-won. A deal gets marked won in the CRM, then someone retypes the scope, sold hours and rate into a project tool and a timesheet.

From there, the sold scope lives in a proposal PDF or an email thread, delivery estimates in a spreadsheet, and time in a tracker. Nobody lines sold hours up against delivered hours until the renewal comes around. Meanwhile, the CRM and the project tool keep two client lists that never quite agree, so no report can join them.

We had no shared intake or scoping process on my accounts, so each new project meant agreeing scope, owners and cadence from scratch. That's why I treat scope creep as a scoping problem that starts at the pitch, long before a client asks for more.

If the CRM says a client is your best account and your team dreads every request from them, both are probably true. The deal value is real, and so is the delivered cost nobody has added up. The won deal is the one record both systems touch, which makes it the place to fix this.

Turn won deals into planned projects

Connect your CRM in a free trial, so every closed deal becomes a project built from your own template.

Start free

The Record Ownership Map: give every field one home

Eleven records decide whether your agency can see margin, and each one needs exactly one owner system. The leak at closed-won happens because records have two homes or none, so the fix is to decide ownership field by field. The sync mechanics behind each connection are covered in our guide to PSA software integration.

Map each record to one owner system

Ownership means one system creates the record and every other system reads it. Your CRM owns the relationship and the sale, your PSA owns delivery and cost, and finance owns the money once it's invoiced. To test your current setup, pick any figure from your weekly ops meeting and ask which system created it. If the answer is two systems, or a spreadsheet, that row needs an owner.

The Record Ownership Map

Record

Owner system
Created when
Crosses at closed-won?
Who keeps it current
Company or client account
CRM
First contact or pitch
Yes, as the client record
Account director
Contacts
CRM
First contact or pitch
Yes, key contacts only
Account director
Deal value and stage
CRM
Proposal
Value only; stage stays in CRM
New business lead
Sold scope (SOW or proposal)
CRM
Proposal sign-off
Account director
Sold hours by role
CRM
Proposal estimate
Account director with delivery lead
Fee and rate card
CRM
Proposal sign-off
Account director
Budget type (retainer, fixed fee, T&M)
PSA
Closed-won
Yes, built from the fee
Operations lead
Project plan and resourcing
PSA
Tentative before closed-won
No, built in the PSA
Resource or project manager
Time and cost actuals
PSA
Daily, as time is logged
Everyone who logs time
Margin per retainer
PSA
As time is logged
No; shared back as a report
Operations lead
Invoice and payment
Finance system
Billing cycle
No; PSA sends billable time to finance
Finance team

The rule is one owner, one direction. The CRM pushes sold data into the PSA, the PSA pushes billable data to finance, and nobody edits a record twice.

The five fields that must cross at closed-won

Most of the map can sync on its own schedule, but five fields have to cross the moment a deal is won. Miss one and delivery starts from memory instead of from the sale.

  1. Client account ID: Without it, both systems name the same client differently and margin reports never join to CRM accounts.

  2. Sold scope: Without it, the team plans from the kickoff call, and change requests look like normal delivery.

  3. Sold hours by role: Without it, nobody can compare sold hours with delivered hours until the account is already over.

  4. Fee and budget type: Without it, the PSA can't build the right retainer, fixed fee or T&M budget to track burn against.

  5. Start date and account owner: Without it, resourcing guesses when people are needed and nobody owns the account after handoff.

The fastest way to make these fields stick is one project template per service type. A retainer, a campaign and a website build then each start with the right budget type, roles and phases. The project templates library gives you a starting structure to adapt.

Pro tip: Make closed-won the only way a new project can be created, so the five fields cross every time.

Worked example: one $120k retainer, two very different accounts

Say your agency signs a retainer at $10,000 a month, so the CRM shows a $120,000 account. The proposal scoped 64 hours a month at a blended cost rate of $70 an hour. That puts planned delivery cost at $4,480 a month and planned margin at 55.2%.

Retainer margin is the share of the monthly fee left after delivery cost:

Retainer margin=Monthly fee−(Hours delivered×Blended cost rate)Monthly fee\text{Retainer margin} = \frac{\text{Monthly fee} - (\text{Hours delivered} \times \text{Blended cost rate})}{\text{Monthly fee}}

Now the account drifts. Extra revision rounds and unscoped reporting push delivery to 88 hours a month. A senior lead also covers a gap, lifting the blended cost rate to $80. At a $10,000 fee, 88 hours and $80 an hour:

10,000−(88×80)10,000=2,96010,000=0.296\frac{10{,}000 - (88 \times 80)}{10{,}000} = \frac{2{,}960}{10{,}000} = 0.296

Delivery now costs $7,040 a month, and margin falls to 29.6%.

Retainer margin: as sold vs as delivered

Measure

As sold (CRM view)
As delivered (PSA view)
Monthly fee
$10,000
$10,000
Hours per month
64
88
Blended cost rate per hour
$70
$80
Monthly delivery cost
$4,480
$7,040
Gross margin
55.2%
29.6%

Over a year, planned gross profit of $66,240 becomes $35,520, a gap of $30,720 on one account. The CRM still shows a healthy $120,000 client with a renewal opportunity, and nothing in it is wrong. A weekly check of delivered against sold hours would have caught the extra 24 hours in month one, while they were still a scope conversation. Only delivery data shows that gap, which is why project profitability has to be tracked per account rather than per agency.

On the retainers I handled, worth roughly $5k to $30k a month, clients asked for more inside the same fee. I had no mechanism to recover that cost. I'd now take the delivered margin into every renewal, next to the retainer agreement terms, because the sold figure only tells the client's side.

Decision rules: CRM alone, PSA alone, or both connected

The PSA vs CRM decision depends on how you bill and whether the people who sell also deliver. Treat these thresholds as rules of thumb rather than hard cut-offs.

  • CRM alone is enough when: You bill fixed project fees, run few projects at once and have fewer than 15 to 20 delivery staff.

  • Add a PSA when: You run retainers or T&M, share people across accounts, or can't say within a day what an account cost last quarter.

  • Run both, connected, when: Sales and delivery are different people, so the handoff is a gap between teams as well as systems.

  • Use a PSA's built-in CRM module when: Your pipeline is mostly renewals and expansion with existing clients.

  • Keep a dedicated CRM when: Marketing runs inbound at volume and needs lead scoring and automation.

If two or more PSA triggers apply, the open question is how to connect the systems. The buying signals in when to choose PSA software help you pressure-test the timing.

See delivered margin on every retainer

Track sold against delivered hours on every retainer, so you walk into the renewal with the real margin.

Start free

Stretching one system to do both jobs: what it costs you

The cheapest stack on paper is often one system doing two jobs badly. Agencies try it to avoid a second contract, and the decision rules explain why the saving rarely holds.

Most CRMs now offer project objects or task boards, which track tasks and due dates well enough. They don't hold cost rates, billable utilization or budget burn, so a margin slide like the one in the worked example stays invisible. Going the other way works better for some agencies. A PSA's built-in CRM module handles contacts and a simple pipeline, but it lacks marketing automation and inbound lead scoring.

License cost follows your headcount mix. CRM seats usually go to new business and account directors, while PSA seats go to everyone who logs time. An agency with a small sales team and a large delivery team spends most of its software budget on PSA seats. That's also where the margin data comes from.

The hidden cost of stretching one system is re-keying at every handoff, plus the margin nobody can see. In the worked example, that was $30,720 a year on a single retainer, before counting the agency resource management decisions made on bad hours data.

Two connected systems beat one stretched system. The damage comes from two versions of the truth, whatever tool holds them.

If you're a 20-person studio on fixed fees, a PSA may be overhead you don't need yet. A CRM plus a disciplined estimate sheet will do. When you grow into retainers, PSA for agencies sets out what to look for.

How Teamwork.com connects the won deal to live margin

Teamwork.com is the agentic PSA that owns delivery between your CRM and your finance system. Project tools can't manage the money, and teams resist traditional PSAs; Teamwork.com gives you PSA-grade financials in a platform your team actually wants to use. Your CRM keeps the pipeline and client relationships, and your accounting tool keeps invoicing and the ledger. Teamwork.com takes the won deal, plans and resources the work, captures time and cost once, and shows margin on every retainer as you deliver.

Start delivery from the deal you actually sold: retyping a won deal is where sold scope and hours go missing. The HubSpot integration creates the client and a project from your template at Closed Won, and links HubSpot deals, companies and contacts to it. Automations add projects and tasks as deal stages change; on higher-tier plans, the Salesforce integration creates projects and clients at a stage you set. Your team logs time from HubSpot, and every project starts tied to the deal that sold it.

Blog post image

Book the people before the deal closes: saying yes to work your team can't staff is how a new retainer starts in overtime. You create and manage Tentative Projects from HubSpot, and their status updates automatically as the deal changes stage. Placeholders and soft allocations reserve capacity by role, with existing allocations in view so you can avoid overbooking. Once the deal is won, you convert the tentative project to confirmed, and the resourcing row of your ownership map is already filled.

Blog post image

See the delivered margin before the renewal call: the worked example's $120,000 account slid to 29.6% margin while the CRM still looked healthy. Cost and profitability management sets each budget as fixed fee, retainer or T&M, with custom cost rates and billable rates per person. Budget notifications alert you as burn climbs, and the profitability report ranks your most and least profitable projects and clients. AI profitability forecasting shows where each budget is heading, so you walk into renewals with the delivered number.

Blog post image

Invanity, a digital agency, moved project planning and workload management into Teamwork.com. The team now spends 50% less time building project plans and 80% less time on weekly workload management, and delivers 20% more projects on time.

Your CRM tells you what you sold; Teamwork.com tells you what it earned.

Try Teamwork.com free for 14 days, with no credit card required.
Start free

PSA vs CRM: frequently asked questions

Is a CRM a project management tool?

No, a CRM manages leads, deals and client relationships rather than projects. It records who you're selling to and where each deal stands. Planning tasks, timelines and resourcing needs a project tool or a PSA.

Can you integrate a PSA with a CRM like HubSpot or Salesforce?

Yes, most PSAs integrate with HubSpot and Salesforce so a won deal creates a project without retyping. Before you buy, check which direction data flows and which deal fields map to project fields. In Teamwork.com, a HubSpot deal reaching Closed Won creates a project from a template, and Salesforce opportunities create projects at a stage you set.

Is Salesforce or HubSpot a PSA?

No, Salesforce and HubSpot are CRMs built for pipeline, marketing and client relationships. Their core products don't plan resourcing against capacity or track delivery cost per retainer. Agencies usually pair them with a PSA through an integration.

Does a PSA replace a CRM?

Usually not, because most agencies keep their CRM for marketing and pipeline and add a PSA for delivery. Replacing the CRM means moving email history, marketing lists and sales reporting. That disruption rarely pays off for an agency with an active new business team.

What is the difference between PSA and ERP?

An ERP runs company-wide finance and operations, such as the general ledger, procurement and payroll. A PSA runs project delivery, resourcing and project margin. Many agencies use accounting software instead of a full ERP, with the PSA passing billable time across for invoicing.

Related Articles
View all