How to run a pricing analysis as Professional Services Founders

Strategy & PlanningFor Professional Services Founders2 apps12 steps~24 min to set up

You're billing $180–$220/hr but you haven't raised rates in two years because you don't actually know what your blended cost-to-deliver is per engagement type. Your pricing lives in a folder of old proposals, adjusted by gut feel before each SOW. You know retainer clients are probably underpriced — the scope always creeps — but you can't prove it without pulling Harvest hours, Stripe invoices, and a Notion doc that three different people have edited. Nobody has time to do that before the next proposal goes out. So you keep quoting what you quoted last year, and the margin quietly shrinks.

Strategy & PlanningFor Professional Services Founders2 apps12 steps~24 min to set up
Outcome

What you'll set up

A live pricing dashboard that shows your realized margin per engagement type — retainer, project, and time-and-materials — pulled from your actual Stripe invoices and connected accounting data, not a spreadsheet someone updated last quarter
A scenario model that shows what happens to your runway and team utilization if you raise rates 15%, shift one retainer to value-based pricing, or drop a low-margin service line
A repeatable pricing audit you can run before any renewal or new SOW, so 'what should we charge?' has a data answer, not just a founder instinct
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your Stripe data on a schedule (charges, invoices, subscriptions) and your Plaid bank transactions on a schedule (categorized spend, vendor-level detail). QuickBooks entity data — bills, payments, vendor records — can also be synced on a schedule if your books are there. From that baseline, Scenario Analysis and a custom pricing dashboard are built on top of live, refreshed numbers — not a spreadsheet snapshot you'll distrust by Thursday.

Prompts to copy
Build me a pricing analysis dashboard that shows realized margin per engagement type — retainer, project, and T&M — using our Stripe invoice data and Plaid transactions. Group by client, flag any engagement where our effective hourly rate is below $150, and show month-over-month trend for the last 6 months.
Create a scenario model where I can test three pricing options side by side: keeping current rates, raising retainer rates 15%, and switching our two largest retainer clients to value-based pricing. Show how each scenario affects 12-month runway and monthly burn, using our actual Stripe and Plaid baseline.
Build a spend breakdown that shows how much we're paying per delivery category — contractors, software tools, travel, and direct client costs — so I can see fully-loaded cost per engagement type against what we're invoicing.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect Stripe: Starch syncs your charges, invoices, and subscription records on a schedule. This becomes the revenue side of every margin calculation — what clients actually paid, when, and under which engagement.
2 Connect Plaid: Starch syncs your bank transactions on a schedule, categorized by vendor. This is your cost side — contractor payments, SaaS tools, travel, anything that hits the account.
3 Optional — connect QuickBooks: if your bookkeeper has categorized bills by client or project, Starch syncs that entity-level data on a schedule so your cost allocation is cleaner than raw bank transactions alone.
4 Open Scenario Analysis from the App Store and connect it to your Stripe and Plaid data. The baseline scenario is built from your actual trailing revenue and burn — no manual inputs to get started.
5 Tell Starch: 'Show me realized margin per engagement type for the last 6 months, grouped by retainer, project, and T&M, using Stripe invoices matched against Plaid spend.' Starch builds the view; you see where margin is actually going.
6 Flag the underpriced engagements: tell Starch 'highlight any client where our effective hourly rate on Stripe invoices is below $150 after backing out contractor costs from Plaid.' You get a named list, not a hunch.
7 Build the rate scenarios: in Scenario Analysis, set up three side-by-side runs — current rates, +15% on retainers, and a value-based model for your top two retainer clients. Each scenario shows 12-month runway and monthly burn using your real baseline.
8 Add a cost-per-delivery layer: tell Starch 'break down our Plaid spend by category — contractors, software subscriptions, travel, and direct client costs — and show fully-loaded cost per month against what Stripe shows us invoicing.' This is the data your next pricing conversation needs.
9 Set a monthly pricing review automation: tell Starch 'every first Monday of the month, pull the previous month's Stripe invoices and Plaid transactions, calculate realized margin per engagement type, and send me a Slack summary with any engagement where margin dropped more than 5 points month-over-month.'
10 Before any renewal SOW, run the pricing audit prompt against that specific client's Stripe history: 'Show me every invoice for Acme Corp, total hours if in invoice line items, effective rate, and how that's trended over the last four quarters.' Walk into the renewal conversation with numbers.
11 Use the scenario model to pressure-test your next rate card before it goes out — not after three clients have already signed at the old number.
12 Publish the pricing dashboard as a shared view for your ops lead or finance person so the 'what are we actually making?' question has a self-serve answer and stops landing in your inbox at month-end.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 Retainer Pricing Audit — 11-person consultancy, three service lines

Sample numbers from a real run
Retainer revenue (Stripe, 6 clients, Q1)187,400
Project revenue (Stripe, 4 engagements, Q1)94,200
Contractor costs (Plaid, Q1)98,600
SaaS tools & overhead (Plaid, Q1)14,300
Travel & direct client costs (Plaid, Q1)8,900
Fully-loaded margin (blended)159,800

The pricing dashboard flags two retainer clients immediately: Meridian Group ($12,400/month retainer) and Orion Advisory ($9,800/month) are both showing effective hourly rates under $130 once contractor time is backed out of Plaid spend. Project work, by contrast, is billing at an effective $194/hr. The scenario model shows that raising retainer rates 15% across all six clients adds $28,110 to Q1 revenue and pushes 12-month runway from 8.1 months to 9.4 months — without a single new client. Switching Meridian and Orion to value-based pricing (scoped at 20% above current retainer) adds another $26,640 annually if both renew, and the scenario run shows break-even improving by 6 weeks. The founder walks into the Meridian renewal with the actual margin data, not a feeling. The rate goes up. Meridian stays.

Measurement

How you'll know it's working

Realized margin per engagement type (retainer vs. project vs. T&M), updated monthly from Stripe and Plaid
Effective hourly rate per client — what Stripe invoiced divided by hours delivered, flagged when below your floor rate
Contractor cost as a percentage of revenue, tracked by client to catch scope creep before it kills a retainer
Runway impact of rate changes — modeled in Scenario Analysis before the new rate card goes out
Month-over-month margin drift per engagement — caught automatically, not at the year-end review
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Kantata / Projector / Deltek
Built for 100+ person firms; implementation takes a quarter, seats are expensive, and they still won't pull your bank transactions to show fully-loaded margin — you'll be exporting to Excel anyway.
Harvest + a spreadsheet model
Harvest tracks time well but doesn't know what you invoiced in Stripe or what you paid contractors in Plaid, so your margin number is always a manual calculation that's out of date by the time you look at it.
QuickBooks reporting
Good if your bookkeeper is fast and your chart of accounts maps cleanly to engagement types — most 12-person firms' don't, and QuickBooks P&L views are currently temporarily unavailable in Starch pending a connector fix (entity-level data like invoices and bills syncs fine).
Float or Mosaic for scenario planning
These are solid cash-flow tools but they require manual baseline inputs; Starch's Scenario Analysis pulls your actual Stripe and Plaid numbers as the starting point so the model reflects reality, not last month's estimate.
On Starch RECOMMENDED

One platform — scenario planning, transaction insights all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

We don't track hours in Stripe — our invoices are flat-fee. Can Starch still calculate margin?
Yes. Starch uses your Stripe invoice amounts as the revenue side and your Plaid transactions as the cost side. If you want per-engagement cost allocation, you tell Starch how to categorize Plaid spend by vendor or description — 'anything paid to Contractor X maps to Client Y.' It's a one-time config, not an ongoing manual step.
Our books are in QuickBooks. Is that better than Plaid for cost data?
Starch syncs QuickBooks entity-level data — bills, payments, vendors, journal entries — on a schedule, which is cleaner than raw bank transactions if your bookkeeper has categorized correctly. One current limit: QuickBooks report views like P&L are temporarily unavailable in Starch while an upstream connector issue is fixed. Entity-level data syncs normally. For most pricing analyses, the combination of QuickBooks vendor/bill data and Stripe invoices is sufficient.
We use HubSpot to track deals. Can the pricing analysis pull in what we quoted versus what we invoiced?
Yes. Starch syncs your HubSpot deals — contacts, companies, deal amounts, stages — on a schedule. You can tell Starch to build a view that compares HubSpot deal value (what you proposed) against Stripe invoice totals (what the client actually paid), flagged by client. Scope creep becomes visible, not anecdotal.
Is Starch SOC 2 certified? Our clients sometimes ask about our vendor security posture.
Not yet — Starch is not SOC 2 Type II certified today. If that's a hard requirement for a specific client contract, it's worth knowing upfront. For most 10–20 person consultancies using Starch for internal financial analysis, it hasn't been a blocker — but we'd rather you know than find out later.
Can Starch automate sending a pricing summary to my ops lead or partner before each renewal?
Yes. Tell Starch: 'Two weeks before each Stripe subscription renewal date, pull that client's invoice history, calculate effective rate and margin trend, and email a summary to my ops lead.' Starch builds that automation — it runs on the renewal schedule, not whenever someone remembers to pull the report.
We use Xero instead of QuickBooks. Does that work?
Xero is available through Starch's integration catalog — connect it and the agent queries it live when your pricing app runs. It's not a scheduled sync like QuickBooks, so data is pulled fresh each time rather than stored in Starch's database. For a pricing review you run monthly, that's fine.

Ready to run run a pricing analysis on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.