But I invested in this software. It is my asset. Why should it be expensed?
One of the moments when accounting rules may seem nothing but counter intuitive is how generally accepted standards treat your investment in development of IT solutions for internal use. Finding out you have invested in sunken cost is almost like a slap on your face.
But before you feel really bad, let’s clarify that
- not all costs are expensed
- not all should-be-capitalized items can be capitalized
To understand it better, let’s break software development into stages:
| Preliminary Project Stage (Expensed)
|| Application Development Stage (Mostly capitalized)
|| Post Implementation Stage (Expensed)
- Conceptual formulation of alternatives
- Evaluation of alternatives
- Determination of existence of needed technology
- Final selection of alternatives
- Design of chosen path, including software configuration and software interface
- Installation to hardware
- Testing, including parallel processing phase
- End user training
- Application maintenance
Before you are ready to start capitalizing costs Preliminary Project should be finalized and the software is probable to be completed to perform the functions intended.
More often or not, companies start development without fully conceptualizing software and functionality list is not complete. As a result, it entails continuous reconsideration of database design and user interface.
We should remember that spending more time on development does not increase intrinsic value, but rather indicates either an immature Preliminary Project stage or a problem in talent acquisition. Thus, some of the costs in Application Development stage may need to be expensed as incurred.
Below you will find generic categories to help you decided on how to treat costs when developing software for internal use:
| Costs to be expenses
|| Costs to be capitalized
- External and internal computer software costs that are incurred in the preliminary project stage
- General and Administrative and overhead costs
- End user training costs incurred during any stage (including end user acceptance testing).
- Data conversion costs (e.g. purging or cleansing existing data, reconciling or balancing old and new data, creating new/additional data, converting old data to the new system).
- Internal and external costs incurred for maintenance.
- Costs related to upgrades and enhancements that do not result in additional functionality
- Purchased or leased computer software used in research and development activities where the software does not have alternative future uses
- Costs related to re-engineering business processes
- External direct costs of materials and services consumed in developing or obtaining internal-use computer software.
- Payroll and payroll-related costs for employees who are directly associated with and who devote time to the internal-use computer software project (excluding meals, alcohol)
- Interest costs incurred while developing internal-use computer software
- Costs to develop or obtain software that allows for access or conversion of old data by new systems