Fixed Assets

The company's asset register (buildings, vehicles, equipment, furniture…) with automatic monthly straight-line depreciation and its accounting entries, through to disposal or sale.

ℹ️ Working order: 1) Create the asset categories and link their three GL accounts → 2) record every asset in the asset register3) at each month end execute the monthly depreciation run, which posts one consolidated journal entry automatically. Access to each screen is governed by the ASSET.Categories.*, ASSET.Assets.* and ASSET.Depreciation.View / Run permissions assigned to your role.

Asset categories

Route: Fixed Assets › Asset Categories/assets/categories

Asset categories
Asset category list

Purpose: start here — the category defines the accounting policy for every asset assigned to it: which balance-sheet account carries the cost, which contra account accumulates depreciation and which P&L account receives the monthly charge. Create one category per kind of asset that should appear as its own line on the balance sheet (Vehicles, Computers, Office furniture, Machinery…).

When: once during module setup, and again whenever a new kind of asset appears. An asset cannot be saved without a category.

Category list

The list shows: category code, Arabic name, English name and the Active flag. Each row offers Edit (pencil) and Delete (trash) actions.

Category editor fields

FieldRequiredDescription
Category codeAutoAssigned automatically from the master code sequence; read-only, unique (max 30 characters).
Arabic nameYese.g. سيارات — max 200 characters.
English nameNoIf left empty, the Arabic name is copied into it on save.
Asset accountYesBalance-sheet account where the acquisition cost is capitalized (e.g. “Vehicles at cost”).
Accumulated depreciation accountYesThe contra-asset account credited by every monthly run (e.g. “Accumulated depreciation — vehicles”).
Depreciation expense accountYesP&L account debited with the monthly charge (e.g. “Depreciation expense — vehicles”).
ActiveShown when editing only. Inactive categories stay on saved assets but disappear from the category picker for new assets.

All three account pickers list only posting (leaf) accounts from the chart of accounts, displayed as code – name, with type-ahead search. A notes side panel lets you attach remarks to the category record. Footer buttons: Save, Save & New, Back.

How the account wiring works

Every monthly depreciation run aggregates the charges of all assets per category and posts, for each category: Dr its depreciation expense account / Cr its accumulated depreciation account. The asset account itself is never touched by the run — it keeps the original cost, so the balance sheet shows cost and accumulated depreciation as two separate lines whose difference is the net book value.

💡 Tip: create a dedicated accumulated-depreciation account and a dedicated expense account per category rather than sharing one across all categories — your balance sheet and income statement then break down by asset class with no extra work.

Errors & common mistakes

SituationWhat happens / what to do
Saving without the Arabic name or with any of the three accounts emptyThe form does not save — all three accounts are mandatory.
Duplicate category codeRejected: “Category code '…' already exists.” (codes are auto-assigned, so this only occurs with imported data).
Deleting a category that has assetsBlocked: “Category has assets - it cannot be deleted.” Reassign or delete the assets first, or simply untick Active to retire the category.
Choosing the wrong account (e.g. expense account in the asset slot)Nothing stops you — but every future run will post to the wrong account. Fix the category; the correction applies to future runs only (correct already-posted entries with a manual journal entry).

FAQ

Q. Where do I set the useful life of a category's assets?
A. On the asset itself. The category holds only the three accounts; each asset carries its own useful life in months, so two machines in the same category can depreciate over different periods.

Q. Can I change a category's accounts after assets have depreciated?
A. Yes — the change affects future runs only. Entries already posted keep the accounts that were configured at run time.

Q. What does deactivating a category do?
A. It hides the category from the picker on new assets. Existing assets keep it and keep depreciating normally.

Asset register

Route: Fixed Assets › Asset Register/assets/assets

Asset register
The asset register
New asset
Adding an asset

Purpose: one card per asset holding its identity, cost data and depreciation parameters. The register list is your live fixed-asset ledger: it shows each asset's cost, accumulated depreciation and net book value (cost − accumulated depreciation), with column totals at the bottom for all three amounts.

When: register an asset as soon as it is acquired — before the depreciation run of its first month — so its charge is captured on time.

Register list columns

Code, Arabic name, category, acquisition date, acquisition cost (Σ), accumulated depreciation (Σ) and book value (Σ), plus a status chip:

StatusMeaning
ActiveIn use — included in every monthly depreciation run.
Fully depreciatedAccumulated depreciation has reached (cost − salvage). The system sets this automatically during the run; the asset is skipped from then on and its book value equals the salvage value.
DisposedRemoved from service. The current version has no automatic disposal action on this screen — see Disposal & sale for the manual procedure.

Asset editor fields

FieldRequiredDescription
Asset codeAutoAssigned automatically from the master code sequence; read-only, unique (max 40 characters).
Arabic nameYesMax 200 characters.
English nameNoFalls back to the Arabic name if left empty.
CategoryYesSearchable picker showing active categories only; determines the GL accounts used at posting.
BranchNoOptional, clearable — records which branch owns the asset.
Acquisition dateYesPurchase date; defaults to today.
Depreciation startNoFirst month in which the asset depreciates. If left empty it defaults to the acquisition date. Set it later than the acquisition date for assets installed or commissioned after purchase.
Acquisition costYesMust be greater than 0; two decimals.
Salvage valueNoEstimated residual value at end of life; ≥ 0 and must be below the acquisition cost. Never depreciated away.
Useful life (months)Yes1 – 1200 months; defaults to 60 (5 years). Enter months, not years: 5 years = 60.
Monthly depreciationRead-onlyLive preview = (cost − salvage) ÷ life months, rounded to 2 decimals; updates as you type.
LocationNoFree text — site, floor, room…
NotesNoFree text (serial number, supplier, warranty…).
ActiveShown when editing only. Unticking it excludes the asset from all future depreciation runs.

The editor also has a notes side panel for attaching remarks to the asset record, and the standard Save / Save & New / Back buttons.

Worked example — setting up an asset

  1. A delivery truck is bought on 2026-01-15 for 60,000, expected to be resold for 6,000 after 5 years.
  2. Enter: acquisition cost 60,000 · salvage value 6,000 · useful life 60 months. Leave depreciation start empty (it defaults to 2026-01-15).
  3. Depreciable base = 60,000 − 6,000 = 54,000.
  4. Monthly charge = 54,000 ÷ 60 = 900.00 — shown instantly in the “Monthly depreciation” preview.
  5. Save. From the January 2026 run onward the truck contributes 900.00 per month.

Editing and deleting rules

RuleDetail
Cost is locked after depreciation startsOnce any depreciation has been posted, changing the acquisition cost is rejected: “Cost cannot change after depreciation has started.”
Delete is blocked after depreciation starts“Asset already has posted depreciation - it cannot be deleted.” Untick Active instead to stop further charges.
Life / salvage can still be adjustedChanging them recalculates the monthly charge for future runs; past runs are never restated. The clamp rule guarantees total depreciation never exceeds the (new) depreciable base.
⚠️ Backdated acquisition: registering an asset with a past acquisition date does not create catch-up charges for months whose runs were already executed. Each run posts one monthly amount only. If the missed months have not been run yet, run them one by one and the asset is included; if they have, the asset simply keeps depreciating one charge per future month — it reaches full depreciation later than its nominal end-of-life, but the total never exceeds (cost − salvage).

FAQ

Q. Why is the “Monthly depreciation” field not editable?
A. It is a computed preview: (cost − salvage) ÷ life months. To change the charge, change one of those three inputs.

Q. The asset was purchased in January but only put to use in March. What do I enter?
A. Acquisition date 2026-01-…, depreciation start 2026-03-01. The runs of January and February will skip it; March charges the first 900.

Q. Can two assets in the same category have different useful lives?
A. Yes — life, cost and salvage are per-asset. The category only supplies the GL accounts.

Q. What happens when an asset becomes fully depreciated?
A. The run flags it Fully depreciated automatically the moment accumulated depreciation reaches (cost − salvage). It stays in the register at a book value equal to its salvage value and is skipped by all later runs.

Monthly depreciation

Route: Fixed Assets › Monthly Depreciation/assets/depreciation

Monthly depreciation
Monthly depreciation run

Purpose: compute and post straight-line depreciation for all eligible assets of a chosen month in one batch, producing one consolidated journal entry. The screen also lists the full run history.

When: once per month, at month end, as part of your closing checklist — and every month must be run before Year Closing.

Running a month

  1. Enter the year (2000–2100) and month (1–12) in the toolbar — they default to the current month.
  2. Press Run. The system selects every asset that is Active (status and flag) and whose depreciation start date falls on or before the month's last day.
  3. For each asset it charges min(monthly amount, remaining depreciable base), updates its accumulated depreciation, and flags it Fully depreciated when the base is exhausted.
  4. One consolidated journal entry is posted automatically, dated the last day of the month, of type “Automatic”, referenced “Depreciation YYYY-MM” — with one Dr/Cr pair per category.
  5. The new run appears at the top of the history list.
ℹ️ No preview step: the run executes immediately when you press Run. To check an asset's expected charge beforehand, open its card — the “Monthly depreciation” field shows exactly what the run will post for it.

Run history columns

ColumnDescription
Year / MonthThe period the run covers (one run per year+month pair, ever).
Run dateDate and time the run was actually executed.
Asset countNumber of assets that received a charge in this run.
Depreciation amountTotal posted by the run (column total at the bottom).
Journal entry (book icon)Opens the posted journal entry in the entry viewer dialog.

Worked example — a full year of runs

Continuing the truck example (cost 60,000, salvage 6,000, life 60 months, monthly 900.00), assuming it is the only asset:

RunChargeAccumulated afterBook value after
2026-01900.00900.0059,100.00
2026-02900.001,800.0058,200.00
2026-03900.002,700.0057,300.00
2026-04900.003,600.0056,400.00
2026-05900.004,500.0055,500.00
2026-06900.005,400.0054,600.00
2026-07900.006,300.0053,700.00
2026-08900.007,200.0052,800.00
2026-09900.008,100.0051,900.00
2026-10900.009,000.0051,000.00
2026-11900.009,900.0050,100.00
2026-12900.0010,800.0049,200.00

After 60 runs the accumulated depreciation reaches the full base of 54,000, the status flips to Fully depreciated, and the book value rests at the salvage value of 6,000. The 61st run simply skips the truck.

ℹ️ Rounding: the monthly amount is rounded to 2 decimals and each charge is clamped to the remaining base, so the lifetime total can never exceed (cost − salvage). When the division is not exact, a tiny residual (a few cents) is charged in one extra final month.

The consolidated journal entry

Charges are aggregated per category. Example for a month where Vehicles depreciate 1,350.00 (two trucks) and Computers 300.00:

AccountDebitCredit
Depreciation expense — Vehicles1,350.00
Depreciation expense — Computers300.00
Accumulated depreciation — Vehicles1,350.00
Accumulated depreciation — Computers300.00
Total1,650.001,650.00

Being an automatic entry, it is never edited directly — corrections go through the asset cards or a manual adjusting entry.

Errors & common mistakes

SituationWhat happens / what to do
Running the same month twiceBlocked: “Depreciation for YYYY-MM has already been run.” One run per year+month pair — there is no undo/re-run on this screen.
No eligible assets“No depreciable assets for this month.” — nothing to charge (no active assets, all fully depreciated, or every start date is after this month).
Wrong year/month typedThe run posts for whatever period you entered — the fields are free, and months are not forced into order. Double-check the toolbar before pressing Run, and run months chronologically as a working rule.
Asset registered after its month was runNo catch-up charge is created; the asset starts contributing from the next executed run and finishes its schedule correspondingly later (see the warning in the register section).
Category accounts mis-configuredThe entry posts to whatever accounts the category holds. Fix the category before running; already-posted runs need a manual reclassification entry.
⚠️ Before year closing: make sure depreciation has been run for every month up to December before executing Year Closing — the run history on this screen makes missing months easy to spot.

FAQ

Q. Can I see the journal entry a run produced?
A. Yes — the book icon on the run's row opens the posted entry with all its lines.

Q. I ran a month by mistake — how do I reverse it?
A. There is no reversal button on this screen. Post a manual reversing journal entry (Dr accumulated depreciation / Cr depreciation expense) and correct the asset positions with your accountant. The period itself remains marked as run.

Q. Does the run prorate the first month for assets acquired mid-month?
A. No — any asset whose depreciation start falls on or before the month's last day receives the full monthly charge for that month.

Q. Who can run depreciation?
A. Only users whose role has the ASSET.Depreciation.Run permission; viewing the history needs ASSET.Depreciation.View.

Disposal & sale of an asset

Purpose: remove an asset from service and recognize the gain or loss on disposal. The current version has no automatic disposal button — the Disposed status exists in the register, and the accounting is recorded with a manual journal entry using the procedure below.

Procedure

  1. Run monthly depreciation up to and including the month of sale, so the accumulated depreciation is current.
  2. Note the asset's figures from its card: cost, accumulated depreciation and book value.
  3. Post a manual journal entry: debit the proceeds (bank/cash) and the accumulated depreciation account; credit the asset account for the full cost; the balancing difference is the gain (credit) or loss (debit) on disposal.
  4. Open the asset card and untick Active so future runs skip it, and record the sale details in the Notes field.

Worked example — gain on sale

The truck is sold for 40,000 after 24 monthly runs: accumulated depreciation = 24 × 900 = 21,600; book value = 60,000 − 21,600 = 38,400; gain = 40,000 − 38,400 = 1,600.

AccountDebitCredit
Bank40,000.00
Accumulated depreciation — Vehicles21,600.00
Vehicles at cost60,000.00
Gain on asset disposal1,600.00
Total61,600.0061,600.00

Worked example — loss on sale

Same truck sold for 35,000 instead: loss = 38,400 − 35,000 = 3,400.

AccountDebitCredit
Bank35,000.00
Accumulated depreciation — Vehicles21,600.00
Loss on asset disposal3,400.00
Vehicles at cost60,000.00
Total60,000.0060,000.00

FAQ

Q. An asset was scrapped with no proceeds — what is the entry?
A. Same pattern without the bank line: Dr accumulated depreciation, Dr loss on disposal for the remaining book value, Cr asset cost.

Q. Why must I untick “Active” after the sale?
A. The run charges every active asset whose schedule is still open — deactivating it is what stops further depreciation on a sold asset.

Q. Can I delete the asset instead?
A. Not once it has posted depreciation — deletion is blocked to protect the ledger. Deactivate it and keep it as history.

Frequently asked questions

How do I register a fixed asset?

Open Fixed Assets › Assets › New, enter the asset, its category, acquisition cost and date, and the depreciation method; the code is generated automatically.

How does depreciation work?

Run monthly depreciation from the depreciation screen; KEMTOVA ERP calculates and posts the depreciation expense per asset based on its method and useful life.

Can I dispose of or sell an asset?

Yes. Record a disposal to remove the asset, post any gain or loss versus its book value, and stop further depreciation.

How is book value calculated?

Book value = acquisition cost − accumulated depreciation, updated automatically each time a depreciation run is posted.