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_depreciatedonce 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_assetevents; 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
- Open Fixed Assets (
/books/fixed-assets). Categories like Equipment and Vehicles are seeded automatically on first visit. - Click Add Asset and enter the name, purchase date, and original cost (plus optional category, salvage value, useful life, and method).
- Click Place in service and set the in-service date — this capitalizes the asset and begins depreciation.
- Use Preview depreciation for a month to see which assets and amounts will post, then Run depreciation to create the entries and journal entries.
- Open an asset's Depreciation schedule to see the full period-by-period projection and its posted entries.
- 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, anddonated.
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.