However, the tax code generally follows the same principles of accrual accounting, with some variations, i.e. straight-line v. double-declining depreciation. Depreciation should be written off over the life of the asset based on the economic usefulness of the asset. So if an asset is written off in three years but is in use for 10, that's a subsidy because it allows the company to capture an economic benefit that runs counter to the principles of the tax code.
Subsidy, what BS. For GAAP, we're good. The intent of GAAP is to portray the value of a company to an investor as best as possible. Let's say a company spends $1 Million on equipment with a 10 year life. As an ongoing entity, it makes the most sense to consider them to have spent $100K per year for 10 years and book an asset they depreciate $100K each year. That reflects the value of their investment to an investor, the intent of GAAP. I realize depreciation schedules don't work that way, I'm talking the philosophy of the investment. I'll come back to depreciation schedules.
However, taxes are to share a percent of what we earn for the benefit of society. The company spent $1M this year. They then get taxed on the whole million worth of revenue less the first year's depreciation. So they pay $1M for the equipment the first year AND taxes on $900K even though they spent it. Government is getting it's now. It's the company that has to both foot the bill for the equipment and quench the insatiable greed of government to consume immediately now. It's not only government greed, but it's stupid because government is disincentiing investment by making it more expensive.
As for depreciation schedules, you and I think of it like my example, but the reality is that you follow the depreciation schedule for an asset. The true life of the asset is irrelevant for taxes.