Glueglue
AboutFor PMsFor EMsFor CTOsHow It Works
Log inTry It Free
Glueglue

The Product OS for engineering teams. Glue does the work. You make the calls.

Monitoring your codebase

Product

  • How It Works
  • Platform
  • Benefits
  • Demo
  • For PMs
  • For EMs
  • For CTOs

Resources

  • Blog
  • Guides
  • Glossary
  • Comparisons
  • Use Cases
  • Sprint Intelligence

Top Comparisons

  • Glue vs Jira
  • Glue vs Linear
  • Glue vs SonarQube
  • Glue vs Jellyfish
  • Glue vs LinearB
  • Glue vs Swarmia
  • Glue vs Sourcegraph

Company

  • About
  • Authors
  • Contact
AboutSupportPrivacyTerms

© 2026 Glue. All rights reserved.

Blog

GAAP Rules for Capitalization of Software: Complete Scenario Guide

Navigate every software capitalization scenario. New products, features, bug fixes, maintenance, migrations, and technical debt with GAAP citations and quick-reference tables.

GT

Glue Team

Editorial Team

March 5, 2026·16 min read
GAAP rules for capitalization of softwareGAAP software costscapitalizable vs non-capitalizablefeature development capitalizationsoftware capitalization scenariossoftware development phasessoftware maintenance capitalization

GAAP Rules for Capitalization of Software: Complete Scenario Guide

At Salesken, our finance team and engineering team spoke completely different languages when it came to software costs. Engineering would say "we refactored the payment service" and finance would ask "is that capitalizable?" Neither side understood the other's framework. I ended up building a shared decision tree — basically the scenarios in this guide — so both teams could classify work consistently without a 30-minute debate every sprint.

The most practical way to understand GAAP software capitalization is by scenario. While the standards provide principles, finance teams and auditors need to apply those principles to specific real-world situations: What happens when you build a new product? Add a feature? Fix bugs? Refactor code? Migrate infrastructure?

This guide walks through 10 common scenarios with clear GAAP guidance for each, including the authoritative citations, GAAP treatment (capitalize or expense), and practical considerations.

Scenario Quick-Reference Table

ScenarioCapitalizable?GAAP StandardKey Factor
New product development (Phase 2)YESASC 985-20After technological feasibility
Feature enhancementsMAYBEASC 350-40 or 985-20Depends on whether it extends asset life
Bug fixes and maintenanceNOASC 350-40-35-2Period costs by definition
Code refactoring for performanceNOASC 350-40-35-2Doesn't create new functionality
Platform migration (cloud to on-premise)MAYBEASC 350-40Depends on whether it's development or maintenance
Technical debt reductionNOASC 350-40-35-2Considered maintenance, not enhancement
Infrastructure upgradesMAYBEProperty, Plant & EquipmentDepends on capitalization threshold
Mobile app developmentYESASC 985-20 or 350-40Depends on intended customer base
API developmentMAYBEASC 350-40 or 985-20Depends on whether internal-use or to be sold
Compliance and security updatesNOASC 350-40-35-2Required maintenance activities

Scenario 1: New Product Development (SaaS Product)

Situation: Your team begins developing a new SaaS product intended for external sale. You're building a cloud-based project management tool to launch next year.

GAAP Treatment: CAPITALIZE (after technological feasibility is established)

Standard: ASC 985-20 (software to be sold)

Phase Analysis:

PhaseActivityTreatment
ConceptualizationMarket research, competitive analysis, technology evaluationEXPENSE (Stage 1)
Feature specificationRequirements gathering, architecture design, team planningEXPENSE (Stage 1)
Technological feasibilityWorking prototype or detailed program designTRANSITION POINT
DevelopmentCoding, testing, feature implementationCAPITALIZE (Stage 2)
Beta testingExternal user testing before releaseEXPENSE (Stage 3)
LaunchProduct released to marketStage 4 begins

Key GAAP Citation: ASC 985-20-25-1 states "Software development costs are capitalized when the technological feasibility of the software product has been established and the entity has made the commitment to produce the software product."

Practical Example:

You decide to build a project management SaaS product. Through February, your team researches the market and designs architecture (EXPENSED). In March, you complete a functional prototype that demonstrates the core features work as designed. This is the "technological feasibility" point.

February costs (EXPENSED):
  - Product manager salary (1 month): $8,000
  - 2 engineers' salaries (research/design): $16,000
  - Prototype/proof of concept server costs: $1,000
  - Total expensed: $25,000

March onwards (CAPITALIZED):
  - Engineering team developing full product: $32,000/month
  - Testing and quality assurance: $4,000/month
  - Bug fixes for product (pre-launch): $2,000/month
  - Development infrastructure: $800/month

Total capitalized during development phase: ~$300,000 (10 months at $30,000+/month)

Once product launches: transition to Stage 4 (post-release), future bug fixes and maintenance expense

Audit Checkpoint: Document when technological feasibility was achieved. This is the critical moment for capitalization eligibility. Auditors will request the prototype, design documents, or working model that demonstrates feasibility.

Scenario 2: Adding a Major Feature to Existing Product

Situation: You've sold your project management SaaS for two years. Now you're adding AI-powered task recommendations, a substantial feature enhancement requiring 6 months of development by 3 engineers.

GAAP Treatment: CAPITALIZE (likely)

Standard: ASC 985-20-35-4 (enhancements to existing software)

Analysis: The key question is whether this feature is a "maintenance update" or a "material enhancement." ASC 985-20-35-4 allows capitalization of enhancements that result in new or improved functionality. However, routine maintenance (minor bug fixes, performance patches) is expensed.

The Test:

  • Does the enhancement create new functionality for customers? YES → Capitalize
  • Does it extend the life of the product? YES → Capitalize
  • Does it improve future revenue generation? YES → Capitalize
  • Is it a required maintenance activity? NO → Capitalize
  • Is it a bug fix or performance optimization of existing features? NO → Expense

AI-powered recommendations create new functionality, improve customer experience, and can justify higher pricing or retention. This is a capitalizable enhancement.

AI Feature Development:
  - Product manager (6 months): $36,000
  - 3 engineers (6 months): $144,000
  - ML training infrastructure: $12,000
  - Testing and data setup: $8,000

  Total enhancement cost: $200,000

  Accounting treatment: CAPITALIZE as software asset
  Amortization period: 3-5 years (same as base product)
  Annual amortization: $40,000-$66,666

Journal Entry:

DR: Capitalized Software - Enhancements                         $200,000
    CR: Cash / Payroll Payable / etc.                                   $200,000

(Amortize over 3-5 years along with base product)

Audit Checkpoint: Document that this is a material feature enhancement, not routine maintenance. Provide:

  • Feature specification and requirements
  • Customer communication about new functionality
  • Project approval and authorization
  • Estimation of useful life impact

Scenario 3: Bug Fixes and Maintenance Patches

Situation: Every quarter, your engineering team spends time fixing bugs reported by customers, patching security vulnerabilities, and optimizing performance. Last quarter: $40,000 in engineering time.

GAAP Treatment: EXPENSE immediately

Standard: ASC 350-40-35-2 and ASC 985-20-35-2 (both standards agree)

Rule: Maintenance costs, bug fixes, and performance optimization of existing software are treated as period costs and expensed immediately.

The Distinction:

  • Bug Fix: "The system wasn't correctly calculating daily totals" (EXPENSE)
  • Enhancement: "The system now shows predictive analytics for task completion" (CAPITALIZE)

Bug fixes restore functionality to the design specification. They don't create new value; they restore intended value.

Common Dispute with Auditors: Some organizations try to capitalize bug fixes for "important" bugs. Auditors will reject this. A critical bug fix is still a bug fix. Period.

Quarterly Bug Fix and Maintenance Costs:
  - Security patches: $8,000 → EXPENSED
  - Performance optimization: $12,000 → EXPENSED
  - Bug fixes (customer reported): $15,000 → EXPENSED
  - Infrastructure maintenance updates: $5,000 → EXPENSED

  Total quarterly: $40,000 → ALL EXPENSED

  Accounting treatment:
  DR: Software Maintenance Expense                              $40,000
      CR: Cash / Payroll Payable                                         $40,000

Why This Matters: If you have 10 engineers on your product team and 30% of their time goes to maintenance ($150,000/quarter), that's $600,000/year of expensed costs. This is correct GAAP treatment and must hit your P&L.

Audit Checkpoint: Maintain logs of bug fixes, security patches, and maintenance activities. Auditors may spot check a sample to verify these are truly maintenance, not enhancements capitalized as maintenance.

Scenario 4: Code Refactoring and Technical Debt Reduction

Situation: Your codebase has accumulated technical debt over three years. You dedicate a sprint to refactoring the order processing module, improving code quality and maintainability. Cost: $25,000 in engineering labor.

GAAP Treatment: EXPENSE immediately

Standard: ASC 350-40-35-2

Rule: Refactoring and technical debt reduction don't create new functionality or enhance the asset. They maintain the asset's operability. This is maintenance.

The Logic: Yes, better code improves future productivity and reduces future bugs. But GAAP doesn't capitalize "future benefit" from code quality improvements. You capitalize only when you create new functionality or demonstrably extend useful life.

Contrast to a Legitimate Enhancement:

  • Refactoring order processing module: EXPENSE (it works the same, just cleaner code)
  • Adding new international payment method to order processing: CAPITALIZE (new functionality)
Technical Debt Reduction:
  - Refactoring legacy code: $25,000 → EXPENSED

  Accounting:
  DR: Software Maintenance Expense                              $25,000
      CR: Payroll Payable                                                $25,000

The Audit Challenge: Auditors may question whether refactoring disguises an enhancement. If the refactored code creates new capabilities or enables new features, that portion might be capitalizable. But pure code quality improvements are maintenance.

Red Flag: If your team says "this refactoring will save us 20% on future development time," auditors will assume it's maintenance (no new functionality) and demand expensing.

Scenario 5: Platform Migration (On-Premise to Cloud)

Situation: You migrate your internal ERP system from on-premise Oracle to cloud-based SAP. The project costs $400,000 and takes 4 months.

GAAP Treatment: MIXED (depends on activity)

Standard: ASC 350-40 (internal-use software)

Analysis: A platform migration involves multiple activities with different treatments:

ActivityTreatmentReasoning
Planning and requirements gatheringEXPENSEPhase 1 (Preliminary)
Data transformation and mappingCAPITALIZECreates new data structures/processes
Custom integrations builtCAPITALIZECreates new assets you control
Vendor migration servicesEXPENSEService costs, not asset creation
Your team testing and validationEXPENSETesting and QA activities
New infrastructure setupCAPITALIZEAsset creation (IT infrastructure)

Cost Breakdown:

Migration Project Costs:

Phase 1 (Preliminary - EXPENSED):
  - Requirements assessment: $15,000
  - Vendor evaluation: $10,000
  - Migration planning: $15,000
  Subtotal: $40,000 → EXPENSED

Phase 2 (Development - CAPITALIZED):
  - Data transformation and ETL development: $80,000
  - Custom integration APIs: $70,000
  - Reporting queries customized for new system: $60,000
  - New cloud infrastructure setup: $50,000
  Subtotal: $260,000 → CAPITALIZED

Phase 3 (Post-Implementation - EXPENSED):
  - Parallel system testing: $30,000
  - Training and documentation: $20,000
  - Cutover support: $10,000
  - Vendor services: $40,000
  Subtotal: $100,000 → EXPENSED

Total Migration Cost: $400,000
Total Capitalized: $260,000
Total Expensed: $140,000

Journal Entries:

During migration (capitalize Phase 2 activities):
DR: Capitalized Software - ERP Implementation                  $260,000
DR: Software Implementation Expense                            $140,000
    CR: Cash / Accounts Payable                                         $400,000

After migration (place into service):
DR: Software Asset - SAP Cloud ERP                             $260,000
    CR: Construction in Progress                                        $260,000

Annual amortization:
DR: Amortization Expense ($260,000 / 5 years)                 $52,000
    CR: Accumulated Amortization - Software                             $52,000

Scenario 6: Technical Debt Elimination via Rewrite

Situation: You rewrite a mission-critical fraud detection system from legacy Perl to modern Python, improving performance 300x and enabling new machine learning features. Cost: $180,000 over 5 months.

GAAP Treatment: CAPITALIZED (likely, but with nuance)

Standard: ASC 350-40

The Key Distinction: A rewrite that ONLY improves performance and reliability is maintenance (expense). A rewrite that creates NEW functionality or SIGNIFICANTLY extends useful life may be capitalizable.

Analysis:

  • Improving performance 300x: Technical maintenance
  • Enabling new ML features: New functionality
  • The ML capabilities portion is new and capitalizable
  • The performance-only portion is maintenance and expensed

Practical Segregation:

Fraud Detection Rewrite:

Portion for performance optimization: $100,000
  (Rewriting in Python, architectural improvements)
  Treatment: EXPENSED (maintains operability, doesn't create new value)

Portion for new ML capabilities: $80,000
  (Building new fraud prediction models, real-time scoring)
  Treatment: CAPITALIZED (new functionality)

Total Project: $180,000
Capitalized: $80,000
Expensed: $100,000

Journal Entry:

DR: Software Maintenance Expense                               $100,000
DR: Capitalized Software - ML Enhancement                      $80,000
    CR: Cash / Payroll Payable                                          $180,000

Audit Checkpoint: Document the new capabilities enabled by the rewrite. If the rewrite enables ONLY performance improvement, auditors will demand expensing. If it enables new functionality, you have a capitalization case.

Scenario 7: Infrastructure Upgrade (Servers, Databases)

Situation: Your hosting costs are escalating, so you consolidate from 12 servers to 3 enterprise-grade servers, reducing operating costs by 40%. Capital cost: $50,000. Annual maintenance: $10,000.

GAAP Treatment: CAPITALIZE (as Property, Plant & Equipment)

Standard: ASC 360 (Property, Plant & Equipment)

Analysis: Servers and infrastructure are tangible fixed assets, not software. Capitalize them as PP&E, then depreciate over 3-5 years.

Server Upgrade:
  - 3 new enterprise servers: $40,000
  - Installation, networking, configuration: $10,000
  Total: $50,000

  Accounting:
  DR: Property, Plant & Equipment - Servers                    $50,000
      CR: Cash                                                           $50,000

  Annual depreciation (5-year useful life):
  DR: Depreciation Expense ($50,000 / 5 years)                $10,000
      CR: Accumulated Depreciation - Servers                           $10,000

Note: The software running on those servers (your databases, applications) is already capitalized and amortized separately. Don't double-count. The infrastructure (the servers themselves) is PP&E.

Scenario 8: Mobile App Development

Situation: You develop an iOS mobile app to be sold in the App Store to customers for $9.99/user. Development cost: $150,000.

GAAP Treatment: CAPITALIZE (after technological feasibility)

Standard: ASC 985-20 (software to be sold)

Analysis: A mobile app to be sold is a software product. It follows ASC 985-20, just like web-based products.

Mobile App Development:

Phase 1 (Conceptualization):
  - Market research, competitive analysis: $10,000 → EXPENSED
  - App specification and design: $15,000 → EXPENSED
  Transition: Technical feasibility established (design complete, development authorized)

Phase 2 (Development):
  - iOS development: $60,000 → CAPITALIZED
  - Testing and QA: $25,000 → CAPITALIZED
  - App Store submission preparation: $10,000 → CAPITALIZED
  Subtotal Phase 2: $95,000 → CAPITALIZED

Phase 3 (Pre-Release):
  - Beta testing: $10,000 → EXPENSED
  - Marketing materials: $5,000 → EXPENSED

Phase 4 (Post-Release):
  - Bug fixes and patches: → EXPENSED
  - New features: → CAPITALIZED (enhancements)

Total Capitalized: $95,000
Total Expensed: $40,000+

Amortization: 3-5 year useful life (mobile app technology evolves quickly, so 3 years is common)

Scenario 9: API Development (Internal vs. External)

Situation A (Internal): You build an API to integrate your fraud detection system with your lending platform. Neither is sold externally. Cost: $60,000.

GAAP Treatment: CAPITALIZE

Standard: ASC 350-40

Analysis: You're creating an internal-use software asset (the API) that connects systems. This is capital development, following ASC 350-40 Phase 2 rules.


Situation B (External): You sell API access to third-party developers to connect to your platform. Cost: $60,000.

GAAP Treatment: CAPITALIZE

Standard: ASC 985-20

Analysis: You're developing software to be sold (the API product). This follows ASC 985-20 rules for software products.

Both scenarios capitalize the cost, but under different standards. The key distinction is intent (internal vs. sale), not the activity itself.

Scenario 10: Compliance and Security Updates

Situation: New compliance regulations require encryption changes to your customer data handling. You spend $45,000 upgrading your cryptographic libraries and rewriting data protection code.

GAAP Treatment: EXPENSE immediately

Standard: ASC 350-40-35-2

Rule: Compliance and security updates maintain the software's ability to operate legally and safely. They don't create new functionality or extend useful life. Therefore, they're maintenance costs.

Compliance Upgrade:
  - Cryptographic library replacement: $20,000 → EXPENSED
  - Code updates for GDPR compliance: $15,000 → EXPENSED
  - Security testing and validation: $10,000 → EXPENSED

  Total: $45,000 → ALL EXPENSED

  Accounting:
  DR: Software Compliance and Security Expense                 $45,000
      CR: Payroll Payable / Cash                                        $45,000

Exception: If compliance updates coincidentally enable NEW functionality (e.g., encryption changes enable new analytics capabilities), the new functionality portion may be separable and capitalizable.

Quick-Reference Decision Tree

START: I'm spending money on software/development work

├─ Is it for an external product or software to be sold?
│  ├─ YES
│  │  ├─ Is technological feasibility established? (ASC 985-20)
│  │  │  ├─ YES → CAPITALIZE (Stage 2)
│  │  │  └─ NO → EXPENSE (Stage 1)
│  │  └─ Is it a bug fix or maintenance?
│  │     └─ YES → EXPENSE (post-release)
│  │
│  └─ NO (Internal use only)
│     ├─ Is a project approved and in development?
│     │  └─ YES (Phase 2) → CAPITALIZE
│     │
│     └─ Is it preliminary or post-implementation?
│        ├─ Preliminary → EXPENSE (Phase 1)
│        └─ Post-impl → EXPENSE (Phase 3)

├─ Does it fix bugs or maintain current functionality?
│  └─ YES → EXPENSE (always)
│
├─ Does it create new functionality or significantly enhance?
│  └─ YES → CAPITALIZE (enhancement)
│
└─ Does it improve code quality, performance, or architecture?
   └─ Without new functionality → EXPENSE (maintenance)

Common Capitalization Worksheet

Use this table to assess any software-related spending:

Cost ItemCapitalizable?GAAP StandardKey Evidence Needed
Market researchNOASC 985-20-25-1Document as Stage 1 (conceptual)
Architecture design (Phase 2)YESASC 350-40Phase transition documentation
Developer salaries (Phase 2)YESASC 350-40Time tracking, project assignment
Vendor license (perpetual)YESASC 350-40License agreement, receipt
Vendor SaaS subscriptionNO*ASU 2018-15Subscription agreement, expensed annually
Implementation servicesMAYBEASU 2018-15Configuration vs. service labor analysis
Bug fixesNOASC 350-40-35-2Issue tickets, classification as fix vs. enhancement
New features (Phase 2)YESASC 350-40Feature requirements, project tracking
Code refactoringNOASC 350-40-35-2Document as technical maintenance
Infrastructure (servers)YESASC 360Asset tag, depreciation schedule

*Except configuration costs that create capitalizable assets under ASU 2018-15

The Path Forward

Consistent, defensible software capitalization decisions require:

  1. Clear policies defining which activities fall into which category
  2. Contemporaneous documentation of phase transitions and work classification
  3. Detailed cost tracking by activity type, not just total project cost
  4. Audit readiness with time records, project plans, and authorization documents

Organizations using tools like Glue gain significant advantage. By automatically monitoring code repositories and development activities, Glue creates an ongoing audit trail that identifies phases, classifies work types, and supports capitalization decisions with actual development artifacts—no spreadsheets or reconstructed timesheets required.

Your financial statements depend on getting these scenarios right.


Ready to ensure accurate scenario-based software capitalization? Glue automatically tracks engineering work and categorizes it according to GAAP rules, creating audit-ready documentation for every scenario. Connect with our financial engineering team to see how intelligent work classification transforms your capitalization process.


Related Reading

  • Software Capitalization: The Complete Guide for Engineering-Finance Teams
  • Capitalizing Software Development Costs: A CFO's Complete Guide
  • Capitalizing Software Implementation Costs Under GAAP
  • Capitalized Software GAAP: ASC 350-40 vs ASC 985-20 Compliance
  • Engineering ROI: How to Measure and Communicate Business Value
  • Technical Debt: The Complete Guide for Engineering Leaders

Author

GT

Glue Team

Editorial Team

Tags

GAAP rules for capitalization of softwareGAAP software costscapitalizable vs non-capitalizablefeature development capitalizationsoftware capitalization scenariossoftware development phasessoftware maintenance capitalization

SHARE

Keep reading

More articles

blog·Mar 5, 2026·7 min read

Engineering Copilot vs Agent: Why Autocomplete Isn't Enough

Understand the fundamental differences between coding copilots and engineering agents. Learn why autocomplete assistance isn't the same as autonomous goal-driven systems.

GT

Glue Team

Editorial Team

Read
blog·Mar 5, 2026·19 min read

Product OS: Why Every Engineering Team Needs an Operating System for Their Product

A Product OS unifies your codebase, errors, analytics, tickets, and docs into one system with autonomous agents. Learn why teams need this paradigm shift.

GT

Glue Team

Editorial Team

Read
blog·Mar 5, 2026·12 min read

Devin AI Alternatives: Why You Need Agents That Monitor, Not Just Code

Devin writes code—but it's only 20% of engineering. Compare AI coding agents (Devin, Cursor, Copilot) with AI operations agents that handle monitoring, triage, and incident response.

GT

Glue Team

Editorial Team

Read

Related resources

Glossary

  • What Is Developer Onboarding?
  • What Is Bus Factor?

Use Case

  • Glue for Competitive Gap Analysis

Stop stitching. Start shipping.

See It In Action

No credit card · Setup in 60 seconds · Works with any stack