Solavel Solavel Docs

Fixed assets

docs/solavel-finance/fixed-assets.md

Who can use this: Owner, Manager, Accountant — plus Approver (sign-off only). URL / Route: /finance/fixed-assets (finance.fixed-assets.index). Detail: show, create, store, edit, update. Action endpoints: submit, approve, reject, depreciate, dispose, transfer. Categories: finance.asset-categories.index. Depreciation runs: finance.depreciation.*. Plan / feature gate: feature:tracker.fixed_assets, feature:tracker.asset_depreciation, feature:tracker.asset_disposals, feature:tracker.asset_transfers (defaults: enabled on standard plans where Fixed Assets is included). Permissions: fixed_assets.view, fixed_assets.create, fixed_assets.edit, fixed_assets.depreciate, fixed_assets.dispose, fixed_assets.transfer, fixed_assets.approve.

Purpose

The Fixed Asset Register tracks long-lived assets — equipment, vehicles, furniture, fit-out, IT hardware — that you'll use over multiple years. Use it when:

  • you've bought something that should be capitalised rather than expensed (typically anything above your capitalisation threshold with a useful life over a year),
  • you need to depreciate the cost over its useful life and have those journals posted automatically,
  • you need to record a sale or scrap of an asset with the right gain/loss recognition,
  • you need a register the auditor can tie back to the Balance Sheet.

The register keeps each asset's cost, accumulated depreciation, and net book value in step with the GL.

Step by step

Browse the register

Open /finance/fixed-assets. Each row shows the asset number, name, category, acquisition date, cost, accumulated depreciation, net book value, and status (Pending Approval / Active / Disposed / Transferred).

Register an asset

Route: finance.fixed-assets.create / store. Permission: fixed_assets.create.

  1. Click Register asset.
  2. Enter the asset Name (e.g. "Toyota Hilux JU-12345") and pick a Category (Vehicles, Office equipment, etc.).
  3. Set the Acquisition date and Cost. If the asset came from a posted bill, link the Source bill for the audit trail.
  4. Pick the Depreciation method — straight-line (default), reducing balance, or none.
  5. Enter the Useful life (in months) and Salvage value (the residual at end-of-life).
  6. Pick the GL accounts: asset, accumulated-depreciation, and depreciation-expense. Defaults come from the category.
  7. (Optional) Tag with a Location, Department, or Dimension.
  8. Save. With approvals on, the asset enters Pending Approval until an Approver signs off.

Asset categories

Route: finance.asset-categories.index. Permission: fixed_assets.create.

Categories group similar assets and supply default useful life, salvage value, depreciation method, and GL accounts so each new asset inherits sensible values. Edit a category and the defaults change for new assets only — existing assets keep their own settings.

Run depreciation

Route: finance.fixed-assets.depreciate (per asset) or finance.depreciation.run (period batch). Permission: fixed_assets.depreciate.

Depreciation reduces the asset's net book value over its useful life. The depreciation engine can run one asset at a time or batch for a period (typical: end of month).

Each run writes a journal:

  • Debit Depreciation Expense.
  • Credit Accumulated Depreciation.

The asset's accumulated depreciation rises and net book value drops.

Dispose of an asset

Route: finance.fixed-assets.dispose. Permission: fixed_assets.dispose.

When an asset is sold or scrapped:

  1. Pick the Disposal date (must be in an open period).
  2. Pick the Disposal method — Sold / Scrapped / Donated.
  3. Enter the Proceeds (zero for scrap/donate) and the Disposal account (Cash / Bank, or a "Loss on disposal" expense for scrap).
  4. Confirm.

Disposal posts a closing journal that removes the cost, removes accumulated depreciation, recognises the gain or loss, and credits any proceeds.

Transfer an asset

Route: finance.fixed-assets.transfer. Permission: fixed_assets.transfer.

Move an asset between locations, departments, or owners. Transfers do not post a journal (the cost stays on the books); they record the move on the Asset Transfer History for the audit trail.

Approval workflow

When feature:tracker.fixed_assets.approval is on, new assets enter Pending Approval. An Approver opens the asset and clicks Approve (or Reject with a note). Until approved, the asset shows on the register but does not depreciate.

How the journal looks

A JOD 12,000 vehicle purchased on a bill (already posted as part of the bill — the asset register links to it, doesn't repost it):

Account Debit Credit
Vehicles 12,000.00
AP — Supplier control 12,000.00

Monthly depreciation at JOD 200/month (straight-line over 60 months, no salvage):

Account Debit Credit
Depreciation expense — Vehicles 200.00
Accumulated depreciation — Vehicles 200.00

After 24 months: accumulated depreciation = JOD 4,800; net book value = JOD 7,200.

Sale at JOD 8,000 after 24 months of depreciation (a JOD 800 gain):

Account Debit Credit
Bank 8,000.00
Accumulated depreciation — Vehicles 4,800.00
Vehicles 12,000.00
Gain on disposal 800.00

Sale at JOD 6,500 after the same 24 months (a JOD 700 loss):

Account Debit Credit
Bank 6,500.00
Accumulated depreciation — Vehicles 4,800.00
Loss on disposal 700.00
Vehicles 12,000.00

Scrapping the same vehicle after 24 months (zero proceeds — full remaining NBV is a loss):

Account Debit Credit
Accumulated depreciation — Vehicles 4,800.00
Loss on disposal 7,200.00
Vehicles 12,000.00

Lifecycle

Draft  ──Submit (approval on)──▶  Pending Approval  ──Approve──▶  Active
Active  ──Run depreciation──▶  Active  (NBV reduced each period)
Active  ──Dispose──▶  Disposed
Active  ──Transfer──▶  Active  (location/department changed)
Pending Approval  ──Reject──▶  Draft

Behaviour and rules

  • Capitalisation comes from the bill, not the asset register. When you book the original bill, the line goes to the asset account directly — the register links to that bill for audit, it does NOT repost the cost.
  • Depreciation is automatic, not manual. Once a useful life and method are set, depreciation runs each period without re-entering anything.
  • Period lock. Running depreciation, disposing, or back-dating an asset all require the relevant period to be open.
  • No partial-month proration by default. Depreciation is whole-period; the first period starts on the next period after the acquisition date unless you tick Depreciate from acquisition date.
  • Disposal date must be after acquisition date and in an open period.
  • The Approver role exists specifically for fixed assets — see the User roles doc for why it's separate from Manager.
  • Fixed-asset JE source label. On the Journal entries page, the depreciation / disposal JEs are tagged with the rose Fixed Asset chip.

Common mistakes

  • Disposing without depreciating first. Disposal uses the asset's current net book value. If you haven't run depreciation up to the disposal date, the NBV is overstated and the gain/loss is wrong. Run depreciation first, then dispose.
  • "My asset is in Pending Approval forever." No Approver has the fixed_assets.approve permission, or all Approvers are inactive. Grant a role override or use the Owner account.
  • Linked to a void bill. If the originating bill gets voided, the asset's source link goes orange — the asset is still on the register, but its provenance is broken. Re-link to a new bill, or leave it and add a note.
  • Transfer between categories. Transfers move location/department/owner. Changing the category doesn't move historical depreciation between accounts — it just changes the category for future depreciation. To migrate properly, dispose + re-register.
  • Period locked. Depreciation runs, disposals, and back-dating an asset all need an open period.

Permissions / restrictions

  • View: fixed_assets.view.
  • Register / edit: fixed_assets.create, fixed_assets.edit.
  • Depreciate: fixed_assets.depreciate.
  • Dispose: fixed_assets.dispose.
  • Transfer: fixed_assets.transfer.
  • Approve (with approvals on): fixed_assets.approve.

Related

  • Chart of accounts — set up your asset, accumulated-depreciation, and depreciation-expense accounts.
  • Bills — the originating document for most asset purchases.
  • Workflow & approvals — the Approver role exists specifically for asset sign-off.
  • Journal entries — depreciation / disposal JEs show up under the Fixed Asset chip.
  • Recurring transactions — automate monthly depreciation as a recurring journal if your method requires manual control.
  • Fiscal years and lock dates — depreciation periods.
  • Reports — Fixed Asset Register, Depreciation Summary, Asset Disposal Report, Asset Transfer History.
Source: docs/solavel-finance/fixed-assets.md ← All documentation