1. Overview
Asset Management is the fixed-assets module for Vertex ERP. The current release is Phase 1: asset classes, depreciation books, asset master cards, capitalization, and a limited in-service / idle lifecycle.
| Area | Capabilities |
|---|---|
| Setup | Depreciation books, asset classes with default life and method |
| Register | Asset master main and sub-assets |
| Capitalize | Move from Created to Capitalized |
| Operate | Put in service, idle, resume |
| Later phases | Disposal, transfers, maintenance, depreciation runs, Finance journals |
System selection title: Asset Management — fixed assets, depreciation books, capitalization, and asset master.
Cross-module note: GL account codes and cost center on classes/assets are free-text placeholders for future Finance integration. There is no live posting to Finance, Inventory, Purchasing, or HR in this phase.
2. Getting started
2.1 Recommended setup order
- Grant Asset Management permissions (admin may already be seeded).
- Confirm at least one active depreciation book (seed often includes ACC as default).
- Review or create asset classes (seed may include BUILD, MACH, IT, FURN, VEH).
- Create assets on Asset master (requires a class and an active book).
- Capitalize when acquisition cost is set.
- Put in service; use Idle / Resume for temporary stoppage.
2.2 Main navigation
| Menu | Path | Purpose |
|---|---|---|
| Asset master | /assets/asset-masters |
Asset cards and lifecycle actions |
| Asset classes | /assets/asset-classes |
Categories and defaults |
| Depreciation books | /assets/depreciation-books |
Accounting / tax books |
Parent menu: Assets → redirects to asset masters.
2.3 Seeded reference data
Typical seed content:
| Type | Examples |
|---|---|
| Book | ACC — Accounting book (default) |
| Classes | BUILD, MACH, IT, FURN, VEH with useful life and salvage defaults |
Adjust codes and defaults to match your chart of accounts naming conventions.
3. Depreciation books
Path: /assets/depreciation-books
Permission: Assets.DepreciationBooks (+ Create / Update / Delete)
Purpose
Define books that hold per-asset cost and depreciation fields (for example accounting vs tax).
| Field | Guidance |
|---|---|
| Code / Name | Unique book identity |
| Book type | Accounting or Tax |
| Default | One book can be the default |
| Active | Inactive books are not used for new asset book-value rows |
Rules
- Keep at least one active book before registering assets.
- Delete is blocked when book values already exist for that book.
- Methods on assets/classes are stored for later depreciation; periodic depreciation posting is not run in this phase.
4. Asset classes
Path: /assets/asset-classes
Permission: Assets.AssetClasses (+ Create / Update / Delete)
Purpose
Categories that supply default useful life, depreciation method, salvage percentage, capitalization threshold, and optional GL account codes (text).
| Group | Examples |
|---|---|
| Identity | Code, name, active |
| Defaults | Useful life months, method, salvage % |
| Threshold | Capitalization threshold amount stored for reference |
| GL codes | Asset / accumulated / expense account codes as free text |
Methods
Straight line, declining balance, units of production, immediate write-off
Rules
- Delete is blocked if assets still use the class.
- Capitalization threshold is not enforced automatically on capitalize today — treat it as guidance.
- GL codes are not validated against the Finance chart of accounts in Phase 1.
5. Asset master
Path: /assets/asset-masters
Permission: Assets.AssetMasters (+ Create / Update / Delete / Capitalize / ChangeStatus)
Purpose
The asset card: main assets and optional sub-assets.
Key data
| Group | Examples |
|---|---|
| Identity | Asset number, sub-number (0000 = main), class |
| Specs | Serial, manufacturer, model |
| Cost | Acquisition cost, useful life, method, salvage |
| Org | Cost center as free text |
| Structure | Parent asset for sub-assets |
Numbering
- Main assets receive an automatic asset number sequence.
- Sub-assets get incremental sub-numbers under a parent.
Create prerequisites
UI/API expect:
- At least one asset class.
- At least one active depreciation book (default preferred).
On create, the system creates AssetBookValue rows for every active book.
Edit and delete
Edit and delete are allowed only while status is Created. After capitalization, treat the card as locked for structural edits.
6. Capitalization and status lifecycle
Live statuses
| Status | Meaning |
|---|---|
| Created | Registered; editable |
| Capitalized | Capitalized; book values activated |
| InService | In operational use |
| Idle | Temporarily stopped / stored |
Live transitions
| Action | From | To | Permission |
|---|---|---|---|
| Capitalize | Created | Capitalized | Capitalize |
| Put in service | Capitalized | InService | ChangeStatus |
| Set idle | InService | Idle | ChangeStatus |
| Resume | Idle | InService | ChangeStatus |
Capitalize rules
- Status must be Created.
- Acquisition cost must be greater than zero.
- Capitalization date is set; book values become depreciation-active.
- No Finance journal is posted in this phase.
Statuses reserved for later
Under maintenance, Retired, Scrapped, Sold appear as labels/enums but have no live workflow buttons yet.
7. Book values
Each asset holds per-book values:
| Field | Role |
|---|---|
| Cost / salvage / life / method | Snapshot for that book |
| Accumulated depreciation | Present; remains zero until a depreciation engine posts |
| Capitalization date | Set on capitalize |
| Last depreciation date | Reserved for future runs |
| Depreciation active | Turned on at capitalization |
| Net book value | Derived from cost and accumulated depreciation |
Open the asset edit view to review the book-values panel. Use it for verification, not for month-end depreciation posting in Phase 1.
8. Out of scope in this release
Document these as not available so operators set correct expectations:
| Topic | Status |
|---|---|
| Depreciation calculation / period run | Not implemented |
| Finance GL posting / CoA lookup | Codes are free text only |
| Locations | Absent |
| Transfers between sites/cost centers | Absent |
| Disposal / scrap / sale workflows | Enum only |
| Maintenance work orders | Enum only |
| Purchasing PO → asset | Absent |
| Inventory / HR custodian link | Absent |
| Dashboard and formal reports | Absent beyond list hero counts |
9. Permissions summary
Permission group: Assets.
| Area | Permissions |
|---|---|
| Asset classes | Default, Create, Update, Delete |
| Depreciation books | Default, Create, Update, Delete |
| Asset masters | Default, Create, Update, Delete, Capitalize, ChangeStatus |
Parent menu opens with AssetMasters or AssetClasses permission.
Appendix A — Quick procedures
A.1 Register and capitalize an asset
- Ensure default depreciation book and a suitable class exist.
- Asset master → create main asset → set acquisition cost and class defaults.
- Optional: add sub-assets under the main.
- Capitalize → Put in service.
A.2 Temporarily stop an asset
- From In service → Idle.
- Resume when the asset returns to use.
A.3 Correct a mistake before capitalization
- While status is Created, edit or delete the asset.
- After capitalize, create a correcting process outside edit/delete (future disposal/transfer features).
Appendix B — Operating notes
| Topic | Guidance |
|---|---|
| Phase | Fixed-asset Phase 1 — master data and capitalization focus |
| Threshold | Class capitalization threshold is informational only |
| NBV | Expect net book value ≈ cost until depreciation runs exist |
| GL codes | Align text codes with Finance naming; no validation yet |
| Seed | Review ACC book and sample classes before go-live |
Appendix C — Document control
| Item | Value |
|---|---|
| Title | Asset Management Module User Guide |
| Source of truth | modules/assets and frontend/src/app/modules/assets |
| Format | Markdown + Mermaid (PDF edition embeds rendered figures) |
| Screenshots | Not included (by design) |
This guide describes functional capabilities of the Asset Management module as implemented in the Vertex ERP codebase. UI labels may appear in English or Arabic depending on language settings.