
Executive summary
What Acellas delivered, and what it means for the business
Acellas reconciled Lattice's seat, price and end-date data across Stripe, LAdmin, Gainsight and Salesforce, cutting the contract price mismatch rate against Stripe from 31.3% to 8.8%.
Seat expansions from the product now reach Salesforce Revenue Cloud automatically, after 13 backfill cycles loaded about 33,670 expansion subscriptions.
Nine-plus governed releases refactored renewals, payment-term approvals and order activation through Workato into NetSuite.
For the business: invoices that match signed terms, renewals priced from the true install base, and board-level ARR and NRR without spreadsheet true-ups.
Contract price mismatches cut from 31.3% to 8.8%
The challenge
Lattice bills many customers through Stripe, while Salesforce holds the contracts and seat counts behind renewals and ARR. Like most per-seat SaaS companies in hypergrowth, Lattice held customer records in 4 systems: Stripe, its LAdmin product database, Gainsight and Salesforce. Each system expressed price differently: LAdmin in cents per user with a billing cadence, and Stripe as amounts per interval across 26,699 price records. Stripe customer metadata also stored company identity under 8 different keys. Amendments compounded small differences across subscriptions. A comparison of 4,598 contracts on per-user price (PUPM) found 1,440 with a difference against Stripe, and each variance touched a renewal quote, a seat count or an NRR figure.
Why Lattice chose Acellas
Lattice turned to Acellas because our architect already knew the configuration that produced every PUPM value: 40 price rules, 188 price conditions and 64 price actions. Acellas pairs that Revenue Cloud depth with senior data experts who bring two decades of Salesforce data work. Our experts work as an extension of the client's RevOps team, so Finance kept ownership of every decision.
Results
Acellas replicated Stripe, a SQL extract of LAdmin, Gainsight values and Salesforce into comparison workbooks, normalized every price to PUPM, and matched 5,073 Stripe subscriptions to 7,649 Salesforce accounts on PUPM, end date, seat count and products owned. We ran 3 reconciliation rounds, sorted every exception into review buckets for Finance and the deal desk, and loaded corrections to production only after Lattice approved each workbook. Lattice gained contract and billing data that are ASC 606 and IFRS 15 compliant, renewals that sellers quote from the true install base, invoices that match what customers signed, and real-time ARR, MRR and churn reporting that Finance takes to the board.
What Acellas delivered
Four-system reconciliation model
Acellas matched Stripe, LAdmin, Gainsight and Salesforce records on 6 fields: active ARR, start date, end date, PUPM, seat count and products owned.
Seat counts aligned to Stripe
Our team reconciled seat quantities against Stripe and updated 3,657 subscriptions, 1,208 opportunities and 1,277 accounts in production.
Cent-level pricing precision
Acellas aligned 23,477 amended subscriptions to their revised subscriptions and fixed 3,307 subscriptions that carried 1–2 cent differences.
Price field repair at scale
After the production release, Acellas repaired 4 price fields (list, regular, renewal and discount) across tens of thousands of subscriptions.
Validated legacy data transformation
Acellas de-duplicated 61,141 Stripe product lines into one master customer list and compared 36,123 subscription-level PUPM values before loading a single correction.
Data migration and transformation
Acellas moved Lattice's install base of record into Salesforce Revenue Cloud from 4 sources: Stripe subscriptions, prices and customers; a replicated SQL extract of 25,735 LAdmin billing records; Gainsight PEPM values; and Salesforce Accounts, Contracts, Subscriptions and Opportunities. Transformation rules converted LAdmin cents and billing cadences and Stripe interval amounts into one PUPM, matched records on company, Stripe customer and Salesforce IDs, took the maximum seat quantity per product, and de-duplicated 61,141 Stripe product lines into one master customer list. Every round produced validation workbooks with exception buckets (Stripe higher, Salesforce higher, quantity not found, deal desk review) that Lattice signed off before each production load. The loads realigned 3,657 subscriptions, 1,208 opportunities and 1,277 accounts, aligned 23,477 amended subscriptions and repaired 4 price fields. Finance, RevOps and Customer Success now work from a Salesforce install base that agrees with Stripe.
Business benefits
ASC 606 and IFRS 15 compliant data
Lattice's contract and billing data are ASC 606 and IFRS 15 compliant, and the Stripe reconciliation ties that data to what customers pay, so Finance recognizes revenue from terms that match Stripe invoices.
Invoices customers do not dispute
Seat counts, PUPM and end dates that agree with Stripe mean each customer receives an invoice that matches what it signed, so billing disputes, credit memos and collection delays give way to renewal conversations about value.
Renewals start from the true install base
Renewal and co-termed amendment quotes now start from each contract's reconciled seat count, PUPM and end date, so sellers quote from the true install base, Sales Cloud renewal forecasts hold, and renewals close without deal desk rework.
Real-time ARR and churn visibility
Because contract data now matches billing, revenue dashboards report ARR, MRR, churn, pricing effectiveness and order status in real time, and Finance reports ARR and NRR to the board without spreadsheet true-ups.
Correct price waterfall on renewal
Repairing list, regular, renewal price and discount on tens of thousands of subscriptions gives every renewal a correct price waterfall, so contracted uplifts apply to the right base and contract ARR holds from one renewal to the next.
Ramps, uplifts and co-terming work natively
Aligning 23,477 amended subscriptions to their revised subscriptions restored clean amendment chains, so ramp deals, scheduled uplifts and co-termed seat additions land on the right contract and end date every time.
Operational benefits
Auditable amendments across the contract lifecycle
Salesforce Revenue Cloud now amends and renews each reconciled contract automatically, and every change leaves an auditable subscription history, giving Lattice contract lifecycle management from signature to renewal on one record.
Faster renewal and expansion closes
With trusted contract data, Revenue Cloud generates renewal and expansion quotes automatically, prices them instantly and routes approvals without chasing, so account executives and CSMs sell instead of checking Stripe.
Governed discounts with a full audit trail
Salesforce Advanced Approvals governs discounting on every renewal and expansion quote through serial and parallel approval chains, so approvals move faster, reps negotiate within policy and Finance holds an audit trail for each concession.
One catalog for every Lattice product
One catalog and one pricing engine now price Performance, OKRs & Goals, Engagement, Grow and Compensation behind every channel, so RevOps launches products, price changes and bundles through configuration, with no IT ticket.
Cent-level agreement with Stripe
Fixing 3,307 subscriptions that carried 1–2 cent differences removed rounding drift that amendments compounded, so contract ARR ties to Stripe invoices to the cent and Finance closes without rounding adjustments.
One governed record, ready for agents
Salesforce now holds the install base that Stripe, LAdmin and Gainsight once held in pieces, so Finance, RevOps and Customer Success no longer debate whose number is right and AI agents can answer seat, price and renewal questions reliably.
Technologies
- Salesforce Sales Cloud
- Stripe Integration
- Salesforce Revenue Cloud
- Legacy Data Migration/Transformation
- Salesforce Advanced Approvals
33,670 seat expansions captured, then automated
The challenge
Lattice sells per seat, and its customers add users in the product between contract events. Those organic expansions drive ARR, renewal pricing and NRR, so each one had to reach Salesforce Revenue Cloud as an expansion Opportunity and Subscription. Each cycle, Finance produced a source file of 774 to 1,026 accounts whose active user counts had grown, and each load touched roughly 900 Opportunities and 2,700 Subscriptions across at least 24 subscription fields. As with any recurring load of product data at this scale, each cycle had to handle duplicates, ramp deals, expired contracts, contracts ending mid-cycle and proration edge cases, all while preserving revised-subscription chains and Root IDs.
Why Lattice chose Acellas
Lattice first engaged Acellas as a Revenue Cloud specialist for the Contract Amender API, the component its organic-expansion automation depended on. That depth mattered here: Acellas brings two decades and more than 60 full lifecycle Salesforce Quote to Cash implementations for technology companies, and our architect had already mapped the 12 custom Apex classes that governed expansion, renewal and contracting behavior.
Results
Acellas wrote a runbook that turned each cycle into a repeatable, auditable load: reset prior backfill flags, set account expansion counts, compute start dates and proration multipliers, price the lines, de-duplicate while preserving ramps, import, set Root IDs and roll up Contract Backfill PUPM. We ran 13 consecutive cycles plus a Stripe true-up, so renewals and real-time ARR and MRR stayed current while our team refined the organic expansion Apex. Acellas then ran QA, completed knowledge transfer and deployed the automation to production. The automation retired the manual load and now carries every seat expansion into co-termed subscriptions, renewals that price correctly and invoices customers recognize.
What Acellas delivered
Repeatable backfill runbook
The runbook absorbed 774 to 1,026 accounts per cycle with YEARFRAC-based proration, de-duplication that preserved ramps, Root ID setting and a roll-up of Contract Backfill PUPM.
33,670 subscriptions, relationships intact
Across 13 cycles, Acellas loaded about 13,450 Opportunities and 33,670 Subscriptions, set Root IDs, preserved ramps and removed duplicates before each import.
Stripe true-up load
Acellas trued up expansion records against Stripe billing in a dedicated cycle of 1,052 Opportunities and 3,265 Subscriptions.
Organic expansion automation
We refined the organic expansion Apex, ran QA and deployed it to production, retiring a manual load of roughly 900 Opportunities per cycle.
Discount correction at scale
After the final cycle, our team reviewed 15,850 subscriptions and corrected the additional discount on 2,796 of them.
Data migration and transformation
Acellas ran a recurring transformation of Lattice's product usage data into Salesforce Revenue Cloud. Sources were Finance's organic expansion files (774 to 1,026 accounts per cycle, with users added and PEPM), Salesforce Opportunity and Subscription exports, and Stripe for a dedicated true-up. The loads populated four targets: Account expansion flags; expansion Opportunities linked to the amended contract, parent opportunity and renewal opportunity; Subscriptions carrying the revised subscription, quantity, dates, prorate multiplier and full price waterfall; and a Contract Backfill PUPM roll-up. Transformation rules derived each start date from the contract end date, computed YEARFRAC-based prorate multipliers, removed duplicates while keeping ramps, and flagged every record as a legacy data migration load for traceability. Each cycle ran a sample import, working files with and without duplicates, and exception passes for expired contracts and missing billing frequency. Across 13 cycles and a true-up, Acellas loaded about 13,450 Opportunities and 33,670 Subscriptions.
Business benefits
Seat growth captured automatically
Production automation now reads each account's active and invited users and turns seat growth into expansion Opportunities and Subscriptions, so no expansion waits on a manual load and customers pay for the seats they actually use.
ASC 606 and IFRS 15 compliant expansions
Implementing contract management, amendments and renewals made Lattice's expansion contract and billing data ASC 606 and IFRS 15 compliant: every added seat becomes a contract amendment with its own start date, proration and price, so Finance recognizes expansion revenue from the contract.
Expansion ARR visible in real time
Every seat expansion lands at the subscription line, and the open quote and subscription ARR backfill populated line-level ARR, so revenue dashboards show ARR, MRR, churn, pricing effectiveness and order status in real time.
Renewals that include every added seat
Expansion Subscriptions co-term to the existing contract end date, and resetting Renewal Quoted on 959 contracts regenerated their renewal quotes with the added seats, so CSMs renew each customer on one date at the true seat count.
Ramp deals and uplifts survive expansion
The runbook kept ramped subscriptions as legitimate duplicates and preserved each contract's uplift, so multi-year ramp deals and scheduled uplifts survive every expansion and renew on the terms sales negotiated.
Reps sell instead of keying add-ons
Automated expansion quotes, instant pricing and routed approvals mean account executives no longer build seat add-on quotes by hand, and they spend that time on cross-sell into Engagement, Grow and Compensation, shortening time to close.
Operational benefits
One price change reaches every expansion
Every expansion prices from the same catalog and pricing engine as new business, so RevOps changes a per-seat price or bundle once through configuration, without waiting on IT, and every channel and every expansion picks it up.
Traceable, auditable amendment history
Each backfilled record carries a legacy data migration flag and load description, and each automated expansion is a Revenue Cloud amendment, so Finance and auditors trace every seat from product usage to contract across its lifecycle.
Governed expansion and renewal discounts
Salesforce Advanced Approvals holds expansion and renewal discounts inside policy through serial and parallel approval chains, and the post-cycle fix aligned discounts on 2,796 subscriptions, so approvals move faster with an audit trail behind each one.
Bookings and forecasts without double counts
Removing 103 duplicate expansion Opportunities before load kept Sales Cloud bookings, pipeline and forecast reports from double-counting seat growth, so sales leadership and Finance forecast expansion revenue from one set of numbers.
Accurate product attach reporting
Correcting the product on 1,629 Engagement subscriptions means attach-rate, cross-sell and product-line ARR reports show exactly which customers own Engagement, so marketing and Customer Success target the right accounts for upsell.
Automation replaces the spreadsheet load
Automation replaced a spreadsheet-driven load and Finance's recurring data-preparation cycle, leaving an auditable expansion record in Salesforce that renewal automation and AI agents read to answer seat, price and renewal questions.
Technologies
- Salesforce Sales Cloud
- Stripe Integration
- Salesforce Revenue Cloud
- Custom Salesforce Platform Development
- Salesforce Advanced Approvals
- Legacy Data Migration/Transformation
Nine governed releases on one Quote to Cash foundation
The challenge
Lattice moved Quote to Cash onto Salesforce Revenue Cloud and Ironclad while ARR grew more than 110%. The configuration carried that growth: 40 price rules, 188 price conditions, 64 price actions and 24 summary variables, plus 41 trigger-handler methods across 7 objects, all interacting with NetSuite Zone Advanced Billing through Workato. Like any software company scaling that fast, Lattice also held legacy contracts whose data originated in opportunity terms fields. Renewal defaults had to reach 227,053 Account records, and in one sandbox 3,438 active contracts needed the preserve-bundle setting every renewal inherits. Finance and the deal desk needed renewal, discount and order behavior they could rely on.
Why Lattice chose Acellas
Lattice first brought in Acellas as a Revenue Cloud specialist for the Contract Amender API and for amendment and order-contracting behavior. That advisory work gave our architect a detailed map of the org, so for Phase 2 Lattice chose continuity and architectural depth. Acellas works only with technology companies and brings two decades and more than 60 full lifecycle Salesforce Quote to Cash implementations.
Results
Acellas organized Phase 2 into 3 workstreams (Governance; Design and Build; Data Remediation) and moved contested design choices, such as multiple price books and the renewal pricing method, into a decision list that Finance, the deal desk and RevOps resolved once. We refactored renewal logic, retired 5 legacy quote-line methods, mapped every price field's lineage, added serial approval chains for payment terms and billing frequency, and automated order activation through Workato into NetSuite. Every release passed a go/no-go review. Lattice gained governed discounting, auditable renewals and amendments, real-time quote-level ARR, and contract and billing data that are ASC 606 and IFRS 15 compliant.
What Acellas delivered
Renewal logic refactor
Acellas refactored the quote trigger handler so renewal quotes no longer inherit discounts and instead copy 3 terms from the source contract: uplift, billing frequency and payment terms.
Payment-term and billing approvals
We activated 5 approval rules, including two-step chains for Net 45 renewals and renewal billing frequency, within a model spanning 5 employee-size bands and 3 packages.
Order activation automation
Acellas automated order activation within a 3-system path (Salesforce, Workato and NetSuite Zone Advanced Billing), where a billing event marks the order contracted in Salesforce.
Price field lineage map
Our team mapped every Apex class, price rule and formula behind 12 quote and quote-line price fields, across 40 price rules and 12 custom Apex classes.
Retiring legacy quote-line code
Acellas retired 5 legacy quote-line methods, including cross-sell tracking and old price-book conversion, removing competing automation from every quote calculation.
Legacy transactional data remediation
Acellas set renewal defaults on 227,053 Account records, rehearsed contract fixes in 3 sandboxes and tested 3,061 imported records against amend and renew flows.
Data migration and transformation
Acellas remediated Lattice's legacy transactional data, which originated in Opportunity terms fields, so Revenue Cloud could amend and renew it natively. Sources were Salesforce Account, Contract, Quote and Subscription records and a Stripe extract of 11,204 subscription rows and 132,940 invoice lines that Acellas profiled for Stripe-to-Salesforce mapping. Targets were preserve-bundle and renewal model defaults on 227,053 Accounts; amendment and renewal record types, amendment stage and preserve-bundle settings on Contracts; and uplift on 2,020 renewal Quotes. Acellas split the data into 9 segments by object and open-renewal date, defined unit and QA test cases for amend and renew flows, tested 3,061 imported subscriptions, and rehearsed the contract fixes in 3 sandboxes of 1,137, 11,189 and 11,750 contracts before production remediation. A historical load set quote expiration dates, and a 5-band lookup now sets renewal term from contract length. Lattice now amends and renews legacy contracts like new business.
Business benefits
ASC 606 and IFRS 15 compliant Quote to Cash
Implementing contract management, amendments and renewals made Lattice's contract and billing data ASC 606 and IFRS 15 compliant: orders contract only after NetSuite Zone Advanced Billing confirms billing, and every amendment and renewal inherits its terms from the contract.
Governed discounting through Advanced Approvals
Advanced Approvals routes each quote through serial and parallel chains by employee-size band, package, term and payment terms, escalating from manager to CRO and Finance, so discounting stays governed, approvals move faster and every concession leaves an audit trail.
Renewals that protect NRR
Renewal quotes no longer inherit prior discounts and instead take uplift, billing frequency and payment terms from the contract, so renewals start from list with the agreed uplift, NRR holds and customers renew on the terms they signed.
Quote-level ARR in real time
Quote and quote-line ARR price rules, contract ARR and account roll-ups of contract value, contracted PEPM and maximum contracted users feed revenue dashboards that show ARR, MRR, churn, pricing effectiveness and order status in real time.
Faster time to close for sellers
Automated quote creation, instant pricing from one engine and approval previews let account executives send compliant quotes without waiting on the deal desk, which reviews only true exceptions, so reps spend their time selling.
New products launch without IT
The lineage map documents every Apex class, price rule and formula behind 12 price fields, so RevOps launches new products, bundles and price changes in one catalog and pricing engine through configuration, without waiting on IT.
Operational benefits
Ramps, uplifts and co-terming built in
Scheduled uplifts come straight from each contract's renewal uplift rate, and amendments co-term to the contract end date, so ramp deals, multi-year price steps and mid-term additions renew together without manual date or price edits.
Contract lifecycle on one record
Ironclad and Revenue Cloud carry every order form from quote through signature, amendment and renewal on one Sales Cloud contract record, and renewal quotes generate from active contracts automatically, giving Lattice auditable contract lifecycle management.
Quote to cash without re-keying
Activated orders flow through Workato into NetSuite Zone Advanced Billing, and the billing event contracts the order in Salesforce, so what sales quoted is exactly what Finance bills and no one re-keys an order.
Payment terms that protect cash
Two-step approvals on Net 45 renewals and non-annual billing, plus delinquent-account visibility for sellers, let Finance approve extended terms before a customer sees them and let reps check delinquency before quoting, protecting collections.
Leaner, more reliable custom code
Retiring 5 legacy quote-line methods and assessing 41 trigger-handler methods removed competing automation from quote calculation, so quotes save faster, renewals and orders contract reliably and Lattice's admins maintain less custom code.
Legacy contracts renew like new business
Renewal defaults on 227,053 accounts and repaired contract settings let every legacy contract amend and renew like new business, giving Lattice one system of record for what each customer owns, ready for automation and AI agents.
Technologies
- Salesforce Sales Cloud
- Ironclad Integration
- Salesforce Revenue Cloud
- Workato Integration
- Salesforce Advanced Approvals
- Oracle NetSuite Integration (Zone Advanced Billing)
- Custom Salesforce Platform Development
- Legacy Data Migration/Transformation
- Custom Salesforce Automation Development
Begin with a conversation
Talk with the experts who did this work.