linear_scale How To

Determine Whether to Capitalize or Expense Software Costs

Use the information on this page to help determine which elements of a software project are capitalized and which are expensed. For invoices with a combination of eligible and ineligible costs, make a reasonable attempt to split the respective costs and document your rationale.

Determine Whether Computer Software Costs Should be Capitalized or Expensed

  1. Expense internal and external costs as they are incurred during the preliminary stage of a computer software project. These costs are incurred as you: 
    • Make strategic decisions to allocate resources between alternative projects at a given point in time
    • Determine the performance requirements (i.e., what the software needs to do) and system requirements for the software project 
    • Invite vendors to perform demonstrations of how their software will fulfill an entity's needs
    • Explore alternative means of achieving specified performance requirements. For example: 
      • Should an entity make or buy the software? 
      • Should the software run on a mainframe or a client server system?
    • Determine that the technology needed to achieve performance requirements exists
    • Select a vendor if an entity chooses to obtain software
    • Select a consultant to assist in the development or installation of the software
       

Capitalized Costs
  1. Review the following examples to determine costs that are capitalized:
    • Design of selected software, including software configuration and interfaces
    • Coding and testing, including parallel processing phase
    • Cost to develop or obtain data conversion software to access or convert old data to new systems
    • Software upgrades and enhancements
      • When they result in new or added functionality
      • Typically require new software specifications or modification of existing software specifications
    • Payroll and payroll-related costs for employees who are directly associated with and devote time to the capitalizable software project
      • Capitalizable costs should be limited to the extent of the time spent directly on the project
    • Travel expenses incurred by consultants or employees in their duties directly associated with developing the capitalizable software
    • External interest expense associated with the capitalizable software

      Refer to the glossary for information on capitalization timing and software agreements with multiple elements.

Expensed Costs
  1. Review the following examples to determine costs that are expensed:
    • Data conversion costs:
      • Purging or cleansing of existing data
      • Reconciliation or balance of old data
      • Creation of new or additional data
      • Conversion of existing data to new system
      • Data maintenance
    • Business process re-engineering costs:
      • Documenting and re-engineering the business process to increase efficiency and effectiveness
      • Restructuring workforce that will operate the re-engineered business process
    • Software upgrades and enhancements that did not result in new or added functionality
    • General and administrative costs 
    • Training
    • Maintenance fees
    • All other costs that do not meet the criteria to be capitalized
       
What Happens Next?
Last Updated: Sep 12, 2023