Should Internally Developed Software Costs be Expensed or Capitalized?

This appears to be a simple question, however, the answer is more complicated than one would expect.  There are many factors that affect how internally developed software costs should be treated.  What is the purpose of the software? Is the software only for internal use or is it to be sold/leased/marketed?  Was it a part of Internal Research and Development?  These are the some of the broad questions used to determine how development software costs should be treated.

First, here is a quick overview of expensed vs capitalized. Expensed software costs are immediately recognized or recorded as a reduction to income, while a company is doing its full time revenue-generating activities.  Capitalized software costs are recognized evenly or proportionately over the projected life of the asset.

Internal Use Developed Software

Internal use means the software has been developed solely for internal use and there is no intent of selling, leasing, or marketing the software (Accounting Standards Codification – ASC350-40). Whether the costs involved should be expensed or capitalized, is dependent on the stage of development.  The costs associated with the preliminary stage should be expensed as incurred (ASC350-40).  The application costs incurred during the development stage, both internal expenses and those paid to third parties, should be capitalized and amortized (ASC350-40).  Once the product has been developed, the costs to maintain and train others to use it should be expensed (ASC350-40).

Software to be Sold/Leased/Marketed

This is where things become more complicated in determining how to treat the costs of developing software. As with the internal use software there are several stages.

Technical Feasibility:

Per Financial Accounting Standards Board (FASB) statement 86, “all costs incurred to establish the technological feasibility of a computer software product….are research and development costs.” Technical feasibility is defined by FASB 86 as when the planning, designing, coding, and testing have concluded and the product can be produced.  All costs up to this point should be expensed since they are considered research and development costs.


Once the technical feasibility has been established, the production stage can begin. The costs associated with the actual production of the software product should be capitalized (FASB 86).  The amortization begins when the product is ready to be released (FASB 86).


When the product is ready for release to customers, the capitalization of costs ceases. All costs from this point forward for the existing product should be expensed (FASB 86).  These are costs such as maintenance and customer support.  Keep in mind changes made to the product may require the process to start over again.


Hopefully this brief overview has shown how complex accounting can be for internally developed software costs and the importance of expert advice. Furthermore, detailed records will need to be kept and most importantly you should contact your accountant at the beginning of the process. The cost of backtracking, filing corrected tax returns, and restating financial statements can really add up.

                                      A man calculating software costs.

Contributed by Jamie M. Shryock, CPA