Skip to main content
Table of Contents
< All Topics
Print

Accounting for Software Costs

As technology evolves and companies automate their business processes, companies will undoubtedly incur costs related to software. For many companies, determining whether and when to capitalize software costs is not straight-forward. The accounting for software-related costs differs based on the nature of the costs and the plan of use for the software. In addition, with the rise of Software as a service (SaaS) arrangements, the FASB has issued several ASUs to provide clarification around customers’ accounting for hosting arrangements, determining whether hosting arrangements include a license, and customers’ accounting for implementation costs incurred in cloud-computing arrangements. This article covers the accounting models for the different types of software.  

Types of Software 

The first step to determining the accounting for software costs is to identify the type and nature of the software. The following table summarizes the type of software and the applicable guidance.

Type

Example

Guidance

Internal-use software 

Costs incurred to acquire or develop software that is solely for the entity’s internal use (e.g. ERP or payroll software). Also includes certain software costs in a hosting arrangement.

ASC 350-40, Internal-Use Software (“ASC 350-40”)

External-use software

Costs incurred to develop software to be sold or licensed to third-party customers (e.g. on-premise licensed software), including software that an entity licenses to a customer as part of providing a service.

ASC 985-20, Software-Costs of Software to be Sold, Leased, or Marketed  (“ASC 985-20”)

Website development costs

Costs incurred to develop a website. Excludes costs of hardware and related hardware infrastructure, and the costs to acquire or develop website content.

ASC 350-50, Intangibles-Goodwill and Other- Website Development Costs  (“ASC 350-50”)

Internal-use software

Often times, it is obvious if the software is for internal use (e.g., ERP software used solely by the entity to process business transactions). In other instances, entities will need to carefully evaluate the manner in which the software will be used to determine whether it should be capitalized.

Hosting arrangements

A company may enter into a hosting arrangement with a vendor. A “hosting arrangement” is an arrangement that allows the company to access and use software on an as-needed basis without having possession of it (also known as cloud computing arrangement). These hosting arrangements include SaaS, Platform as a service (PaaS), and Infrastructure as a service (IaaS). 

Some hosting arrangements also transfer a license to the software along with the service of hosting the software. It is important to first determine whether the hosting arrangement includes a software license in addition to the service, as this affects the accounting. If the following criteria are both met, both the software license and implementation costs are subject to ASC 350-40:

  1. The customer has the contractual right to take possession of the software at any time during the hosting period without significant penalty. 
  2. It is feasible for the customer to either run the software on its own hardware or contract with another party unrelated to the vendor to host the software.

If none of the criteria are met, the arrangement is purely a service contract and only the implementation costs associated with the hosting arrangement are within the scope of ASC 350-40. 

External-use software

ASC 985-20 addresses the accounting for software to be sold, leased or marketed to third parties (external-use software). Traditionally, software within the scope of ASC 985-20 is in the form of a nonexclusive on-premise license (either perpetual or term-based), with the sale of external use software accounted for under ASC 606.

Companies must determine whether they have a plan, or will create a plan, to market the software externally. If either is the case, the software development costs will be subject to ASC 985-20.

While software often is sold as a standalone product, it may also be embedded as part of another product that is sold or sold as part of a process. Therefore, it is important that all software in an arrangement is identified so the associated costs can be properly accounted for. 

Hosting arrangements

Companies may also provide hosting arrangements to customers. Similar to internal-use software, the company will need to determine whether the hosting arrangement includes a software license in addition to the service. For the software license cost to be accounted for under ASC 985-20, both of the following criteria need to be met: 

  1. The customer has the contractual right to take possession of the software at any time during the hosting period without significant penalty. 
  2. It is feasible for the customer to either run the software on its own hardware or contract with another party unrelated to the vendor to host the software. 

If none of the criteria above are met, the software costs are accounted for under ASC 350-40 as internal-use software.

Website Development Costs

Website development costs are subject to ASC 350-50. The guidance is similar to that for internal-use software as only direct costs of eligible website development activities are capitalized, and costs of training, converting or migrating website content are expensed as incurred regardless of the stage of website development. 

Accounting Models

Internal-use Software

Acquired third-party software

A third-party software license that is purchased for internal use is accounted for as an intangible asset. To the extent any of the software licensing fees are still payable on the date the license was purchased, a liability should be recognized. The intangible asset is recognized and measured in accordance with ASC 350-30, General Intangibles Other than Goodwill.

Internally-developed software

If a reporting entity is developing software for internal use, the determination of which costs should be expensed or capitalized depends on the project stage. The following table summarizes the three main project stages for internally-developed software and the associated accounting.

Stage

Examples of activities

Accounting

Preliminary project stage

  • Conceptual formulation of ideas and alternatives
  • Evaluation of alternatives
  • Determination of existence of needed technology
  • Final selection of alternatives

Costs expensed as incurred

Application development stage

  • Design of chosen path, including software configuration and interfaces
  • Coding
  • Installation of hardware
  • Testing, including parallel processing

Costs are capitalized. Only direct costs of eligible activities can be capitalized, including:

  • External direct costs of materials and services consumed.
  • Payroll and payroll-related costs for employees who directly work on the software 
  • Interest costs incurred.

Indirect costs (e.g. G&A and overhead costs) must be expensed.

Post-implementation operation stage

  • Training
  • Routine maintenance
  • Costs expensed as incurred 
  • Amortization of software asset

Cost capitalization cannot begin before the preliminary project stage is complete, management has approved the project and its funding, and it is probable the project will be completed and used for its intended purpose. Capitalized development and implementation costs become part of the cost-basis of the software intangible asset.

Certain costs including data migration/conversion costs, training and business re-engineering costs must always be expensed. Cost capitalization ceases at the earlier of: (1) project abandonment or (2) the point in time when the software is ready for its intended use and all substantial testing is completed.

Cloud computing arrangements are considered service contracts. The hosting service fees (i.e. the ongoing subscription fees) due under the cloud computing arrangement are accounted for in the same manner as the company would account for the fees for other services, generally as operating expense.

External-use Software

Acquired third-party software

Companies will often purchase software to embed in a larger software product or process to be sold to third party customers. In these cases, the cost of the purchased software is expensed at the time of purchase as R&D costs if: 

  • the technological feasibility of the software product or other product or process with which it will be integrated has not yet been established; and 
  • it has no alternative future use (e.g. resale, licensing to other entities, internal use).
Internally-developed software

The accounting for internally-developed software costs to be sold to third party customers depends on whether technological feasibility has been reached. Technological feasibility can be established by a detail program design or a working model. 

Prior to reaching technological feasibility, costs incurred are considered R&D costs and expensed when incurred. Costs are capitalized once  technological feasibility is reached. These costs include the following direct and indirect costs:

  • Payroll and payroll-related costs of employees directly involved with production activities 
  • Travel expenses incurred by employees in performing production activities 
  • Fees paid to third parties for software production services 
  • Interest costs on borrowings that fund the software’s production 

Capitalization of these costs ceases when the product is available for general release. Costs of subsequent product enhancements may qualify for cost capitalization under ASC 985-20. 

Software maintenance and customer support costs are expensed after general release of the software product.

Website development costs

The first step in determining whether the costs of website development activity should be capitalized is to identify the stage to which the activity relates. ASC 350-50 describes website development activities as occurring in the following five stages.

Stage

Examples of activities

Accounting

Planning

  • Develop a business or project plan
  • Determine the functionalities of the website
  • Identify necessary hardware and web applications
  • Determine that the technology necessary  exists.
  • Explore alternatives for achieving functionalities
  • Conceptually formulate  content
  • Select external vendors or consultants.
  • Identify internal resources.
  • Identify software tools  required for development purposes.

Costs expensed as incurred

Website application and infrastructure development

  • Acquire or develop the software tools required for the development work
  • Obtain a domain name
  • Develop code for web applications 
  • Develop HTML web page  templates
  • Purchase the web and application server
  • Install developed applications on the web server
  • Test the website applications

Costs capitalized in accordance with the guidance on internal-use software in ASC 350-40.

Costs to obtain a  domain name are generally capitalized as an intangible and amortized over the estimated useful life.

Fees for third-party website hosting services are generally expensed as the services are provided.

The purchase of servers and routers and other hardware is accounted for as property, plant and equipment.

Graphics development

  • Overall design of the web page 
  • Design or layout of each page

Costs capitalized

Content development

  • Text or narrative on the website 

Costs expensed as incurred

Software to input, migrate or convert content is capitalized as internal-use software.

Operating

  • Train employees.
  • Perform user administration activities.
  • Update content
  • Perform regular backups.
  • Create new links.
  • Add additional functionalities or features.
  • Perform usage analysis.

Costs expensed as incurred.

If costs incurred provide additional functions or features, those costs should be evaluated  to determine whether they should be capitalized or expensed.

Subsequent Accounting

Amortization

  • Capitalized internal-use software is amortized straight-line over its estimated useful life, commencing when the software is ready for its intended use. 
  • In determining the estimated useful life, entities should consider obsolescence, technology and competition. Given the rapidly changing nature of technology, the useful life for software is typically short. 
  • Cloud computing arrangement implementation cost assets are amortized over the term of the hosting arrangement. This includes the noncancellable period of the subscription period plus any optional renewal periods that are reasonably certain to be exercised by the customer or for which exercise of the option is controlled by the vendor.
  • Website development costs follow the internal use software amortization guidance.
  • Capitalized external-use software costs are amortized over the software’s estimated economic life from the point that it is available for general release.
  • Any change in the useful life or to the term of the hosting arrangement is considered a change in accounting estimate under ASC 250 and accounted for prospectively.

Abandonment

  • When a company ceases to use the internal-use software or cloud computing arrangement, the related asset is considered abandoned.

Impairment

  • Capitalized internal-use software, hosting arrangement implementation cost assets and any website development costs are assessed for impairment as part of their respective asset group under the long-lived assets impairment guidance in ASC 360, Property, Plant, and Equipment (“ASC 360”). Even if an internal-use software asset is part of an asset group that is not impaired under ASC 360, it may need to be written down if it is not yet completed and it is no longer probable of being completed and placed into service. 
  • Capitalized external-use software is measured at the lower of its amortized carrying amount and net realizable value on a product-by-product basis at each reporting date.
Categories