Capitalize vs. Expense Software Costs — How to Decide

How to decide whether a software cost is capitalized or expensed — by the type of work and the stage it's in, with a plain decision table teams can apply.

Every software cost lands one of two ways: capitalized (recorded as an asset and spread over years) or expensed (taken in full now). Get it right and your financials reflect reality; get it wrong and you misstate both profit and the balance sheet. The decision comes down to two questions — what is the work, and what stage is it in.

For the concept itself, see what software capitalization is. This page is the decision.

Capitalize

Record as an asset; amortize over the useful life.

  • Application-development-stage work
  • Builds new functionality
  • Funded, probable to complete
Expense

Recognize the full cost now.

  • Research, planning, evaluation
  • Maintenance and bug-fixing post-release
  • Training, admin, overhead

The decision, by type of work

For internal-use software (ASC 350-40), the stage decides it:

WorkCapitalize or expense?Why
Planning, research, evaluating optionsExpensePreliminary stage — too uncertain to be an asset
Building new functionality (coding, testing, config)CapitalizeApplication-development stage — creates the asset
Data conversion, training, adminExpenseDoesn’t build the asset, even mid-project
Maintenance and bug fixes after releaseExpensePost-implementation — keeps it running, doesn’t add value
Upgrades that add new functionalityCapitalizeA new increment of asset

Software built to sell follows ASC 985-20 instead, where the line is technological feasibility rather than the application-development stage.

The two tests, in order

1. Has the project crossed the threshold? For internal-use software, capitalization can’t start until the preliminary stage is done, funding is committed, and completion is probable. Before that, everything is expensed. 2. Does this specific work build the asset? Past the threshold, capitalize the work that creates or extends functionality; expense the work that supports, maintains, or trains around it.

If both are yes, capitalize. If either is no, expense.

The Agile complication

In a phased waterfall project these tests are easy — the stages are visible. In Agile they’re not: a single sprint mixes capitalizable feature work with expensed discovery, refinement, and bug-fixing, so the decision moves down to the ticket level. Capitalizing costs in Agile covers how to map it; Quantify applies the split automatically from your issue tracker.

Frequently asked questions

Should software development costs be capitalized or expensed?

Both, depending on the work and stage. Capitalize application-development-stage work that builds functionality on a funded, probable-to-complete project; expense research, planning, maintenance, and training.

When can you start capitalizing software costs?

For internal-use software, once the preliminary project stage is complete, management commits funding, and it’s probable the project will be completed and used as intended.

Are software maintenance costs capitalized?

No — post-release maintenance and bug-fixing are expensed. Only upgrades that add new functionality are capitalized.

Capitalize software development costs in Jira — without the manual work

Quantify turns Jira activity into audit-ready software-capitalization data automatically — no manual timesheets.