R&D Project Accounting & Capitalisation
5
Minutes Read
Published
October 7, 2025
Updated
October 7, 2025

SaaS R&D Capitalization and ASC 350-40: Practical Implementation Guide for Founders

Learn how to capitalize software development costs under ASC 350-40 for internal use software, ensuring compliance and accurate financial reporting for your projects.
Glencoyne Editorial Team
The Glencoyne Editorial Team is composed of former finance operators who have managed multi-million-dollar budgets at high-growth startups, including companies backed by Y Combinator. With experience reporting directly to founders and boards in both the UK and the US, we have led finance functions through fundraising rounds, licensing agreements, and periods of rapid scaling.

Why Software R&D Capitalization Matters for Your SaaS Startup

For a growing SaaS startup, your engineering team is not just a cost center; it is the engine building your company's most valuable asset. Yet, for many founders, the entire R&D payroll runs through the income statement as an expense, depressing profitability metrics. This isn't just an accounting exercise. How you account for software development costs under US GAAP directly impacts how investors, lenders, and potential acquirers perceive the financial health and underlying value of your business.

Learning how to capitalize software development costs under ASC 350-40 is a critical step in maturing your financial reporting. It allows you to transform a portion of your largest operational expense into a tangible asset on your balance sheet, providing a more accurate picture of the value you are creating. This guide provides a practical framework for implementation, designed for founders who may not have a full-time finance team.

Foundational Concepts: When Does Capitalization Become a Priority?

For an early-stage company, the question is often whether this is a problem for now or for later. The answer depends on the principle of materiality. Materiality asks whether the effort of tracking and capitalizing costs will have a meaningful impact on your financial statements. For a two-engineer startup, the administrative overhead likely outweighs the benefit. However, for a 50-engineer company where payroll is a massive expense, the impact is significant.

Capitalizing these costs moves them from an operating expense on the income statement to an asset on the balance sheet. This can substantially improve key metrics like EBITDA (Earnings Before Interest, Taxes, Depreciation, and Amortization), which is often critical during fundraising or when seeking debt financing. A higher EBITDA can lead to a higher valuation and more favorable loan terms.

For US companies, the primary standard is ASC 350-40, which governs the accounting for internal-use software. This is the focus for most SaaS R&D accounting practices, as your platform is considered internal-use software that you provide as a service. It is important to note this differs from regulations in other regions. In the UK, for instance, FRS 102 and the HMRC R&D scheme offer different criteria. The US GAAP approach is generally more prescriptive about separating 'brainstorming' from 'building', which we will explore next.

The 3 Stages of ASC 350-40: How to Capitalize Software Development Costs

The core of ASC 350-40 compliance is understanding the three distinct stages of software development. Correctly identifying which stage an activity falls into determines whether its associated costs are expensed immediately or capitalized as an asset. The critical distinction is between planning activities and the actual building process.

  1. Preliminary Project Stage (Expense)
    This is the "brainstorming" phase. All costs incurred during this stage must be expensed as they happen. These activities occur before management has formally approved a project and committed the resources to see it through. The key question here is: Has the project been given a green light? If not, you are likely in the preliminary stage. Activities include:
    • Evaluating technological alternatives and different architecture choices.
    • Detailed requirements gathering and user research.
    • Initial feature ideation and conceptual formulation.
    • Prototyping and creating high-level design mockups.
  2. Application Development Stage (Capitalize)
    This is the "building" phase. The trigger for capitalization is clear: it begins once the preliminary stage is complete, and a formal project has been approved. From this point until the software is substantially complete and ready for its intended use, direct costs are capitalized. This is where you build the asset that goes on your balance sheet. Capitalizable activities include:
    • Detailed software design, architecture, and configuration.
    • Coding new features, modules, and significant enhancements.
    • Software integration with other systems.
    • All testing activities, including unit, integration, and quality assurance (QA) testing.
    The key here is that these activities create new, substantive functionality. Direct third-party costs, such as fees paid to external contractors working on these specific tasks, are also capitalized here.
  3. Post-Implementation and Operation Stage (Expense)
    Once the software is deployed and in active use by customers, the capitalization window closes for that specific project. Costs from this point forward are expensed as incurred. These activities are related to maintaining the software, not adding significant new value. They include:
    • Routine bug fixes and maintenance.
    • Customer support and user training.
    • Minor tweaks and optimizations that do not add substantial new functionality.
    • Data conversion, unless it's part of the initial implementation.

Software Development Cost Tracking: A Practical Guide for ASC 350-40 Compliance

One of the biggest hurdles for founders is implementing a tracking process that captures costs accurately without introducing burdensome overhead. The goal is accuracy, not bureaucracy. The reality for most Pre-Seed to Series B startups is more pragmatic: you can leverage the tools your engineering team already uses, like Jira, Linear, or Asana.

The simplest method is to use tags or labels within your project management tool. Create two primary categories for engineering epics or large stories: "Capitalizable" (for new features, major enhancements) and "Expense" (for bug fixes, maintenance, refactoring). Train your engineering leads to apply the correct label at the start of a sprint or project cycle. This provides the data needed for cost allocation without requiring individual engineers to fill out detailed timesheets.

Calculating Capitalizable Labor Costs

To calculate the labor cost to capitalize, you first need the engineer's fully-loaded salary. This isn't just their base pay; it includes all associated costs, such as payroll taxes (FICA), health insurance premiums, 401(k) contributions, and other benefits. The formula is straightforward:

Capitalized Labor = (Sum of hours on capitalizable tasks / Total hours worked) * Fully-loaded salary for the period

Mini-Example: Calculating Capitalized Salary

Consider an engineer with a fully-loaded annual salary of $180,000, which is $15,000 per month. In one month, she works 160 hours. Based on her Jira tickets, she spent 110 of those hours on tasks tagged "Capitalizable."

  • Capitalized Labor for the Month = (110 hours / 160 hours) * $15,000
  • Capitalized Labor for the Month = 0.6875 * $15,000 = $10,312.50

This $10,312.50 is moved from your salary expense on the income statement and added to your intangible software asset on the balance sheet. This process is typically handled with a month-end journal entry in your accounting software, such as QuickBooks, by your accountant or fractional CFO.

Amortization and Impairment: Managing Your New Software Asset

Once you have capitalized these costs, you have a new intangible asset on your balance sheet, which more accurately reflects the value your team has built. But the process doesn't end there. Now, you must account for this asset over its lifetime through amortization and test it for impairment.

Amortization: Spreading the Cost Over Its Useful Life

Think of amortization as depreciation for your code. Instead of recognizing the entire development cost upfront, you expense it evenly over the software's estimated "useful life." This provides a better match between the expense recognized and the revenue the feature generates over time. For SaaS platforms, the typical amortization period is 3 to 5 years, reflecting the rapid pace of technological change.

The monthly amortization expense is calculated with a simple formula:

Amortization Expense = Total Capitalized Cost / Useful Life in Months

For example, if you capitalized $180,000 of development costs for a new module and set a useful life of 3 years (36 months), your monthly amortization expense would be $5,000. This $5,000 appears as an expense on your income statement each month until the asset is fully amortized.

Impairment: A Necessary Sanity Check

Impairment testing is a required check to ensure the asset on your books is not overvalued. You must perform this test at least once annually or whenever a "triggering event" suggests the asset's value may have declined. A triggering event could be a major strategic pivot that makes a software module obsolete, a significant downturn in user adoption, or a new technology that supersedes your platform.

If the asset's carrying value on the balance sheet is higher than the future cash flows it is expected to generate, you must write down its value. This write-down is recorded as a non-cash expense on the income statement. This process prevents you from carrying worthless assets and is a key area of scrutiny in financial audits.

Your ASC 350-40 Implementation Checklist

For founders navigating ASC 350-40 for the first time, the key is to start simple and build a consistent process. Getting this right from the beginning avoids painful future audit adjustments and provides a more accurate view of your software project financial reporting.

  • Start with Simple Tracking: Implement a "Capitalizable" vs. "Expense" tagging system in Jira or your existing project management tool. Don't force engineers into complex time tracking software; leverage existing workflows.
  • Define and Document Your Policy: Create a one-page internal document outlining your capitalization policy. It should clearly state when the application development stage begins, the types of costs you capitalize, and the useful life for amortization (e.g., 3 years). This is your proof of a consistent policy during an audit.
  • Focus on Materiality: Don't start this process until your engineering payroll is a significant portion of your total expenses. As a general rule, if the administrative effort feels greater than the financial statement benefit, it might be too early. Consult with your accountant to determine your materiality threshold.
  • Use a Spreadsheet for Calculations: In the early days, you don't need a complex system. A simple spreadsheet can be used to track capitalized labor per engineer each month. Your accountant can then use this to make a single, consolidated journal entry.
  • Schedule Annual Reviews: Set a calendar reminder to review your capitalized assets for impairment and to reassess whether your amortization period is still appropriate. This demonstrates good financial governance to investors and auditors alike.

Frequently Asked Questions

Q: What is the difference between R&D capitalization and R&D tax credits?
A: R&D capitalization is a financial accounting practice under US GAAP that treats certain software development costs as an asset. R&D tax credits are a separate government incentive program that provides a dollar-for-dollar reduction in your company's tax liability based on qualifying research expenditures. The rules for each are different.

Q: Can I capitalize costs for bug fixes on a newly launched feature?
A: Generally, no. Once a feature is substantially complete and released for its intended use, the capitalization window closes. Bug fixes, even for new features, are considered maintenance and should be expensed as they are incurred in the Post-Implementation/Operation Stage.

Q: Does ASC 350-40 apply to software I'm building to sell?
A: ASC 350-40 is for "internal-use" software. For a SaaS company, the platform you provide to customers as a service falls under this standard. Software developed to be sold as a licensed product would fall under a different standard, ASC 985-20, which has different capitalization rules.

This content shares general information to help you think through finance topics. It isn’t accounting or tax advice and it doesn’t take your circumstances into account. Please speak to a professional adviser before acting. While we aim to be accurate, Glencoyne isn’t responsible for decisions made based on this material.

Curious How We Support Startups Like Yours?

We bring deep, hands-on experience across a range of technology enabled industries. Contact us to discuss.