By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.
Revenue Operations
Flash Icon Decorative

Opportunity Object Best Practices in B2B SaaS

Scribbles 2
Opportunities are a simple way to forecast what the sales team will be closing in the future.

Just kidding!

There are as many variations as there are SaaS products in the market. Particularly in the earliest stages, executives have a way of demanding that the product structure and opportunities function differently than any other business you've seen.

Some of this is understandable. In the seed or angel investing stage, the company is trying to sell enough of the product to prove there is demand – and if we're being honest, it's usually when the product lacks functionality that some customers need. To compensate for gaps, customers get unique discounts and promises that those features are on the immediate roadmap. Each deal is different from the last because sales has to get creative.

Earlier companies are in a weird position between wanting to create repeatable processes that can scale and giving sales the flexibility they need to sell the product. It's very common for curious executives to inadvertently require too much of their salespeople in the quest for product data.

Record Types vs. Page Layouts

It's not uncommon for new sales managers or separate teams to want different processes. It's also not unusual for less experienced Salesforce administrators to default to new record types when a new wrinkle in the process is introduced.

Record types should be used when a process is vastly different or various access rights are needed. For example, if you need to lock down fields (but still leave them visible) after the opportunity contract is approved, switching record types may make sense so you can only allow finance and senior management access to edits.

Pro Tip: If you need different picklist values for different page layouts and record types, you must remember to assign your values on the record type configuration page.

Page layouts are great for just about every other scenario. For example, if customer success cares about a subset of fields on the opportunity but doesn't need to know the ins and outs of the sales methodology used, they can have a trimmed-down page layout. Multiple page layouts can be assigned to different profiles for a single record type.

Record types used to be necessary to show different fields for different opportunity types. For example, we may want to see different kinds of amount summaries for renewal opportunities and require more sales discovery information for net new opportunities. Dynamic lightning pages now allow much of the flexibility reserved for record types. As long as you can get your selling teams to agree on stages, I recommend exploring dynamic lightning pages to hide and expose fields as needed.

Want to Start a Coup? Embrace Validation Rules

Some fields are necessary to pull quarterly reports, and some rules are necessary to ensure the data stays clean. For example, creating a validation rule that forces users to update the close date for open opportunities when they are set to close in the past. Or not allowing the amount field to be blank after a certain stage.

While validation rules can be good, it's vital to keep usability in mind. 

I once consulted for an organization with over twenty validation rules, and the salespeople conducted all of their forecasting calls out of Excel. Typically, removing friction in the system eliminates excuses for the sales team to avoid Salesforce and gives your executive team more leverage to force adoption. In this case, we used the sales team's refusal to forecast to convince the finance and product teams that they needed to give up some of the data points that weren't absolutely necessary.

A reliable forecast to report to the board is more critical than collecting prospects' opinions on twenty possible features.

Opportunity Contact Roles - Make It Simple!

I'm going to let you in on a secret. Marketers HATE opportunity contact roles.

They are necessary because Salesforce uses them to connect campaign information to an opportunity. But sales views most (all) data entry as an N.S.A. (non-selling activity). These are difficult to enforce or automate because turnover is rampant, and marketing is left without proof that what they're doing is working.

Your two choices are to ensure opportunities have a primary contact by forcing opportunity creation from the contact object or to use a data warehouse/data lake/customer data platform for marketing reports to remove the reliance on contact roles. The first of the two options requires removing the opportunity create button from the account related list and opportunity object tab. I recommend removing the clone button for all but administrative profiles.

Tracking MRR, LTV & TCV

Investors care about bookings, but they care more about what is repeatable. TCV, or Total Contract Value, is a calculation that sums all dollars involved in a single contract. Often, the amount field on the opportunity includes recurring revenue and upfront fees that aren't included in the monthly recurring revenue number (MRR).

Monthly recurring revenue can be calculated using a rollup summary field based on a sum of the actual price of product line items with an indicator that is checked when the line item is recurring revenue.

Customer lifetime value (LTV) is typically calculated as the average first-year contract value plus the average renewal and expansion value over the remaining average lifetime of a customer. For example, if the average customer pays $30,000 for the annual subscription plus a $10,000 one-time onboarding fee, then usually upgrades their user count by 10% every year for the next three years before churning, their LTV would be:

$40,000+$33,000+$36,300+$39,930 = $149,230

To help solidify the concept of MRR, let's look at the customer's value each year and figure out MRR:

  • Year 1 MRR: $2,500 (remember, the $10,000 one-time fee is not included in MRR)
  • Year 2 MRR: $2,750
  • Year 3 MRR: $3,025
  • Year 4 MRR: $3,327.50

If you use a CPQ product, you may rely on a different object structure than opportunities and opportunity products. If you're lucky enough to be in charge of implementing the tool, ask many questions about rollup fields and the ability to make swapping out quote lines as easy as possible for sales executives who like to run several quotes. A single primary quote can help prevent incorrect roll-ups – if you lock down manual edits when appropriate.

Integrating ERPs

This section could be a standalone book. Instead of going into detail, I'll leave you with some hard-earned learnings:

  • Make sure your integration allows for updates and corrections
  • Do the hard work of tying out your enterprise resource planning tool (ERP) and opportunity line items so everything matches when you first integrate
  • Consider using contracts and auto-populating renewals with product line items
  • Don't let anyone talk you out of requiring multiple opportunities for co-term deals

It's very important to keep usability as the top priority. Except when it screws up your accounting system. I have yet to see many graceful solutions for co-termed products with a quoting product installed. However, if you find a solution that works for quoting but doesn't work for your accounting system integration, consider putting the opportunity division work on your operations team as part of the close process to reduce complaints (and forecasting in spreadsheets).

Pro Tip: Streamline your quote approval process as much as possible. If a single submission triggers multiple rules, ensure your opportunity is considered approved if the highest-ranking person approves the submission.

If you require multiple tiers of approval, it will frustrate everyone.

The Dreaded Usage-Based Billing Conundrum

Unfortunately, I don't have a silver bullet for usage-based billing. If you're commissioning your sales team on the estimated yearly value and want to also capture the actual monthly billing rate, you may need to consider two record types – one for commissions and one for reporting purposes. It's important to work with your finance team to determine how they want to report the amount upon closure and how they want to account for monthly adjustments.

Generally, I advise only updating existing, closed opportunities if there is a complete failure to pay. Partial cancellations aren't typically allowed, but if your business makes an exception, you'll need to determine whether you're updating the original amount – which makes sense in the case of a clawback – or creating a "Correction" type opportunity with a negative amount for the difference. I've also seen that opposed by the CFO, and those companies correct the original opportunity.

Cancellations, Clawbacks & Churn

Generally speaking, I recommend having a Customer Status indicator at the account level and having the picklist values of:

  • Prospect
  • Customer
  • Churned

I also recommend keeping date stamp fields for customer acquisition and churn dates. This allows you to understand the account's status at a glance and cohort both customer and churn data for future analysis.

I never recommend having a cancellation-type opportunity. If a customer chooses not to renew, close lost the renewal opportunity and trigger the Churned and Churn Date stamp updates. 

Also, leave previously won opportunities as is. I've seen some early-stage companies retroactively mark all opportunities as lost once a customer churns and quickly learn that they destroy historical reporting that way. 

The only exception to this is if a customer refuses to pay and the account executive has a clawback. Since dollars never come into the business, it's fair to consider the deal lost rather than won.

There Isn't One Way to Do Anything in Salesforce

I've outlined several best practices that work in many SaaS businesses that operate with a sales team. However, this topic is very broad, and certain situations will negate my recommendations. 

There is not a single "right" way to achieve anything in Salesforce, and it will be up to you to use a combination of your judgment and peer resources to find the best solution for your specific situation.

I wish you the best of luck and recommend you use the expertise of the RevOps Co-Op for advice and join your local Salesforce administrator group. Salesforce provides many ways to network and learn, and I recommend you take advantage of them.

Related posts

Join the Co-op!

scribbles 7 birds
Tail Spin Animation