The technology industry, and in particular the software-as-a-services (SaaS) industry, faces several unique accounting challenges. One common question companies need answered is whether to expense or capitalize software development costs. When software is developed in-house it can be tricky to determine whether the cost of the development is a capital expenditure or just an expense. GAAP provides separate guidance for internal use and external use software, here’s our guide to determining what guidance applies to you.
Internal Use Software: ASC 350
Internal use software is software developed in-house for internal use cases. This also includes software accessed through a hosting arrangement (SaaS) in which customers do not obtain ownership of the software. In general, ASC 350 should be used to guide accounting for internal use software.
External Use Software: ASC 985
External use software, also known as traditional or “on-premise” software should follow ASC 985 for guidance. This software is designed to be leased or sold.
What Time Period Should be Looked at for Capitalization?
For internal use software, costs incurred during the development stage may be capitalized. This “application development stage” includes design, coding, and testing.
For external use software costs incurred after technological feasibility is obtained may be capitalized. The “technological feasibility” stage includes all planning, coding, and testing activities. It determines whether a product can meet its intended requirements have been completed.
Generally, guidance for internal use software results in more capitalized costs than external use software.
Types of Costs That Should be Capitalized
Costs that should be capitalized include the external direct costs of materials and services. This may include fees paid to contractors or costs to purchase third-party software. Other costs to capitalize include payroll costs for employees who are directly associated with the project. This includes payroll itself as well as employee benefits.
How Should Capitalized Development Costs be Amortized?
Capitalized costs should be expensed straight-line over their estimated useful life, beginning when the software is ready to be used. Because of agile development practices, software changes rapidly and typically have a relatively short life, typically around three to five years.
Treatment of Upgrades and Enhancements
Upgrades and enhancements of software should only be considered for capitalization if the modifications result in additional functionality. Changes should enable the software to perform tasks it was previously unable to perform. Maintenance costs should be expensed, not capitalized.
Software Development Cost Capitalization Next Steps
Once you understand which guidance and how to use it, you’ll need to determine which costs to capitalize. This process involves collaboration between the accounting and development teams. Working in conjunction, the teams will need to understand the guidance and determine which projects and costs qualify to be capitalized.
During this process, it is crucial to understand the reporting and tracking systems the development team has in place. Ask questions like:
- How is time spent on a development project tracked?
- How is progress on specific development projects tracked?
- When upgrades and enhancements are being developed, is additional functionality being added?
- What is the purpose of each project?
- What percentage of an employee’s time is spent on projects other than development?
Capitalization of software development costs involves a lot of judgment and estimation. Our team of experts is available to support you and ensure the right calls get made. Get in touch with our technology audit team today.