Whether software is a service or a product depends on which body of law is asking. Under the Uniform Commercial Code, packaged software sold on a disc or as a download generally counts as a good, while custom development and cloud access lean toward service treatment. Tax authorities use their own categories that don’t track the UCC at all. Financial accounting rules under GAAP draw yet another line. And copyright law treats the developer’s employment status, not the deliverable, as the deciding factor. The same software can be a product for warranty purposes, a service for sales tax, and a capitalizable asset for your balance sheet, all at once. Getting the classification wrong in any one of those contexts can cost you warranty rights, trigger unexpected tax, or force a restatement.
Product or Service Under the UCC
UCC Article 2 governs the sale of goods, which the statute defines as things that are movable when identified to the contract.1Cornell Law School. Uniform Commercial Code 2-105 – Definitions: Transferability; Goods; Future Goods; Lot; Commercial Unit Code by itself is intangible, so the fit isn’t obvious. But once a program is put on a disc, thumb drive, or comparable medium and sold as a finished product, courts have treated it as a movable good. In Advent Systems Ltd. v. Unisys Corp., the Third Circuit drew an analogy to a music recording: an orchestral performance isn’t a good, but pressed onto a disc it becomes a marketable commodity. The court held that software qualifies as a good under the UCC even though the underlying code is copyrightable intellectual property.2Justia. Advent Systems Limited v Unisys Corporation, 925 F2d 670 (3d Cir 1991)
Most real-world software deals aren’t pure product sales. They bundle code with installation, training, data migration, or ongoing consulting. When a contract mixes goods and services, courts apply the predominant purpose test from Bonebrake v. Cox, which asks whether the core thrust of the deal is a sale of goods with labor tacked on, or the delivery of a service where any goods are incidental.3Justia Case Law. Bonebrake v Cox, 499 F2d 951 (8th Cir 1974) A company licensing a shrink-wrapped accounting package with a half-day setup is almost certainly buying a good. A company hiring a firm to build a bespoke inventory system over six months is buying a service.
Courts weigh the contract’s language, the relative cost of goods versus labor, and the buyer’s actual reason for entering the deal. The classification isn’t academic. If the UCC applies, you get implied warranties and a four-year statute of limitations on breach claims.4Cornell Law School. Uniform Commercial Code 2-725 – Statute of Limitations in Contracts for Sale If common law governs, warranties are limited to what the contract expressly promises, and the limitations period varies by state.
What the Product-or-Service Answer Does to Your Warranty Rights
The stakes of the UCC classification are highest in warranty law. When software qualifies as a good, the seller automatically makes an implied warranty of merchantability: the product must work for its ordinary purpose. A merchant selling accounting software warrants, at a minimum, that it can perform accounting functions without crashing or corrupting data.5Cornell Law School. Uniform Commercial Code 2-314 – Implied Warranty: Merchantability; Usage of Trade If you told the seller what you needed the software for and relied on their recommendation, you may also get an implied warranty of fitness for a particular purpose. These protections exist by default; you don’t have to negotiate them in.
When the contract is classified as a service, those automatic warranties fall away. The provider’s obligation is to perform with reasonable care and skill, and enforcing that requires showing negligence rather than just showing the software didn’t work as promised. The gap matters most when the parties haven’t written a detailed contract, because UCC warranties fill silence that common law doesn’t.
Vendors know this, which is why license agreements are stuffed with disclaimers. The UCC lets sellers disclaim the implied warranty of merchantability, but the disclaimer has to actually use the word “merchantability” and be conspicuous in the contract.6Cornell Law School. Uniform Commercial Code 2-316 – Exclusion or Modification of Warranties That’s why those all-caps paragraphs exist in EULAs. A disclaimer buried in fine print may not hold up. Sellers can also limit remedies to repair, replacement, or refund, and can exclude consequential damages like lost profits so long as the exclusion isn’t unconscionable. Limiting consequential damages for commercial losses is generally enforceable; limiting them for personal injury from a consumer product is presumed unconscionable.7Cornell Law School. Uniform Commercial Code 2-719 – Contractual Modification or Limitation of Remedy
How Sales Tax Treats Software
State tax authorities don’t use the UCC’s framework at all. They’ve built their own categories around how software is created, delivered, and accessed. The result is a patchwork: the same software can be taxable in one state, exempt in the next, and partially taxable in a third.
Canned, Custom, and SaaS
Prewritten software sold to the general public, often called “canned” or off-the-shelf software, is the most commonly taxed category. Most states treat it as tangible personal property when it arrives on physical media. Treatment fractures when the same canned software is delivered electronically. Some states tax the download identically to the boxed version. Others exempt it, reasoning that nothing tangible changed hands.
Custom software built for a single client is treated differently in most states. Because the buyer is paying for a developer’s professional services rather than picking up a prepackaged product, many states exempt custom work from sales tax. The line between custom and canned isn’t always clean. If a vendor takes a standard product and makes minor modifications for your business, some states will still classify that as canned software with incidental customization.
SaaS creates the most confusion because the user never takes possession of the code. You’re paying for access to someone else’s server. Roughly 20 states impose sales tax on SaaS, sometimes classifying it as a data processing service and sometimes as a license of prewritten software. The rest either haven’t addressed SaaS specifically or have exempted it. This area is shifting as states look for revenue from an increasingly cloud-based economy.
Bundled Invoices
If your invoice combines taxable software with non-taxable services like training or consulting, how you present the charges matters. Many states require taxable and non-taxable components to be separately itemized. When everything is rolled into a single line item, the whole transaction can end up taxable. Breaking out the software license, maintenance fees, and consulting hours separately can reduce liability, but only if the allocation reflects the genuine value of each piece. Artificial price-shifting between line items is exactly what auditors look for.
How Federal Income Tax Treats Software
Federal tax law draws its own lines, and recent legislation reshaped them.
Software You Develop
If your business develops software internally or pays for custom development, those costs are treated as research and experimental expenditures. The Tax Cuts and Jobs Act had required them to be capitalized and amortized over five years starting in 2022, which was a painful change for technology companies used to deducting R&D immediately. The One Big Beautiful Bill Act reversed that by creating Section 174A, which permanently restores immediate deduction for domestic research and experimental expenditures, including software development, for tax years beginning after December 31, 2024.8Office of the Law Revision Counsel. 26 USC 174A – Domestic Research or Experimental Expenditures Starting in 2026, you can fully expense domestic software development costs in the year you incur them.
One exception: software development performed outside the United States still has to be capitalized and amortized over 15 years. If your company offshores any of its development, domestic and foreign costs need to be tracked separately. Businesses that switched to five-year amortization during 2022–2024 and now want to return to immediate expensing need to file Form 3115 to change their accounting method.
Software You Buy
When you purchase off-the-shelf software rather than developing it, Section 179 lets you deduct the full purchase price in the year the software is placed in service, rather than depreciating it over time. Qualified off-the-shelf software is specifically listed as eligible property, subject to an annual deduction limit and a phase-out threshold that are both adjusted for inflation.9Office of the Law Revision Counsel. 26 USC 179 – Election to Expense Certain Depreciable Business Assets For most small and mid-sized businesses, this means the entire cost of purchased software can be written off in the year of purchase.
How GAAP Treats Software on Your Financial Statements
Tax deductions and financial reporting don’t align. Even if you can deduct software costs immediately for tax purposes, your financial statements follow their own rules under ASC 350-40, which governs accounting for internal-use software.
Under current GAAP, costs incurred during the application development stage of an internal-use software project must be capitalized as an asset on the balance sheet rather than expensed.10FASB. Effective Dates Costs during the earlier preliminary project stage, where you’re evaluating alternatives and haven’t committed to a specific solution, are expensed as incurred. So are post-implementation costs like training and routine maintenance. Cloud computing arrangements where you pay for hosted access without taking possession of the software are generally treated as service contracts, so the fees hit the income statement as operating expenses rather than showing up as assets.
Getting the dividing line wrong between preliminary and development stages can force a financial restatement. Overstating capitalized costs inflates assets and net income; over-expensing understates them. Both draw regulatory attention. Most companies set an internal capitalization threshold, often in the range of $5,000 to $25,000, below which software costs are expensed regardless of stage.
Capitalized software costs are then amortized over the software’s expected useful life. GAAP requires the amortization method to reflect the pattern in which the software’s economic benefits are consumed. If that pattern can’t be reliably determined, straight-line is the default, and in practice most companies use straight-line because documenting an alternative is difficult to justify to auditors. The FASB issued ASU 2025-06 in September 2025 to make targeted changes to the ASC 350-40 framework, including an acknowledgement that software development doesn’t always follow a neat linear progression. The new rules take effect for annual reporting periods beginning after December 15, 2027, with early adoption permitted.10FASB. Effective Dates
Who Owns Custom Software
The product-or-service question shows up again when you commission software from someone else. Ownership of the resulting code depends on the developer’s employment status and what the contract says.
If your in-house employee writes software as part of their regular job duties, the work-for-hire doctrine makes your company the automatic copyright owner. Courts evaluate employment status using common-law agency factors: who provides the workspace and tools, how the worker is paid, whether benefits are offered, whether taxes are withheld.11U.S. Copyright Office. Circular 30 – Works Made For Hire
Independent contractors are different. Under copyright law the creator owns what they create unless a specific exception applies. Work-for-hire can apply to commissioned works, but only when the work falls into one of nine narrow statutory categories and both parties sign a written agreement expressly calling it a work made for hire. Standalone software doesn’t fit any of those nine categories.11U.S. Copyright Office. Circular 30 – Works Made For Hire Without a proper written assignment, the contractor you paid to build your app still owns the copyright to its code.
The reliable way to secure ownership from a contractor is a written assignment of intellectual property rights that uses present-tense language transferring “all right, title, and interest” at the moment of creation. Future-tense promises like “will assign” or “agrees to assign” create only a contractual obligation that requires a separate transfer later. A present-tense assignment happens automatically as code is written; a future-tense promise can fall apart if the contractor becomes uncooperative, bankrupt, or unavailable.
Licensing is the alternative when full ownership isn’t needed or the vendor won’t agree to an assignment. A license lets you use the software while the developer retains ownership, and licenses can be exclusive, non-exclusive, or limited to particular purposes.12WIPO. IP Assignment and Licensing Most SaaS arrangements and commercial software purchases are structured as licenses rather than ownership transfers, which is why the vendor can cut off access when you stop paying.