Appearance
Financial Statements
| Backlog field | Value |
|---|---|
| Story ID | AP-ACC-005 |
| Epic | Accounting |
| Story type | Report |
| Review status | Draft - business analyst and business owner review required |
| Source evidence | AppsPortal.Apis controller, application command/query handlers, validators, domain entities, and matching MFE workflow where available |
| Last source review | 2026-07-10 |
User story
As finance managers, I want to produce income statement and financial-position reports so that management can assess performance and position.
Acceptance criteria
- Only authorized users can view or execute the feature's actions.
- Required business data, active dependencies, tenant/branch scope, and current document state are validated.
- Invalid requests return actionable validation errors without applying a partial change.
- Search, list, view, print, and export operations use the same authorized business scope.
- Material create, edit, status, approval, posting, reversal, and integration actions are auditable where applicable.
- Financial or stock effects are applied atomically and no more than once.
Business rules
Required
Statement date/period and configured account hierarchy/classification are required.
Optional or conditional
Comparative periods, cost centers, levels, branches, and zero rows are optional filters.
Action behavior
Reports aggregate posted journals only and create no status, balance, or GL change.
Blocking rule or downstream effect
Income statement and financial position totals must trace to trial balance under identical filters.
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/page | Component | Mode | Route permission/guard | Mapping confidence | Source |
|---|---|---|---|---|---|
| statement-of-financial-position | StatementFinancialPositionComponent | List/navigation | No route-level permission/guard found in source window | Feature token match | apps/accounting/src/app/remote-entry/report/report-routing.module.ts:10 |
Observed frontend fields and validation
| Component | Control | Observed frontend rule | Component source |
|---|---|---|---|
| HeaderReportStatementComponent | Branches | Visible control; optional or API-dependent | apps/accounting/src/app/remote-entry/report/component/header-report-statement/header-report-statement.component.ts |
| HeaderReportStatementComponent | range | Required in component validator | apps/accounting/src/app/remote-entry/report/component/header-report-statement/header-report-statement.component.ts |
| HeaderReportStatementComponent | viewZeroBalance | Visible control; optional or API-dependent | apps/accounting/src/app/remote-entry/report/component/header-report-statement/header-report-statement.component.ts |
Observed frontend actions
| Component | Click action/handler | Business review requirement | Component source |
|---|---|---|---|
| HeaderReportStatementComponent | printTable | Generate 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/report/component/header-report-statement/header-report-statement.component.ts |
Page-specific frontend acceptance criteria
- statement-of-financial-position - 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