Island Waters Insights
AI Compute Costs: COGS or R&D?
Cost of revenue is what it costs to deliver your product to a customer, so the compute a customer's request triggers goes there, and the compute you spend building or improving the model goes in R&D. Split a shared GPU bill by a usage driver you can show, write the policy down and follow it every month.12
Picture the board meeting. Your deck shows a 70% gross margin on $400,000 of revenue. A director asks where the training runs sit, and you say R&D. Then she asks to see the bill. I would want to poke a hole in your split before she does, because on the illustrative numbers below (not a client) the same $186,000 compute bill shows a 53.5% gross margin or a 70.0% one. I work with founders in the four industries I go real deep in: technology (AI and SaaS), healthcare and biotech, pharma, and pharmacy. By the end you will be able to split one month's compute bill, book the entries and defend the policy. I am not a CPA, so your auditor or accountant makes the final call on your classification.
Where does an AI compute bill go, cost of revenue or R&D?
Here is how I explain it over coffee. Cost of revenue is the cost of delivering what you sold. One practitioner guide on SaaS gross margin puts it plainly: "any cost incurred to deliver the product to a customer should be included in COGS."1 R&D is the work you do to build or improve the product, and KPMG's handbook says R&D costs in the scope of ASC Subtopic 730-10 are expensed as incurred.3 So the line between the two is not about the machine or the vendor. It is about what the spend is doing for you in that month.
Now the part that surprises founders: no rule tells you where a GPU goes. Deloitte's overview of ASC 705, the cost of sales topic, says the Topic only provides links to guidance in other Subtopics.4 For companies that file with the SEC, Regulation S-X Rule 5-03 tells them to state the cost of tangible goods sold separately, and the text I read says nothing about compute.5 Two companies can read the same bill and book it differently, and both can be within the rules. That is why I tell founders the policy is yours to set. The job is to set it, write it down and follow it in every period.
The test I use is the customer. CloudZero, a cloud cost vendor, puts it this way: "when product usage triggers the cost, it belongs in cost of revenue, exactly like hosting."2 Its flip side is the one I find most useful: when your own people trigger the cost, through internal tools and experiments, it is not serving a customer, so it is not cost of revenue. That is a vendor's framework, not a standard, so I treat it as a starting point.
I learned why this matters at a specialty pharmacy that a private equity group had laughed out of the room because its books were a mess. My first job was to go three years backwards and close the books under GAAP so an audit could be done, and it took about 9 months. What slowed us down was not the math. It was costs sitting in places nobody could explain. A classification you cannot explain is one you will redo, and a redo costs more than the original decision.
Which compute costs go in which bucket?
Short answer: What a customer's request triggers is cost of revenue. What your own team triggers to build or test is R&D.
Start with the table. It is my policy for a typical AI startup, and your auditor may adjust it.
| Cost type | Where it goes | Why |
|---|---|---|
| Model API fees on customer requests | Cost of revenue | A customer's usage triggers each charge, like hosting. |
| Self-hosted GPUs serving production inference | Cost of revenue | The machines exist to serve customers. |
| Vector database, storage and monitoring for the live product | Cost of revenue | The product does not run without them. |
| Training or fine-tuning that adds new capability | R&D | You are building something new, and R&D is expensed as incurred. |
| Evaluations, experiments and dev or test environments | R&D | Your people trigger them and no customer is served. |
| Retraining to keep the live model current | Judgment call, so document it | Deloitte reads this kind of training as likely maintenance, so ask your auditor which line carries it. |
| One GPU cluster used for both | Split by a usage driver | GPU hours or tokens by job, recorded every month. |
Training is the row founders argue about. Deloitte's piece on developing generative AI software products says training intended to keep an AI application current would most likely be considered maintenance, while training that creates new functionality might be an upgrade or enhancement.6 It adds that, "Unless the costs are separately capitalizable as an intangible asset, such costs would be expensed as incurred."6 A second Deloitte piece, from August 2026, says fees paid to third parties for the use of AI do not automatically create a new category of capitalizable cost.7
My take for an early-stage company is to expense training as incurred and put it in R&D. Capitalizing it needs a documented policy and a judgment about which stage the work is in, and most startups do not have either. FASB's ASU 2025-06 removes the old development stages from the internal-use software guidance for annual periods beginning after December 15, 2027, so your auditor will have a view.8
The bill itself helps you. Model APIs charge per token, and the price lists are public. OpenAI lists GPT-5.6 Sol at $5.00 per 1 million input tokens and $30.00 per 1 million output tokens, and Anthropic lists Claude Sonnet 5.5 at $2 and $10, both with a 50% batch discount.910 Because the charge follows usage, you can pull usage and cost data programmatically and tie the bill to the workloads behind it.11 Those are list prices as I read them on October 7, 2026.
How do I split a shared GPU bill?
Short answer: Book it to a clearing account, then split it on a driver you can show, like GPU hours by job tag.
Do it with a driver, not a guess. Say you reserve one cluster and it serves customers in the day and runs experiments at night. On Google Cloud, a single 8-GPU H100 machine (a3-highgpu-8g) lists at $88.49 an hour on demand, which is about $64,600 for a 730 hour month, my arithmetic from that listed rate.12 One machine, one invoice line, two uses. I book that line to a clearing account and then allocate it, because the invoice cannot do the split for you. Microsoft says cost allocation does not affect your billing invoice.13
Pick the driver you can evidence. GPU hours by job tag is the cleanest. Tokens served works when one model serves everyone. AWS lets you activate cost allocation tags and group costs with Cost Categories.1415 The FinOps Foundation defines allocation as apportioning costs to those responsible for each component, and notes that tagging and labeling is possible for many cloud services.1617 The rule I hold myself to is simple: tag every job from day one, and untagged spend defaults to cost of revenue until someone proves otherwise. It is the conservative call, and nobody has to defend it. Then write down the driver, apply the same driver every month and keep the report that supports it.
What do the journal entries look like for one month?
Short answer: Two entries. One accrues the bill and parks shared compute in a clearing account, and one allocates it.
Here is the back of the napkin version, on illustrative numbers (not a client). An AI startup bills $400,000 in the month and its compute and platform bill comes to $186,000. It is month end and the invoices have not arrived, so I would accrue from the usage consoles. The bill has 6 pieces:
- $62,000 of model API fees on customer requests.
- $38,000 of self-hosted GPUs serving production inference.
- $8,000 of vector database and monitoring for the live product.
- $44,000 of training and fine-tuning runs.
- $14,000 of evaluations and experiments.
- $20,000 for one shared cluster, where 6,000 of its 10,000 GPU hours served production.
The first entry accrues the bill and parks the shared cluster in a clearing account:
- Debit cost of revenue, model API fees, $62,000.
- Debit cost of revenue, hosting and inference, $46,000 (the $38,000 of production GPUs plus the $8,000 of monitoring and storage).
- Debit R&D, model training and evaluation compute, $58,000 (the $44,000 plus the $14,000).
- Debit cloud compute clearing, $20,000.
- Credit accrued expenses, $186,000.
The second entry allocates the clearing account on the driver, which is 60% production (6,000 of 10,000 GPU hours):
- Debit cost of revenue, hosting and inference, $12,000.
- Debit R&D, model training and evaluation compute, $8,000.
- Credit cloud compute clearing, $20,000.
Now tie it out. Cost of revenue is $62,000 plus $46,000 plus $12,000, which is $120,000. R&D is $58,000 plus $8,000, which is $66,000. Together that is the whole $186,000, and the clearing account is back to zero. That zero is the check I look at first. When the invoice lands, you clear accrued expenses against it and book any difference to the same accounts. If you have not set up accounts for this yet, I walk through the structure in how to set up a startup chart of accounts.
What does the split do to my gross margin?
Short answer: On the example below, 53.5% or 70.0%, depending only on where the bill lands.
This is the why behind the number. On $400,000 of revenue, put the whole $186,000 in cost of revenue and your gross margin is $214,000 divided by $400,000, or 53.5%. Use the split above and it is $280,000 divided by $400,000, or 70.0%. Push even more out, so that only the model API fees and the production GPUs count, and cost of revenue is $100,000 and the margin is 75.0%. Same bill, three stories, and the third is the one I would not defend, because the vector database and the shared cluster do serve customers.
I would rather show you 70% and be able to defend it than show 75% and spend the diligence call on a footnote. Benchmarks count differently too. Andreessen Horowitz wrote in 2020 that AI companies often have lower gross margins than software because of heavy cloud use, at 50 to 60% versus 60 to 80% or more for SaaS.18 Bessemer's State of AI 2025 says its AI Supernova companies average only about 25% gross margins, and its Shooting Star companies about 60%.19 Bessemer's piece on scaling an AI Supernova sums it up: "COGS (cost of goods sold) is the new CAC."20 Those are survey and playbook numbers with different definitions, not a rule of thumb for your company.
Public companies show the same pressure. Duolingo's fourth quarter 2024 shareholder letter cites lower subscription margins from increased generative AI costs.21 In August 2025 Newcomer reported, citing sources familiar with the figures, that Cursor had negative gross margins, driven by compute bills it pays to Anthropic, while Sacra says that as of April 2026 its large-enterprise accounts are gross-margin positive and individual developer accounts remain loss-making.2223 The compute is real, and the classification decides which line shows it. If you want the longer version of this story, I wrote about it in why your AI gross margin is not 80%, and I explain how to read the whole income statement in how to read a SaaS P&L.
What will my auditor or an investor challenge?
Short answer: Consistency, evidence and motive.
Three things, in the order I see them. First, consistency. If your policy changes between periods, I would expect a question and a recast, and I tell founders to disclose any change in policy and show both versions for the periods affected. Second, evidence. A driver you cannot support with a tagged report is a guess, and a diligence team will treat it as one. Third, motive. Anybody can see that moving cost from cost of revenue to R&D lifts gross margin, so the move needs a reason that is not the margin.
That third one has a documented failure behind it. In October 2015 the SEC charged former executives of OCZ Technology Group, and alleged that the former CFO's accounting policies included "reclassifying costs of goods sold as research and development expenses without sufficient basis for doing so." The SEC also alleged a scheme to inflate OCZ's revenues and gross margins from 2010 to 2012.2425 Those are allegations, not findings, and OCZ made hardware, not AI. But it is the exact boundary this article is about.
Regulators are already asking AI companies about this. In March 2026 Doximity answered an SEC staff comment about AI infrastructure costs. It said its new AI product had raised its generative AI platform and inference costs, called them not material for the periods in question, and committed to enhanced disclosure about cost of revenue and gross profit starting with its 2026 Form 10-K.26 You are not a public company, but I expect the same question to reach you through a lender or an investor.
Tax is a separate question. Section 174A and Rev. Proc. 2025-28 cover research expenditures, so keep your GAAP classification apart from tax treatment and ask your tax partner.27
What changes if I run a biotech, pharma, pharmacy or AI company?
Short answer: The habit does not change. Building goes in R&D and delivering goes in cost of revenue.
For an AI company, nothing above changes. For a health tech or biotech company that uses AI to develop a product, costs of building go in R&D and costs of delivering what you sold go in cost of revenue. Your auditor decides, and the policy memo is yours.
The habit carries across all four industries, and I picked it up on the pharma side. Through a High Rock Accounting engagement, I served as the sole accountant on a clinical-stage biopharmaceutical client's month-end close, owning its preclinical, clinical, manufacturing and general accruals through its Nasdaq IPO. Classification there came down to the same two questions: what work was done this month, and what has not been billed yet. A compute bill is no different, and that is the line I use to explain it to a board.
If you only do 4 things after reading this, do these:
- Write the policy. One page: what goes in cost of revenue, what goes in R&D and why.
- Tag every job. Production, training and experiments get different tags from day one.
- Accrue from the usage console. Do not wait for the invoice at month end.
- Show both margins. Put the margin on your split next to the all-in number, so nobody finds the gap for you.
Quick answers founders ask about AI compute costs
Is AI inference cost COGS or R&D?
Inference a customer's request triggers is cost of revenue. Inference your own team triggers for tests and experiments usually belongs in R&D. No GAAP rule names compute, so write your policy down, support it with a tagged usage report and follow it every month.
Does model training compute go in R&D?
Training that adds new capability is R&D, and R&D is expensed as incurred unless the costs are separately capitalizable. Training that only keeps a live model current is a judgment call that Deloitte reads as likely maintenance, so ask your auditor which line carries it and document the answer.
How do you split a shared GPU bill?
Book it to a clearing account, then allocate it on a driver you can evidence, such as GPU hours by job tag. In the example, 6,000 of 10,000 GPU hours served production, so 60% of the $20,000 went to cost of revenue.
What journal entries does the split need?
Two. The first accrues the bill from the usage consoles, with debits to cost of revenue, R&D and a clearing account for shared compute, and a credit to accrued expenses. The second allocates the clearing account on the driver, and it ties out when that account is back to zero.
What will investors challenge about AI gross margin?
They check three things: that your classification is consistent from period to period, that your driver is supported by a tagged report, and that nothing moved out of cost of revenue only to lift the margin. Benchmarks count differently, so check how one was built before comparing yourself to it.
Does Island Waters give audit or tax advice on this?
No. Island Waters is not a CPA firm and performs no audit, review, compilation or other attest work, and gives no legal or investment advice. We build the policy, the entries and the margin walk with you, and your auditor and tax partner make the final calls.
Have a question like this about your own numbers?
Founder Fridays is a free 30 minute slot with me every Friday. Bring the question, and I will give you a straight answer. Book a Founder Fridays slot
Launch. Scale. Exit. Beach.
Sources
- Vista Point Advisors, "Calculating and Framing SaaS Gross Margin for M&A," vistapointadvisors.com, 2021-06-04 (modified) (practitioner or vendor estimate). vistapointadvisors.com↩↩
- Lyne Carolyne (CloudZero), "AI gross margin: how AI spend hits SaaS profitability," CloudZero, 2026-08-31 (practitioner or vendor estimate). cloudzero.com↩↩
- KPMG, "Research and development Handbook, US GAAP," kpmg.com, October 2025. kpmg.com↩
- Deloitte, "ASC 705 Cost of Sales and Services (DART codification overview)," dart.deloitte.com, copyright 2026, undated page. dart.deloitte.com↩
- SEC (eCFR, 17 CFR 210.5-03), "17 CFR 210.5-03 Statements of comprehensive income (Reg S-X Rule 5-03)," eCFR, content current as of 10/06/2026. ecfr.gov↩
- Deloitte, "Accounting for the Development of Generative AI Software Products (Technology Spotlight)," dart.deloitte.com, 2024-10-07. dart.deloitte.com↩↩
- Deloitte, "Accounting for AI Costs Associated With Internal-Use Software Development (Technology Spotlight)," dart.deloitte.com, 2026-08-03. dart.deloitte.com↩
- Deloitte, "Heads Up: FASB Amends Guidance on the Accounting for and Disclosure of Software Costs (ASU 2025-06)," dart.deloitte.com, 2025-09-18. dart.deloitte.com↩
- OpenAI, "API Pricing," openai.com, undated price list, read 2026-10-07 (vendor price list). openai.com↩
- Anthropic, "Pricing (Claude Developer Platform docs)," platform.claude.com, undated price list, read 2026-10-07 (vendor price list). platform.claude.com↩
- Anthropic, "Usage and Cost Admin API," platform.claude.com, undated page, read 2026-10-07. platform.claude.com↩
- Google Cloud, "Accelerator-optimized machine pricing," Google Cloud, undated price list, read 2026-10-07 (vendor price list). cloud.google.com↩
- Microsoft, "Understand cost allocation in Microsoft Cost Management," Microsoft Learn, last updated 2025-06-27. learn.microsoft.com↩
- AWS, "Organizing and tracking costs using AWS cost allocation tags," AWS Billing documentation, undated page, read 2026-10-07. docs.aws.amazon.com↩
- AWS, "Organizing costs with AWS Cost Categories," AWS Billing documentation, undated page, read 2026-10-07. docs.aws.amazon.com↩
- FinOps Foundation, "FinOps Framework: Allocation," finops.org, undated page, read 2026-10-07. finops.org↩
- FinOps Foundation, "FinOps for AI Overview," finops.org, 2026-02-17. finops.org↩
- Martin Casado, Matt Bornstein, "The New Business of AI (and How It's Different From Traditional Software)," Andreessen Horowitz, 2020-02-16. a16z.com↩
- Bessemer Atlas Editors, "The State of AI 2025," Bessemer Venture Partners, 2025-08-13. bvp.com↩
- Bessemer Atlas Editors, "Scaling an AI Supernova: Lessons from Anthropic, Cursor, and fal," Bessemer Venture Partners, 2025-11-10. bvp.com↩
- Duolingo, Inc., "Q4 / FY 2024 Shareholder Letter (SEC exhibit)," sec.gov, 2025-02-27. sec.gov↩
- Tom Dotan, "Cursor's popularity has come at a cost," Newcomer, 2025-08-10 (news report from sources familiar with the figures). newcomer.co↩
- Sacra, "Cursor revenue, valuation & funding," Sacra, as of April 2026 (practitioner or vendor estimate). sacra.com↩
- SEC, "Litigation Release No. 23379: Ryan Petersen; Arthur Knapp (OCZ Technology Group)," SEC Litigation Release No. 23379, 2015-10-06. sec.gov↩
- SEC, "Press Release 2015-234: SEC Charges Former Executives with Accounting Fraud (OCZ)," SEC Press Release 2015-234, 2015-10-06. sec.gov↩
- Doximity, Inc. (response to SEC staff), "Form CORRESP, response to Staff Comment 5 on Form 10-Q for period ended Dec 31, 2025," SEC EDGAR, 2026-03-23. sec.gov↩
- Treasury / IRS, "Rev. Proc. 2025-28 (Section 174A domestic research expenditures)," IRS drop, Rev. Proc. 2025-28. irs.gov↩