The renewal email lands in March. Your CRM provider quotes a price increase. Procurement signs off because the line item still rounds to a small number against quarterly revenue. The mistake isn't the renewal. It's that nobody computed the long-run total before the signature.
This post walks through break-even math on an illustrative composite specialty-finance firm built from several recent Merkra engagements: fund administration plus private-lending operations, mid-market headcount, mid-market revenue. Treat the numbers below as representative, not as a single named client.
The stack
The composite firm runs a tool set typical of mid-market specialty finance.
- CRM: Salesforce Sales Cloud Enterprise at $165/user/month {{source:https://www.salesforce.com/sales/pricing/}}
- E-signature: DocuSign Business Pro at $40/seat/month {{source:https://www.docusign.com/products-and-pricing}}
- General ledger: QuickBooks Advanced at $235/month {{source:https://quickbooks.intuit.com/pricing/}}
- Practice management: Karbon at $79/seat/month {{source:https://karbonhq.com/pricing/}}
- Proposal and engagement: Ignition at $99/month {{source:https://www.ignitionapp.com/pricing}}
Each line is a per-seat charge or a base subscription. None of them model the workflow that actually closes a loan at this firm: borrower intake routed by deal type, investor portal updating in the same event, doc package generated from one template library tied to the engagement.
Why the renewal compounds
The composite firm pays the per-seat tax on the subscription itself and on every new hire. Each officer added at a per-seat price ticks the renewal upward without adding a vendor feature.
The procurement math on any renewal cycle moves with the same inputs:
- Subscription price per seat, set by the vendor.
- Seat count, set by your hiring plan.
- Renewal percentage, set by the vendor's pricing committee, not by your usage.
Early renewals look reasonable against quarterly revenue. Late renewals look like a hire the firm didn't make.
How break-even actually works
A custom-owned system inverts the curve. Cost is front-loaded: discovery, design, build, handover. Pay once. After handover, the marginal cost of an added seat is negligible. The marginal cost of a feature change is engineering time, not a per-seat upcharge from a vendor pricing committee.
The break-even point is where the front-loaded custom cost equals cumulative SaaS spend through some future month. The inputs that decide where that month lands:
- One-time build cost, fixed-fee and scoped in discovery.
- Current monthly SaaS run-rate across the workflow being replaced.
- Expected headcount growth, which compounds the SaaS side and not the custom side.
For the composite firm above, the per-seat tools alone (CRM plus practice management plus e-signature) generate a monthly run-rate that compounds with every officer added. The custom portal handed over at the end of an engagement does not. The renewal cycle the firm used to dread becomes engineering cost already paid.
What we don't claim
Custom doesn't beat SaaS on every workflow. At a small accounting practice with a standard service menu, Karbon plus QuickBooks is the right answer; the per-seat math is too thin to justify a one-time build. The inflection point sits around the headcount where the SaaS-stack subtotal crosses the cost of carrying a senior in-house ops hire. Below that, rent. Above it, the math tips.
Signals that the math has already tipped:
- The renewal quote has grown faster than headcount across recent cycles.
- The team is doing material work in Excel because the official tool doesn't model the actual workflow.
If both signals are present, the SaaS stack is no longer the cheaper call. It's just the default one.
The framework
For your next renewal cycle, run the arithmetic the composite firm above ignored:
- Multiply per-seat price by current headcount by the months in your renewal window, and again by the headcount you expect at the end of it.
- Add the renewal compounding the vendor has already announced.
- Subtract the workflow gaps your team is currently patching in Excel and Zapier.
The result is the number the procurement signoff didn't show.
Build first. Pay second. Own everything.