Internal use software is software that is acquired or internally developed to meet an entity’s internal needs. These internal needs include, but are not limited to, software that is only used internally, such as payroll systems and CRM tools, and cloud-based SaaS products that the entity’s customers are provided hosted access for a period of time. U.S. Generally Accepted Accounting Principles (GAAP) offers two methods for accounting for the cost of software development: ASC 350-40: Internal Use Software and ASC 985-20: Costs of Software to Be Sold, Leased or Marketed. Most SaaS companies’ software development costs generally fall under ASC 350-40. Please read Internal-Use Software – Determining Which Accounting Guidance to Use to help determine which accounting guidance should be applied to your organization. Detailed below are the three stages of development for internal use software in accordance with ASC 350-40:
The following costs incurred during the application development stage should be capitalized:
The following costs incurred during the application development stages should not be capitalized:
After implementation, the entity should consider capitalizing the costs related to upgrades and enhancements of the software. Upgrade and enhancement activity is defined as modifications to enable the software to perform tasks that it was previously unable to. These costs should be capitalized if (a) it is likely that the modification will result in additional functionality, and (b) the entity has the ability to separate costs between maintenance and relatively minor upgrades and enhancements on a reasonable cost-effective basis.
The following decision tree depicts the logic behind deciding whether the costs should be capitalized or expensed related to both new software development and upgrades:
Once the software is put into service, all capitalized costs related to internal use software are amortized over the estimated useful life of the software, which is typically 3 – 5 years.
For any questions on the stages of internal use software development, please contact Danielle Meyer at email@example.com or 240.364.2609.