4203 Accounting for Internal Use Software Costs, Including Cloud-Based Computing Arrangements, and Business Process Reengineering

Responsible Official: 
Controller
Responsible Office: 
Finance
Effective Date: 
November 1, 2000
Revision Date: 
March 24, 2017

Policy Sections

4203.1 Capitalization Criteria

4203.2 Project Stages

4203.3 Eligible Costs

4203.4 Software Development Costs that Must be Expensed

4203.5 Cloud-Based Computing Arrangements

4203.6 Amortization

4203.7 Useful Life of Software

4203.8 Impairment

4203.9 Business Process Reengineering

Scope

This policy covers the proper accounting for costs incurred to purchase and or develop software for internal use by Yale University, including those incurred under cloud-based computing arrangements.  It also covers accounting for business process reengineering costs.

Reason for the Policy

The purpose of this policy is to ensure compliance with Accounting Standards Codification 350-40 Intangibles - Goodwill and Other - Internal Use Software (“ASC 350-40”).

Policy Statement

ASC 350-40 requires that certain costs incurred in connection with the purchase or development of software for internal use be expensed and others capitalized, based on the nature of the costs and the stage of development during which they are incurred.  At Yale, eligible costs will be capitalized when the total eligible costs of a project (excluding hardware costs) are $500,000 or more.  Costs incurred on projects to develop software for internal use in which total eligible costs are less than $500,000 must be expensed as incurred. 

Fees paid under a cloud-based computing arrangement (software as a service) may only be capitalized if the arrangement includes a software license.  If no software license is included, the arrangement must be accounted for as a service contract and the fees paid under the arrangement must be expensed as the services are received. 

Definitions

Application development stage

The stage of a project to develop internal use software that follows the completion of the preliminary project stage.  It commences once management authorizes and commits funding for a project to develop internal software and includes the design of the selected software, software configuration and interfaces, coding, installation of the software and quality assurance testing, including parallel processing.  Eligible costs incurred during this stage may be capitalized.

Cloud-based computing arrangement

A cloud-based computing arrangement (CCA) includes software as a service, platform as a service, infrastructure as a service, and other similar hosting arrangements.  A CCA may or may not include a software license.

Eligible costs

Eligible costs include external direct costs of materials and services and any payroll and payroll related costs for Yale employees who are directly involved in a project to develop internal use software, to the extent their time was spent directly on the project.  Eligible costs will be capitalized when they total $500,000 or more on a single software installation project.

Business process re-engineering

A method of reviewing a particular process to determine the most efficient use of people and technology to better utilize economies of scale, reduce processing time, and or otherwise improve operations.

Hosting arrangements

A computing arrangement in which Yale (as the end user) does not take possession of the software.  Instead the software application resides on the software vendor’s, or a third party’s, hardware and Yale accesses and uses the software on an as-needed basis over the internet or via a dedicated line.

Internal use software

Software that is acquired, internally developed, or modified solely for the use of Yale University and will not be marketed or sold to any external party.

Preliminary project stage

The stage of a project to develop internal use software during which decisions about the allocation of resources are made, performance requirements are determined, supplier demonstrations are conducted, technology is evaluated, and a supplier is selected.  Costs incurred during this stage must be expensed as incurred

Post implementation stage

The final stage of a project to develop internal use software that follows the completion of the application development stage.  It commences once all testing is substantially completed and the software is ready for its intended use and includes data conversion, training, and application maintenance.  Costs incurred during this stage must be expensed as incurred.

Software license

Is the right, under an arrangement with a vendor, to take possession of software to run on Yale’s own hardware or the right to contract with another party, unrelated to the vendor, to host the software for Yale’s exclusive use.

Policy Sections

Costs incurred to develop software may be capitalized when all of the following criteria are met:

  1. The software is being designed or modified to meet Yale’s internal needs.  This includes the customization of purchased software. 
  2. There are no plans to market the software externally or to offer it for sale.
  3. Management has concluded that it is probable that the project to develop the software will be completed and that the software will be used as intended.
  4. Total eligible costs of a project to develop software for Yale’s internal use exceeds $500,000.  For projects with total eligible costs less than $500,000, all costs are expensed as incurred.
  5. The useful life of the software is at least two years post implementation.

Work performed when developing software for internal use is classified into three distinct project stages.  The stages during which project costs are incurred determines whether or not they may be capitalized.  The three stages of a software development project are as follows: 

  1. Preliminary Project Stage – all costs are expensed as incurred
  2. Application Development Stage – eligible costs may be capitalized if they exceed Yale’s threshold for capitalization, which is $500,000
  3. Post Implementation Stage – all costs are expensed as incurred

Preliminary Project Stage

The preliminary project stage is the initial phase of a project to develop software for internal use.  Activities conducted during this stage include the conceptual formulation of alternatives, evaluation of alternatives, the determination that the needed technology exists, and the final selection of alternatives.  All costs incurred during the preliminary project stage must be expensed as incurred.

Application Development Stage

The application development stage commences after the preliminary project stage and includes the design of the selected software, software configuration and customization, software system interfaces, coding, installation of the software and quality assurance testing.

Capitalization of eligible costs may begin once management authorizes the project and approves its funding.  Management must also conclude that it is likely that the project will be completed and the software will be used as intended.  See Eligible Costs below for a description of costs that may be capitalized during the application development stage.

Post Implementation Stage

The post implementation stage is the final stage of a software development project and commences when substantially all software testing has been completed and the software is ready for its intended use.  The post implementation stage includes end user training and application maintenance.  Costs incurred during this stage may include costs to train end users of the application, costs associated with making modifications to existing software, costs of annual service contracts, and costs incurred for ongoing maintenance of computer systems and related infrastructure applications.  These costs do not quality for capitalization and must be expensed as incurred.

Eligible costs incurred during the application development stage may be capitalized when a project’s total eligible costs (excluding hardware costs) are $500,000 or more.  Eligible costs include direct costs of materials and services used in developing or obtaining software for Yale’s internal use.  These may include:

  1. Costs of materials and services required to develop the software, including the cost to purchase the software and any third party development fees.  This may include the costs to develop or obtain software that allows for the access or conversion of old data by new systems.  Any other data conversion costs should be expensed. See 4203.4 below.
  2. Direct labor costs for those working directly on the development and implementation of the software, to the extent of the time spent working directly on the project.  This would include those working directly on coding, hardware installation and testing during the Application Development Stage.  Such labor costs may include both Yale employees and external contractors. 
  3. Interest expense will also be capitalized on software development projects.

Travel, lodging and other similar expenses may also be capitalized when incurred by someone whose direct labor costs are being capitalized and the travel costs are directly associated with the software development project.  Such expenses must be incremental costs that would have been avoided had the project not been undertaken.

Any costs related to user training, administration, or overhead should be charged as incurred.  In addition, most all costs related to data conversion must also be expensed as incurred.  Data conversion includes purging or cleansing of existing data, reconciling or balancing of the old data and the data in the new system, creation of new/additional data, and the conversion of old data to the new system.  Only the costs to develop or obtain software that allows for the access or conversion of old data by the new system may be capitalized.  See 4203.3 above. 

The FASB recently issued an Accounting Standard Update (ASU) providing accounting guidance for fees paid under a hosting arrangement or cloud-based computing arrangement (CCA).  Fees paid under a CCA may only be capitalized when the CCA includes a software license.

Software License

A hosting arrangement includes a software license if it meets both of the following criteria:

  1. Yale has the contractual right to take possession of the software at any time during the hosting period without significant penalty. (Without significant penalty means that Yale can take delivery without incurring significant cost and use it without a significant reduction in utility or value.)
  2. It is feasible for Yale to either run the software on its own hardware or contract with another party unrelated to the vendor to host the software.

When a CCA includes a software license, the fee attributable to the software license may be capitalized when the criteria for capitalization are met.  See 4203.1 above. 

If either of the above criteria is not met, the hosting arrangement does not include the purchase of a license agreement and the hosting arrangement must be accounted for as a service contract with the fees expensed as the services are rendered.

Implementation costs incurred for software that will be hosted in a cloud-based computing arrangement are subject to the same capitalization criteria as implementation costs incurred for licensed software.

For each module or component of a software project, amortization should begin when the software is ready for its intended use.  Software is generally considered ready for its intended use once substantially all software testing has been completed, regardless of whether the software is implemented in stages.

New software development activities should trigger consideration of remaining useful lives of software that is to be replaced.  When existing software is replaced with new software, unamortized costs of the old software should be expensed when the new software is ready for its intended use.

The useful life of internal-use computer software is determined by the Controller’s Office.  The factors considered when estimating the useful life include the effects of obsolescence, new technology and whether rapid changes are likely to occur in the development of similar software products, software operating systems, or computer hardware and whether the University intends to replace any technologically obsolete software or hardware.  When the software is cloud-based, the useful life will generally be limited to the term of the underlying hosting agreement.  Renewal options may be considered if it is likely that the agreement will be renewed without substantial additional costs or modifications.

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.  Circumstance that might suggest that impairment has occurred and that warrant a review and evaluation include:

  • A realization that the internal-use computer software is not expected to provide substantive service potential;
  • A significant change occurs in the extent or manner in which the software is (or is expected to be) used;
  • A significant change is made, or is anticipated to be made, to the software program (this would generally be an enhancement);
  • The costs of developing or modifying internal-use computer software significantly exceed the amount originally expected to develop or modify the software.
  • A realization that an on-going software development project will not be completed

Departments and project managers should contact the Controller’s Office to discuss the proper accounting treatment to be applied if they believe a computer-related asset under their jurisdiction has become impaired.

Costs incurred by the University to reengineer a business process must be expensed as incurred, in accordance with specific FASB requirements. The reengineering encompasses the following activities:

  • Current State Assessment: Current state assessment is the process of documenting the entity’s current business process.  This activity is sometimes called “mapping”, “developing an ‘as-is’ baseline”, “flow charting”, and “determining current business process structure”.
  • Process Reengineering: Process reengineering is the effort to reengineer the entity’s business process so as to increase efficiency and effectiveness.  This activity is sometimes called “analysis”, “determining best-in-class”, “profit/performance improvement development”, and “developing ‘should-be’ processes”.
  • Restructuring Work Force: Restructuring the work force is the effort to determine what employee makeup is necessary to operate the re-engineered business processes.

Business process reengineering costs must be expensed as incurred whether undertaken as a separate project or as part of a larger project that includes software development.  For example, if business processes are re-engineered in order to utilize the new software (rather than modifying the software to accommodate existing business processes) the costs to do so must be expensed.

Special Situations/Exceptions

Exceptions to this policy must be approved by the Controller’s Office, in consultation with the Provost’s Office, General Counsel, or an Officer of the Corporation, as appropriate.