Skip to content

Cost Center Reports

Backlog fieldValue
Story IDAP-ACC-003
EpicAccounting
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 management accountants, I want to analyze balances and income by cost center so that operational responsibility can be evaluated.

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.

Business rules

Required

Date/period and at least one authorized cost-center/account scope are required by the selected report.

Optional or conditional

Hierarchy depth, comparison, account and branch filters are optional.

Action behavior

View/Print/Export are read-only and use journal cost-center allocations.

Blocking rule or downstream effect

Unallocated journal values are included/excluded only by explicit report policy.

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
cost-centerCostCenterReportComponentReport/printPermission: AppAccountingPermissions.CostCenterReports_ReportView; Guards: PolicyAuthGuardFeature token matchapps/accounting/src/app/remote-entry/journal-entry/journal-entry.module.ts:120
cost-centerMainCostCenterComponentList/navigationPermission: AppAccountingPermissions.CostCenters_List; Guards: PolicyAuthGuardFeature token matchapps/accounting/src/app/remote-entry/account/account.module.ts:69
cost-center-income-statementCostCenterIncomeStatmentComponentList/navigationNo route-level permission/guard found in source windowFeature token matchapps/accounting/src/app/remote-entry/report/report-routing.module.ts:26
reportsLazy-loaded routeReport/printNo route-level permission/guard found in source windowFeature token matchapps/accounting/src/app/remote-entry/entry.routes.ts:30

Observed frontend fields and validation

ComponentControlObserved frontend ruleComponent source
CostCenterIncomeStatmentComponentcostCenterIdVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/report/pages/cost-center-income-statment/cost-center-income-statment.component.ts
CostCenterIncomeStatmentComponentFromDateVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/report/pages/cost-center-income-statment/cost-center-income-statment.component.ts
CostCenterIncomeStatmentComponentToDateVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/report/pages/cost-center-income-statment/cost-center-income-statment.component.ts
CostCenterReportComponentcostCentersVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterReportComponentdateFromVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterReportComponentdateToVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterReportComponentglAccountsVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterReportComponentpostedVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterReportComponentunpostedVisible control; optional or API-dependentapps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts

Observed frontend actions

ComponentClick action/handlerBusiness review requirementComponent source
CostCenterIncomeStatmentComponentonVeiwOpen the authorized record in view mode with its status, totals, lines, source and generated-document links; handle deleted, forbidden, and missing records without exposing stale data.apps/accounting/src/app/remote-entry/report/pages/cost-center-income-statment/cost-center-income-statment.component.ts
CostCenterIncomeStatmentComponentviewDataOpen the authorized record in view mode with its status, totals, lines, source and generated-document links; handle deleted, forbidden, and missing records without exposing stale data.apps/accounting/src/app/remote-entry/report/pages/cost-center-income-statment/cost-center-income-statment.component.ts
CostCenterReportComponentgetCostCenterReportsDocument the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler.apps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterReportComponentprintTableGenerate the printout for the selected record and authorized branch/tenant; use posted/current values and surface print, template, ZATCA/ETA, or popup failures without changing transaction state.apps/accounting/src/app/remote-entry/journal-entry/pages/report/cost-center-report/cost-center-report.component.ts
CostCenterTreeComponentaddChildDocument the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler.apps/accounting/src/app/remote-entry/account/pages/cost-center/cost-center-tree/cost-center-tree.component.ts
CostCenterTreeComponentdeleteCostAvailable only in deletable states with Delete permission; identify the record in confirmation, call delete once, remove/refresh the list row on success, and retain the row with the API reason on failure.apps/accounting/src/app/remote-entry/account/pages/cost-center/cost-center-tree/cost-center-tree.component.ts
CostCenterTreeComponenteditAccountOpen the identified editable record only with Edit permission; posted/locked records remain blocked by route or action state and list context must be recoverable on return.apps/accounting/src/app/remote-entry/account/pages/cost-center/cost-center-tree/cost-center-tree.component.ts
CostCenterTreeComponenthandleTabClickDocument the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler.apps/accounting/src/app/remote-entry/account/pages/cost-center/cost-center-tree/cost-center-tree.component.ts
CostCenterTreeComponentnewChildDocument the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler.apps/accounting/src/app/remote-entry/account/pages/cost-center/cost-center-tree/cost-center-tree.component.ts
CostCenterTreeComponenttoggelTreeDocument the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler.apps/accounting/src/app/remote-entry/account/pages/cost-center/cost-center-tree/cost-center-tree.component.ts

Page-specific frontend acceptance criteria

  1. cost-center - 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: Permission: AppAccountingPermissions.CostCenters_List; Guards: PolicyAuthGuard
  2. cost-center - Report/print: Expose documented filters, validation, empty/loading/error states, authorized results, totals, drill-through, print, and export behavior where present. Security observed: Permission: AppAccountingPermissions.CostCenterReports_ReportView; Guards: PolicyAuthGuard
  3. cost-center-income-statement - 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
  4. reports - Report/print: Expose documented filters, validation, empty/loading/error states, authorized results, totals, drill-through, print, and export behavior where present. Security observed: No route-level permission/guard found in source window

Internal Documentation — Microtec