Table of Contents
Given you probably just finished closing your books for 2017, it’s a good time to introduce changes to plan for the coming year. Proper expense categorization improves your visibility into your company’s spending while enabling more accurate metrics and forecasting. After all, as a startup founder, you want to have a solid idea of what your true gross margins are and what it actually costs to acquire a customer!
Most startups I’ve seen often get at least some of this wrong, particularly if they are doing around $100k in MRR or less. As a result, we typically spend the first couple of weeks with a new startup helping their bookkeeper to re-categorize their expenses before we can even begin forecasting or calculating metrics.

Overview
In this post, we’re going to set up your accounting to use four typical categories — accounts —that will fit the use case of most small to medium SaaS startups. The main accounts are:
- Cost of Revenue
- Sales & Marketing
- Engineering (R&D)
- General & Admin (Overhead)
We’re using Quickbooks Online as the example accounting software, but you should be able to follow along if you use something different, such as Xero.
Cost of Revenue
First, let’s look at setting up your Cost of Revenue (sometimes called Cost of Sales, or Cost of Goods Sold). You’ll need this to calculate your Gross Margin, which further enables you to calculate Customer Lifetime Value and other key SaaS metrics.
This is where you record all of the costs that go to providing your service, such as hosting and customer support payroll. You should also include software that directly assists your support personnel such as Intercom or Help Scout, and software that helps you with your hosting, such as CircleCI.
Open Quickbooks Online, and navigate to Accounting on the left sidebar. A Chart of Accounts will open up, with all of your Balance Sheet and Income Statement accounts listed. Keep your eye on the “Type” column, and scroll down to Cost of Goods Sold, which is what Quickbooks calls the Cost of Revenue.
We want to make the section look like this:

To do that, you’ll create new accounts in your Chart of Accounts.
As you’re creating new accounts, you’ll need to set the Category Type as “Cost of Goods Sold” and set a name for the account. Let’s start with “Payroll – Support”.
You’ll also have to set a Detail Type to best represent the type of cost we’re talking about. With Payroll, Cost of Labor comes closest, although ideally we’d want to call this Payroll Expenses.
Finally, your accountant might want you to add an Account Number and Description, but those are optional.

Repeat this for other Cost of Revenue accounts you might need, such as Hosting and Software & Tools – COR and you’re all set. Just make sure to make the payroll sub-accounts such as Salaries, Benefits and Taxes under Payroll – Support to get cleaner-looking books.
Bonus
If you have sales from Professional services, you’d want to create two sets of Cost of Goods Sold — one related to selling your main product such as subscription services, and another for billings from your onboarding/consulting sales. This would make it easier to look the the profitability of each activity in isolation, as well as analyzing it as a whole.
Sales & Marketing
Next, we set up your Sales & Marketing (S&M) costs. You’ll need this section to calculate your company’s Customer Acquisition Cost (CAC), which, along with Customer Lifetime Value is one of the most important SaaS metrics in determining if you’re running a sustainable business.
Setting this up is fairly similar to COR, but we first need to create a Sales & Marketing account under Category Type: Expenses.

In this example, we’re assuming that your Sales & Marketing costs consists of Sales payroll, advertising through Google Ads, going to a conference to sell your product, and subscribing to a marketing solution such as Hubspot.
This makes it pretty easy to see how the chart of accounts would look like:

Bonus
You could take this several steps further and create two more sub-accounts that house their own set of individual accounts: Sales, and Marketing. There, you could separate Sales to Account Executives, SDRs, Sales Travel and other strictly sales related activities, while Marketing would contain advertising, promotions, conferences and so forth.
Engineering
The benefits of separating Engineering from your General & Admin expenses are less obvious, but I’d still recommend doing it. For one thing, you might want to benchmark your Engineering spend as a percentage of your total expenses to compare yourself to other SaaS companies. Even if you couldn’t care less what others do, you might want to determine if you are investing enough in the long-term success of your presumably tech-focused company.
In addition, the more detailed your expense accounts, the easier it is to track your performance against the budget . For example, if it looks like in May that you’re spending more than you had planned, why is that? Is it because your Engineering is hiring faster than expected, or are there expenses that are getting out of hand? Or perhaps Sales activities are actually working and you should be doubling-down.
Setting up Engineering (or Research & Development) is similar to the earlier section. Create an Engineering top-level account and add Payroll – Engineering and its sub-accounts of Wages, Taxes and Benefits. You’ll probably want to include Contract Labor – Engineering for any contractors you work with, such as designers or devops.
Lastly, I usually create a software category for each major expense category for consistency — in this case Software & Tools — Engineering.

General & Admin (G&A or Overhead)
Finally, we’re going to create a catch-all category for virtually everything that goes to running the day-to-day of your business.
First, start by creating a General & Admin top-level category, followed by Payroll – G&A, and its sub-accounts Wages, Taxes and Benefits. Alternatively, you could rename your current payroll categories to match this new formatting, and merely move out the other expense categories going forward.
Next, you’ll need to move your existing accounts under General & Admin. The goal is to not have a single account that doesn’t “live” inside either Cost of Revenue, Sales & Marketing, Engineering, or General & Admin. This means accounts such as Rent, Utilities, and Telephone get moved under G&A. The only exception are entries that have little to do with day-to-day operations, such as Depreciation, or Interest Income. Those you can move under Other Income / Other Expenses.
Next Steps
Now when you have your expense categories set up, you can begin to automate part of the process. An easy next step is to utilize bank rules to auto-categorize individual expenses to their respective categories. For example, Amazon Web Services or AWS in the bank description is very likely to go to Cost of Revenue under Hosting.
In addition, you can sync your payroll provider such as Gusto with Quickbooks, and map each of the Gusto “Teams” to match the newly-created Payroll categories and subcategories.
The goal here is to automate the categorization of recurring expenses, increasing the accuracy and reducing the need of manual work by your bookkeeper.
Takeaway
These changes in your expense categorization should result in greater visibility to your past performance, but also make it easier to forecast the future. As a byproduct, you’ll get overall cleaner-looking books that are easier to share and explain with your team, investors and advisors.
Let me know if you have any questions or feedback in the comments!
Note: This is not a tax or accounting advice. I’m not a CPA or a lawyer, and you should consult with yours before making any permanent changes to your books.
Frequently Asked Questions
-
What are the main expense categories for a SaaS startup?
Most SaaS startups should organize expenses into four core categories: Cost of Revenue, Sales and Marketing, Engineering (R&D), and General and Admin.
These four buckets cover virtually every recurring cost in a subscription business and map cleanly to the unit economics metrics that matter most. Cost of Revenue captures hosting, support payroll, and tools like Intercom that directly deliver your service. Sales and Marketing holds everything that drives customer acquisition, which you need to calculate CAC accurately. Engineering tracks R&D spend separately so you can benchmark it against growth. General and Admin is the catch-all for rent, utilities, and back-office costs. Getting this structure right is the foundation for calculating true gross margin and LTV. -
Why does expense categorization matter for SaaS gross margin and unit economics?
Accurate expense categorization is what makes it possible to calculate your true gross margin, CAC, and LTV as a subscription business.
If hosting costs sit inside a generic overhead account instead of Cost of Revenue, your gross margin will look artificially high and your unit economics will be wrong. That means forecasts built on those numbers will also be off. For SaaS operators, the cost categories directly feed the metrics investors and finance leads rely on: how much it costs to serve each customer, how much it costs to acquire one, and whether the business is structurally sound at its current MRR. Clean books are a prerequisite for clean metrics. -
How do I categorize payroll expenses correctly across departments in a SaaS company?
Split payroll into sub-accounts under each department, so support wages go under Cost of Revenue, sales reps under Sales and Marketing, developers under Engineering, and leadership under General and Admin.
The common mistake is lumping all payroll into a single account, which hides the true cost of each function and makes it impossible to track performance against budget. A clean structure looks like this:- Payroll, Cost of Revenue: support team salaries, benefits, taxes
- Payroll, Sales and Marketing: account executives, SDRs, marketing staff
- Payroll, Engineering: developers, devops, contract labor
- Payroll, G&A: founders, finance, operations
-
How can I automate expense categorization to reduce manual bookkeeping in a startup?
Use bank rules in your accounting software to auto-categorize recurring vendor charges, and sync your payroll provider to map team costs to the right expense accounts automatically.
For example, a bank rule that matches "Amazon Web Services" in your transaction feed can route that charge to Cost of Revenue under Hosting every time, with no manual input. Similarly, connecting Gusto to QuickBooks and mapping each team to its corresponding payroll sub-account means support, engineering, and G&A wages are sorted without your bookkeeper touching them. Automating these recurring expense categories reduces accounting overhead, improves accuracy month over month, and frees up time to focus on what the numbers actually mean for your subscription business. -
How do properly categorized SaaS expenses connect to revenue forecasting and MRR tracking?
Clean expense categories feed directly into more accurate revenue forecasting because they give you reliable gross margin, CAC, and LTV inputs to model from.
Without correctly separated cost buckets, any forecast is built on flawed assumptions. Once your books are structured properly, you can pair that expense data with real-time MRR tracking to build forward-looking models that reflect actual unit economics. Baremetrics connects to your payment processor and surfaces MRR, churn, and LTV dashboards in real time, so the revenue side of your forecast is always current. When your expense categorization is equally clean, the two inputs combine to give SaaS founders and finance leads a genuinely reliable view of where the business is headed.