A guide to evaluating a billing system, part 3

Kshitij Grover

Each business system you adopt should fit into the ecosystem of tools at your company and the processes of the teams that use them. In the case of billing, this process is called "Quote to Cash": going from the initial lead to collecting revenue on an ongoing basis and accounting for it accurately.

In this guide, we’ll cover two essential business systems that your billing system must interact with within the "Quote to Cash'' process: the creation of the contract terms in Salesforce and the revenue data the system produces. We'll share how Orb stacks up against each of them.

Essential input: contract terms from CPQ

Billing data has its origin in customer acquisition. Let’s say your company has an enterprise motion, where account executives and custom quotes are involved. Let’s then start with your CRM: Salesforce. Salesforce is where companies orchestrate not only the relationship and record customer outreach but it’s increasingly pivotal to the actual order process. It’s where a quote is prepared to be sent to the customer and the contract approval logic is implemented (termed ‘CPQ’, or Configure, Price, Quote). 

One of the most error-prone parts of the billing process is this integration point: taking pricing details entered into Salesforce and manually provisioning the relevant entries in a billing system. Working with customers at Orb, we’ve heard the same story repeated: revenue leakage occurs because the subscription terms are wrong, the negotiated rates or pricing ramp structure isn’t properly entered, or the deal is just completely missing.

It’s not enough for your billing system to simply claim that it integrates with Salesforce – it’s important to understand how that connection works and whether it’s compatible with your existing system. It’s all too common for tools to be very opinionated about which inputs they can accept from Salesforce, leading to extremely narrow integrations and ultimately undermining automation entirely.

Orb’s integration with Salesforce is built for maximum flexibility: we package up actions that you can use with Salesforce Flow, and these actions support the full surface area of Orb’s APIs. This has two important consequences:

  • Salesforce Flow is a Zapier-like composer built into Salesforce, which means you can use any existing custom objects or relationships to populate data inside Orb’s actions. Orb doesn’t rely on your Salesforce setup to look any specific way; whether you’re just getting started with Salesforce or you have years of custom objects built into your instance, you can use that data to provide information to Orb about your customers.
  • Orb’s APIs for subscription creation are very powerful and allow you to input parameters to tiered pricing, volume pricing, and custom user-defined pricing models – and the Salesforce integration is built to parity with this. Since the integration is built on top of our OpenAPI spec, as functionality is added to our APIs, it will be immediately available for your team to use in Salesforce.

Essential output: revenue data

A key responsibility of a billing system is to generate auditable invoices you can issue to your customers. Unlike systems that give you no choice but to sync the invoice to a separate invoicing provider that comes with extra fees, Orb produces and issues completely reimagined usage-native invoices. Although building native invoices into Orb hasn’t been easy (payment retries, emails, credit notes, etc.), it has come with a huge win for Orb’s customers. Orb is the single source of truth for revenue data and doesn’t fragment your collections and revenue recognition process.

Revenue recognition, especially in usage-based businesses, is the process of translating product usage into journal entries. Finance teams each month have to update their general ledger – often hosted in a tool like NetSuite or Quickbooks – how much revenue has been booked, how much is possible to recognize, and what portion remains deferred as an obligation to deliver service. 

Through many months of working with our largest customers, we’ve discovered that integrating with the accounting process can’t be a one-size-fits-all solution:

  • If you’re a business with simple accounting needs, Orb provides a native revenue recognition module aligned with ASC606 guidelines. With these outputs, companies can correctly close their books with merely minutes of work – trusting Orb to implement the correct revenue recognition schedules. Whether it’s an annual fixed fee that needs to be recognized daily or a prepaid commitment expiration, Orb has the correct defaults built in.
  • For businesses that need more sophisticated revenue recognition schedules (e.g. to handle cases like product bundling), Orb integrates with NetSuite to sync invoices as soon as they’re issued. This includes metadata like service dates, so you can use NetSuite’s revenue recognition module to set up custom schedules.
  • For the most advanced teams, revenue recognition is already a custom finance process that operates on data warehouses and spreadsheets. Orb powers that too, but not just by providing unprocessed usage and price inputs. Orb’s native revenue recognition solution is built on top of a foundational modeling advancement: Orb’s revenue ledger, a daily updating record of invoice accruals and commitment burndowns. Despite Orb providing mechanics like backdating/backfills and pricing levers like minimums and discounts, this revenue ledger stays accurate. Orb can export this data directly to support the needs of your finance team.

Conclusion

Orb’s ability to simply read contract data for contracts in Salesforce and map it to correct and actionable revenue insights reflects our team’s approach to building key business system integrations: rather than string together a bunch of disparate tools with suboptimal functionality, we’ve mapped out key pricing and billing processes, such as Quote to Cash, and designed a system that best represents its needs.  

posted:
December 4, 2023
Category:
Guide

Let's talk.

Thank you! We'll be in touch shortly.
Oops! Something went wrong while submitting the form.