Whether software is CapEx or OpEx depends on what the software is, how you obtained it, and where the spending falls in the project’s life. Under U.S. GAAP, costs incurred while a software asset is actively being built are generally capitalized and amortized; costs for planning, training, routine maintenance, and most cloud subscriptions are expensed as they hit. The split matters because capitalized costs sit on the balance sheet and reduce earnings slowly, while expensed costs reduce this year’s net income in full.
Start by identifying which of four situations you’re in, because each has its own rulebook:
- Software your company builds or buys for its own internal use — governed by ASC 350-40.
- Off-the-shelf software you purchase as a finished product — usually capitalized for books, with generous tax expensing options.
- Cloud or SaaS subscriptions where a vendor hosts the software — generally an operating expense, with a narrow capitalization window for implementation work.
- Software your company develops to sell or license to customers — governed by ASC 985-20 and the “technological feasibility” test.
Internal-Use Software: Which Phase Are You In?
ASC 350-40 divides an internal-use software project into three phases, and the phase decides the treatment.
Preliminary Project Stage — Expense
Everything before real coding starts is expensed. That includes evaluating whether to build or buy, comparing vendors, choosing a technology stack, and writing system requirements. No asset exists yet, and the project may never move forward, so the costs hit current earnings.
Application Development Stage — Capitalize
Capitalization begins when management has committed to the project and completion is probable. From that point, direct costs go on the balance sheet: payroll and benefits for employees writing code, fees paid to outside developers, testing costs incurred before the software is ready, and hardware bought to support it. A $100,000 payment to a contract developer during this phase becomes a capitalized asset, not a current-year expense.
Capitalization ends when the software is substantially complete and ready for its intended use. You then amortize the balance straight-line over the useful life, typically three to five years. Document the date the project crossed from planning into development; auditors will look for that line.
Post-Implementation Stage — Expense
After go-live, day-to-day costs return to the income statement. Bug fixes, help-desk support, and system monitoring are operating expenses because they keep the software running rather than add to it.
Costs That Are Always Expensed
A few categories stay in OpEx no matter which phase you’re in:
- Training. Teaching employees to use the software doesn’t improve the software itself.
- Routine maintenance. Minor bug fixes, security patches, and ongoing support don’t add functionality or extend useful life.
- Data conversion and migration. Reformatting existing data for a new system is treated as an operating activity, not asset creation.
A $5,000 monthly help-desk contract for a deployed system is expensed every month it’s paid.
Upgrades and Enhancements After Go-Live
Post-deployment work isn’t automatically an expense. If a change adds genuinely new functionality — a new reporting dashboard, a module the system didn’t have before — those costs can be capitalized under the same application-development rules. The test is whether the work produces capabilities that didn’t exist. Cosmetic changes, performance tweaks that don’t add features, and fixes to existing functionality stay in OpEx.
Cloud and SaaS Subscriptions
When you subscribe to hosted software, you generally don’t own or control the underlying code, so no asset transfers to you. Subscription fees are operating expenses recognized over the contract term.
ASU 2018-15 carved out one exception. Implementation costs — configuration work and building interfaces to the hosted system — can be capitalized if they occur during what would be the application development stage of an internal-use project. Those capitalized amounts are amortized over the hosting term, including renewal periods you’re reasonably certain to take. Training and general data conversion stay in OpEx even during a cloud implementation.
The classification hinges on what the contract actually gives you. If the agreement lets you take possession of the software and run it on your own hardware or a third-party server without the vendor, it may be a software license, and the full ASC 350-40 capitalization framework applies. Most standard SaaS contracts don’t grant that right, which keeps the fees in operating expense.
Software Built to Sell or License
If your company develops software to sell or license to customers, ASC 985-20 governs, and the pivotal concept is technological feasibility.
All spending before feasibility is expensed as research and development. Feasibility is reached when the developer completes either a detailed program design or a working model validated through testing. Until that point, the risk of failure is high enough that costs can’t be treated as an asset.
Once feasibility is established, production costs are capitalized. That includes developer and engineer payroll, third-party coding fees, production-related travel, interest on borrowings that fund the work, and indirect costs like a share of the facility charges for developers’ space. Capitalization continues until the product is available for general release.
Capitalized amounts carry a ceiling. At each balance sheet date, the unamortized balance cannot exceed the software’s net realizable value — estimated future revenue minus the remaining cost to complete and sell it. If future revenue drops below the unamortized cost, the asset is written down. Once the product is released, you amortize using the greater of two methods: the ratio of current-period revenue to total expected revenue, or straight-line over the remaining economic life.
How Federal Tax Treatment Differs
Book treatment under GAAP and tax treatment under the Internal Revenue Code often diverge for the same dollars, which is worth expecting rather than being surprised by.
Section 174A: Immediate Deduction for Domestic Development
For tax years beginning after December 31, 2024, domestic software development costs can be deducted immediately in the year they’re paid or incurred. Section 174A, enacted by the One Big Beautiful Bill Act, reversed the five-year amortization requirement that had been in place since 2022. Salaries for U.S.-based developers, contractor fees, and related expenses reduce taxable income in the current year.
Development performed outside the United States doesn’t qualify. Foreign research expenditures must still be amortized over 15 years, starting at the midpoint of the tax year in which the costs are paid or incurred.1Office of the Law Revision Counsel. 26 U.S. Code 174 – Amortization of Research and Experimental Expenditures
Section 179 for Off-the-Shelf Software
Off-the-shelf software qualifies for Section 179, which lets you expense the full purchase price in the year the software is placed in service.2Office of the Law Revision Counsel. 26 USC 179 – Election to Expense Certain Depreciable Business Assets For tax year 2026, the maximum deduction is approximately $2,560,000, phasing out dollar-for-dollar once qualifying property placed in service exceeds roughly $4,090,000. The deduction can’t exceed active business taxable income for the year, but unused amounts carry forward.
Bonus Depreciation
Computer software also qualifies for bonus depreciation. For assets placed in service on or after January 19, 2025, 100 percent bonus depreciation is available, allowing the entire cost to be deducted in year one. This runs alongside or as an alternative to Section 179, depending on which gives the better result.
R&D Tax Credit
Internal software development may also qualify for the Section 41 research credit, which reduces tax liability dollar-for-dollar rather than just reducing income.3Office of the Law Revision Counsel. 26 U.S. Code 41 – Credit for Increasing Research Activities Companies claiming both the Section 174A deduction and the credit need to coordinate the two, because the credit calculation interacts with the qualifying expenditure amount.
De Minimis Safe Harbor
Not every small software purchase has to be capitalized. Companies typically set an internal capitalization threshold — often somewhere between $1,000 and $25,000 — below which items are expensed for practicality. For tax purposes, the IRS de minimis safe harbor election gives a concrete floor: businesses with an applicable financial statement can expense items up to $5,000 per invoice, and those without one can expense up to $2,500 per invoice.4Internal Revenue Service. Tangible Property Regulations – Frequently Asked Questions The election must be made on the tax return each year, and the threshold applies per invoice or item, not as an annual total.
What’s Changing
FASB issued ASU 2025-06 in September 2025 to modernize the software cost framework.5Financial Accounting Standards Board. Accounting for and Disclosure of Software Costs It’s effective for annual reporting periods beginning after December 15, 2027, with early adoption permitted. Until then, ASC 350-40, ASC 985-20, and ASU 2018-15 remain the governing rules.