A plain-English guide to capitalizing software development costs under ASC 350-40 — which costs qualify, why sprint-based teams struggle to track them, and how Sprint Bridge turns everyday sprint data into audit-ready CapEx and OpEx reports.
ASC 350-40 is the part of US GAAP that governs internal-use software — software a company builds or buys to run its own business or to deliver a hosted service, rather than software it sells or licenses to customers (that falls under a different subtopic, ASC 985-20). If your engineers build an internal platform, a customer-facing SaaS application you host, or a major integration layer, the cost of that work is likely in scope.
The standard answers one question: which development costs become an asset on the balance sheet, and which hit the income statement as an expense right away? Capitalized costs are amortized over the software's useful life once it is ready for use. Expensed costs reduce profit in the period they are incurred. For a company with a large engineering payroll, that split can move reported operating income materially — which is why finance teams, auditors and boards care about it.
Software capitalization tracking is the process of capturing the evidence behind that split: who worked on what, for how long, at what cost, and whether the work qualified for capitalization at the time it was done.
The guidance is also changing. In September 2025 the FASB issued ASU 2025-06, which removes the project-stage references from Subtopic 350-40 and is effective for annual periods beginning after December 15, 2027, with early adoption permitted.
The long-standing ASC 350-40 model divides a software project into three stages. Where a cost falls determines whether it is capitalized or expensed.
The "should we build this, and how?" phase: conceptual design, evaluating alternatives, choosing technology and vendors, and defining requirements. All costs here are expensed as incurred.
Capitalization begins once the preliminary stage is complete, management has authorized and committed to funding the project, and it is probable the software will be completed and used as intended. Design of the chosen path, coding, configuration, installation and testing costs are generally capitalized. Capitalization stops when the software is substantially complete and ready for its intended use.
Once the software is in use, training and routine maintenance are expensed. Upgrades and enhancements that add new functionality can be capitalized — which, for teams that ship continuously, means classification never really stops.
| Cost type | Typical treatment | Notes |
|---|---|---|
| Payroll for engineers coding, configuring and testing new functionality during development | Capitalize | Only for time directly spent on the project, including payroll-related costs such as benefits. |
| External direct costs — contractors, third-party development services, software purchased for the project | Capitalize | Must be directly attributable to developing the software. |
| Planning, feasibility, vendor and technology selection | Expense | Preliminary project stage activities. |
| Bug fixes and routine maintenance of software already in use | Expense | Does not add new functionality. |
| Enhancements that add new functionality | Usually capitalize | Evaluated like new development; depends on your policy. |
| Training, data conversion, general & administrative overhead | Expense | Data-conversion software development can be an exception. |
The three-stage model was written with sequential, waterfall-style projects in mind. Agile teams don't work that way — and their tools usually weren't built to capture what finance needs.
Discovery, build, testing and release happen in every sprint. There is no single date when "the preliminary stage ended" for the whole product — it happens epic by epic.
One sprint can contain new features, production bug fixes, research spikes and maintenance. Each carries a different treatment, so classifying the sprint as a whole doesn't work.
Agile estimates measure relative effort, but capitalization runs on labor cost. Teams need a defensible link between work items, time and pay rates.
Asking engineers to fill in separate timesheets with accounting codes is unpopular and error-prone — and the data rarely matches what actually happened in the sprint.
Many teams rebuild capitalization from exports at quarter-end. Gaps, double-counting and late adjustments surface right when the books need to close.
Auditors want to see when a project was authorized, what was classified and why, and who changed it. Reconstructing that trail after the fact is slow and expensive.
Sprint Bridge automatically categorizes development work as Operating or Capital Expense in line with ASC 350-40, using the epics, stories and time entries your team already works in. Engineering keeps running sprints; finance gets the classification and the evidence.

Epic-level CapEx flags and authorization dates mark when qualifying work begins — matching how agile teams actually fund and start new capabilities, one epic at a time.
Time entries are linked to hourly rates and activity types, producing labor cost allocation by developer, epic, story and cost center — so the bridge from story points to dollars is built in, not rebuilt in a spreadsheet.
Work is classified as it happens, per story, per developer and per epic. Override capabilities let finance correct edge cases without interrupting engineering workflows.
Go-live tracking records when software is ready for its intended use — the point at which capitalization of that work stops and amortization planning begins.
Generate CPA-reviewable OpEx and CapEx reports with full reconciliation documentation and 100% coverage verification, and export them to Excel with complete audit trails. Budget variance analysis and financial health dashboards keep engineering and finance aligned during delivery, not just at close.
Audit trails and access controls cover every touchpoint of the CapEx/OpEx classification workflow, including access changes logged with attribution. See how this fits the wider control set on the security & compliance page.
Software capitalization touches three groups who rarely share a tool. Sprint Bridge gives each of them what they need from the same source data.
Capitalization figures come straight from delivery data instead of quarter-end surveys, with reconciliation built in and Excel exports your team already knows how to work with.
Teams keep planning and running sprints the way they do today. Classification happens at the epic and story level, so engineers aren't asked to become accountants. Pair it with agile analytics and KPIs for the delivery side of the picture.
For public companies and SOX-scoped environments, every classification change is logged and attributable. Review the full SOX, SOC 2 and audit-trail controls.
ASC 350-40 OpEx/CapEx financial reporting is part of the Business plan, at $7.99 per user per month billed annually for up to 250 users, and the Enterprise plan. Enterprise is quoted per contract based on user count, SLAs, deployment model (cloud or on-premise) and add-on services.
Teams that want to start with sprint planning, velocity and burndown can begin on the free Starter tier and move up as finance requirements arrive. Compare every plan on the pricing page, or see the full financial reporting feature list. Evaluating a switch? Read why teams choose Sprint Bridge as a Jira alternative.
ASC 350-40 and software capitalization in agile teams.
See how Sprint Bridge Business and Enterprise turn sprint data into CapEx and OpEx reports your finance team and auditors can rely on.