How Fulcrum went from “what’s our ARR?” to a number the board trusts
How Fulcrum went from “what’s our ARR?” to a number the board trusts
Fulcrum had just raised its Series A and was tripling its sales team, but had no reliable ARR figure. Without a finance person, calculating one could take weeks. We defined ARR once, got every team to agree on it, and built it into Salesforce so the number now maintains itself.
Fulcrum had just raised its Series A and was tripling its sales team, but had no reliable ARR figure. Without a finance person, calculating one could take weeks. We defined ARR once, got every team to agree on it, and built it into Salesforce so the number now maintains itself.
| Category | Share of ARR added |
|---|---|
| New business | 24% |
| Expansion | 52% |
| Renewals | 24% |
of goal
Outcome
Outcome
Weeks → live
Weeks → live
ARR went from weeks of manual reconciliation to a live Salesforce report
ARR went from weeks of manual reconciliation to a live Salesforce report
24 days
24 days
From kickoff to a Salesforce instance live for the sales team
From kickoff to a Salesforce instance live for the sales team
~45%
~45%
Share of closed-won ARR that was missing from reporting, found and recorded
Share of closed-won ARR that was missing from reporting, found and recorded
35 people
35 people
Across sales, CS, finance and product now working from one system
Across sales, CS, finance and product now working from one system
Key Challenge
Key Challenge
Key Challenge
| Check | Deals affected |
|---|---|
| No owner assigned | 27% |
| No company associated | 14% |
| No contact associated | 8% |
Checks may overlap; percentages are not additive.
Fulcrum builds an AI platform that automates account work for insurance brokerages, from certificates and policy checks to proposals and renewals. In January 2026 it raised $25M in a combined Seed and Series A led by CRV. Its customers include many of the top 50 US brokerages.
Growth was fast. The sales team was set to triple within months. The revenue data couldn’t keep up.
No ARR number. Fulcrum had no finance person. ARR was spread across Notion, spreadsheets and signed contracts, and producing one figure could take weeks. As CEO Arjun Mangla put it: “we need to be able to tell our exact ARR.”
No shared definition. Sales, CS and leadership each counted revenue differently: total contract value vs annual value, close date vs contract start date, one-time fees in or out.
Every contract was different. Seat and consumption pricing across several product lines, multi-year terms and mid-term expansions meant no two contracts looked alike.
Errors in the records. A review of existing ARR turned up more than a dozen known errors: multi-year totals booked as annual revenue, churned and voided contracts still counted, expansions missing entirely.
A CRM that wasn’t fit for purpose. HubSpot had been set up too simply to use. Customer data lived in Notion. Of the deals in HubSpot, 27% had no owner, 14% had no company record associated and 8% had no contact associated at all.
Solution
Solution
Solution
We started with definitions rather than software. The hardest part wasn’t the build. It was getting everyone to agree on what ARR actually meant, then building that definition into Salesforce so thoroughly that reps couldn’t get it wrong.
We started with definitions rather than software. The hardest part wasn’t the build. It was getting everyone to agree on what ARR actually meant, then building that definition into Salesforce so thoroughly that reps couldn’t get it wrong.
Defining ARR everyone agreed on
Defining ARR everyone agreed on
Fulcrum’s pricing was still changing while we built, and the ARR logic went through four or five revisions in the first two months. Rather than lock in rules too early, we worked through real contracts with leadership, sales and CS until every team signed off on the same definitions:
Current ARR: the annualised recurring value of every closed contract, excluding churn.
First-year net-new ARR: the forecasting and quota metric, excluding one-time implementation fees. It also shows in Gong forecasts instead of total contract value.
ARR starts on the contract start date, not the day the deal closes. The commission, by contrast, follows the close date.
Recurring vs one-time: seats, licences and usage count towards ARR; onboarding, setup and pass-through fees don’t.
Total contract value and ARR are separate fields, so invoices match the deal while ARR stays clean.
Expansions end with the main contract, so they roll into its renewal.
Once agreed, each rule was written into Salesforce and documented in Notion, so the definition lives in the system rather than in someone’s head.
Fulcrum’s pricing was still changing while we built, and the ARR logic went through four or five revisions in the first two months. Rather than lock in rules too early, we worked through real contracts with leadership, sales and CS until every team signed off on the same definitions:
Current ARR: the annualised recurring value of every closed contract, excluding churn.
First-year net-new ARR: the forecasting and quota metric, excluding one-time implementation fees. It also shows in Gong forecasts instead of total contract value.
ARR starts on the contract start date, not the day the deal closes. The commission, by contrast, follows the close date.
Recurring vs one-time: seats, licences and usage count towards ARR; onboarding, setup and pass-through fees don’t.
Total contract value and ARR are separate fields, so invoices match the deal while ARR stays clean.
Expansions end with the main contract, so they roll into its renewal.
Once agreed, each rule was written into Salesforce and documented in Notion, so the definition lives in the system rather than in someone’s head.
A custom CPQ built on Salesforce’s standard objects
A custom CPQ built on Salesforce’s standard objects
| Product family | Billing model | Included in ARR |
|---|---|---|
| ✓Platform fee | Recurring | Yes |
| ✓User seats | Recurring | Yes |
| ✓Document processing | Recurring | Yes |
| ✓Implementation | One-time | No |
Fulcrum sells a mix of platform fees, user seats, document-processing blocks, proposal templates and one-time implementation work, with tiered and consumption pricing. Instead of licensing Salesforce’s Revenue Cloud, we built a lightweight CPQ (configure, price, quote) directly on opportunities and products.
One way in. Reps configure every deal through a single guided “Add Products” flow, which loops through each product family in turn. Manual product entry was switched off once the flow went live.
The product library does the work. Every product carries its family, its default price and a recurring or one-time flag. List prices are set at the maximum and reps discount down, so pricing stays consistent.
Calculated, not typed. From the products, quantities and contract dates, Salesforce works out total contract value, first-year ARR and average ARR. Short-term expansions and contracts longer than a year are annualised automatically.
Locked once configured. Product lines can’t be edited by hand after they’re set; changes go back through the flow. This stops the manual maths errors that had crept into Fulcrum’s old contracts.
Built for edge cases. A partner integration fee is billed and renews with the contract but never counts towards ARR. Mid-market seat-and-block bundles, per-seat consumption limits and first-year discounts are all handled by the same flow.
Ready for contracts. The same product data now generates order forms from the opportunity, the first step towards e-signature for mid-market deals.
The CPQ went live in April and was used on every deal from then on, including end-of-quarter enterprise deals, with a recorded training session for the sales team.
Fulcrum sells a mix of platform fees, user seats, document-processing blocks, proposal templates and one-time implementation work, with tiered and consumption pricing. Instead of licensing Salesforce’s Revenue Cloud, we built a lightweight CPQ (configure, price, quote) directly on opportunities and products.
One way in. Reps configure every deal through a single guided “Add Products” flow, which loops through each product family in turn. Manual product entry was switched off once the flow went live.
The product library does the work. Every product carries its family, its default price and a recurring or one-time flag. List prices are set at the maximum and reps discount down, so pricing stays consistent.
Calculated, not typed. From the products, quantities and contract dates, Salesforce works out total contract value, first-year ARR and average ARR. Short-term expansions and contracts longer than a year are annualised automatically.
Locked once configured. Product lines can’t be edited by hand after they’re set; changes go back through the flow. This stops the manual maths errors that had crept into Fulcrum’s old contracts.
Built for edge cases. A partner integration fee is billed and renews with the contract but never counts towards ARR. Mid-market seat-and-block bundles, per-seat consumption limits and first-year discounts are all handled by the same flow.
Ready for contracts. The same product data now generates order forms from the opportunity, the first step towards e-signature for mid-market deals.
The CPQ went live in April and was used on every deal from then on, including end-of-quarter enterprise deals, with a recorded training session for the sales team.
Every deal follows the same path: the rep picks products and dates, and Salesforce does the math.
Every deal follows the same path: the rep picks products and dates, and Salesforce does the math.
ARR snapshots: one record per contract year
ARR snapshots: one record per contract year
| Snapshot | Contract period | Status | Account ARR rollup |
|---|---|---|---|
| Snapshot 01 | Year 1 | Active | Included |
| Snapshot 02 | Year 2 | Scheduled | Excluded |
| Snapshot 03 | Year 3 | Scheduled | Excluded |
A single ARR number on a deal breaks as soon as contracts run for more than a year, ramp up in year two or end early. So when a deal closes, Salesforce creates an ARR snapshot record for each contract year, each with its own start date, end date and annualised value.
A contract of a year or less gets one snapshot; a three-year deal gets three. Roll-ups then add the active snapshots up to the account, and from child accounts to their parent, giving every customer a live ARR figure with its subscription dates.
This is what makes the rest possible:
Accurate multi-year ARR. Year-three revenue is never counted as today’s ARR, and a three-year total is never booked as annual revenue.
ARR by type. Snapshots split recurring software from one-time and onboarding revenue, and platform from consumption.
Early terminations and churn. Cancelled contract years are removed and tagged, and churn follows one documented method, so ARR drops on the right date.
Dates that stay aligned. A date-alignment workflow keeps snapshots in step with contract amendments, such as a start date pushed back by implementation delays.
History over time. Monthly ARR snapshots, recorded from June onwards, give Fulcrum a record of ARR at any point rather than only today.
A single ARR number on a deal breaks as soon as contracts run for more than a year, ramp up in year two or end early. So when a deal closes, Salesforce creates an ARR snapshot record for each contract year, each with its own start date, end date and annualised value.
A contract of a year or less gets one snapshot; a three-year deal gets three. Roll-ups then add the active snapshots up to the account, and from child accounts to their parent, giving every customer a live ARR figure with its subscription dates.
This is what makes the rest possible:
Accurate multi-year ARR. Year-three revenue is never counted as today’s ARR, and a three-year total is never booked as annual revenue.
ARR by type. Snapshots split recurring software from one-time and onboarding revenue, and platform from consumption.
Early terminations and churn. Cancelled contract years are removed and tagged, and churn follows one documented method, so ARR drops on the right date.
Dates that stay aligned. A date-alignment workflow keeps snapshots in step with contract amendments, such as a start date pushed back by implementation delays.
History over time. Monthly ARR snapshots, recorded from June onwards, give Fulcrum a record of ARR at any point rather than only today.
Renewals and expansions that maintain themselves
Renewals and expansions that maintain themselves
When a new-business or renewal deal closes, Salesforce automatically creates next cycle’s renewal opportunity. It is dated to the contract end, already carries the active recurring products and comes with fresh snapshots and a draft contract. The renewal pipeline therefore fills itself, and Fulcrum can forecast ARR two to three years out.
Expansions are created from a dedicated button on the customer’s primary contract. They are dated to end with it, and their products are carried into the next renewal automatically. That fixed one of Fulcrum’s biggest sources of missing ARR: expansions that had been agreed but never logged.
When a new-business or renewal deal closes, Salesforce automatically creates next cycle’s renewal opportunity. It is dated to the contract end, already carries the active recurring products and comes with fresh snapshots and a draft contract. The renewal pipeline therefore fills itself, and Fulcrum can forecast ARR two to three years out.
Expansions are created from a dedicated button on the customer’s primary contract. They are dated to end with it, and their products are carried into the next renewal automatically. That fixed one of Fulcrum’s biggest sources of missing ARR: expansions that had been agreed but never logged.
The ARR waterfall and reporting
The ARR waterfall and reporting
With snapshots in place, ARR could finally be reported the way a board reads it: as movement over a period.
ARR waterfall: ARR added in any period, split into new business, renewals and expansion. The first run covered February to April, and was then expanded to cover the full lifecycle of every past and current customer engagement.
Current ARR and ARR over time: live totals by account plus a cumulative month-by-month view.
Forecast ARR: the same reports with open deals included, using first-year ARR.
Net-new ARR against target, with a variance field that flags any deal whose manual estimate doesn’t match the calculated ARR.
Renewals report for CS, the single place to see which contracts are ending and when.
Commission reports for BDRs and AEs, built on the same ARR fields, with finance-accepted and commission-paid checkboxes for audit.
With snapshots in place, ARR could finally be reported the way a board reads it: as movement over a period.
ARR waterfall: ARR added in any period, split into new business, renewals and expansion. The first run covered February to April, and was then expanded to cover the full lifecycle of every past and current customer engagement.
Current ARR and ARR over time: live totals by account plus a cumulative month-by-month view.
Forecast ARR: the same reports with open deals included, using first-year ARR.
Net-new ARR against target, with a variance field that flags any deal whose manual estimate doesn’t match the calculated ARR.
Renewals report for CS, the single place to see which contracts are ending and when.
Commission reports for BDRs and AEs, built on the same ARR fields, with finance-accepted and commission-paid checkboxes for audit.
Auditing every contract
Auditing every contract
The system is only as good as the data in it. We checked every existing contract against its signed paperwork, reloaded a few thousand accounts and worked through the edge cases with Fulcrum’s team.
The audit uncovered missing contracts, multi-year totals booked as annual ARR, expansions that had never been entered, churned and voided contracts still being counted, and dates that didn’t match the signed agreement. At one point the dashboard was showing only about 55% of Fulcrum’s true closed-won ARR. Account by account, with a colour-coded audit, every discrepancy was resolved before ARR went live as the source of truth.
The system is only as good as the data in it. We checked every existing contract against its signed paperwork, reloaded a few thousand accounts and worked through the edge cases with Fulcrum’s team.
The audit uncovered missing contracts, multi-year totals booked as annual ARR, expansions that had never been entered, churned and voided contracts still being counted, and dates that didn’t match the signed agreement. At one point the dashboard was showing only about 55% of Fulcrum’s true closed-won ARR. Account by account, with a colour-coded audit, every discrepancy was resolved before ARR went live as the source of truth.
| Validation | Checked |
|---|---|
| Recurring versus one-time revenue | ✓Checked |
| Contract dates and renewal terms | ✓Checked |
| ARR snapshot reconciliation | ✓Checked |
of closed-won ARR found and recorded
Audit against signed contracts
Making it stick
Making it stick
We handed ownership of ARR to Fulcrum’s own CS and ops team, backed by recorded walkthroughs, a Notion guide to ARR snapshots and reports, and a dedicated RevOps support channel. Fulcrum’s team now audits ARR in Salesforce themselves.
We handed ownership of ARR to Fulcrum’s own CS and ops team, backed by recorded walkthroughs, a Notion guide to ARR snapshots and reports, and a dedicated RevOps support channel. Fulcrum’s team now audits ARR in Salesforce themselves.
The foundation underneath
The foundation underneath
None of this would work without a CRM people actually use. Salesforce was live for the sales team 24 days after kickoff, and around the ARR system we delivered:
A six-stage sales process with stage guidance and exit criteria
Migration from HubSpot and Notion, including cleanup of ownerless deals and duplicate accounts
Territory-based lead routing for website and inbound leads
Gong, Apollo and LinkedIn Sales Navigator integrations
Live Slack alerts for every pipeline stage, from new lead to closed won or lost
None of this would work without a CRM people actually use. Salesforce was live for the sales team 24 days after kickoff, and around the ARR system we delivered:
A six-stage sales process with stage guidance and exit criteria
Migration from HubSpot and Notion, including cleanup of ownerless deals and duplicate accounts
Territory-based lead routing for website and inbound leads
Gong, Apollo and LinkedIn Sales Navigator integrations
Live Slack alerts for every pipeline stage, from new lead to closed won or lost
Results
Results
Results
of goal
from kickoff
working from one system
after rollout
Fulcrum now has one ARR number that every team agrees with, available whenever it’s needed.
Board-ready ARR on demand. The first ARR waterfall showed that over half (52%) of the ARR added from February to April came from expansion, with new business and renewals at about 24% each. It now feeds Fulcrum’s board reporting.
Targets tracked live. Q2 net-new ARR was tracked live against target in Salesforce, landing at 98% of goal.
Missing revenue found. Nearly half (about 45%) of closed-won ARR had been missing from reporting.
One source of truth. Salesforce replaced Notion and spreadsheets as the ARR record. Commissions are paid from it and invoicing now starts from the Salesforce contract.
Adopted across the company. 35 people across sales, CS, finance, product and events work in the system. Support requests dropped about 70% after the rollout, even as the team kept growing.
Fulcrum now has one ARR number that every team agrees with, available whenever it’s needed.
Board-ready ARR on demand. The first ARR waterfall showed that over half (52%) of the ARR added from February to April came from expansion, with new business and renewals at about 24% each. It now feeds Fulcrum’s board reporting.
Targets tracked live. Q2 net-new ARR was tracked live against target in Salesforce, landing at 98% of goal.
Missing revenue found. Nearly half (about 45%) of closed-won ARR had been missing from reporting.
One source of truth. Salesforce replaced Notion and spreadsheets as the ARR record. Commissions are paid from it and invoicing now starts from the Salesforce contract.
Adopted across the company. 35 people across sales, CS, finance, product and events work in the system. Support requests dropped about 70% after the rollout, even as the team kept growing.
In their words
“A lot of our gaps are now just teaching the reps what to do with what you’ve built so far!”
“A lot of our gaps are now just teaching the reps what to do with what you’ve built so far!”
— Rikav Chauhan, Fulcrum
— Rikav Chauhan, Fulcrum
“Great to have an official flow now for the AEs to drive expansion and renewal natively in Salesforce.”
“Great to have an official flow now for the AEs to drive expansion and renewal natively in Salesforce.”
— Zack Grymes, Fulcrum
— Zack Grymes, Fulcrum
Conclusion
Conclusion
Conclusion
Most ARR problems aren’t really software problems. They’re definition problems. Fulcrum’s numbers disagreed because each team was counting something slightly different, and no tool can fix that on its own.
By agreeing on the definitions first, then building them into Salesforce so reps can’t get them wrong, we turned ARR from a weeks-long exercise into a live report. Fulcrum’s own team now owns the process day to day, and we continue to support them part time as they grow.
If your ARR number changes depending on who you ask, start with a GTM & RevOps Audit or book a call.
Most ARR problems aren’t really software problems. They’re definition problems. Fulcrum’s numbers disagreed because each team was counting something slightly different, and no tool can fix that on its own.
By agreeing on the definitions first, then building them into Salesforce so reps can’t get them wrong, we turned ARR from a weeks-long exercise into a live report. Fulcrum’s own team now owns the process day to day, and we continue to support them part time as they grow.
If your ARR number changes depending on who you ask, start with a GTM & RevOps Audit or book a call.
Book a call
Book a call
Book a call
Choose a time

