From emails I received, I found so many confusions around the accounting for software developed for internal use. Unfortunately, I have no enaugh time to personally answers every email, I am sorry about that. I know, many of you suggest me to provide consultation services that I haven’t managed for that yet. Back in the topic, after some quick reserach, I found ASC 350-40 provides guidance on accounting for the costs of internally developed software that I will discuss through this post. With case study I am going to demonstrate the accounting treatment, I hope it answers most questions. Enjoy!
Criteria for Software Developed for Internal Use
Software must meet two criteria to be accounted for as internally developed software:
- First, the software’s specifications must be designed or modified to meet the reporting entity’s internal needs, including costs to customize purchased software.
- Second, during the period in which the software is being developed, there can be no plan or intent to market the software externally, although development of the software can be jointly funded by several entities that each plan to use the software internally.
In order to justify capitalization of related costs, it is necessary for management to conclude that it is probable that the project will be completed and that the software will be used as intended. Absent that level of expectation, costs must be expensed currently as research and development costs (discussed in detail later in this chapter). Entities which engage in both research and development of software for internal use and for sale to others must carefully identify costs with one or the other activity, since the former is (if all conditions are met) subject to capitalization, while the latter is expensed as research and development costs until technological feasibility is demonstrated, per ASC 985-20.
Costs Subject To Capitalization
- Cost capitalization commences when an entity has completed the conceptual formulation, design, and testing of possible project alternatives, including the process of vendor selection for purchased software, if any. These early-phase costs (referred to as “preliminary project stage” in ASC 350-40) are analogous to research and development costs and must be expensed as incurred. These cannot be later restored as assets if the development proves to be successful.
- Costs incurred subsequent to the preliminary project stage that meet the criteria under GAAP as long-lived assets are capitalized and amortized over the asset’s expected economic life. Capitalization of costs begins when both of two conditions are met. First, management having the relevant authority authorizes and commits to funding the project and believes that it is probable that it will be completed and that the resulting software will be used as intended. Second, the conceptual formulation, design, and testing of possible software project alternatives (i.e., the preliminary project stage) have all been completed.
- Costs capitalized include those of the application development stage of the software development process. These include coding and testing activities and various implementation costs. In particular, the standard notes that such costs are limited to (1) external direct costs of materials and services consumed in developing or obtaining internal-use computer software; (2) payroll and payroll-related costs for employees who are directly associated with and who devote time to the internal-use computer software project to the extent of the time spent directly on the project; and (3) interest cost incurred while developing internal-use computer software, consistent with the provisions of ASC 835-20.
- General and administrative costs, overhead costs, and training costs are expensed as incurred. Even though these may be costs which are associated with the internal development or acquisition of software for internal use, under GAAP those costs relate to the period in which they are incurred. The issue of training costs is particularly important, since internal use computer software purchased from third parties often includes, as part of the purchase price, training for the software (and often fees for routine maintenance as well). Per the standard, when the amount of training or maintenance fees is not specified in the contract, entities are required to allocate the cost among training, maintenance, and amounts representing the capitalizable cost of computer software. Training costs are recognized as expense as incurred. Maintenance fees are recognized as expense ratably over the maintenance period.
ASC 350-40 provides examples of when computer software is acquired or developed for internal use. Some of these are:
- when modifications are made to software controlling robots acquired for use in the manufacturing process;
- software is developed for cash management, payroll processing, or accounts payable system purposes;
- a bank develops an online account status inquiry system for customers to utilize;
- a travel agency invests in software to give it access to an airline reservation system;
- a communications provider develops computerized systems to manage customer services such as voice mail;
- or when a publisher invests in computerized systems to produce a product which is then sold to customers.
On the other hand, software which does not qualify under the standard as being for internal use includes:
- software sold by a robot manufacturer to purchasers of its products;
- the cost of developing programs for microchips used in automobile electronic systems;
- software developed for both sale to customers and internal use;
- computer programs written for use in research and development efforts; and
- costs of developing software under contract with another entity.
Impairment of Software Developed for Internal Use
Impairment of capitalized internal-use software is recognized and measured in accordance with the provisions of ASC 360 in the same manner as tangible long-lived assets and other amortizable intangible assets.
Circumstances which might suggest that impairment has occurred and that would trigger a recoverability evaluation include:
- a realization that the internal-use computer software is not expected to provide substantive service potential;
- a significant change in the extent or manner in which the software is used;
- a significant change has been made or is being anticipated to the software program; or
- the costs of developing or modifying the internal-use computer software significantly exceed the amount originally expected.
These conditions are analogous to those generically set forth by ASC 360.
In some instances, ongoing software development projects will become troubled before being discontinued. ASC 350-40 provides that management needs to assess the likelihood of successful completion of projects in progress. When it becomes no longer probable that the computer software being developed will be completed and placed in service, the asset should be written down to the lower of the carrying amount or fair value, if any, less costs to sell. Importantly, it is a rebuttable presumption that any uncompleted software has a zero fair value.
ASC 350-40 provides indicators that the software is no longer expected to be completed and placed in service. These include:
- a lack of expenditures budgeted or incurred for the project;
- programming difficulties that cannot be resolved on a timely basis;
- significant cost overruns;
- information indicating that the costs of internally developed software will significantly exceed the cost of comparable third-party software or software products, suggesting that management intends to obtain the third-party software instead of completing the internal development effort;
- the introduction of new technologies which increase the likelihood that management will elect to obtain third-party software instead of completing the internal project, and
a lack of profitability of the business segment or unit to which the software relates or actual or potential discontinuation of the segment.
Amortization of Software Developed for Internal Use
As for other long-lived assets, the cost of computer software developed or obtained for internal use should be amortized in a systematic and rational manner over its estimated useful life. The intangible nature of the asset contributes to the difficulty of developing a meaningful estimate, however.
Among the factors to be weighed are the effects of obsolescence, new technology, and competition. Management would especially need to consider if rapid changes are occurring in the development of software products, software operating systems, or computer hardware, and whether it intends to replace any technologically obsolete software or hardware.
Amortization commences for each module or component of a software project when the software is ready for its intended use, without regard to whether the software is to be placed in service in planned stages that might extend beyond a single reporting period. The standard stipulates that computer software is deemed ready for its intended use after substantially all testing has been completed.
In some cases internal-use software is later sold or licensed to third parties, notwithstanding the original intention of management that the software was acquired or developed solely for internal use. In such cases, ASC 350-40 provides that any proceeds received are to be applied first as a reduction of the carrying amount of the software. No profit is recognized until the aggregate proceeds from sales exceed the carrying amount of the software. After the carrying value is fully recovered, any subsequent proceeds are recognized in revenue as earned.
Example Of Software Developed For Internal Use
The Lie Dharma Invention Company employs researchers based in countries around the world. The far-flung nature of its operations makes it extremely difficult for the payroll staff to collect timesheets, so the management team authorizes the design of an in-house, Web-based timekeeping system. The project team incurs the following costs:
- Thus, the total capitalized cost of this development project is $100,000.
- The estimated useful life of the timekeeping system is 5 [five] years.
As soon as all testing is completed, Lie Dharma’s controller begins amortizing using a monthly charge of $1,666.67. The calculation follows:
$100,000 capitalized cost / 60 months = $1,666.67 amortization charge
Once operational, management elects to construct another module for the system that issues an e-mail reminder for employees to complete their timesheets. This represents significant added functionality, so the design cost can be capitalized. The following costs are incurred:
The full $22,438 amount of these costs can be capitalized. By the time this additional work is completed, the original system has been in operation for one year, thereby reducing the amortization period for the new module to four years.
The calculation of the monthly straight-line amortization follows:
$22,438 capitalized cost / 48 months = $467.46 amortization charge
The Lie Dharma management then authorizes the development of an additional module that allows employees to enter time data into the system from their cell phones using text messaging. Despite successfully passing through the concept design stage, the development team cannot resolve interface problems on a timely basis. Management elects to shut down the development project, requiring the charge of all $13,000 of programming and testing costs to expense in the current period.
After the system has been operating for two years, a Lie Dharma customer sees the timekeeping system in action and begs management to sell it as a stand-alone product. The customer becomes a distributor, and lands three sales in the first year. From these sales Lie Dharma receives revenues of $57,000, and incurs the following related expenses:
Expense type Amount
Distributor commission (25%) $14,250
Service costs $ 1,900
Installation costs $ 4,300
Thus, the net proceeds from the software sale is $36,550 ( =$57,000 revenue [less] $20,450 related costs).
Rather than recording these transactions as revenue and expense, the $36,550 net proceeds are offset against the remaining unamortized balance of the software asset with the following entry:
At this point, the remaining unamortized balance of the timekeeping system is $40,278, which is calculated as follows:
Original capitalized amount $100,000
[+] Additional software module $ 22,438
[–] 24 months amortization on original
capitalized amount $ (40,000)
[–] 12 months amortization on
additional software module $ (5,610)
[–] Net proceeds from software sales $ (36,550)
Total unamortized balance $ 40,278
Immediately thereafter, Lie Dharma’s management receives a sales call from an application service provider who manages an Internet-based timekeeping system. The terms offered are so good that the company abandons its in-house system at once and switches to the ASP system. As a result of this change, the company writes off the remaining unamortized balance of its timekeeping system with the following entry:
[Debit]. Accumulated depreciation= $45,610
[Credit]. Loss on asset disposal= $40,278
[Credit]. Fixed assets—software= $85,888