Appearance
Stock In Report
| Backlog field | Value |
|---|---|
| Story ID | INV-DASH-013 |
| Epic | Inventory |
| Story type | Dashboard |
| Review status | Draft - business analyst and business owner review required |
| Source evidence | Inventory MFE route/form, Inventory.Apis controller, application command/query handlers, validators, domain entities, and posting services |
| Last source review | 2026-07-10 |
Purpose
Analyze inbound stock transactions and their item/tracking detail.
User stories
- As a manager, I want to filter Stock In activity by status, category, warehouse, item, and other document criteria.
- As an auditor, I want transaction, source, item, quantity, cost, tracking, and status detail.
- As a user, I want to open/print a source Stock In and export or print the report.
Acceptance criteria
- Filters are validated and applied within the user's authorized scope.
- Results include document identity/date, source, warehouse, item/variant, unit, quantity, cost/total, tracking, and status where applicable.
- Totals reconcile with displayed rows under the configured rounding policy.
- Source-document print opens the selected Stock In, not only the aggregate report.
- Export and report print use the same filters and localization as the screen.
- View, export, report-print, and source-document-print actions follow permissions.
Inputs and action behavior
Statuses, item categories, warehouses, item variants, From Date, and To Date are optional filters. An empty selection means all authorized matching values. Date range must be valid.
- View: displays filtered detail and totals.
- Print report: produces the aggregate filtered report.
- Print source document: uses the selected Stock In ID and requires source-document print permission.
- Export: uses the same filters/sort and selected format.
- No action in the report posts, edits, or deletes Stock In.
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 |
|---|---|---|---|---|---|
| stock-in-report | StockInReportComponent | Report/print | No route-level permission/guard found in source window | Feature token match | apps/inventory/src/app/remote-entry/reports/reports.module.ts:59 |
Observed frontend fields and validation
| Component | Control | Observed frontend rule | Component source |
|---|---|---|---|
| StockInReportComponent | ItemCategoryIds | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | itemVariantIds | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | statuses | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | warehouseIds | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
Observed frontend actions
| Component | Click action/handler | Business review requirement | Component source |
|---|---|---|---|
| StockInReportComponent | onViewReport | Open 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/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | openItemSearchDialog | Open the item/lookup/tracking dialog with the current warehouse, item, UOM, and remaining quantity context; accepted values must return to the correct line and cancel must not mutate it. | apps/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | printReport | 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/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | routeToJournalView | Open 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/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | routeToSourceDocumentView | Open 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/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
| StockInReportComponent | routeToStockInView | Open 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/inventory/src/app/remote-entry/reports/pages/stock-in-report/stock-in-report.component.ts |
Page-specific frontend acceptance criteria
- stock-in-report - 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