When You Can Capitalize LLM Fine-Tuning Costs Under ASC 350-40
ASC 350-40 was written for traditional internal-use software, long before anyone was fine-tuning a language model, and FASB has since rewritten it (ASU 2025-06, effective for annual periods beginning after December 15, 2027). The standard still applies, but you have to translate its three stages onto work that looks unfamiliar: dataset curation, training runs, evaluation loops, and prompt pipeline builds.
Get the stage wrong and you either capitalize something the standard says to expense, or expense development costs you were entitled to spread over the asset's useful life. Here's how the three stages map onto actual fine-tuning work.
The three stages ASC 350-40 recognizes
Until ASU 2025-06 takes effect (annual periods beginning after December 15, 2027, with early adoption permitted), ASC 350-40 splits internal-use software into preliminary project, application development, and post-implementation stages. Only the middle one, application development, is eligible for capitalization, and only once management has committed to funding the project and it's probable the project will be completed and used as intended. That commitment point is the line, not the calendar date the project started.
What typically counts as application development
Once you're past evaluating whether to build the capability at all and into actually building it, these tend to qualify:
- Engineering time spent building the fine-tuning pipeline, data preprocessing scripts, and evaluation harness
- Compute costs for training and validation runs once the approach is settled, not the exploratory runs before it
- Third party or contractor costs for the same work, on the same basis as your own engineers' time
The test is always the same: is this building the thing you decided to build, or still deciding what to build.
What stays an expense
Keep these out of the capitalized asset regardless of when they happen:
- Preliminary work: comparing base models, running early proof of concept prompts, deciding whether fine-tuning beats prompting at all
- Data collection and labeling that would have happened anyway for other purposes
- Ongoing inference costs once the model is in production, since that's operating the asset, not building it
- Training runs after launch that are really retraining for drift rather than building new functionality
Setting up a simple tracking sheet
You don't need new software to track this well. A shared sheet with columns for date, description, stage, hours or dollars, and the person who approved the project commitment is usually enough for an auditor to follow the trail later. The habit that matters most is logging the commitment date itself as its own line, since that's the fact everyone forgets to write down and needs to reconstruct months later.
Ask each engineer or contractor working on the project to tag their own time entries by stage as they go, rather than trying to reallocate a lump timesheet after the fact. A weekly five minute habit of tagging time is far more reliable than a quarterly reconstruction based on memory and old calendar invites, and it's the difference between a capitalization schedule you can defend and one you're guessing at.
What an auditor will actually ask to see
Expect three requests: the board or management approval showing commitment to the project, a breakdown of capitalized costs by category and by month, and evidence that post-implementation costs, like ongoing inference and routine retraining, were kept out of the capitalized balance. Auditors are used to internal-use software judgment calls; what they're less forgiving of is a capitalized balance with no supporting detail behind the total.
When to loop in your CPA
The stage boundaries are clear in the standard but judgment calls show up constantly in practice, especially around when exploration ends and commitment begins, and around whether ongoing fine-tuning refreshes are new development or maintenance. Bring your CPA or auditor in while the project is happening, not at year end, so the capitalization policy you're applying matches what they'll expect to see when they review it. A short policy memo written at project kickoff, describing how you'll draw the stage lines for this specific project, saves a much longer conversation at audit time.
What Good Looks Like
Good looks like a capitalization policy your auditor can trace to specific dates and deliverables, not a percentage applied after the fact to a total.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Frequently Asked Questions
Does exploratory prompt engineering count as preliminary stage work?
Generally yes. Testing whether a base model with good prompting can do the job, before deciding to fine-tune at all, is the kind of evaluation ASC 350-40 has traditionally treated as preliminary project work, and it also sits before the management approval and funding that ASU 2025-06 will require before capitalizing. It gets expensed, even if it takes a skilled engineer real time to run.
What happens if a fine-tuning project gets canceled halfway through?
Costs capitalized up to that point are typically written off, since the asset will never be placed in service. This is one more reason to track the commitment date and stage clearly as you go, so the write-off, if it happens, is a clean number rather than a reconstruction project.
Is retraining a model on new data a new capitalizable project or maintenance?
It depends on whether you're adding new functionality or just keeping existing functionality working as the world changes. A retrain to fix drift on the same task is usually maintenance and expensed; a retrain that adds a genuinely new capability can qualify as its own project. Confirm the specific facts with your CPA.
About the numbers
This guide doesn't quote a sourced benchmark. Figures in it are estimates or general guidance, so check them against your own numbers.
Related Guides
Prompt Engineering Time vs Fine-Tuning: Where the ROI Actually Breaks
Why prompt engineering hours quietly become the more expensive option over time, and how to tell when fine-tuning would actually cost less.
ASC 350-60: Fair Value Accounting for Crypto, and the Tax Gap It Creates
Crypto holdings now get marked to fair value on the books, but tax still follows realization. Here's what that mismatch means for your deferred tax accounting.
ASC 205-40: When You Have to Disclose Going Concern Doubt
The specific test management has to run every reporting period for going concern doubt, what counts as a mitigating plan, and how to document the analysis.
How Prompt Caching Actually Cuts Your LLM API Bill
How cache hit rate turns into real savings on your LLM API bill, a worked example, and what quietly breaks cache performance in production.
Open Source vs Proprietary LLMs: What Each Choice Costs Your Margin
A CFO's side-by-side look at what open source and proprietary language models actually cost once you include hosting, tuning and engineering time.
Calculating a Real Cost-Per-Transaction Number
Why total infrastructure spend hides whether growth is healthy, and how to build a cost-per-transaction number that survives a shifting mix of usage.