การตั้งค่า
Fixed asset setup: locations, groups, useful life and budgets
Where an asset physically sits, the main/sub group it rolls up under, the useful-life policy it inherits, and the capex budget it draws against.
อัปเดตล่าสุด
Who this is for: Manager and Accountant — reading these tabs needs
assets.setup.read, changing anything needsassets.setup.manage. Read-only carriesassets.setup.readonly. Where: Settings → Fixed Assets Setup
Four tabs sit behind this one screen, and together they answer the question every registered asset asks: where does this live, what does it roll up under, how fast does it depreciate, and what capex plan does it draw against?
| Tab | Holds |
|---|---|
| Locations | Where an asset physically sits — optionally nested, optionally pinned to a real room |
| Groups | The two-level main/sub hierarchy an asset rolls up under, and the defaults it inherits |
| Useful life | The depreciation policies a sub group defaults its assets to |
| Budgets | Capex plans a purchase can be committed against, one period and optionally one group at a time |
Register an asset from Accounting → Fixed Assets and it reaches back into all four tabs: its group decides its default GL accounts and useful-life policy, its location says where it is, and its budget — if it has one — is checked and committed in the same transaction the asset is created in.
Locations come first, but only loosely#
A location is a node in a tree — optionally nested under another location, and optionally tied to a real room, so a projector can be pinned to Function Room B rather than just "the location called Function Room B".
- Select New location, give it a Name, and optionally a parent location or a room.
- Nest as deep as the property's floor plan needs.
Parent and room are set once, at creation, and cannot be changed afterwards. Re-parenting a location that already has children and assets assigned underneath it would silently move all of them; the deliberate fix is to create a new location and reassign — an explicit action, not an implicit side effect.
Groups: two levels, same as billing#
The asset hierarchy takes the identical shape billing's article groups do: a sub group hangs off a main group, and only a sub group is ever assigned to an asset directly. A main group is an organisational row.
Each sub group carries the defaults every asset assigned to it will inherit unless it overrides them individually:
| Field | What it decides |
|---|---|
| Default useful life | The depreciation policy an asset defaults to |
| Default asset account | The GL account the asset's cost lands on |
| Default depreciation account | The GL account its accumulated depreciation lands on |
| Default expense account | The GL account its monthly depreciation expense lands on |
Leave any of the three account fields blank and the group itself falls back to the system defaults — 1500 Fixed Assets, 1590 Accumulated Depreciation and 5200 Depreciation Expense. An individual asset can override its group's default the same way, so the fallback is three levels deep: asset override → group default → system default, resolved fresh on every read — a later change to a group's default reaches every asset that never overrode it, without touching a row.
Groups are never deleted, only deactivated. A deactivated group stops being offered on new assets, and every asset already assigned to it keeps its history exactly as it was.
Useful life: the depreciation policy#
A useful-life policy is one row: a method, a term in years and a residual percentage — the floor the asset never depreciates past.
| Field | What it is |
|---|---|
| Group | The sub group this policy belongs to — fixed at creation |
| Method | straight_line (even monthly amounts) or declining_balance (a double-declining rate against net book value) |
| Years | The depreciation term |
| Residual % | The percentage of cost the asset is never depreciated below |
A policy only ever attaches to a sub group — the same rule a charge code and an asset itself follow. The group is immutable once a policy is created: editing a policy changes its rate for every asset already depreciating under it, but moving it to a different group is not offered — an asset's depreciation history has to stay reproducible against the policy it actually ran under, so a change of group is a new policy, not an edit to this one.
หมายเหตุ
Declining balance derives its own rate. Rather than a fifth column, the rate is
2 / years, applied monthly to the asset's net book value — the standard double-declining convention when only a term is configured.
Budgets: a ceiling nothing silently passes#
A budget is a capex plan for a period — the whole property, or narrowed to one group — with an approved amount. Registering an asset against a budget commits the acquisition cost against it, atomically, in the same transaction that creates the asset.
| Field | What it is |
|---|---|
| Name | What the plan is for |
| Group | Optional — narrows the budget to one asset group; leave it blank for a property-wide plan |
| Period | Start and end date; end must be after start |
| Approved amount | The ceiling |
Remaining is always computed, never stored — approved minus committed, read fresh every time so it can never drift from the two numbers it derives from.
สำคัญ
Going over a budget's remaining amount is refused outright, not merely reported. Registering an asset that would commit more than a budget has left fails the whole request — the asset is not created "over budget with a warning." Raise the approved amount first if the purchase is real. Shrinking an approved amount below what is already committed is refused the same way, for the same reason: the number only means something if nothing has silently passed it.
Who can do what#
| Permission | Lets you | Held by default |
|---|---|---|
assets.setup.read |
See locations, groups, useful-life policies and budgets | Manager, Accountant, Read-only |
assets.setup.manage |
Create and change all four tabs | Manager, Accountant |
assets.register.read |
See the Fixed Asset Register, and pick a location/group when registering an asset | Manager, Accountant, Read-only |
assets.register.manage |
Register, depreciate and dispose of assets | Manager, Accountant |
Front Desk and Storekeeper carry neither permission — fixed assets are a financial-controller job, the same split billing setup draws between posting a charge and defining the master it posts against.
What's next#
- Fixed asset register — registering, depreciating and disposing of assets against this setup
- Charge codes, tax and billing setup — the same "financial controller" persona's other master
- Accounting overview and the chart of accounts — where the four system accounts these tabs fall back to actually live
- The ledger — where depreciation and disposal entries land once posted