Best Practices for Successful Budgeting System Implementations for SaaS Companies
Brandon Pfeffer, CMA
Strategic Finance ? Corporate Finance ? Operations ? FP&A ? M&A ? Financial Modeling ? Strategic Planning ? Treasury ? Start-ups ? Private Equity ? Budgeting ? Cloud FinOps ? Analytics ? Pricing ? ? [email protected]
Introduction
Over the course of 5 years of consulting I had the opportunity to work with well over 75 software, SaaS and technology companies. Several of them were still doing their budgeting in Excel or Google Sheets, which is far from best practices.? And several of them had experienced very bad Adaptive Planning, Anaplan, Planful and other budgeting system implementations that left them with dysfunctional budget systems and forecasting processes.
This article contains some general guidelines, best practices, and things to avoid doing that I learned when helping my former consulting clients fix their budgeting system problems. This article is focused towards helping SaaS, software and technology companies to develop budgeting and forecasting systems that work well. The articles contain the following 6 sections:
The article is broken out into several sub-topics that have been organized sequentially so I recommend reading it from the beginning to get the maximum benefits. And finally, I recommend Adaptive Planning over any other budgeting out there as it is the most flexible, customizable, and capable system.?
Part 1 - Before You Start a New Budgeting System Implementation
1) Fix Your Accounting & CRM Systems First
If your company’s accounting or customer relationship management (CRM) system (like Salesforce) have significant issues, then fix them first before focusing on a new budgeting system implementation. A successful budgeting system implementation relies on having good accounting and CRM systems in place So, if there are significant issues with either you’re accounting or CRM system then these should be fixed first before embarking on a new budgeting system implementation process, otherwise you are wasting your time.
Part 2 - How to Choose an Implementation Firm
1) Do Not Do Multiple Implementation at Once
I would not recommend doing multiple CRM, accounting, and budgeting system implementations simultaneously as this is a recipe for disaster based on my experience. There are too many moving parts and companies usually do not have the internal staffing or bandwidth to handle these implementation tasks as well as doing their normal day-to-day work.
2) Use only 1 Implementation Firm
Also, if you do have to do multiple system implementations at the same time then the best practice is to use one firm to handle all of implementations at once assuming they have the expertise. Using separate companies will create other issues because things will not be well coordinated among the various firms and major problems can arise. If you do have to use multiple implementation firms at once, then hire a project managers that is intimately familiar with all technical aspects of each of the software packages and can serve as a liaison between the various implementation firms
3)?Use Only Certified Implementation Partners
Use only certified implementation partners that have established track records working with the software provider you have selected and most importantly who are software experts. Sometimes these firm are called Channel, Platinum, Premium, Primary or Gold partners. There are too many no-name companies doing budget software implementations that do not follow implementation best practices and do not have the proper technical training nor understanding of basic SaaS industry accounting, FP&A or finance.
4)?Get Multiple Implementation Quotes
I highly recommend initially speaking with at least 4 - 6 different implementation firms. Based on the initial conversations I would request implementation quotes with full SOWS from at least 3 firms if not all the firms you speak with. Do not select the firm with the lowest price. Select the firm that has team members that you think are the most competent, that you can work with best, and that have a reasonable price. Do not re-hire the firm that did your 1st budgeting system implementation if they did a lousy job, and you have issues with it already.
5)?Fixed Fee vs. Time & Materials Quotes & Rates
Some implementations firms will quote fixed fee quotes only. Often, I have found that they underestimate the true amount of time an implementation will take and then they don’t complete the implementation as they have used up their dollars budgeted for the project.
Hourly time and material quotes are generally better long-term. Generally budgeting system hourly rates should range from $150-$225 per an hour. Anything rates quoted under $150 an hour then you may not be getting the best support with subject matter experts. Anything quoted over $225 an hour and you probably are getting ripped off and would be best looking elsewhere for someone more affordable.
Part 3 – Getting Started with the Implementation Firm
1)?Budget Software Implementation Firms Sector Specific Modules
Most of the major budgeting systems out there have sector or industry specific modules and sub-modules specifically for the SaaS industry such as for revenue recognition, ARR roll forwards, new bookings, and SaaS metric calculations. Many of the better implementation partners have taken these basic modules and sub-modules and enhanced them greatly. Utilize these modules as a starting point and customize them for your firm as needed.
Do not ask the implementation firm to build a new module for you from the ground up as it will be extremely wasteful from a time and cost perspective. It is always better for them to modify something that they have already built out, tested, and deployed with other customers than to start from scratch.
2) Provide the Implementation Firm with Excel Sample Models or a Prototype.
Show the implementation firm exactly how you want the budgeting sub-module calculations to work with the actual formulas in an Excel model as a prototype. Try to do this for every single aspect of your budgeting system. This will save thousands of dollars in billable hours that the implementation firm will charge your firm, reduce the number of meetings, reduce the emails back and forth and will make the whole implementation process go a whole lot faster.
3) Have Regular Weekly Meeting with Your Implementation Firm
Many companies fail to have regular weekly meetings with their implementation firms. Often the implementation firms will make general assumptions on the way a client wants something set-up but they are not always correct. When this happens companies wind up paying twice for certain work as the implementation firm must rebuild what they did incorrectly.
Part 4 – Training & Initial Software Requirements
1) Adequate Training
Make sure that your budgeting team gets at least 10-15 hours of training on how to use the budgeting software package basic functionality. It is highly recommended that you have at least 2—3 individuals that get an additional 10-20 hours of more extensive training including:
2)?Make Sure You Have Enough Refresh Options for Your Test Environment
When licensing your budget software make sure you purchase at least 3 refresh options for your test environment. Usually, you will use at least 2 but sometimes as many as 3 or more if you have major design changes from your original specifications during the implementation build process.
3)?Software User Licenses
For the implementation, the company needs to purchase enough temporary full user licenses so that the implementation firm can get the project done on time and on budget. If they don’t have enough user licenses and try sharing them this can greatly cut into productivity and delay budget system build out. ?
The type of licenses will vary by budgeting software vendor, and some have only one type while others have various types. For company employees determine what users will need full users’ licenses and those users that will require only reviewer or high level read only licenses.
4)?System Administrator
If you choose a software package that requires a bit more technology expertise to implement and maintain like Anaplan then think about hiring a full-time system administrator for the package. Also, don’t rely on your internal IT department to be your system administrator as most often the IT staff have no budgeting system expertise whatsoever.
Part 5 – Initial Budget System Set-up
1) FP&A Team Should Be Driving the Process
The FP&A team should be driving the entire new budgeting system implementation process. Often accounting, treasury, sales and product management teams try to drive the process with respect to their part of the budgeting system and this often leads to dysfunctional implementations and internal divisions. I have seen too often where FP&A teams wind up with budgeting systems that do not have the functionality that they need because other teams within the organization insisted that something be built out in a particular way that didn’t flow with the rest of the budgeting system structure.
2)?Legal Entities
If you have several legal entities, then it is best to choose a budgeting system that has the flexibility to allow you to add more without significant costs. So keep this in mind when selecting your budgeting system as some software packages it can be very expensive to add more legal entities. Best practices is to do your budgeting modeling at the legal entity level that is consistent with your company GL structure. This allows you to accurately represent what is happening in different countries or regions more accurately and to do a more thorough variance analysis process at month and quarter end. Note, I have done budgeting and forecasting for a publicly traded company with over 175 legal entities in 20 countries and it is possible if you are well organized and systematic in your budgeting system structure and set-up.
3) Currencies
Most budgeting systems these days have multi-currency capabilities. Many US software and SaaS companies budget for foreign subsidiaries in their home currency the US Dollar because it vastly simplifies the budgeting roll-up process without the need for currency conversions. Some companies budget in the local currency of the legal entity that they are budgeting for the following reasons:
However, these are not really a big issue as most budgeting software is configured so that the master roll-up converts everything into USD.
4) Granularity
All budgeting and forecasting should be done at the minimum time interval of monthly. Do not do weekly budgeting as it will cause nothing but headaches. The only exception may be a 13 week cash flow model if you are building it out in your budgeting systems. All monthly data should have total roll ups for Q1, Q2, Q3, Q4, H1, H2, and full year etc. in all reports, screens, and dashboards.
5) Loading Historical Data
The best practice is to load at least 24 months (2 years) of historical data. Loading only 12 months (1 year) is ill advised as it doesn’t give you enough historical data to do any sort of trend analysis etc. where statistically speaking you need a minimum of 20 observations. If possible, loading 36 months (3 years) of historical data would be preferred although costs and time could become an issue. I have worked with several companies that positively benefitted long-term from loading 2-3 years of historical data as it helped them back test new ideas and strategies.
6)?Show Intermediary Calculations
Use a grid or matrix approach to calculations and break them out into intermediary steps so you can ensure that everything is calculating correctly. Do not let the implementation firm do very complex calculations all in one cell or formula. It makes it difficult to impossible to audit the formulas or to modify them in the future.
7)?Excel Connector to Budgeting Systems
Many budgeting systems like Adaptive Planning have Excel add-in connectors called Office Connect that allow one to upload (push) data into the budgeting systems and to pull data out. Utilize these Excel connectors to load historical data and initial data in as much as possible as it will dramatically save time populating the initial annual budgets. ?However, once the budget is up and running make changes in the budgeting system directly. Build out dashboard in excel using the pull data functionality if you like but better practice is to utilize the inhouse dashboard and graphic capability of the budgeting software.
8)?Toggle Off Switches & Scenarios
Most budgeting systems offer the ability to do multiple scenarios. This has led some companies to experience scenario overload or scenario fatigue. Often companies will create different scenarios by changing dozens of inputs which is a very time-consuming process as certain expense or revenue information needs to be deleted and replaced with new information. And in other cases, several new expense and revenue line items need to be added. The net result is companies wind up with too many scenarios and can’t figure out what was their original base case forecast or scenario.
A better practice is to utilize toggle switches in your budgeting system for all revenue and expense line items to Include (TRUE) or Exclude (FALSE) in sub-totals and grand totals. The concept is similar to in Excel where multiplying a formulas for a specific expense line item by FALSE sets the formula’s value to zero. If set to FALSE, the underlying key inputs are still left in the model but not totaled in the sub-total or grand total. If the toggle switch is set to TRUE, then the expense line-item formula calculates the correct value which is included in the sub-total or grand total. This allows you to retain different scenario information without having to delete or overwrite other cells and can save you an enormous amount of time on having to reenter new data.
Next to the Toggle Off Switch should be a field that indicates if this is part of the BASE scenario or part of another scenario.? So, when opening the Budget model if something is not a BASE scenario then it should be set to FALSE. Or if evaluating other scenarios then it should be set to TRUE with other BASE scenarios items turned off as needed.
9)?Optimization & Simulation Engines
Many of the better budgeting and forecasting software packages available have internal functionality to handle optimization and constraint problems similar to solver in Excel. And several of them also have simulation engines that allow users to test various inputs to help optimize revenues and minimize expenses. ?For some budgeting packages there are third-party software providers that offer add-ins that have optimization and simulation functionality. ?I highly recommend purchasing either vendor provided built or third-party built optimization & simulation modules as they can be quite helpful in solving a multitude of hypothetical budget questions and scenarios.
领英推荐
10)?Revenue & Expense Forecasting Should Be Done in Same Categories as You General Ledger
Revenue and expense forecasting should be done in the same granularity and categories as your general ledger. Try to avoid temporary or miscellaneous categories that do not line up or match your GL structure in your accounting system.
11) Data Field Names Should Be Simple & Easy to Understand
All data field names for various revenue, expense types and columns of information should be clear and transparent in nature. Do not use too many cryptic abbreviations that require the user to look-up the definitions somewhere else as it will inhibit or so down their work. Do not use overly complicated naming data field conventions either as it will make the software more cumbersome to use particularly when writing custom formulas using these field names. Try to be consistent and methodical in the naming conventions used over time in the budgeting system.
12) Do Not try to Model Taxes In a Detailed Manner
I have seen too many companies get bogged down and waste quite a bit implementation funds and time trying to accurately model taxes.? Modeling taxes is a very difficult task under any circumstances. This becomes even more complicated for companies that operate in multiple countries. The best approach is to model taxes at a high level and understand that they may not be perfect calculations.
Part 6 - Budgeting System Model Structure & Functionality for SaaS Companies
1) Budget Model Should be Broken Out into Several Interconnected Modules & Sub-Modules
Some typical SaaS budgeting system modules & sub-modules include:
The development of these modules should occur simultaneously if you have provided the implementation firm with sample modules prototyped in Excel. Developing them simultaneously will quickly ferret out any disconnects or logic issues between modules and will cut down on rebuild time.
2) Revenues Module
Revenue calculations should ideally be at the more granular product SKU level. This is feasible when using software like Adaptive Planning which allows for an infinite number of product grids. However, if your firm has more than 250 Product SKUs then it may not be feasible to do revenue calculations at the product SKU level. Instead, the next higher Product Category or Product Class may be preferred. Do not do revenue calculations at the highest-level Product Family as this will not allow you to accurately forecast your revenues and will lead to wide swings in revenue volatility.
3)?New Bookings Module
The new bookings module should be directly linked to your CRM system like Salesforce pulling in any forecast updates daily. All new bookings should be calculated for both recurring and non-recurring revenues. All new bookings calculations should be done at the monthly level at either the Product SKU or Product Category level.
There are two ways to model new bookings:
The module should also apply ASC 606 logic to calculate the number of new bookings recognized each month as well.
4) Contracts Expiring in Current Year Module
All existing contracts expiring in the current year should be modeled in a separate revenue module. The reason for this is often many private equity firms, venture capital backers and board of directors require these metrics for investor and management reporting.? Revenue calculations should ideally be at the more granular Product SKU level if you have under 250 otherwise at the higher-level Product Category or Product Class. This module should be directly linked to Salesforce pulling in the Available Potential $ for each product SKU or product category. This ideally should be modeled using grids that show quantity times ASP to arrive at total Available Potential $ or just pulled in total Available Potential $. Then historical retention data by Product SKU or Product Category should be multiplied by the Available Potential $ to calculate Retention $. Then any prices increase % for current year renewals should be applied to the Retention % to calculate the total price increase $ that flows into the ARR module and the total Price Adjusted Retention $.
5)?Multi-Year Contract Billed in Current Year Module
All multi-year contracts billed in the current year should be modeled in a separate module. The reason for this is often many private equity firms, venture capital backers and board of directors require these metrics for management and investor reporting. Revenue calculations should ideally be at the more granular product SKU level if you have under 250 otherwise at the higher-level Product Category or product class. This module should be directly linked to Salesforce pulling in the Available Potential $ for each Product SKU or Product Category. This ideally should be modeled using grids that show quantity times ASP to arrive at total Available Potential $ or just pulled in total Available Potential $. Then historical retention data by Product SKU or Product Category should be multiplied by the Available Potential $ to calculate Retention $. Then any prices increase % for current year renewals should be applied to the Retention % to calculate the total price increase $ that flows into the ARR module and the total Price Adjusted Retention $.
6) Contraction & Churn Module
Pull in all contraction and churn data from your CRM system like Salesforce. Utilize this data to create separate contraction and churn totals for each product SKU or category. Utilize historical data to develop by Product ?SKU contraction % and churn % to forecast for future periods.
7) Annual Recurring Revenue (ARR) Roll Forward Module
Customize the ARR modules that the implementation firm starts with to suite how your firm does business and report items. ?Don’t not just use the generic one they provide. Make sure that you utilize the preferred definitions for New Logo, Price, Upsell, Cross-sell, Contraction and Churn that your private equity or venture capital owners and the board of directors prefer. Do not use the definitions provided by your implementation firm.
Best practices is that the calculations should contain at least the following breakout:
New Logo, Upsell & Cross-sell $ should come directly from the New Bookings module. Price $, Contraction $ and Churn $ should come directly from the other modules mentioned earlier.
If your sales team members have historically mis-classified more than 5 % of Sales Types then require mandatory training and a second round of training until they know the differences and are consistent in their classification. Otherwise, your firms ARR reporting, and metrics will be wrong as you have large percentage of mis-classified sales types in your ARR data.
8) Personnel / Employee Cost Module
The personnel or employe costs part of the budgeting model should reside in a separate module due to the sensitive nature of the information. This module should be locked down so only a few people have access to it. The module should be set-up to allow main department heads and sub-department head to only see the headcount in their respective departments.
The employees cost module should at a minimum contain the following information to make planning easier:
Some of these fields can be hidden by budgeting system users daily but all should be present. Employee labor costs should be calculated to the exact day since they make up such a large percentage of SaaS company costs.?
Employee costs should be broken up in several sub-grids that show each part of the employees’ costs structure and with a final total roll-up. The module should calculate FTEs. The module should be able to handle full-time, part-time and intern employee classifications. The module should pull in real time or the most up to date information from the company’s HR personnel systems at least once a day. I recommend an automated process with a manual back-up.
The budgeting software should pull information in from the HR System and automatically re-map fields as needed so that it works with the budgeting system without any manual work having to be done. ?Senior management must ensure that HR is adequately staffed with dedicated staff to update the personnel system daily. Too many companies have HR staff that do not update their personnel systems regularly which means the budget system has out-of-date and bad information.
9) All Expenses Module
All general expenses should be budgeted for at the main-department level and preferably at the sub-department level in a manner that match’s the accounting system GL and legal entity structure as best possible.
The expense module should track the following information:
Personnel Costs, Royalties and Sales Commission expenses should feed into this model from their respective modules as a single line item to maintain some confidentiality.
10) Royalties Module
The royalties modules should have several slots to allow the firm to easily create royalty calculations for different royalty types. The royalty calculations are typically either based on information potentially linked to other parts of the model such as company revenues by specific product groups or number of current employees actively using some licenses product. Other times the royalty calculations are based on manually entered number of customers, installed users, or active monthly users.
11) Sales Commissions Module
If your company’s sales commission structure is very complicated it is best to model them offline in a dedicated spreadsheet in Excel. The cost of having an implementation firm model a complicated sales commission structure in your budgeting software could be prohibitively expense and time consuming. And if it changes then you will need to pay for expensive modifications.
If the company’s sales commission structure is not overly complicated, then try to model them in the new budgeting software. When necessary, make some simplifying assumptions. ?This module should, like the personnel/employee costs module, be locked down so only a few people have access to it due to the sensitive nature.
12) Below The Line (BTL) or Non-Operating Expenses Module
If your software company is privately owned, especially by private equity firms’ chances are that you will be doing some highly customized investor reporting P&Ls. Typically, they will want to see unique, one-time, non-recurring and highly specialized expenses categorized as Below-The-Line (BTL) or as Non-Operating Expenses. BTL projects can often be sensitive in nature, so it is best that they be modeled in a separate module that is locked down. Examples of BTL items include severance packages, corporate M&A related acquisition costs, and special strategic product rebuild initiatives. ?
13) Integrated Financial statements Projections for Budget and Forecast as well as Actual
The budgeting system should have projected integrated financial statements that automatically update as inputs are changed. Financial statements should include these main statements:
I recommend that you build out fully detailed financial statements that include line items and the modeling logic behind them that you may not currently have but may have in the future. This will save you from having to rehire the implementation firm to enhance your financial statements module later.? The budget systems should automatically pull up the actual financial statements vs the projected ones for any time selected showing a side-by-side comparison at whatever time granularity selected.
14) SaaS?Metrics
A good practice is to have the budgeting system calculate as many SaaS metrics as possible. This can serve as a back-up to your other systems like you CRM if you are calculating them elsewhere and as a check to see if they are being calculated correctly. The ability to do these calculations in your budgeting system will depend on the information that you are pulling from your accounting and CRM system.
Some of the key SaaS calculations are:
15)?Dashboards
Most budgeting systems these days can produce excellent dashboards. Work with the implementation firm to build out a highly customized series of dashboards for senior management and business unit heads. Make sure they train your FP&A team on how to modify and enhance them. ?Try to avoid the urge to pull data from the budgeting system into Excel, Tableau or Power BI to do charts and graphs as your budgeting system should be able to handle it if you have chosen a good one like Adaptive Planning.
Conclusion
Many SaaS companies have experienced very bad budgeting system implementations that left them with dysfunctional budget systems and forecasting processes. This article contains several general guidelines, best practices, and things to avoid doing that I learned when helping my former consulting clients fix their budgeting system problems. I hope this article will help improve your firm’s budgeting system implementation process and to help fix problems from past ones. I recommend Adaptive Planning over any other budgeting out there as it is the most flexible, customizable, and capable system available. Please feel free to reach out to me if you have any questions or would like to discuss can concept discussed in the article.
?
CEO & Chief Solution Architect at Lightbridge | Helping CFOs and Technology Leaders Achieve Better Data, Faster Reporting, Reduced OPEX, and Increased Strategic Revenue
1 年Excellent write-up, Brandon