Fixed Assets

Track equipment, vehicles, property, and other long-term assets from purchase through disposal. Group them into categories with default depreciation settings, place them in service to capitalize them onto the balance sheet, and let DayZero post depreciation each month. When you sell, trade, scrap, lose, or donate an asset, the gain or loss is calculated and the asset is removed from the books with a balanced journal entry.

Key capabilities

  • Asset register with cost, salvage value, useful life, serial/asset numbers, vendor, and location
  • Asset categories with default useful life, method, salvage %, and linked GL accounts (auto-seeded on first use)
  • Four depreciation methods: straight-line, declining-balance, double-declining, units-of-production
  • Lifecycle states — draft → active → fully_depreciated / disposed — with guardrails at each step
  • Capitalization journal entry on place-in-service (DR Fixed Asset / CR Accounts Payable)
  • Monthly depreciation run that creates posted depreciation entries and journal entries
  • Idempotent runs — an asset already depreciated for a period is skipped
  • Auto-promotion to fully_depreciated once book value reaches salvage value
  • Disposal with automatic gain/loss calculation and a balanced removal entry
  • Full depreciation schedule projection plus a per-asset entry history
  • Preview the next run before posting anything
  • Computed values per asset: depreciable amount, accumulated depreciation, book value, remaining life
  • AI capitalization suggestions that flag expense transactions that should be assets
  • Audited as fixed_asset events; available with the Fixed Assets add-on

How it works

A draft asset is just a record. Placing it in service capitalizes it and starts the clock. Each monthly run books depreciation until book value hits salvage, and disposal removes it with any gain or loss.

flowchart TD
  draft["Draft asset (cost, life, method)"] --> serve["Place in service"]
  serve --> capje["Capitalization JE: DR Fixed Asset / CR A/P"]
  capje --> active["Active (depreciating)"]
  active --> run["Monthly run: DR Depreciation Expense / CR Accumulated Depreciation"]
  run --> full["Fully depreciated at salvage value"]
  active --> dispose["Dispose (sold / traded / scrapped / lost / donated)"]
  dispose --> gl["Removal JE + gain or loss posted"]

How to use it

  1. Open Fixed Assets (/books/fixed-assets). Categories like Equipment and Vehicles are seeded automatically on first visit.
  2. Click Add Asset and enter the name, purchase date, and original cost (plus optional category, salvage value, useful life, and method).
  3. Click Place in service and set the in-service date — this capitalizes the asset and begins depreciation.
  4. Use Preview depreciation for a month to see which assets and amounts will post, then Run depreciation to create the entries and journal entries.
  5. Open an asset's Depreciation schedule to see the full period-by-period projection and its posted entries.
  6. When an asset leaves, click Dispose, choose the method, and enter proceeds — DayZero computes gain/loss and books the removal entry.

Pro tips

  • Set up categories first: their default useful life, method, and salvage % auto-fill every asset you add to them, keeping policy consistent.
  • Capitalization debits Accounts Payable — pair the asset with the bill/payment so the A/P clears as you'd expect.
  • Run the depreciation preview before each close so there are no surprises in the period's expense.
  • Only draft assets can be deleted, and disposed assets can't be edited — finalize details before placing an asset in service.
  • Use AI capitalization suggestions to catch large equipment purchases that were miscoded as expenses (typically over $500 with long-term value).

In-depth guide

Depreciation methods

Method How monthly depreciation is computed
straight_line (cost − salvage) ÷ useful_life_months
declining_balance book value × (1/years ÷ 12), floored at salvage
double_declining book value × (2/years ÷ 12), floored at salvage
units_of_production Based on units used; requires recorded usage, so it isn't posted by the standard monthly run

Straight-line and the declining-balance methods are computed automatically in both the projected schedule and the monthly run; declining methods recompute each period off the current book value and never depreciate below salvage.

Asset lifecycle

Status Meaning
draft Not yet in service; editable and deletable
active In service and depreciating
fully_depreciated Reached salvage value
disposed Sold, traded, scrapped, lost, or donated

Guardrails: only draft assets can be deleted; disposed assets can't be updated; a draft asset can't be disposed; the in-service date can't precede the purchase date.

Default categories seeded

Category Default life Default salvage
Equipment 60 mo 0%
Vehicles 60 mo 10%
Furniture & Fixtures 84 mo 0%
Computer Equipment 36 mo 0%
Buildings 468 mo (39 yr) 0%
Leasehold Improvements 120 mo 0%
Software 36 mo 0%
Machinery 84 mo 5%
Office Equipment 60 mo 0%
Land Improvements 180 mo 0%

All seeded categories default to straight-line. Categories can also carry explicit GL account links (asset, depreciation expense, accumulated depreciation) that override the system defaults.

Journal entries

Event Debit Credit
Place in service Fixed Asset Accounts Payable
Monthly depreciation Depreciation Expense Accumulated Depreciation
Disposal Accumulated Depreciation + proceeds (A/R) + any loss Fixed Asset cost + any gain

Ledgers resolve from the asset's category overrides first, then fall back to the business's system-key accounts.

Depreciation runs

  • Target: a run covers a month (first-of-month) and either all active assets or a specified subset.
  • Per asset: it computes the period amount, creates a posted DepreciationEntry (recording the amount, running accumulated total, and resulting book value), and — when enabled — a matching journal entry.
  • Idempotent: an asset that already has an entry for that period is skipped.
  • Auto-promotion: assets reaching salvage are flipped to fully_depreciated.
  • Preview: use the preview endpoint to see the same calculation without writing anything.

Disposal & gain/loss

  • Calculation: gain_loss = disposal_amount − book_value.
  • Removal entry: debits accumulated depreciation and credits the asset cost to clear the asset, debits Accounts Receivable for any proceeds, and books the difference as a gain (credit to uncategorized income) or loss (debit to uncategorized expense).
  • Disposal methods: sold, traded, scrapped, lost, and donated.

Accounting impact

Fixed assets keep capital expenditures off the income statement and spread their cost over the asset's life via depreciation, so the balance sheet shows cost less accumulated depreciation (book value) and the P&L shows periodic depreciation expense. Disposal trues up the books and recognizes the realized gain or loss.

Edge cases

  • Core depreciation inputs (cost, purchase date, useful life) shouldn't change after an asset is in service; edits are limited to descriptive fields.
  • Salvage value can't exceed original cost, and useful life must be 1–600 months.
  • This feature is gated behind the Fixed Assets add-on.

Start free and automate depreciation.