Table of contents

Capitalization of software development costs means recording eligible development expenditure as an asset rather than recognizing the full amount as an immediate expense. The correct treatment depends on the software’s purpose, the accounting framework, the development stage, and the nature of each cost. Internal-use software, externally marketed products, and cloud implementation projects can follow different rules.


TL;DR

  • Capitalized software costs are recorded as an asset and recognized through amortization.
  • Research, planning, training, routine maintenance, support, and general overhead are commonly expensed.
  • Current US GAAP generally uses a project-stage model for internal-use software. ASU 2025-06 introduces revised criteria, with mandatory adoption generally beginning for annual periods after December 15, 2027.
  • External-use software commonly uses technological feasibility as a threshold.
  • IFRS expenses research costs and capitalizes development costs only after all IAS 38 criteria are met.
  • Strong documentation is essential.

What Does Capitalization Mean?

Capitalization records qualifying software development expenditure on the balance sheet as an asset. The business then recognizes the cost over the asset’s estimated useful life through amortization.

Assume a company incurs $240,000 of qualifying costs to build an internal operations platform. If the amount is expensed immediately, the full $240,000 affects the current period. If it qualifies for capitalization and has a four-year useful life, the company records an asset and generally recognizes the cost over that period.

Capitalization changes the timing of expense recognition. It does not reduce the cash spent on development.

AreaCapitalized costsExpensed costs
Initial treatmentRecorded as an assetRecorded in the income statement
Expense timingRecognized through amortizationRecognized when incurred
Typical activitiesQualifying coding, configuration, integration, and testingResearch, training, maintenance, and support
Cash impactNo changeNo change
DocumentationDetailed eligibility evidence requiredNormal expense support required

Before costs are classified, the project budget should separate discovery, design, engineering, testing, deployment, and ongoing operations. A structured software cost estimation guide can help finance and delivery teams create those workstreams before development begins.

What Does Capitalization Mean

Should Software Costs Be Capitalized or Expensed?

There is no single treatment for every software project. Start with four questions:

  1. Is the software intended for the company’s internal operations?
  2. Will it be sold, licensed, leased, or marketed to customers?
  3. Is the company implementing software delivered through a cloud service?
  4. Does the company report under US GAAP, IFRS, or another framework?

The answer determines the applicable recognition threshold.

Software Capitalization Decision Flow

Which Accounting Model Applies?

Software scenarioCommon guidanceMain decision point
Internal ERP, CRM, workflow tool, or reporting platformASC 350-40Development stage or recognition criteria after ASU 2025-06 adoption
Software sold, licensed, or marketed externallyASC 985-20Technological feasibility
Customer implementation of a SaaS platformASC 350-40 principlesNature and timing of implementation activities
Internally generated software under IFRSIAS 38Satisfaction of all development recognition criteria

Define the software architecture and delivery model early. The web application development cost breakdown can help teams identify development, integration, migration, and infrastructure workstreams before assigning accounting categories.


How Does US GAAP Treat Internal-Use Software?

Companies that have not adopted ASU 2025-06 generally continue to use the existing ASC 350-40 project-stage model.

Project stageTypical activitiesCommon treatment
Preliminary stageEvaluating alternatives, high-level requirements, feasibility work, vendor selectionExpense
Application development stageDetailed design, coding, configuration, integration, installation, and qualifying testingCapitalize eligible costs
Post-implementation stageTraining, routine maintenance, support, and normal operationsExpense

Capitalization generally begins after the preliminary stage, management approval, and the required probability assessment. It normally stops when the software is ready for its intended use.

Illustrative Example

A company compares ERP vendors and maps high-level processes. These preliminary costs are generally expensive. After approval, eligible configuration, integration, coding, and testing costs may be capitalized. Training, production support, and routine bug fixes are generally expensive.


What Changes Under ASU 2025-06?

FASB issued ASU 2025-06 to modernize internal-use software accounting for linear, agile, and iterative development.

The amendments are effective for annual reporting periods beginning after December 15, 2027. Early adoption is permitted.

After adoption, capitalization begins when:

  • Management with relevant authority has authorized and committed funding.
  • Completion of the software project is probable.
  • Use of the software for its intended function is probable.
  • Significant development uncertainty does not prevent the probability threshold from being met.

Development uncertainty may remain when major performance requirements are undefined or novel features have not been validated. This is especially relevant to AI projects. The AI agent development cost guide shows technical workstreams that may require separate assessment.


How Are External-Use Software Costs Treated?

Software intended for sale, licence, lease, or external marketing generally falls under ASC 985-20.

Costs incurred before technological feasibility is established are generally expensed as research and development. Qualifying production costs incurred after technological feasibility may be capitalized until the product is available for general release.

In practice, technological feasibility may be established late in development, creating a relatively short capitalization period.

AreaInternal-use softwareExternal-use software
Main guidanceASC 350-40ASC 985-20
PurposeCompany operationsSale, licence, lease, or marketing
Key thresholdDevelopment-stage criteria or revised recognition criteriaTechnological feasibility
Capitalization endsReady for intended useAvailable for general release

A customer-facing SaaS product is not automatically external-use software. Assess how customers access it and whether they can take possession.


How Does IFRS Treat Development Costs?

Under IAS 38 Intangible Assets, research expenditure is expensed when incurred.

Development expenditure is recognized as an intangible asset only when the company can demonstrate:

  1. Technical feasibility of completion
  2. Intention to complete the software
  3. Ability to use or sell it
  4. Probable future economic benefits
  5. Adequate technical, financial, and other resources
  6. Reliable measurement of attributable expenditure

Capitalization begins only when all criteria are met. Costs previously expensed are not reinstated merely because the criteria are satisfied later.


Which Costs May Be Capitalized?

Cost typeTypical treatment
Early research and product discoveryExpense
Feasibility analysis and vendor comparisonUsually expense
Direct developer labor on qualifying activitiesMay be capitalized
Third-party coding and configurationMay be capitalized
Integration developmentMay be capitalized
Testing required to prepare software for useMay be capitalized
Employee trainingExpense
General administration and overheadExpense
Routine maintenance and minor bug fixesExpense
Major enhancement adding new functionalityMay be capitalized
Hosting subscription feesGenerally expense over the service period

Direct labor should be based on eligible activity, not job title. Only time attributable to qualifying work should be considered.


Can Cloud Implementation Costs Be Capitalized?

Some cloud implementation costs may qualify for capitalization or deferral, while others are expensive.

Configuration, custom coding, integrations, and qualifying testing may be eligible. Vendor selection, training, data cleansing, routine migration, subscription fees, and ongoing support are commonly expensed.

The analysis should distinguish a controlled software licence from a cloud service contract and separate vendor implementation from third-party development.

Can Cloud Implementation Costs Be Capitalized

How Should Agile Teams Track Costs?

Agile delivery can combine research, coding, testing, maintenance, and enhancement work within the same sprint. A practical tracking process should include:

  1. Define the unit of account: Decide whether assessment occurs by application, module, epic, or major feature.
  2. Document the recognition date: Retain funding approval, technical evidence, architecture decisions, and resolved uncertainties.
  3. Classify work items: Label tickets as research, development, testing, maintenance, training, migration, or support.
  4. Track mixed labor: Allocate employee time using reliable records or another supportable method.
  5. Record release dates: Retain deployment records and evidence that each module is ready for use.
  6. Review abandoned work: Reassess costs when features are cancelled, paused, or replaced.

Practical Experience Block

A common problem is using one generic “development” cost centre for prototyping, production coding, bug fixes, deployment, and support. Aligning finance categories with engineering tickets before the first sprint creates cleaner payroll allocations, better vendor support, and a clearer audit trail.


What Do These Software Accounting Entries Mean?

Assume a company spends $120,000 to develop software that qualifies to be recorded as an asset.

In accounting:

  • Dr. means Debit
  • Cr. means Credit

Every accounting entry must balance. The total debit amount must equal the total credit amount.

While the Software Is Being Developed

Dr. Software under development       $120,000

    Cr. Payroll liabilities           $70,000

    Cr. Accounts payable              $50,000

In simple terms, the company has created software worth $120,000.

Out of this amount:

  • $70,000 relates to salaries or employee development costs
  • $50,000 relates to outside developers, agencies, contractors, or vendors

The company records the software as an asset because it is expected to provide value in future years.

The entry balances because:

$120,000 debit = $70,000 credit + $50,000 credit

When the Software Is Ready to Use

Dr. Internal-use software            $120,000

    Cr. Software under development   $120,000

This entry simply moves the cost from “software still being developed” to “completed software ready for use.”

No new money is spent at this stage. The company is only changing how the software is classified in its accounting records.

Recording the Monthly Software Expense

Assume the company expects to use the software for three years.

Three years equals 36 months.

$120,000 ÷ 36 months = $3,333.33 per month

The company records the following entry each month:

Dr. Software amortization expense      $3,333.33

    Cr. Accumulated amortization       $3,333.33

In simple terms, the company does not record the entire $120,000 as an expense immediately.

Instead, it records $3,333.33 as an expense every month for 36 months.

This is called amortization. It spreads the software cost over the period in which the company expects to use and benefit from it.

The exact account names and useful life may differ depending on the company’s accounting policy and reporting framework.


How Are Software Costs Amortized?

Amortization generally begins when internal-use software is ready for its intended use or when externally marketed software is available for general release.

Useful-life estimates may consider:

  • Expected period of use
  • Technology and replacement cycles
  • Contractual limitations
  • Vendor support
  • Planned upgrades
  • Cybersecurity or compliance requirements

Review capitalized software for abandonment or impairment indicators such as repeated delays, architecture failure, replacement, or cancellation.

Accounting should reflect economic value, not only project spending. Teams evaluating whether a platform justifies continued investment can use a software development cost versus business value framework alongside the accounting assessment.


What Mistakes Should Companies Avoid?

  • Capitalizing every developer hour
  • Starting capitalization before the recognition threshold is met
  • Treating research as production development
  • Applying internal-use guidance to externally marketed software without analysis
  • Treating routine maintenance as a major enhancement
  • Capitalizing training or general overhead without support
  • Using vendor invoice labels as the only accounting evidence
  • Applying ASU 2025-06 before formal adoption
  • Failing to document ready-for-use dates
  • Ignoring abandoned features or impairment indicators

Aggressive capitalization may overstate assets, understate expenses, and create future amortization or impairment risk.


Software Capitalization Checklist

Classification

  • Identify internal use, external use, or cloud implementation
  • Confirm the accounting framework
  • Define the unit of account
  • Separate new development from maintenance

Recognition

  • Document management approval and funding
  • Assess probability of completion and intended use
  • Establish technological feasibility where required
  • Document significant technical uncertainty
  • Record the capitalization start date

Cost Support

  • Maintain employee time records
  • Map vendor invoices to specific activities
  • Exclude research, training, support, and overhead
  • Assess migration and conversion costs separately
  • Retain testing and acceptance evidence

Amortization and Review

  • Record the ready-for-use or release date
  • Approve the useful life and amortization method
  • Maintain an amortization schedule
  • Review abandoned work and impairment indicators
  • Reconcile capitalized balances to project records

Conclusion

Capitalization of software development costs is a criteria-based accounting decision. The correct treatment depends on whether the software supports internal operations, is marketed externally, or is implemented through a cloud service.

The most reliable process connects accounting rules with engineering work. Approvals, ticket classifications, time records, invoices, testing evidence, release dates, and useful-life assessments should form one audit trail.


Frequently Asked Questions

Can all software development costs be capitalized?

No. Eligibility depends on the accounting framework, software purpose, project status, and activity performed. Research, training, maintenance, support, and general overhead are commonly expensed.

Can developer salaries be capitalized?

The directly attributable portion may qualify when employees perform eligible development activities during the capitalization period. Time spent on research, maintenance, support, or administration should generally be excluded.

Can SaaS implementation costs be capitalized?

Some configuration, coding, integration, and testing expenditure may qualify. Training, data cleansing, subscriptions, and ongoing support are commonly expensed. The contract and underlying activities must be assessed.

When does software capitalization begin?

Under current internal-use US GAAP, it generally begins after the preliminary stage and required authorization and probability conditions are satisfied. Other models use thresholds such as technological feasibility or the IAS 38 development criteria.

When does capitalization stop?

It generally stops when internal-use software is ready for its intended use or externally marketed software is available for general release.

Is capitalized software an intangible asset?

Software is commonly presented as an intangible asset, although classification and presentation depend on the applicable framework and the nature of the arrangement.


Costs
Web
Anant Jain

CEO

Anant Jain is the CEO of Creole Studios, helping businesses drive digital transformation through GenAI, data engineering, web, mobile, and bespoke software solutions. He is a people-centric leader with 12+ years of experience building teams, improving profitability, and forming strategic partnerships.

Launch your MVP in 3 months!
arrow curve animation Help me succeed img
Hire Dedicated Developers or Team
arrow curve animation Help me succeed img
Flexible Pricing
arrow curve animation Help me succeed img
Tech Question's?
arrow curve animation
creole stuidos round ring waving Hand
cta

Book a call with our experts

Discussing a project or an idea with us is easy.

client-review
client-review
client-review
client-review
client-review
client-review

tech-smiley Love we get from the world

white heart