Costs to build or buy software for your own operations get capitalized on the balance sheet only during a narrow middle window of the project: after management commits to funding it and completion is probable, and before the software is ready for its intended use. Everything before that window and everything after it is expensed as incurred. That timing rule, set out in ASC 350-40, is the whole framework for internal-use software capitalization, and misjudging where a project sits inside it is one of the more common GAAP errors in technology accounting.
When Capitalization Starts and Stops
ASC 350-40 divides every internal-use software project into three stages. Only the middle one produces a capitalizable asset.
Preliminary Project Stage
Anything before management greenlights the project is expensed. This covers feasibility studies, build-versus-buy analysis, vendor comparisons, and high-level requirements gathering. Salaries of the people doing that work and consultant fees for a technology assessment all hit the income statement immediately, because there is no probable future economic benefit yet.
The stage ends when two conditions are met at the same time: management with the relevant authority commits to funding the project, and it becomes probable the software will be completed and used as intended. A vague intent to keep looking into it does not clear the bar. The commitment has to be concrete enough that the company is ready to allocate resources to design, code, and deploy.
Application Development Stage
This is the only window where costs go on the balance sheet as an intangible asset. It covers detailed design, coding, configuration, installation, and testing. It ends when the software is substantially complete and ready for its intended use, even if the formal launch has not happened.
That last point trips people up. If the software works and could be deployed but the go-live date slips for business reasons, capitalization still stops. You do not get extra months of capitalization because the rollout schedule moved.
Post-Implementation Stage
Once the software is ready for use, subsequent costs are expensed. Maintenance, routine bug fixes, minor tweaks, end-user training, and any remaining data migration flow through the income statement.
One exception can restart the cycle: a significant upgrade or enhancement that delivers genuinely new functionality, meaningfully extends useful life, or materially improves efficiency. Adding a new analytics module to an existing ERP could qualify. Patching a security vulnerability or refreshing a user interface without changing what the software does would not.
Which Costs Qualify During Development
Even inside the application development window, not every dollar spent on the project is capitalizable. Auditors look at this line closely, and errors compound over the asset’s life through amortization.
Capitalizable costs include:
- Payments to third-party developers, consultants, or contractors working on design, coding, or testing. These are the easiest to identify because they show up on invoices.
- Wages and payroll-related costs for employees spending time directly on the project, including programmers, systems architects, testers, and staff installing or configuring the software. Only the portion of time directly attributable to development qualifies; if a developer splits the week between the project and day-to-day support, only the project hours count.
- Interest costs incurred during development, which may be capitalized under ASC 835-20 if the software qualifies as an asset being constructed for the entity’s own use.
- Hardware or infrastructure purchased solely for and used exclusively during development, such as a dedicated testing server. General-purpose equipment used across multiple projects does not qualify.
Costs that stay in expense even during the development stage:
- General and administrative overhead. Rent and utilities cannot be allocated to the software asset.
- Training. The cost of teaching employees to use the new system is always expensed, whenever it happens.
- Data conversion. Migrating, cleansing, reconciling, or reformatting data from old systems is expensed as incurred, even when the work happens squarely inside the application development stage.
- Maintenance and support to keep the software running to its original specifications.
Data conversion catches people off guard because it often runs in parallel with core development work, sometimes on the same invoice from the same vendor. The timing does not matter. The nature of the cost does.
What Counts as Internal-Use Software
Internal-use software is any application developed or acquired to meet the company’s own operational needs, with no substantive plan to sell, lease, or license it to outside customers. A payroll system built by your IT team, an internally developed inventory tracker, or a purchased ERP platform all qualify.
Software intended for external sale or licensing follows a separate framework under ASC 985-20, which uses technological feasibility rather than project commitment as its capitalization trigger. If a company initially builds software for internal purposes but later decides to market it externally, the accounting pivots immediately. Costs incurred after the decision to sell follow ASC 985-20, while amounts already capitalized under ASC 350-40 stay on the books at their existing carrying amount.
Cloud Hosting and SaaS Implementations
When a hosting arrangement is a service contract rather than a software license, the company does not own the underlying software and cannot capitalize the subscription fees themselves. But implementation costs for configuring and setting up that hosted software follow the same ASC 350-40 framework, under rules added by ASU 2018-15.
If a particular type of cost would be capitalized for an on-premise internal-use project, it is capitalized for the SaaS implementation too. Costs that fail the test for internal-use software, including training and data conversion, also fail for SaaS.
The differences show up in presentation and amortization. Capitalized SaaS implementation costs sit on the balance sheet in the same line item where a prepayment of hosting fees would sit, not as an intangible asset. Amortization runs over the term of the hosting arrangement rather than a software useful life, and the amortization expense lands in the same income statement line as the hosting fees. Cash flows follow the classification of the hosting payments.
Amortization Once the Asset Is on the Books
Amortization begins when the software is substantially complete and ready for use, not when it enters production. Straight-line is standard for internal-use software.
Useful lives typically run three to seven years, depending on the technology, how quickly the company expects it to become obsolete, and whether the software supports a business function with a longer planning horizon. A customer-facing mobile app on a fast-moving platform might warrant three years. A core financial system could justify five to seven. The estimate takes judgment and should be revisited if circumstances change.
Impairment
Capitalized software has to be evaluated for impairment when events suggest the carrying amount may not be recoverable, following the long-lived asset model under ASC 360-10. Common triggers include abandoning the project before completion, a strategy shift that makes the software unnecessary, or a technological change that renders it obsolete.
The test compares the asset’s carrying value to the undiscounted future cash flows expected from its use. If carrying value exceeds those cash flows, the asset is written down to fair value. For software abandoned outright, the presumption is that uncompleted software has zero value, so the entire remaining balance is written off.
What Changes Under ASU 2025-06
The FASB issued ASU 2025-06 in early 2026 to modernize the guidance for teams that no longer develop software in a linear sequence. The update is effective for annual reporting periods beginning after December 15, 2027, with early adoption permitted at the start of any annual period. A calendar-year company that wanted to adopt early could do so as soon as its 2026 fiscal year begins.
The most visible change is that the three development stages come out of ASC 350-40. The Board concluded that labeling phases as preliminary, application development, and post-implementation does not match how agile and iterative teams actually work, where design, coding, and testing cycle continuously.
Under the new framework, capitalization begins when management authorizes and commits to funding the project and it is probable the project will be completed and the software will perform its intended function. Those criteria are conceptually similar to the current rules, but removing the stage labels gives companies more flexibility in applying them to iterative workflows.
The update also introduces “significant development uncertainty,” which blocks capitalization even after management has committed funding. It exists when the software involves novel, unique, or unproven features whose feasibility has not been confirmed through coding and testing, or when significant performance requirements have not been identified or are still being substantially revised. Until that uncertainty is resolved, costs are expensed.
What can and cannot be capitalized stays the same. Data conversion, training, and maintenance remain expensed as incurred. The update also folds the older website development guidance from ASC 350-50 into ASC 350-40 and adds disclosure requirements under ASC 360-10 for all capitalized software costs, however they are presented on the balance sheet.
A Note on the Tax Rules
These rules govern the books. Federal tax treatment of software development costs under Section 174 runs on a separate track and has changed several times in recent years. Under the One, Big, Beautiful Bill Act signed on July 4, 2025, taxpayers can once again immediately deduct domestic research or experimental expenditures, including software development costs, for tax years beginning after December 31, 2024, or elect to capitalize and amortize over at least sixty months. Foreign research expenditures still must be capitalized over fifteen years. Because a cost fully deducted on the tax return may still be capitalized and amortized for GAAP, the two systems produce a deferred tax liability that unwinds as the GAAP asset amortizes.