The argument on HN is always just complaining that it’s unfavorable to devs; but it’s perfectly reasonable with regards to actual tax principles.
The argument on HN is always just complaining that it’s unfavorable to devs; but it’s perfectly reasonable with regards to actual tax principles.
Look into when this started and why and you might understand it
If the “house” (or the for loop) is sold and gone, it’s not an asset and the cost of the goods sold — salaries included - is an expense.
If the “house” (or the for loop) is kept and used, it’s an asset and the cost of producing the asset — salaries included - is capitalized.
(There are differences betweeen the “house” and the for loop but not at the extremes which are clear. I imagine by “house” you mean some building that makes sense in a commercial or industrial context like a warehouse.)
A factory worker building a product to be sold is capitalized into inventory
The key thing here is that while you generally are expected to and allowed to consider a produced good an asset, it's not assumed that paying someone salary translates immediately into an asset... unless it's software under this new rule for some reason
Software engineers hired to build product are not exclusively building a finished product, and are increasingly necessary as part of the expense of operating that product long term. Industry trends have gone towards combining and blending developement, security, operations, and design.
This is handled in existing tax law; building or improving a capital asset is amortized, repairing or maintaining it is expensed. It can be a pain in the butt, this is why accounting is not a trivial profession.
We could (and I think should) treat software the same. Some software engineer work is absolutely creating a capital asset. Some is absolutely high-priced janitor work. It makes sense to allow for both with your tax code.
Before Sec 174, s/w development costs were subject to a choice: amortization as if they were a capital expense, or regular deduction as a normal operating expense. Companies could decide which category to put costs into depending on the nature of the work (and presumably to suit their own interests).
Sec 174 removes that option. Or rather, it narrows it significantly. You must be absolutely confident that you paid developer X for ONLY maintainance work before deducting their salary.
The important bit is that it will be used for longer than one year