Skip to content

Asset Opening Balances

Backlog fieldValue
Story IDAP-FA-004
EpicFixed Assets
Story typeReport
Review statusDraft - business analyst and business owner review required
Source evidenceAppsPortal.Apis controller, application command/query handlers, validators, domain entities, and matching MFE workflow where available
Last source review2026-07-10

User story

As implementation accountants, I want to load acquisition cost and accumulated depreciation baselines so that asset accounting starts from approved values.

Posting reference: AppsPortal Posting Ledger explains debit/credit construction. Delegation and Interaction Contracts explains module ownership, delegated commands, linked records, commit boundaries, and reversal propagation.

Acceptance criteria

  1. Only authorized users can view or execute the feature's actions.
  2. Required business data, active dependencies, tenant/branch scope, and current document state are validated.
  3. Invalid requests return actionable validation errors without applying a partial change.
  4. Search, list, view, print, and export operations use the same authorized business scope.
  5. Material create, edit, status, approval, posting, reversal, and integration actions are auditable where applicable.
  6. Financial or stock effects are applied atomically and no more than once.

Posting details

  1. Validate Draft, open period, asset eligibility, acquisition cost, accumulated depreciation, net book value consistency, and required asset/group accounts.
  2. Build and delegate the balanced opening asset journal to Accounting using configured asset and accumulated-depreciation accounts.
  3. Update asset financial baseline, depreciation starting state, source links, and lifecycle status.
  4. Mark Posted and commit journal plus asset values together.
  5. Unpost is blocked by later depreciation, transfer, sale, disposal, or closed-period activity.

General ledger posting

ComponentDebitCreditRule
Opening asset costAsset GLOpening balancing accountAsset then group mapping/policy.
Opening accumulated depreciationOpening balancing accountAccumulated Depreciation GLMust reconcile to cost and net book value.

Other module and document effects

AreaEffectConditional/no effect
Fixed Asset registerEstablishes cost, accumulated depreciation, NBV, depreciation start, and Posted state.No inventory quantity, vendor payable, or cash movement.
Later lifecycleBecomes baseline for depreciation, transfer, sale, and disposal.Dependents block unpost.

Core acceptance scenarios

  1. Given valid Draft asset baseline values and required accounts, when the asset accountant clicks Post, then asset cost, accumulated depreciation, net book value, journal, and status become effective together.
  2. Given later depreciation or lifecycle activity exists, when the operation is attempted, then Unpost is rejected.
  3. Given the same Post request is retried after success, when the source is no longer Draft, then no duplicate journal, stock, balance, payment, or lifecycle effect is created.

Required data and Post

Draft opening balance, open date/period, assets, acquisition/local cost, accumulated depreciation, net book value consistency, and required asset/group accounts are required. Post creates the opening asset/accounting baseline, updates asset financial values/status, links the journal, and marks Posted. Unpost requires open periods and no later dependent depreciation/transfer/sale/disposal; it reverses the baseline atomically.

Frontend page coverage

The following UI coverage is sourced from the pulled MFE route configuration. A Module-level supporting artifact mapping is evidence of a reachable screen, but requires BA confirmation that it belongs to this story rather than a more specific feature story.

Route/pageComponentModeRoute permission/guardMapping confidenceSource
assets-opening-balancesLazy-loaded routeList/navigationNo route-level permission/guard found in source windowFeature token matchapps/fixedAssets/src/app/remote-entry/transactions/transactions-routing.module.ts:6

Observed frontend fields and validation

ComponentControlObserved frontend ruleComponent source
--No reactive formControlName controls were found for the routed components; review template-driven/shared child components.Route sources above

Observed frontend actions

ComponentClick action/handlerBusiness review requirementComponent source
--No direct (click) handler was found; review shared toolbar/table commands and form submission bindings.Route sources above

Page-specific frontend acceptance criteria

  1. assets-opening-balances - List/navigation: Load an authorized paged/searchable list or navigation page; preserve filters/sort/paging and expose only permitted row and bulk actions. Security observed: No route-level permission/guard found in source window

Internal Documentation — Microtec