Tag: Quote-to-Cash

You Can’t Scale What You Can’t Explain

You Can’t Scale What You Can’t Explain

A Q&A with Jen Larco, Product Manager at Continuous

A conversation for finance, RevOps, and systems leaders on quote-to-cash transformation, cross-functional operations, and what it actually takes to connect the front office to the back office.

TL;DR
  • Jen Larco joins Continuous as Product Manager with deep experience across Sales Operations, Finance, and IT
  • Her background spans Salesforce CPQ, Salesforce Billing, BigMachines, , Oracle ERP, RevPro, and complex end-to-end quote-to-cash architecture
  • Her core belief: if you can explain your revenue model clearly, you can operationalize it. If you can’t explain it, you never will
  • She’s spent her career translating between business teams and technical teams. Now she’s translating customer pain into product
  • On complex revenue models: complexity is fine. Exotic is not. Know the difference

Jen Larco joins Continuous as Product Manager bringing over two decades of experience sitting at the intersection of Sales Operations, Finance, and IT, including years at UKG focused on Salesforce CPQ, Salesforce Billing, ERP integrations, and large-scale quote-to-cash initiatives. She has a mug that says “requirements” with a smiley face and “solutions” with a frown on it. It tracks

You’ve worked across Sales Operations, Finance, and IT throughout your career. How has that shaped the way you think about quote-to-cash?

Honestly, I probably wouldn’t even understand what quote-to-cash was if I hadn’t worked in all three.  Sales Ops gave me direct exposure to the go-to-market motion. Finance taught me how businesses manage their financials and stay compliant. And IT, historically, IT’s job has been to connect those two worlds. That’s where the quote-to-cash perspective comes from.

If I’d only worked in one area, I’d have a sales perspective or a finance perspective. Working across all three taught me that what you’re really doing is translating GTM intent into financially valid transactions. That’s quote-to-cash. The parts make up the whole.

A lot of your recent experience at UKG focused on CPQ, Salesforce Billing, and complex downstream integrations. What were you solving most often?

The number one challenge, no matter what we were doing, was implementing integrated end-to-end solutions. Whether it was a new product introduction, where you need to price it, quote it, order it, bill it, and recognize it, or automating a ramp deal with multiple usage tiers, the hard part was always making sure it worked end-to-end across every function. Not just one piece.

A lot of organizations can solve one part of the process. But if Sales can quote something that Finance can’t properly bill or recognize, the whole thing breaks down. It’s a great first step if you can quote. If you can’t translate what you quoted into bookings, billable amounts or revenue, you can’t manage your business.  

You’ve worked with Oracle ERP, RevPro, Microsoft Dynamics, Salesforce, and more. Where do quote-to-cash processes tend to break down as companies grow?

I have a mug on my desk that says “Requirements” with a smiley face and “Solutions” with a frown that some dear friends (and savvy stakeholders) gave to me. That’s the answer.

The number one challenge across all of those systems is getting stakeholders to define clear business requirements before trying to automate anything. If you jump straight to automation without a well-defined process and a clear outcome, you’ll spin in circles.

And it’s not just about one part of the process. Cross-functional alignment is just as critical. You can solve the quoting problem perfectly and still fail if Finance isn’t part of the conversation from the start. The spinning just moves to a different room.

What attracted you to Continuous?

A couple of things.

The first is the people. I was a customer of John Banks years ago as an early adopter in the Salesforce CPQ and Billing space while he was head of product at Salesforce. The way that John and his team worked back then was something I always aspired to. I’d get on a call with them and they could speak to my business problem, translate it into their technology, and then translate it back to me in terms that actually made sense.  The team at Continuous not only possesses that translation ability but also an immense amount of the Quote to Cash industry expertise.  I wanted to be on the team that has seen it all and is passionate about working in this challenging space (these people get me!).The second is what Continuous actually does. The company understands that quote-to-cash isn’t an integration mapping problem. There’s a much bigger translation happening between GTM strategy and financial execution. And after being here only a short time, I’ve already had moments where I thought, I wish we had brought Continuous in to solve some of the challenges we were dealing with at my last company. That’s exciting. It means we’re solving problems I’ve personally lived through.  Finally, after providing references to dozens of Salesforce prospects and customers  over the last several years, it was table stakes for me to move to a company that maintains a Salesforce partnership.

Tell me about your role as Product Manager at Continuous.

I’ve always thought of myself as a translator. Previously that meant translating between business teams and technical teams. Now it means translating what customers are experiencing, what their problems are, where the gaps are in the current technology, into products and capabilities that actually solve them.

I want to understand the full end-to-end Continuous stack, not just one piece of it. My brain doesn’t work well if I don’t know where things start, where they end, and everything in between. Success looks like working with customers, understanding how their problems evolve over time, and making sure what we build simplifies complexity instead of adding more of it.

Why is fixing quote-to-cash becoming more urgent for modern businesses?

A few reasons.

AI is the obvious one. Everybody is looking for agents to come in and automate everything. But if you’re talking about quote-to-cash, GTM and finance business processes, you can deploy all the agents you want. If there isn’t a solid, connected foundation underneath them, you’re just automating chaos faster. AI on top of bad process is an even worse process .

Beyond AI, it’s about growth. Companies are adding products, acquiring other companies, introducing new go-to-market motions. The more you do that without a connected front office and back office, the longer everything takes. At some point it doesn’t just slow you down. It stops you from moving ahead at all.   

What advice would you give companies trying to modernize their revenue models without overcomplicating them?

Early in my career I was in a CPQ webinar where someone introduced the concept of exotic pricing models. The message was simple: do not introduce them.

That stuck with me. And over the years I’ve taken it further. It’s not just about pricing. It’s about quoting, billing, recognition, modifications in term after the initial sale or at renewal, and how you explain the model to everyone involved. The problem isn’t complexity.  Since my early days, I’ve certainly seen the introduction of more complex models that make excellent business sense and the introduction of technology to manage them.   Exotic models are non-standard and fragile, because they break outside of the conditions they were designed for. 

Here’s the test I use. If you can explain your revenue model(s) clearly, in plain language, to any person in any role at your company, you can operationalize it. You can automate it. You can scale it. If you can’t explain it, you’ll never get there. The system isn’t what’s stopping you. The clarity is.

I have had Sales  Executives tell me the same thing. Give me a box. Help me understand levers that I can pull and levers that I can’t. Standardization helps Sales close deals faster instead of restructuring a new deal for every prospect. It helps Finance execute. And it helps  IT build something that actually holds up as the business grows.


Complex and standardized is something you can build on. Complex and impossible to explain is something you’ll be rebuilding forever.


Outside of work, what do you enjoy?

I’m a very proud mom of a teenage son who just finished his freshman year of college.. My favorite pastime is watching him play baseball.  Now that he’s In college I have a bit more time to find things to do on my own.  The answer lately has been tennis, I recently joined my first USTA league. I also love to travel with my family and friends whenever I can.

Jen’s cross-functional perspective and deep operational experience bring a rare combination to Continuous, someone who has lived on every side of the quote-to-cash problem and spent her career figuring out how to connect them. As she puts it: if you can explain it clearly, you can scale it. If you can’t explain it, you never will.

Sales Leads With Imagination. Finance Has To Follow GAAP

Sales Leads With Imagination. Finance Has To Follow GAAP

For CFOs, RevOps leads, and anyone who has watched Finance absorb the consequences of commercial decisions made without them: Sales leads with imagination. Finance follows GAAP. And somewhere between those two realities, most SaaS companies are losing time, money, and confidence in their numbers. Here’s why — and what to do about it

TL;DR
  • Sales and Finance aren’t misaligned because of poor communication. They’re optimizing for fundamentally different things, and nobody built a system that could serve both at the same time
  • Sales has no ceiling on how it structures a deal. Finance operates under GAAP, IFRS, and ASC 606. Those rules don’t bend for new monetization models
  • Every new pricing model, ramp, swap, or usage component lands on Finance’s desk as a new problem to solve, often with manual processes that accumulate over time
  • The gap isn’t a communication problem. It’s an architecture problem. Sales and Finance are measured on different numbers, own different systems, and have different definitions of done
  • The companies that handle this well involve Finance early, build for alignment not just integration, and invest in infrastructure purpose-built for the boundary between CRM and ERP

Sales exists to close deals. Finance exists to report them accurately. Those sound compatible, and in simple businesses, they are. But in a modern SaaS company, where pricing models are multiplying, contracts change mid-cycle and usage gets layered on top of subscriptions, the two functions are optimizing for fundamentally different things. Sales operates in a place of constant iteration and innovation, there’s no ceiling on how it structures a deal. Finance operates under a strict set of rules.

GAAP. IFRS. ASC 606. They don’t bend to accommodate new monetization models. And nobody ever built a system that could serve both of them at the same time.

The Models Are Multiplying. The Rules Aren’t.

This dynamic has always existed to some degree. Finance has always had to keep up with commercial decisions made without their input. But for most of SaaS history, the monetization models were relatively stable. You sold a subscription. You recognized revenue ratably over the term. The rules were complex but at least they weren’t changing every quarter.  That’s no longer true.

Usage-based pricing has gone from a niche model to a mainstream expectation. AI-driven products are introducing consumption patterns that don’t map cleanly to anything finance has handled before. Companies that started on pure subscription are layering on usage components mid-cycle. Customers want flexibility, credits, prepaid wallets, co-term options, and sales is happy to offer it.

Every one of those models lands on finance’s desk as a new problem to solve. Not just a new revenue recognition question, but a new billing structure, a new reconciliation workflow, a new set of edge cases that the existing systems weren’t built to handle.

And the systems matter here. Because it’s not just finance’s brain that has to adapt, it’s the infrastructure. Salesforce. NetSuite. The integration between them. The logic that governs how a closed deal becomes a correctly structured sales order, how a mid-contract change flows through billing and revenue, how a ramp deal recognizes evenly over three years under ASC 606. Every time sales adds a new model, that infrastructure has to catch up


It usually doesn’t. Not fast enough anyway


Who Pays When the Models Change

I’ve seen this play out the same way at company after company. Sales get excited about a new model. Leadership approves it. The first deal closes. And then finance spends the next two weeks figuring out how to book it.

That’s not an exaggeration. I’ve watched revenue accountants build manual Excel processes to handle deal structures that the systems couldn’t support. I’ve seen companies carry those manual processes for months, sometimes years, because nobody had the bandwidth to build something better. And every month those manual processes run, the reconciliation work piles up, the close cycle stretches, and the risk of getting the revenue number wrong grows a little larger.

The finance team working 60-hour weeks during close isn’t doing it because they’re inefficient. They’re doing it because they’re absorbing the operational consequences of commercial decisions made without their input. Every new pricing model is another manual process. Every mid-contract change is another reconciliation item. Every creative deal structure is another conversation that starts with someone in finance saying: we need to figure out how to book this.

This Isn’t a Communication Problem

Here’s what I think gets missed in most conversations about this: it’s not a communication problem. It’s not that sales and finance need to talk more. They do talk. The problem is structural.

Sales is focused on bookings and quota retirement. Finance is measured on the accuracy of revenue. Those are different numbers from the same deal, and they’re owned by different teams with different incentives, different systems, and different definitions of what done looks like.

Sales closes a deal and moves on. Finance inherits it. And everything that happens to that deal between close and the recognition of revenue, amendments, credits, upgrades, cancellations, usage true-ups, lands on finance to execute, reconcile, and report correctly. Without necessarily having been part of the conversation when the deal was structured.


That’s not a gap in communication. It’s a gap in architecture


What the Companies That Handle This Well Do Differently

I want to be careful here because there’s no single answer and anyone who tells you otherwise is selling something.

But I do think there are a few things that separate the companies that manage this well from the ones that don’t.

The first is buying decisions. The companies that handle this well involve finance when they’re evaluating commercial systems, not after the fact. Not to rubber-stamp a decision that’s already been made, but early enough to ask the right questions about what the downstream execution is going to look like.

The second is architecture. There’s a meaningful difference between having Salesforce and NetSuite connected and having them aligned. Connected means data moves. Aligned means what Sales closes in Salesforce executes correctly in NetSuite, as the right sales order, with the right revenue recognition, with full traceability from booking to billing to recognized revenue. Most companies have the former. Far fewer have the latter.

The third, and this is the one that matters most as monetization models get more complex, is having infrastructure at the boundary between CRM and ERP that was purpose-built to handle the translation. Not middleware that moves data. Not manual processes that compensate for the gap. Something that understands the financial relationships between records and governs what happens after a deal closes.  Especially as large volumes of consumption start driving billing, data storage and processing further complicating the “messy middle”. 

Sales isn’t going to slow down. The models are going to keep getting more complex. The gap between what sales can sell and what finance can cleanly execute is going to widen unless the architecture between those two functions is built to handle it.


Finance has GAAP. The least we can do is give them infrastructure that keeps up


Frequently Asked Questions

Because they’re optimizing for fundamentally different things. Sales is measured on bookings and has unlimited flexibility to structure deals. Finance is measured on revenue accuracy and operates under GAAP, IFRS, and ASC 606. Those rules don’t bend for new monetization models. The misalignment isn’t a people problem or a communication problem. It’s structural

Because Sales has no ceiling on how it structures a deal, but Finance operates under a strict set of accounting standards. Every new pricing model, ramp structure, or usage component has to be mapped to GAAP correctly before Finance can recognize it. Sales can launch a new model in a quarter. Finance often spends months building the manual processes to support it

The obvious cost is time, revenue accountants building manual Excel processes, reconciliation work piling up, close cycles stretching. The less obvious cost is risk. Every manual process is a potential source of error. Every month the close runs long is another month the business is making decisions on stale numbers. And a revenue restatement, even in the company’s favor, signals to investors that Finance doesn’t have control of the number that matters most

Connected means data moves between the two systems. Aligned means what Sales closes in Salesforce executes correctly in NetSuite, as the right sales order, with the right revenue recognition, with full traceability from booking to billing to recognized revenue. Most companies have the former. The latter requires infrastructure purpose-built for the boundary between CRM and ERP, not middleware that moves data.

Continuous sits at the boundary between Salesforce and NetSuite as a purpose-built execution layer. It ensures every deal that closes in Salesforce, including ramps, swaps, amendments, and usage-based structures, executes correctly in NetSuite without manual intervention. Finance gets full traceability from booking to billing to recognized revenue, and the infrastructure keeps up as monetization models evolve.

The Biggest Mistake in Quote-to-Cash? Trying to Put It All in One System

The Biggest Mistake in Quote-to-Cash? Trying to Put It All in One System

This article is for SaaS leaders running Salesforce and NetSuite, especially CFOs, RevOps, and technical owners, who are trying to simplify their quote-to-cash stack or considering moving everything into one system. It explains why consolidation creates more problems than it solves, and why the right approach is assigning each function to a clear system of record with well-defined boundaries between commercial and financial processes.

TL;DR
  • Quote-to-Cash isn’t about moving everything into one system. It’s about having the right system of record for every function.
  • The One-System Fallacy, the belief that consolidation eliminates complexity, actually redistributes it across systems that weren’t built to own those functions.
  • Salesforce owns the commercial process. NetSuite owns the financial process. The integration layer moves data between them and nothing else.
  • What sits at the boundary between those two systems is the most critical layer in modern Quote-to-Cash architecture, and it’s not middleware.
  • The goal isn’t one system. It’s one system of record per function, and infrastructure that makes them work together.

Quote-to-Cash is one of the most loaded terms in SaaS. Not because it’s complicated, but because everyone has a stake in where the boundaries land.

When Salesforce, Conga, and others leaned into the term, they were really describing an expansion of CRM into territory that had traditionally belonged to ERP and Finance. That’s when the tug of war began. And it’s been causing architectural problems ever since.

What Does Quote-to-Cash Actually Mean?

Quote-to-Cash describes the end-to-end process from the moment a deal is quoted to the moment revenue is recognized and cash is collected. It spans Sales, Finance, and everything in between.

The confusion started when CRM platforms got more capable and the question became: how much of the Order-to-Cash process should move into Salesforce? Should invoicing move into CRM? If so, what about tax engines, credit memos, revenue recognition, FX gains and losses?

Finance teams struggled when key processes got split across two systems with no clear system of record for something as critical as Accounts Receivable. CRM teams struggled when billing and balance information stayed locked in the back-office ERP.

Both sides were right about their own pain. Neither was asking the right question.

Why Does Moving Everything Into One System Create Problems?

The instinct to consolidate is understandable. One system, one source of truth, no reconciliation. It sounds clean.

This is the One-System Fallacy, the belief that putting everything in one platform eliminates complexity, when it actually redistributes it.

In practice it creates a different set of problems. Salesforce wasn’t built to be the system of record for revenue recognition. NetSuite wasn’t built to manage the commercial lifecycle. When you force either system to do what the other was designed for, you end up with workarounds, customizations, and complexity that accumulates over time.

And when things go wrong, when billing doesn’t match bookings, when revenue recognition is off, when the close takes three weeks instead of five days, nobody can find where the problem actually lives because the logic is spread across a system that wasn’t built to own it.

At scale, this turns into delayed reporting, audit exposure, and a loss of confidence in the numbers.

What Is a System of Record and Why Does It Matter for Quote-to-Cash?

A system of record is the single authoritative source of truth for a given business process. When every team knows which system owns what, there’s no ambiguity, no reconciliation work, and no month-end investigation.

The problem with the one system approach is that it conflates system of record with system of consolidation. They’re not the same thing. You don’t need everything in one place. You need every function to have exactly one home.

In a well-architected Quote-to-Cash stack that looks like this:


One system of record for the Product Catalog. One system of record for the Customer Lifecycle and Subscription. One system of record for Invoicing and Accounts Receivable. One system of record for Revenue Recognition.


Each function has a clear owner. Each team knows where to go. And the systems that handle each function are the ones that were actually built for it.

What Does the Right Quote-to-Cash Architecture Actually Look Like?

Salesforce manages the commercial process. Quoting, contracting, customer lifecycle, product catalog. Every pricing rule, every amendment, every customer asset lives here. It’s the system of record for what was sold, to whom, and on what terms.

NetSuite manages the financial process. Invoicing, revenue recognition, general ledger, accounts receivable. Every billing workflow, every revenue schedule, every journal entry lives here. It’s the system of record for what was billed, when it was recognized, and what hit the books.

The integration layer connects them. It moves records from one system to the other accurately and reliably. It doesn’t own any of those functions. It doesn’t interpret records or hold business logic. It stays dumb. That’s a feature, not a limitation.

What sits at the boundary between those two systems is the most critical layer in modern Quote-to-Cash architecture. Something that understands the financial relationships between records and ensures what Sales closes in Salesforce executes correctly in NetSuite. That’s not middleware. That’s a different kind of infrastructure entirely.

How Does Continuous Help Companies Get This Right?

At Continuous, we help SaaS companies fix Quote-to-Cash across Salesforce and NetSuite. Not by consolidating everything into one system. By making sure every function has the right system of record and that those systems work together cleanly.

That means Salesforce owning the commercial process completely. NetSuite owning the financial process completely. And Continuous sitting at the boundary between them as embedded revenue infrastructure, governing what happens after a deal closes, ensuring every contract change, pricing model, and lifecycle event executes correctly without manual intervention.

Quote-to-Cash doesn’t have to mean chaos. It means running the process across the right systems, with the right boundaries, so every team knows where to go and the numbers always agree.

The goal isn’t one system. It’s one system of record per function, and infrastructure that makes them work together.

Frequently Asked Questions

Because Salesforce was built to manage the commercial process, not the financial one. When invoicing, revenue recognition, and accounts receivable get forced into Salesforce, the system ends up owning functions it wasn’t designed for. The result is workarounds, customizations, and complexity that accumulates over time and surfaces as reconciliation problems at close.

Quote-to-Cash covers the full commercial and financial lifecycle from the moment a deal is quoted to the moment revenue is recognized and cash is collected. Order-to-Cash is the financial portion of that process — converting a closed deal into invoices, payments, and recognized revenue. Order-to-Cash traditionally lived in ERP and Finance. The confusion started when CRM platforms expanded into that territory.

Because each system was built for a different job and different teams own each one. Salesforce manages commercial intent — quoting, contracting, customer lifecycle. NetSuite manages financial reality — invoicing, revenue recognition, general ledger. As pricing models get more complex and deals change mid-cycle, keeping those two systems aligned requires more than a standard integration. It requires infrastructure purpose-built for the boundary between them.

Usually one of three things: business logic living in the integration layer rather than in either system of record, functions being owned by the wrong system, or lifecycle changes like amendments and cancellations not executing correctly across both systems. When Salesforce and NetSuite each hold a different version of the same transaction, Finance ends up reconciling the difference at every close.

Each major function should have exactly one system of record. Salesforce owns the commercial process — quoting, contracting, pricing, customer lifecycle. NetSuite owns the financial process — invoicing, revenue recognition, accounts receivable, general ledger. The integration layer moves data between them without interpreting it or holding business logic. And the boundary between the two systems needs purpose-built infrastructure that ensures what Sales closes in Salesforce executes correctly in NetSuite.

From Salesforce CPQ to Revenue Cloud Advanced: How to Migrate With Control

From Salesforce CPQ to Revenue Cloud Advanced: How to Migrate With Control

This article is for Salesforce CPQ users, RevOps leaders, IT teams, and finance stakeholders at SaaS companies who are evaluating or planning a migration to Revenue Cloud Advanced. It explains what actually changes, what stays the same, where migrations typically break down, and what to do before you move to ensure the transition happens with control rather than inherited chaos.

TL;DR
  • The CPQ to RCA migration isn’t a rip-and-replace and it isn’t a simple upgrade. It’s a platform with materially different architecture in some areas and meaningful continuity in others.
  • The pricing engine, contracting model, amendment rules, and renewal processes all get rebuilt from scratch, not migrated.
  • The most common failure mode is migrating before you’re ready and bringing your problems with you to a new platform.
  • The cleanup work, remediating CPQ complexity, aligning billing and finance processes, and eliminating reconciliation gaps — before migration — not after.
  • RCA is more capable than CPQ. But capability doesn’t fix broken processes.

Most companies approaching the CPQ to Revenue Cloud Advanced (RCA) migration underestimate how much actually changes and overestimate how much the new platform will fix on its own.

The reality is more nuanced and more important to understand before you start. Some things stay the same. Some things materially change. Some things are completely unrecognizable. Getting that wrong before you migrate means inheriting the wrong problems on a new platform.

Is CPQ to RCA a Rip-and-Replace Migration?

No, but it is not a simple upgrade either.

The architecture of Revenue Cloud Advanced is fundamentally different from CPQ in ways that matter operationally. The pricing engine is rebuilt from the ground up. The contracting model shifts from CPQ’s quote-based approach to Customer Assets. The amendment framework is unconstrained, which sounds like a feature, and it is, but it also means you have to build the amendment rules yourself rather than inheriting CPQ’s opinionated structure.

At the same time, not everything changes. The core Salesforce objects that anchor your commercial process, Opportunity and Opportunity Products, stay the same. The Order object can remain largely unchanged, assuming it was implemented correctly in the first place. That is an important caveat we will come back to.

RCA is not a clean slate and it is not a simple lift-and-shift. It is a platform with materially different architecture in some areas and meaningful continuity in others. Understanding which is which is the starting point for any migration that goes well.

What Stays the Same When You Move from CPQ to Revenue Cloud Advanced?

Two things carry over with minimal disruption when the migration is done correctly.

The Opportunity and Opportunity Products objects stay the same. These are the foundation of your commercial process in Salesforce and RCA preserves them. If your opportunity data is clean and your product catalog is well-structured, this part of the migration is relatively low-risk.

The Order object can remain largely unchanged, with one significant condition. If your Orders were implemented correctly in CPQ, they translate well into RCA. If they were not, if they carry custom logic, workarounds, or structural compromises that accumulated over time, the Order becomes one of the first places the migration gets complicated. That condition matters more than most people realize going in.

What Actually Changes When You Migrate from CPQ to RCA?

This is where companies get surprised. The changes are not cosmetic. They are architectural.

1. The pricing engine gets rebuilt.

CPQ’s pricing engine and RCA’s are fundamentally different. Custom pricing rules built in CPQ do not have a direct equivalent in RCA. Rules that worked in CPQ have to be rebuilt from scratch, not migrated. If your CPQ pricing logic is complex, this is the most significant technical challenge in the migration.

2. The user interface changes completely.

QLE, the Quote Line Editor, goes away. For teams that have built their sales process around QLE, this is a meaningful workflow change that requires training and adjustment. For teams that have struggled with QLE, it is a genuine relief.

3. The contracting process shifts to Customer Assets.

RCA manages the customer lifecycle through Customer Assets rather than CPQ’s quote-and-order model. This is a conceptually different approach to how contracts are created, amended, and renewed and it requires rethinking how your sales process maps to the system.

4. Amendment rules become unconstrained and your responsibility.

In CPQ, amendment behavior is largely governed by the platform. In RCA, it is unconstrained. You can build amendment rules to handle almost any scenario, but you have to build them. Companies that do not plan for this end up with amendment logic that is either missing or inconsistent.

5. Contract amendments and renewals get reengineered.

The mechanics of how amendments and renewals work in RCA are different enough from CPQ that these processes typically need to be rebuilt, not migrated. How mid-contract changes flow through billing and revenue recognition is directly affected.

What Goes Wrong When Companies Rush the CPQ to RCA Migration?

The most common failure mode is straightforward: companies migrate before they are ready and bring their problems with them.

Custom pricing rules that barely work in CPQ do not work at all in RCA. They simply do not exist in the new platform. Billing workflows that Finance already struggles with do not get better in migration. They get worse, sometimes significantly worse. Data gaps that the team has been working around become migration blockers. Revenue recognition issues that were postponed become compliance risks when they surface on a new platform under scrutiny.

The pattern is consistent. A company moves to RCA believing the new platform will solve their operational problems, only to realize they moved those problems to a new address. RCA did not create the issues. The CPQ setup did. But RCA makes them impossible to ignore.


The cleanup work that should have happened before migration now has to happen after, on a new platform, under more pressure, with less runway.


What Should You Do Before Migrating from CPQ to Revenue Cloud Advanced?

Bridge the maturity gap before you migrate. That is the principle, and it is more specific than it sounds.

1. Remediate CPQ complexity and return to sustainable configurations.

Custom pricing rules, non-standard order structures, workarounds that accumulated over years of incremental changes. These need to be identified, documented, and either cleaned up or rebuilt before migration begins.

2. Clean up billing workflows.

If Finance is struggling with billing in CPQ, that struggle will follow you to RCA. The migration is the forcing function to fix billing logic that should have been fixed earlier, not the mechanism that fixes it automatically.

3. Align Sales and Finance processes.

RCA is a more powerful platform for managing the customer lifecycle across Sales and Finance. But that power only delivers value if Sales and Finance are operating from aligned processes to begin with. Misalignment does not get resolved by a platform change.

4. Establish clear data models.

Object structure, field mapping, data quality. These have to be right before migration. Data gaps that exist in CPQ do not get cleaned up by RCA. They get imported into it.

5. Eliminate reconciliation gaps.

If bookings and billings do not reconcile cleanly in CPQ, they will not reconcile cleanly in RCA. The reconciliation work has to happen before migration, not after.

The companies that migrate successfully do not rush. They treat the pre-migration cleanup as part of the project, not as a prerequisite that can be skipped.

How Does Continuous Help Companies Migrate from CPQ to RCA?

At Continuous, we have seen both sides of this migration. We have watched companies move to RCA under pressure and inherit the chaos they were trying to leave behind. We have also helped companies go through the same migration with minimal disruption, because they did the foundational work first.

The CPQ to RCA challenge is, at its core, a quote-to-cash problem. Pricing lives in CPQ. Usage lives somewhere else. Billing and revenue live in NetSuite. Over time, these layers drift apart, creating the complexity, workarounds, and inconsistencies that surface during migration and make it harder than it needs to be.

Continuous fixes that problem. As an execution layer embedded inside Salesforce and NetSuite, it brings pricing, usage, and billing back into alignment before migration begins. Stabilizing CPQ environments, supporting modern pricing models, and ensuring billing outputs align cleanly with NetSuite. The result is a controlled path forward rather than a single high-risk replatforming effort.

Our role is to bridge the gap between where a company’s architecture is and where it needs to be before migration makes sense. That means remediating CPQ complexity, aligning billing and revenue processes across Salesforce and NetSuite, and ensuring the execution layer between CRM and ERP is clean before the platform changes underneath it.

The companies that get this right do not just migrate successfully. They move to RCA with an architecture already built for what comes next. Pricing logic that is structured. Billing and finance workflows that are aligned. A quote-to-cash foundation that RCA can build on rather than inherit chaos from.

RCA is more capable than CPQ. But capability does not fix broken processes. The migration is worth doing, when the foundation is ready for it.

Frequently Asked Questions

No, but it’s not a simple upgrade either. Some objects, like Opportunity and Opportunity Products, carry over cleanly. Others, like the pricing engine, contracting model, and amendment rules, have to be rebuilt from scratch. Understanding which is which is the starting point for any migration that goes well.

Five things change materially: the pricing engine gets rebuilt, the UI replaces QLE, the contracting process shifts to Customer Assets, amendment rules become unconstrained and your responsibility, and contract amendments and renewals get reengineered. None of these are cosmetic changes.

The Opportunity and Opportunity Products objects stay the same. The Order object can remain largely unchanged, assuming it was implemented correctly in CPQ. If it wasn’t, the Order becomes one of the first places the migration gets complicated.

The most common failure mode is migrating before the foundation is ready. Custom pricing rules that barely work in CPQ don’t exist in RCA. Billing workflows Finance already struggles with get worse. Data gaps become migration blockers. Revenue recognition issues become compliance risks. Companies move to RCA thinking it’ll solve their problems and realize they just moved those problems to a new platform.

Bridge the maturity gap first. Remediate CPQ complexity, clean up billing workflows, align Sales and Finance processes, establish clear data models, and eliminate reconciliation gaps. The cleanup work doesn’t get easier after migration.

Ramps and Swaps 101: Easy Math, Hard Execution, Real Cost

Continuous Insights_Ramps & Swaps 101

Why the Math Is Easy, the Execution Isn’t, and Both Are Costing SaaS Companies More Than They Realize

For CFOs, CROs, and RevOps leaders at mid-market SaaS companies: learn why ramps and swaps cause bookings, billings, and revenue to diverge in Salesforce and NetSuite — creating margin leakage, RPO reporting gaps, and a finance team reconciling numbers that should never have drifted.


Ramps and swaps are two of the most common contract structures in B2B SaaS — but two of the most reliably painful to execute. A ramp is a multi-year deal where the price increases each year: for example, a customer commits to $20,000 in year one, $25,000 in year two, $30,000 in year three. A swap is a mid-contract product exchange: a customer returns the unused portion of what they bought and applies the credit toward something different. Both are standard. Both are expected. And both have a way of breaking things that shouldn’t break.

Consider this scenario. A customer calls their account manager. They’ve been on Product A for six months and want to upgrade to Product B. They expect a credit for what’s left on their current contract. It seems straightforward. The account manager agrees. They go to build the quote.

However, in most mid-market SaaS companies, what actually happens is more complicated than a three-day delay. The account manager calls finance, who is buried in month-end close. But even when the number comes back, it may not be what anyone expected. The implementation, training, or support services bundled into the original deal — discounted or included at no cost — were still allocated a portion of the contract revenue at the time of booking. The account manager never knew. They see what the customer paid, estimate the remaining value, and build the quote on a number that was never accurate to begin with. Add in the days that have elapsed since the swap request came in, and the proration has shifted too. The number is wrong twice over. The customer is frustrated. The deal is delayed. And everyone involved is doing work that, in a properly architected system, no human should have to do at all.

This is the ramps and swaps problem. Not a math problem. Not a people problem. A systems problem — one that most companies quietly absorb by building a RevOps team whose real job, underneath the title, is cleaning up the accounting side effects of deals the systems were never designed to handle.  What sales sees on an opportunity and what finance is actually recognizing in NetSuite are separated by seven records. That’s not a gap. That’s where margin goes to die.

Why Do Ramps and Swaps Leave Sales Flying Blind and Finance Cleaning Up the Mess?

To understand why this breaks, you have to understand what happens to a deal after it closes.

When an opportunity closes in Salesforce, the booking reflects what was sold: the price on the quote, the products on the order. That’s the number sales owns. It’s clean, it’s simple, and it’s already out of date by the time the deal reaches NetSuite.

In NetSuite, two things happen that Salesforce will never see. The first is allocation. When a deal includes a software license and a professional services engagement — even if the implementation was “free” — the revenue has to be distributed across both components based on their standalone value, not what the invoice says. A deal booked as $50,000 for software and zero for services might become $30,000 for software and $20,000 for services once NetSuite applies allocation. The invoice wasn’t wrong. The revenue treatment just reflects the economic reality of what was delivered.

The second is recognition timing. A ramp deal — $20,000 in year one, $25,000 in year two, $30,000 in year three for the same product — can’t be recognized as billed. The total contract value has to be spread evenly, because you’re delivering the same thing each year. So you recognize $25,000 annually regardless of what the invoice says. Year one generates an unbilled receivable. Year three generates deferred revenue. None of this is visible in Salesforce.

The portion of that total contract value not yet recognized is what’s known as Remaining Performance Obligation, or RPO. For a three-year ramp deal, RPO represents the revenue the business is committed to deliver but hasn’t yet earned. It’s a number that matters enormously to investors and auditors, and one that’s almost impossible to report accurately when ramp deals aren’t configured correctly in NetSuite from the start.

“The post-allocation financial picture that lives in NetSuite never makes its way back to Salesforce. In 99% of cases, only the most sophisticated organizations manage to close that gap — and they’ve had to build it themselves.”

So when the account manager goes to quote a swap, they’re working from the Salesforce number — what was originally booked. The actual remaining recognized value is a different number, sitting in NetSuite, accessible only to someone who knows where to look and has time to pull it. The gap between those two numbers is where margin goes to disappear. Sales closes the deal with the wrong credit. Finance inherits the mess: reconciling recognition patterns the sales rep never knew existed, after a deal that can no longer be unwound.

What Does It Really Cost When Ramps and Swaps Go Wrong?

The most immediate cost is margin leakage — and it’s more common than most finance teams realize. When a customer wants to swap products and the account manager calculates their credit as $25,000 because that’s what six months of a $50,000 contract looks like on paper, but the actual remaining recognized value is $15,000 because of how allocation was applied, the business has two choices. Get finance involved, slow the deal down, and try to explain to the customer why they’re getting less credit than expected. Or just give them the $25,000, close the deal, and eat the $10,000 difference. And it’s worth being clear about what’s actually happening here. The rep isn’t cutting corners — they’re working with the only number available to them. When systems aren’t architected to surface the real revenue position, over-crediting isn’t a training problem or a process failure. It’s the predictable outcome of asking people to make financial decisions without financial data. The rep trades margin for a fast quote. The customer gets their answer. The business absorbs a loss it didn’t know it was taking.

Most companies, most of the time, take the path of least resistance. They don’t have a process that makes the right answer easily available, so they default to the wrong one. Across PE-backed SaaS companies, it’s common to see 1 to 3 percent of ARR effectively donated this way each year — purely because swap credits are based on invoice math instead of recognized revenue. That’s not a rounding error.

“When a swap credit should be $15,000 but the sales rep can only see the invoiced number, companies are often cornered into issuing $25,000 and eating the $10,000 difference. It happens constantly. It’s not an edge case. It’s the hidden cost of two systems that don’t talk to each other.”

Beyond the immediate margin hit, the reporting consequences compound over time. When a customer’s recognized revenue drops mid-contract because a swap was executed at the wrong value, it shows up in the CFO’s monthly report as an unexplained ARR decrease. Weeks after the fact. Long after anyone could have done anything about it. Revenue forecasts drift. ARR reporting reflects bookings rather than recognized revenue. The gap between what the CRO thinks the business is doing and what the CFO knows it’s doing widens with every quarter.

For PE-backed companies, the stakes are higher still. Covenant compliance, investor reporting, and the credibility of the management team all depend on financial numbers that reconcile, including RPO, which investors increasingly scrutinize as a forward indicator of revenue health. When they don’t, the conversation shifts long before the board asks a question. Executives are defending numbers instead of discussing growth. The CRO and CFO are reconciling versions of reality instead of aligning on what’s next. By the time someone asks why bookings, billings, and revenue don’t line up, the credibility cost has already been paid.

Why Can’t Your Systems Handle Ramps and Swaps Automatically?

Because the revenue position that matters sits seven records deep in a system the sales team never touches. A deal moves through a chain: opportunity in Salesforce, order line in Salesforce, sales order in NetSuite, sales order line in NetSuite, revenue element, recognition plan, journal entries over time. By the time allocation has been applied and recognition has begun, the number that’s relevant for a swap or a ramp reconciliation is buried at the end of that chain. No existing tool has been built to traverse it automatically and send the answer back.

To get that number back to the person quoting the deal, someone has to manually bridge the gap. Call finance. Run a report. Export a spreadsheet. In organizations that have tried to build this themselves, it typically means a sales ops person who has a standing relationship with someone on the revenue team and knows to call before month-end when the queue is manageable. That’s not a process. That’s a workaround with a name badge.

The reason no one has solved this systematically is that it requires being native to both systems simultaneously — not integrated with them or synced to them on a schedule, but genuinely embedded in the data layer of both Salesforce and NetSuite. Most tools live on one side of that boundary. The revenue data lives on the other.

“Most quote-to-cash stacks stop caring about revenue the moment the invoice goes out. Everything after that gets handed to finance and forgotten. To take the final answer on that revenue element and tie it seven records back to the opportunity in Salesforce — and have a system send that answer back automatically — No one had built that yet. Until now. That’s what Continuous solved.”

How Does Continuous Solve the Ramps and Swaps Problem?

Continuous operates at the architectural boundary between Salesforce and NetSuite, embedded in both systems’ transaction and revenue layers, not bolted on through middleware or nightly syncs. It tracks the full lifecycle of a deal from opportunity through allocation, recognition, and journal entry, keeping the revenue position accurate in real time across both systems.

For swaps, that means the account manager sees the actual remaining recognized value before they build the quote. Not invoice math. Not a CPQ estimate. The number pulled directly from post-allocation accounting. Credits reflect financial reality, finance doesn’t get a phone call, and margin doesn’t quietly erode.

More importantly, the system enforces alignment. Revenue logic is embedded directly in the quoting flow, so sales cannot issue credits that exceed what has actually been earned. The gap between bookings and recognized value closes before it ever becomes a reporting problem.

For ramps, Continuous structures recognition correctly from the start and recalculates automatically when a contract changes. Allocation, deferred revenue, and billing schedules stay aligned without manual intervention. No surprises when a ramp year turns over, no reconciliation required when a customer modifies mid-term.

The same infrastructure governs amendments, credits, true-ups, and hybrid pricing models, absorbing commercial flexibility into system design rather than leaving finance to reconcile it after the fact.

On the reporting side, bookings, billings, and revenue reconcile structurally. The CRO and CFO operate from the same source of truth. ARR reflects recognized reality. Mid-contract changes surface in forecasts immediately, not six weeks later.

Continuous isn’t another billing tool. It’s embedded revenue infrastructure built to close the seven-record gap automatically — so ramps and swaps execute cleanly, accurately, and without hidden margin loss

Ready to learn more? See how Continuous ensures your revenue position is always accurate, in both systems, in real time.

Frequently Asked Questions (for FAQ section)

What are ramps and swaps in SaaS contracts?

A ramp is a multi-year contract structure where the price increases by a pre-negotiated amount each year. For example, a customer might pay $20,000 in year one, $25,000 in year two, and $30,000 in year three for the same product. A swap is a mid-contract product exchange where a customer returns the unused portion of an existing product and applies the remaining credit toward a different one. Both are common in B2B SaaS and both create significant complexity when it comes to revenue recognition and billing.

Why do ramps and swaps cause problems in NetSuite?

NetSuite applies revenue allocation and recognition rules that change the financial value of a product after a deal closes. A ramp deal that bills at different amounts each year must be recognized evenly across the contract term under ASC 606. A bundled deal with a free implementation must allocate value across each component based on standalone selling price. These adjustments happen entirely in NetSuite and are never reflected back in Salesforce, creating a disconnect between what sales knows and what finance knows.

What is the difference between bookings, billings, and revenue recognition?

Bookings are the total value of deals closed, typically recorded in your CRM on the day the contract is signed. Billings are the amounts actually invoiced to customers, which may follow a different schedule. Revenue recognition is the amount recorded as earned revenue under ASC 606, which depends on when and how value is delivered. For a ramp deal, all three numbers can be different in the same year: you might book $75,000, bill $20,000, and recognize $25,000. Understanding the difference is critical for accurate ARR reporting and financial forecasting.

How does revenue allocation affect swap credits?

When a deal includes multiple products or services, NetSuite allocates revenue across each component based on standalone selling price, regardless of how the invoice was structured. This means the recognized value of a product can be materially different from what appears on the quote. When a customer goes to swap that product, the credit they are owed should be based on the remaining recognized value, not the invoiced amount. If sales quotes the swap using the invoiced figure, the company may issue a larger credit than it has actually earned, resulting in direct margin leakage.

Why does ARR drop when a customer swaps products?

ARR can drop after a swap when the new ARR secured in the replacement product is less than the recognized ARR being retired from the original product. This often happens because the account manager is quoting based on the Salesforce booking value rather than the actual remaining recognized revenue position in NetSuite. The difference between those two numbers can be significant, and without visibility into the real revenue position, sales teams routinely offer more credit than the business has earned.

How can software companies automate ramps and swaps?

Automating ramps and swaps requires closing the data loop between your CRM and your ERP. The recognized revenue position for each product needs to flow back into Salesforce automatically so account managers have the right number before they quote. This means being native to both systems, tracking the full chain from opportunity through revenue element and recognition plan, and updating the revenue position in Salesforce as it changes over time. Continuous is built to do exactly this, eliminating the manual handoffs between sales and finance that slow deals down and introduce errors.

What is Remaining Performance Obligation and how do ramps affect it?

Remaining Performance Obligation, or RPO, is the total contract revenue a company is obligated to recognize in the future but has not yet earned. Under ASC 606, it represents the value of work still to be delivered on existing contracts. For ramp deals, RPO can be significant: a three-year ramp with $75,000 in total contract value has $50,000 in RPO at the end of year one. If ramp deals aren’t configured correctly in NetSuite — with even recognition across the full contract term — RPO will be understated, misrepresenting the company’s forward revenue position to investors, auditors, and the board.

How to Survive (and Win) Your Revenue Cloud Advanced Implementation

What Salesforce and NetSuite teams need to know before starting a Revenue Cloud Advanced (ARM) reimplementation—and how to avoid rebuilding quote-to-cash twice.

TL;DR
– Revenue Cloud Advanced (ARM) is a full architectural reset, not a CPQ upgrade.
– Treating ARM as lift-and-shift just recreates old quote-to-cash problems in a more complex system.
– Winning teams clean up CPQ, design for future pricing models, and build cross-functional ARM expertise.
– Embedded revenue infrastructure connects Salesforce and NetSuite so ARM delivers scale instead of chaos.


Let’s Be Honest: RCA/ARM Isn’t an Upgrade — It’s a Reimplementation

Revenue Cloud Advanced (RCA), now Agentforce Revenue Management (ARM), isn’t just the next version of Salesforce CPQ & Billing.  It represents an entirely different product approach, and is a total paradigm shift. 

RCA/ARM introduces a new, event-driven foundation built for hybrid, usage-based, and consumption pricing. It’s powerful, but it’s not plug-and-play, it needs the right skills and developers to achieve its full potential. If you treat it like a “lift-and-shift,” you’ll just move your old quote-to-cash problems into a more complex architecture.

Do it right, and you’ll come out revenue ready, with a scalable, modern foundation that actually works. Do it wrong, and you’ll be managing chaos in a system that’s supposed to make things easier.

RCA/ARM ≠ CPQ

Let’s be clear: RCA/ARM isn’t CPQ 2.0. 

  • It’s event-driven. Every revenue event triggers automation, rating, and reconciliation — in real time.
  • It’s headless. RCA/ARM is designed for machine-to-machine transactions, not seat-based licensing.
  • It’s developer-heavy by design. The flexibility is incredible, but it requires architects who can design across CRM and ERP.

Think of it this way: Salesforce just handed you the best toolset in the world. But it’s still on you to design the house.  This is where you need your master carpenters, people who know how to build end-to-end on Salesforce and NetSuite.

Four Crucial Steps before Starting RCA

The companies getting this right are using their RCA/ARM reimplementation to fix quote-to-cash issues now, not replicate them.

  1. Clean up CPQ first: Don’t drag legacy workarounds into a modern architecture. RCA/ARM is different, don’t put the CD player in a 2025 car. Start by removing unnecessary custom complexity, returning to sustainable configurations, and stabilizing your current CPQ environment.  This affords you time and control, not just a temporary fix.
  2. Plan for what’s next, not what’s now.: RCA/ARM is built for consumption, flexibility, and automation. Architect beyond your current product catalog and pricing logic.

    Do you have any upcoming initiatives or roadmap items that should be taken into consideration at this time?
    • New product launches or pricing packages
    • Usage-based or hybrid monetization
    • Digital wallets and prepaid credits
    • Ramp and milestone-based deals
    • Self-service or PLG motion
    • Channel or partner expansion
    • AI and predictive revenue intelligence

  3. Build the right team: To get RCA/ARM right, you need people who understand both Salesforce’s event-driven, API-first architecture and the business logic that actually runs quote-to-cash.  Here’s the truth: RCA/ARM skills are not CPQ skills. CPQ is rules and workflows. RCA/ARM is events, automation, and real-time data flows.

    Most teams can’t afford the years it takes to build both skill sets while the business keeps shipping new pricing models. That’s where Continuous changes the game.

    We bring RCA/ARM expertise, deep CPQ mastery, and industry-specific insight to design pricing, packaging, usage, and revenue flows that actually work. While others are still learning Salesforce’s new model, we’re already executing it at scale.

    Pair Continuous with the right internal stakeholders and you don’t just implement RCA/ARM, you build a modern revenue architecture grounded in real experience, not guesswork.

    Your winning team blends:
    • Architects who design across Salesforce, NetSuite, and connected data flows
    • RevOps + Finance leaders who align pricing, process, compliance, and controls
    • Developers/engineers who implement event-driven logic, integrations, and usage instrumentation
    • Data owners who define, model, and reconcile usage and event flows
    • Process + change leaders who drive adoption and measurable outcomes

      RCA/ARM success depends on collaboration, not configuration. The teams who win treat it as a cross-functional design effort that unites Sales, Finance, and Operations around a shared revenue architecture.

  4. Choose the right foundation: The winners are embedding revenue infrastructure inside their systems of record.

    The connection between your CRM, ERP, customer systems, and product should all work together without duplicate data sources. When done right, usage and consumption data should be usable in real-time, across all systems and processes. 

    Sound too good to be true?  See how ACI learning put this into action

How Continuous Helps You Get Revenue Ready

Revenue models have been evolving for decades and so have the associated tools. This next generation of Salesforce architecture is designed to unlock so much more. At the risk of sounding like a broken record, I will state again, this is not lift and shift…you need a bridge to the future. 

Continuous enables Salesforce customers to modernize their revenue stack, Revenue Cloud or ARM, while maintaining day-to-day operations and modernizing.  We extend Salesforce with flexible pricing, rating, and ERP-ready billing logic that works across both current and next-generation architectures.

With Continuous, teams can:

  • Assess your options
  • Clean up CPQ and reduce risk for the next path you choose
  • Add modern pricing, usage, and credit models directly within Salesforce. No new platform required.
  • Connect Salesforce quoting and billing to NetSuite or other ERPs with real-time data flow and reconciliation.
  • Evaluate ARM readiness and move on their own timeline — adopting RCA/ARM when they’re ready, without business disruption.

Continuous builds the foundation you’ll need for RCA/ARM, while delivering value now. When you go live, your architecture, processes, and people are already ready.

Final Word

RCA/ARM is rewriting Salesforce’s revenue architecture. This isn’t just another release, it’s your chance to get back to out-of-the-box, simplify and modernize for good.

Maximize the systems your teams operate within and create a future-proof infrastructure to power your business. Embedded revenue infrastructure is the revenue fabric that will directly stitch together  Salesforce and NetSuite. We’ve fixed quote-to-cash, and we make sure your business stays revenue ready for whatever comes next.

→ Learn how Continuous fixed quote-to-cash in Salesforce and NetSuite. Request a demo today or reach out for a RCA/ARM readiness audit.