Fixed Asset & Depreciation Register
For the preparer who currently keeps a client’s depreciation in a spreadsheet with the Pub. 946 percentage tables typed into a hidden tab.
Feed it a fixed-asset CSV and it computes both columns for every asset in one pass.
Straight-line for the books, half-year-convention MACRS for tax, with Section 179 fully expensed in year one where you’ve flagged it.
$49 a month for the firm. Every client, every asset, no per-asset charge. Cancel any day.
The hidden tab with the MACRS tables in it
Every firm has that spreadsheet. Somebody built it in 2016. It’s got the 5-year and 7-year GDS percentages typed in by hand, and a VLOOKUP that everyone is slightly afraid of, and the person who built it works somewhere else now.
It works, mostly. Until a client adds nine assets mid-year, or someone drags a formula one row short, or the recovery-year index gets off by one and nobody notices for two returns.
Depreciation is arithmetic. It’s completely deterministic arithmetic. It should not be a thing that a firm is quietly nervous about, and yet.
It computes both columns in one pass
- It parses
ASSETS_CSVand reads:asset_id,description,cost,in_service_date,life_years,method,salvage,section179. Currency parsing handles$, thousands separators, and(45.00)as negative. A row with noasset_idis skipped rather than silently mangled. - It computes both columns, as of
TAX_YEAR. Book is straight-line:(cost - salvage) / life_years. Tax is half-year-convention MACRS against the standard 3, 5, 7, 10, 15 and 20-year GDS classes, using the nearest class life iflife_yearsdoesn’t land exactly on one, applied to that asset’s recovery-year index relative to the year you’re computing. - Section 179, where the column is truthy, fully expenses the cost in the tax column in the asset’s first year in service. Book depreciation is untouched by it, which is the point of having two columns.
What it writes, and what it flatly refuses to model
DEPRECIATION_SCHEDULE.md: current-year book expense against current-year tax expense, per asset. This is the page a reviewer reads.ASSET_REGISTER.md: cost, accumulated book depreciation, net book value and status per asset, carried forward through the asset’s book life. The client’s schedule, finally in one place.register.csvfor the workpapers,assets.jsonfor the full computed detail, which means the arithmetic is inspectable rather than trapped in a formula bar.- It applies half-year convention only, so if more than 40% of a client’s assets landed in Q4 and they need mid-quarter, this will hand you a confident wrong answer. Don’t use it for them.
- It does not do real property. No 27.5-year residential, no 39-year commercial. A client with a building needs a different tool.
- No bonus depreciation, no listed-property limits, no disposal tracking. Those are real gaps, they’re on the build list, and you should decide about them before you pay rather than in March.
The model is narrow on purpose, and the software’s own documentation says so in capitals. A CPA reviews the output before it goes near a return. That’s an instruction, not a disclaimer.
Who it fits
A firm doing business returns for clients with equipment, vehicles and fixtures. Personal property, GDS classes, half-year convention, which describes the overwhelming majority of small-business asset schedules.
Not for you if you have real estate clients, or if you need to model bonus depreciation elections across a group. Sage Fixed Assets and the Bloomberg Tax module exist for exactly that and they’re worth what they cost when the schedule is complicated enough to warrant them.
What it replaces
The spreadsheet, and Sage Fixed Assets.
Sage is better, and it isn’t a close call on capability. It handles every convention, every property class, disposals, transfers, multiple books, and it’s been audited by more people than we’ve met. If you have a client with 400 assets across three entities and real property in the mix, buy Sage.
But most small firms don’t have that client. They have twelve clients with nine assets each, and a spreadsheet, and no budget for a fixed-asset system. What they need is the arithmetic done the same way every year, written down, with a register they can hand to a reviewer.
Where the numbers live
On your disk. The CSV is read locally, the register and the schedule are written locally, and there is no cloud component in this product. Nothing to connect, nothing to authorise, nothing to opt out of.
Outputs land under OUTPUT_FOLDER at 0600, and every write path is checked with assertWithinRoot. assets.json carries the full computed detail per asset, which means the arithmetic is inspectable rather than trapped in a formula bar.
$49 a month, and the first schedule
Time to first schedule is under ten minutes if the client’s assets are already in a spreadsheet, which they almost always are. The setup cost is lining up the CSV columns, once, per client, and then it’s a single run every year after that.
The price covers the firm rather than a seat, so the second preparer and the reviewer both use it for nothing extra.
Security and privacy
Handles client fixed-asset data (asset descriptions, cost basis, dates placed in service). Security is designed in.
Principles
– Local-first. ASSETS_CSV is read from disk and never transmitted anywhere; nothing in this tool touches the network. Nothing is uploaded, no telemetry, no cloud dependency.
– Non-destructive. The source CSV is only read, never modified or deleted.
– Least privilege. Reads ASSETS_CSV, writes only under OUTPUT_FOLDER.
Protections implemented (v0.1.0)
– Path-traversal defense — every output filename is sanitized (safeSegment) and every write is checked with assertWithinRoot(), so the register can’t be written outside OUTPUT_FOLDER.
– Fail-fast config validation — clear errors for missing/invalid ASSETS_CSV/OUTPUT_FOLDER/TAX_YEAR before any file is touched.
– Restrictive permissions — the generated register (DEPRECIATION_SCHEDULE.md, ASSET_REGISTER.md, register.csv, assets.json) is written 0600.
– Defensive parsing — the CSV parser and currency parser never throw on malformed input (missing fields default to empty string, unparseable amounts default to 0, unparseable dates yield a year index of 0); a bad row degrades the register rather than crashing it.
– Secrets discipline — .env and generated Registers/ output are git-ignored; no secrets or client data in the repo.
Not tax advice
This tool applies standard IRS half-year-convention MACRS percentages (Pub. 946) mapped to the nearest of the 3/5/7/10/15/20-year GDS property classes, and a plain straight-line book calculation. It does not model mid-quarter convention, real property (27.5/39-year residential/commercial), listed-property limits, or bonus depreciation, and it does not track asset disposals or trade-ins. Treat the output as a bookkeeping workpaper, not a filed return — a CPA should review MACRS class-life assignments and Section 179 elections before filing.
Distribution / AV trust
Known limitations / roadmap
– MACRS class life is inferred by nearest-match to life_years when it doesn’t already equal one of the standard GDS classes (3/5/7/10/15/20) — verify the assigned class on unusual asset types.
– Half-year convention only; mid-quarter convention (triggered when >40% of a year’s asset additions occur in Q4) is not detected or applied.
– Real property (27.5-year residential, 39-year commercial/straight-line-only) is out of scope in v0.1.0.
– Section 179 is modeled as a simple full-cost expensing in year 1; the $ and phase-out limits under current law are not enforced — verify against the taxpayer’s actual limitation before filing.
– No disposal/retirement or partial-year sale tracking yet.
Reporting
Report suspected vulnerabilities privately to the maintainer before public disclosure.
Frequently asked questions about Fixed Asset & Depreciation Register
What does the Fixed Asset & Depreciation Register do, and how does it build a schedule?
The Fixed Asset & Depreciation Register takes a list of a client’s assets and turns it into clean book and tax depreciation schedules, without you keeping a fragile spreadsheet alive from one year to the next. You import an asset list carrying each item’s cost, in-service date, useful life, and method, and the tool computes straight-line and MACRS depreciation, the current-year expense, and a running accumulated total. The person who reaches for a fixed asset & depreciation register is usually an accountant who maintains client assets and wants proper schedules without buying enterprise software built for hundred-person firms.
MACRS is the Modified Accelerated Cost Recovery System, the depreciation method the tax code uses for most business property placed in service since 1987. Straight-line spreads an asset’s cost evenly across its life. The register runs both, so the book number your financial statements need and the tax number the return needs come out of the same import instead of two separate worksheets that drift apart over time. You set the book and tax conventions once, and the tool applies them the same way to every asset on the list.
The order of work is short. First you import the asset list with cost, date, life, and method. Then you choose the book and tax conventions you want applied. After that you export the depreciation schedule and the register itself, ready to drop into a workpaper set or hand to a reviewer. Nothing is filed anywhere and nothing is transmitted off your machine. The tool does the depreciation math and the tracking of what each asset has accumulated, and it leaves the judgment to you.
Those schedules are also part of the record a business is expected to keep. IRS Publication 583, Starting a Business and Keeping Records, says the supporting documents behind the numbers on a return, including the records that back depreciation and asset basis, should be kept in an orderly fashion and a safe place. A schedule that ties current-year expense to accumulated totals is exactly that kind of orderly support, produced as a by-product of computing the numbers rather than assembled later under pressure.
What makes the register worth trusting is that it stays consistent. An asset entered once carries its cost, date, life, and method forward, so next year’s schedule builds on this year’s instead of being retyped. A spreadsheet that a different preparer touches every season is where basis errors creep in. The fixed asset & depreciation register keeps the same structure for every client, so a set reads the same way whether it is the first asset list you load or the fortieth one this season.
You keep your own chart of accounts, your own conventions, and your own review habits. The Fixed Asset & Depreciation Register does the repetitive computation and the accumulated-total tracking, and it shows its work so a reviewer can see how a number was reached. You can read more on the Fixed Asset & Depreciation Register product page, and see the rest of the SortTax lineup on the accounting and tax page. The tool does one job, asset depreciation, and it does it the same way every time, which is what lets you trust a schedule you did not build by hand.
How does the register help a firm meet IRS recordkeeping and retention rules for assets?
Depreciation records are not paperwork you can throw away at year-end. They follow an asset for its whole life and past it, because basis and accumulated depreciation still matter when the asset is sold or written off. The IRS guidance page, How long should I keep records?, explains that you generally keep records for three years, that certain records run longer, and that you keep records connected to property until the period of limitations expires for the year you dispose of it. Asset records sit squarely in that longer category.
The problem for a firm has never been knowing the rule. It has been living it across many clients with a worksheet here and a note there. The register addresses that directly by producing a labeled depreciation schedule and asset list for every client as part of normal work. Because it holds each asset’s cost, in-service date, life, and method, the basis record the IRS expects you to keep is created the moment you compute the numbers, not reconstructed under audit pressure years later.
Organization is the other half of the rule that firms tend to miss. IRS Publication 583, Starting a Business and Keeping Records, is explicit that records should be kept in an orderly fashion and a safe place, organized so the numbers on a return can be traced back to what supports them. The fixed asset & depreciation register builds precisely that structure. Each asset is entered once and its schedule ties current-year expense to the accumulated total, so a reviewer can follow depreciation from purchase to today without a scavenger hunt.
Consistency is what keeps the record legible over that long retention window. An asset the register tracked this year carries forward with the same cost and method next year, so the accumulated total is never in doubt. A firm working from a spreadsheet that a different hand edits each season risks a basis that quietly drifts, and a drifting basis is the kind of error that surfaces at the worst possible time, when the asset is sold and the gain is being computed.
Successor access is the quiet benefit. Preparers retire and clients move between firms, and an asset placed in service today may need explaining by someone else in seven years. A schedule the register produced reads the same to a stranger as it did to the preparer who built it, because the structure is standard rather than personal. That reproducibility is exactly what the retention rules are aiming at. A record no one can make sense of later is not really a record.
Because the fixed asset & depreciation register keeps every asset’s history in one place, the basis record is ready the day it is asked for.
None of this asks you to change how your firm thinks about an asset. You still decide the life, the method, and the conventions. The register simply makes the underlying basis record orderly, complete, and reproducible, which is what the retention rules are really asking for. Firms that want to see how the same discipline runs across a tax practice can look at the SortTax accounting and tax page, or the product page for this tool. Keeping asset records the way the IRS describes stops being a separate chore and becomes a side effect of computing the depreciation you were going to compute anyway.
Is client asset data safe if the register runs on my own machine?
Yes, and the reason is structural, not a promise. The Fixed Asset & Depreciation Register is local-first. It reads your asset list on your firm’s own machine and computes the schedules there. No cloud copy is required, and the cost, basis, and client detail in an asset register never leave the computer you run it on. For a firm that is careful about where client financial data lives, that default matters more than any feature.
Data security is also a legal duty for a tax or accounting practice, not a nicety. Under the FTC Safeguards Rule, firms that handle customer financial information have to keep a written security program with administrative, technical, and physical safeguards around that information. A tool that keeps the data on your own machine, rather than shipping it to a server you do not control, fits naturally inside that kind of program instead of widening the surface you have to protect.
The IRS makes the same point for anyone who touches taxpayer data. Its Publication 4557, Safeguarding Taxpayer Data, states plainly that protecting taxpayer data is the law for professional preparers, and it walks through the safeguards a practice is expected to have in place. A local-first register supports that duty by keeping the asset records inside your own environment, where your existing access controls and backups already apply.
Local-first does not mean the tool is a black box. The register shows how each depreciation figure was reached, from the cost and method you entered to the current-year expense and accumulated total it produced, so you keep a clear record of what it did. If a number ever looks wrong, you can see the inputs behind it rather than trusting an answer that arrived from somewhere you cannot inspect.
Being blunt about the limits is fair. Local-first puts the responsibility for backups and machine security on your firm, the same as any file you keep on your own drive. The tool does not encrypt your whole disk or manage who can log into the computer. What it does is avoid adding a second copy of sensitive asset data in a place you would then have to secure and monitor separately, which is the part a small firm is least equipped to handle.
There is also a practical upside to keeping asset data local. Because the register does not depend on a hosted service, it keeps working whether or not you have a connection, and it does not tie your access to a vendor’s servers staying online. For a firm that opens a client’s asset schedule on a laptop away from the office, that independence is worth as much as the privacy that comes with it.
For a firm weighing where client data should sit, the fixed asset & depreciation register lands on the conservative side. The asset detail stays where your other client files already live, under the controls you already run, and the tool leaves a trail of its own work. You can read how it fits a practice on the product page, or see the wider SortTax approach to local-first tools on the accounting and tax page. The safe answer here is the structural one. Data that never leaves the machine is data you do not have to chase across someone else’s cloud.
How is this different from Sage Fixed Assets or a spreadsheet?
The honest framing is that the Fixed Asset & Depreciation Register sits deliberately between the two things most small firms actually use, an enterprise package like Sage Fixed Assets on one side and a spreadsheet on the other. Sage and its peers do far more than most small firms need and cost accordingly, often several hundred dollars a user each year. A spreadsheet costs nothing but breaks quietly. The register aims at the firm stuck choosing between them.
Against a spreadsheet, the difference is reliability of the math. A spreadsheet computes exactly what its formulas say, and a single dragged cell or a mistyped life can throw a MACRS schedule off without any warning. The register applies straight-line and MACRS the same way to every asset, tracks the accumulated total for you, and carries an asset forward year to year so the basis does not depend on remembering to copy last year’s tab correctly.
Against the enterprise packages, the difference is scope and price. Those suites carry modules a small practice will never open, and they assume a full-time asset accountant to run them. The fixed asset & depreciation register does the part a small firm needs, book and tax schedules with current-year expense and accumulated totals, and stops there. You are not paying for or learning a system built for a corporation’s asset team.
There is a recordkeeping angle too. Whichever tool you use, the IRS still expects the numbers behind a return to be supported and kept. Its guidance on how long to keep records ties asset records to the period of limitations for the year you dispose of the property, a window that can run well past the ordinary three years. A tool that produces a stable, exportable schedule makes meeting that expectation routine, where a fragile spreadsheet makes it a gamble.
Migration is another quiet difference. Moving to an enterprise package is a project, with data conversion and training before the first schedule comes out. The register works from an asset list you import, with cost, date, life, and method, so a firm already keeping that in a spreadsheet can bring it over without a formal implementation. You get proper schedules out of the data you already have, usually the same day you install the tool.
It also helps to be clear about who this is not for. A large corporation with a full asset department and thousands of items will want the depth an enterprise package brings. The register is aimed squarely at the small firm below that line, the one that has outgrown a spreadsheet but has no reason to run a system built for a much bigger balance sheet.
The plain summary is that this is a register, not a platform. It computes depreciation, tracks accumulated totals, and exports a schedule you can trust and keep, and it leaves the enterprise features to the enterprise tools. For a firm that has outgrown a spreadsheet but cannot justify Sage, that narrow scope is the appeal. You can compare it against how you work today on the product page, or see the rest of the SortTax lineup on the accounting and tax page. The right tool is the one that fits the job, and for asset depreciation at a small firm, that is often something in the middle.
Can it show book and tax depreciation side by side?
Yes, showing book and tax depreciation side by side is one of the main things the Fixed Asset & Depreciation Register is built to do. For each asset you import, it computes the book schedule your financial statements use and the tax schedule the return uses, and it lays them next to each other. That side-by-side view is where a lot of small-firm confusion lives, because the two numbers diverge and a spreadsheet rarely keeps both honest at once.
The two differ for real reasons. Book depreciation often follows straight-line over an asset’s useful life to match cost against the periods that benefit from it. Tax depreciation follows MACRS, which front-loads the deduction under the recovery periods the tax code assigns. The register runs both from the same cost, date, and method inputs, so you are not maintaining two spreadsheets and hoping they agree on the underlying asset.
Seeing them together is what makes the book-tax difference legible. When the tax deduction runs ahead of book in the early years and behind it later, the gap is the timing difference that flows into deferred tax work. The register surfaces that gap per asset and in total, so the preparer doing the provision or the return has the raw numbers in front of them rather than reverse-engineering them from a single blended figure.
The schedule is also a record you are expected to keep. IRS Publication 583, Starting a Business and Keeping Records, describes keeping the supporting documents behind a return in an orderly fashion, and a clean depreciation schedule is part of what supports the deduction claimed. Because the fixed asset & depreciation register exports both book and tax views tied to current-year expense and accumulated totals, the record backing each number is produced as you compute, not stitched together afterward.
Current-year expense and accumulated totals round out the view. For each asset you see this year’s deduction and the total taken to date, on both the book and tax side, which is what a reviewer checks and what a successor preparer needs to continue the schedule. Carrying the accumulated total forward correctly is exactly the step a manual worksheet gets wrong, and it is the step the register handles the same way every time.
The side-by-side layout also makes review faster for a second set of eyes. A reviewer can scan the book column and the tax column together and spot an asset where the two diverge more than expected, which is often the first sign of a wrong life or a miskeyed method. Catching that at review, rather than after the return is filed, is the practical payoff of seeing both numbers at once.
None of this changes the choices that are yours to make. You still set the life, the method, and the conventions for each asset, and the register computes both schedules from those decisions and shows its work. You can see how the side-by-side view fits your workflow on the product page, or look at the rest of the SortTax tools on the accounting and tax page. The point of the register is not to decide anything for you. It is to keep the book number and the tax number straight, side by side, so you do not have to hold both in your head or in two brittle spreadsheets.
| Attributes | Value |
|---|---|
| Deployment |
Cloud |
| Platform |
Web |
| License Type |
Subscription |
| Billing Period |
Monthly |
| Target Customer |
Accounting & CPA Firms |
| Free Trial |
Yes |
