Articles 12 min read

How Tech Companies Deal With Software Development Costs: Insights From a CPA

You may be wondering why you should care. Simply put, high-tech startups generally devote a significant amount of their time and money into software development; the treatment of these costs will most likely have a huge impact on not only your current financial performance but future financials as well.

There are a few distinctions that need to be made prior to diving into the accounting rules. First, the accounting standards under GAAP define two types of software:

  1. Software to be sold, leased or marketed
  2. Software for internal-use

The standards provide specific, differing accounting rules for each type of software. It is important to determine which type of software is being developed in order to properly ascertain the amount of costs that should be expensed or capitalized. Second, for purposes of this article, I will be addressing the accounting rules under GAAP and not under the IRS Code. However, it is important to note that whatever determination is made regarding companies treatment of software development costs under GAAP, that determination does not necessarily influence your company’s treatment of the costs under the IRS Code (i.e. capitalizing for GAAP and expensing for tax may be ok). Third, this article will address the basics of the rules and will be a good starting point. This article does not substitute the need to consult with your CPA firm prior to making any significant decisions.

Software to be Sold, Leased or Marketed

If your company is developing software to eventually sell, lease or market to the general public, this section is for you. This software is developed with the intention of earning future revenues and should not provide benefit to the internal operations of your firm (see internal-use software below). When I speak to clients about which development costs to capitalize or expense relating to software to be marketed externally, the most important question I ask is when did the software project achieve “technological feasibility?” This is important because the accounting standards state that all costs incurred on a software project prior to the establishment of technological feasibility are to be expensed as incurred. The standards also state that costs incurred subsequent to the establishment of technological feasibility may be capitalized. Capitalization of the costs should cease when the software is available for general release to customers. Any future costs relating to the software project should be expensed as incurred.

What Is Technological Feasibility?

Technological feasibility is a term used to describe a certain point during a software project when the research and development phase has substantially been completed. The standards provide specific guidance as to when a project has achieved technological feasibility.

The following is an excerpt directly from the standards:
…the computer software product includes a detail program design (defined below) [which incorporates] all of the following:

Detail Program Design is defined by the standards as follows:

The detailed design of a computer software product that takes product function, feature and technical requirements to their most detailed, logical form and is ready for coding.

I’ll now pause so you can take an accounting breather…Okay. As with any accounting topic, the above guidance is open management’s interpretation.

In the profession, you will find companies that have significant capitalized software development costs and others that have expensed all of their software development costs. Many companies take the position that technological feasibility is established at the same time the software product can be used or consumed in any form by the public; thus they expense most development costs. This position is typically the most conservative position and will likely face less scrutiny from your auditors. Others take the position that technological feasibility occurs prior to the product being available for sale.

The costs that are eligible for capitalization, post-technological feasibility, are as follows:

Some other points of consideration are:

Internal-Use Software

If your company is developing software internally solely to meet your company’s internal needs, this section is for you. There can be no plan to market the software externally, even into the future (determined at the time of development). Internal-use software is typically monitoring analytic and accounting modules.

The accounting standards split the development process of internal-use software into three different stages. Management should determine at which point the software development enters and exits each stage. Depending on the stage, the associated development costs will be expensed or capitalized. The three internal-use software stages along with their definitions are as follows:

Once you have split the development process into the three stages, the following are the accounting treatment considerations for each stage:

Some thoughts on what should and should not be capitalized with respect to internal-use software:

Web Development Costs

If your company is incurring costs to develop, implement and maintain a website, the costs may be capitalized. The accounting standards have specific guidance on this area, and you will find this guidance is very similar to the accounting for internal-use software. As a result, it is important to understand the accounting rules surrounding internal-use software (included above).

Similar to internal-use software, the website development process is split between stages. The five web development stages along with their definitions are as follows:

Once you have split the development process into the five stages, the following are the accounting treatment considerations for each stage:

Final Thoughts

One point of consideration is that if you capitalize your company’s software development costs, management must be able to support these capitalized costs with hard numbers, spreadsheets, and the logic behind it all. The process also typically results in the need to track developer’s time by hour and by project. If you capitalize software, make sure your company has the tracking system and organization in place in order to support your capitalized costs.

A second point of consideration relates to significant enhancements made on software developed to be sold, leased or externally marketed. For example, if your company has an established software product being sold to the public and your developers are working on adding new functionality to this product, this may be a significant enhancement. Each significant enhancement should be treated the same as the base product in that all costs prior to technological feasibility are to be expensed; all costs post-technological feasibility may be capitalized. It is important to note that technological feasibility may be achieved earlier in the development process for significant enhancements, when compared to new software products. The logic is that mostly all the technological, hardware and high-risk development issues were already vetted during the initial product development. Also keep in mind that product enhancements are only eligible for capitalization if they are deemed significant to the overall product itself (i.e. new functionality).

A third point of consideration is that once costs are capitalized, they are generally amortized over the useful life of the product or software. The capitalized costs are then subject to an impairment analysis for each reporting period. Amortization rules differ between internal-use software, software for external sale and web development costs. These rules are outside the scope of this article (I have to stop writing at some point!).

The last point of consideration is that for software developed for sale or public use, the majority, if not all, of research and development costs are to be expensed. There are fairly narrow pockets of time that capitalization can occur. Generally, when a company establishes that its software is developed for internal-use, the majority of research and development costs are to be capitalized. It is important to note that every company’s process may differ; consequently, the application of the accounting rules is specific to each entity.