Appearance
Slow-Moving Items Report
| Backlog field | Value |
|---|---|
| Story ID | INV-DASH-012 |
| 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
Identify stock with no qualifying movement within the configured minimum number of days.
User stories
- As an inventory planner, I want to filter slow-moving stock by category, item, and warehouse so that I can act on excess inventory.
- As a manager, I want to see last movement and current balance/value so that I can prioritize action.
- As a user, I want to export or print the filtered result.
Acceptance criteria
- The report uses the Inventory General Settings minimum slow-moving days unless a permitted report input overrides it.
- Filters support category, item variant, and one or more warehouses.
- A result is included only when it has stock and meets the slow-moving definition.
- Each result shows sufficient identity, warehouse, quantity, value, and last-movement context.
- Export and print match the visible filter scope and totals.
- View, export, and print actions follow report permissions.
Needs confirmation
- The exact movement types that reset the slow-moving clock and treatment of items that have never moved.
Inputs and action behavior
- Optional: category IDs, item-variant IDs, and warehouse IDs.
- Derived/defaulted: Report Date defaults to today.
- Slow-moving threshold comes from the item-specific minimum when configured; otherwise Inventory General Settings supplies the module threshold. Needs confirmation: exact precedence must be verified in the query handler.
- View, Export, and Print use the same Report Date and filters.
- The feature is read-only and produces no reorder, transfer, purchase, stock, or GL transaction automatically unless a separately permissioned action is explicitly implemented.
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 |
|---|---|---|---|---|---|
| (module default) | AttributeDefinitionListComponent | List/navigation | Permission: AppInventoryPermissions.ItemAttributesGroup_List,; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:382 |
| (module default) | ItemDefinitionListComponent | List/navigation | Permission: AppInventoryPermissions.Items_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:81 |
| (module default) | OperationTagListComponent | List/navigation | Permission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:344 |
| (module default) | UOMListComponent | List/navigation | Permission: AppInventoryPermissions.UOM_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:293 |
| (module default) | WarehouseListComponent | List/navigation | Permission: AppInventoryPermissions.Warehouse_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:230 |
| accounting/:id | ItemDefinitionAccountingComponent | View/detail | Guards: moduleLicenseGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:185 |
| add | AddAttributeDefinitionComponent | Add | Permission: AppInventoryPermissions.ItemAttributesGroup_Add,; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:395 |
| add | OperationTagAddComponent | Add | Permission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_Add; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:355 |
| add | UOMAddComponent | Add | Permission: AppInventoryPermissions.UOM_Add; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:303 |
| add-warehouse | AddWarehouseComponent | Add | Permission: AppInventoryPermissions.Warehouse_Add; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:240 |
| attributes/:id | ItemDefinitionAttributesVariantsComponent | View/detail | Guards: moduleLicenseGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:129 |
| barcode/:id | ItemDefinitionBarcodeComponent | View/detail | No route-level permission/guard found in source window | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:139 |
| edit/:id | EditAttributeDefinitionComponent | Edit | Permission: AppInventoryPermissions.ItemAttributesGroup_Edit,; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:407 |
| edit/:id | EditWarehouseComponent | Edit | Permission: AppInventoryPermissions.Warehouse_Edit; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:251 |
| edit/:id | OperationTagEditComponent | Edit | Permission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_Edit; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:365 |
| edit/:id | UOMEditComponent | Edit | Permission: AppInventoryPermissions.UOM_Edit; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:313 |
| import/:errorType | ListFileComponent | Import | Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:208 |
| inventory/:id | ItemDefinitionInventoryComponent | View/detail | Guards: moduleLicenseGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:164 |
| items-category | MainItemCategoriesTreeComponent | List/navigation | Permission: AppInventoryPermissions.ItemCategories_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:432 |
| items-reorderrules | ReorderRulesListComponent | List/navigation | Permission: AppInventoryPermissions.ReOrderRules_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:459 |
| pricing/:id | ItemDefinitionPricingComponent | View/detail | Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:174 |
| sequence | SequenceComponent | Sequence | No route-level permission/guard found in source window | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:198 |
| slow-moving-items-report | SlowMovingItemsReportComponent | Report/print | Permission: AppInventoryPermissions.SlowMovingItem_Export , AppInventoryPermissions.SlowMovingItem_Printout , AppInventoryPermissions.SlowMovingItem_ReportView; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/reports/reports.module.ts:41 |
| tax/:id | ItemDefintionTaxComponent | View/detail | Guards: moduleLicenseGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:156 |
| uom | UOMMainComponent | List/navigation | Permission: 'UOM_List'; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:283 |
| uom/:id | ItemDefinitionUomComponent | View/detail | Guards: moduleLicenseGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:111 |
| variants/:id | ItemDefintionVariantComponent | View/detail | Guards: moduleLicenseGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:119 |
| view/:id | AttributeDefinitionListValuesComponent | View/detail | Permission: AppInventoryPermissions.ItemAttributesGroup_View,; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:419 |
| view/:id | UomViewComponent | View/detail | Permission: AppInventoryPermissions.UOM_View; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:323 |
| view/:id | WarehouseDetailsComponent | View/detail | Permission: AppInventoryPermissions.Warehouse_View; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:271 |
| view-warehouse/:id | ViewWarehouseComponent | View/detail | Permission: AppInventoryPermissions.Warehouse_View; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:261 |
| warehouse | MainWarehouseComponent | List/navigation | Permission: AppInventoryPermissions.Warehouse_List; Guards: PolicyAuthGuard | Feature token match | apps/inventory/src/app/remote-entry/items/items.module.ts:221 |
Observed frontend fields and validation
| Component | Control | Observed frontend rule | Component source |
|---|---|---|---|
| AddAttributeDefinitionComponent | attributeId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts |
| AddAttributeDefinitionComponent | isActive | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts |
| AddAttributeDefinitionComponent | nameAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts |
| AddAttributeDefinitionComponent | nameEn | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts |
| AddWarehouseComponent | addressLine | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | adjustmentAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | branchId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | cashSalesAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | city | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | code | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | creditSalesAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | discountAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | email | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | evaluationAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | fax | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | glAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | goodsInTransitAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | latitude | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | longitude | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | name | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | phone | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | postalCode | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | purchaseAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | radius | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | salesCostAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | salesReturnAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | warehouseType | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AttributeDefinitionListValuesComponent | id | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts |
| AttributeDefinitionListValuesComponent | isActive | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts |
| AttributeDefinitionListValuesComponent | nameAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts |
| AttributeDefinitionListValuesComponent | nameEn | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts |
| EditAttributeDefinitionComponent | id | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts |
| EditAttributeDefinitionComponent | isActive | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts |
| EditAttributeDefinitionComponent | nameAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts |
| EditAttributeDefinitionComponent | nameEn | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts |
| EditWarehouseComponent | addressLine | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | adjustmentAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | branchWarehouses | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | cashSalesAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | city | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | code | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | countryCode | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | creditSalesAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | discountAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | email | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | evaluationAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | fax | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | glAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | goodsInTransitAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | latitude | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | longitude | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | name | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | nameAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | phone | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | postalCode | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | purchaseAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | radius | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | salesCostAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | salesReturnAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| EditWarehouseComponent | warehouseType | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| ItemDefinitionAccountingComponent | itemCostCenterId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-accounting/item-definition-accounting.component.ts |
| ItemDefinitionAccountingComponent | itemExpenseAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-accounting/item-definition-accounting.component.ts |
| ItemDefinitionAccountingComponent | itemRevenueAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-accounting/item-definition-accounting.component.ts |
| ItemDefinitionAttributesVariantsComponent | isActive | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts |
| ItemDefinitionBarcodeComponent | barcode | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | isActive | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | itemVariantId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | sku | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | uomId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionInventoryComponent | hasExpiryDate | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-inventory/item-definition-inventory.component.ts |
| ItemDefinitionInventoryComponent | trackingType | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-inventory/item-definition-inventory.component.ts |
| ItemDefinitionPricingComponent | isSellingPriceIncludeVat | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-pricing/item-definition-pricing.component.ts |
| ItemDefinitionPricingComponent | price | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-pricing/item-definition-pricing.component.ts |
| ItemDefinitionUomComponent | conversionRatio | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefinitionUomComponent | isActive | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefinitionUomComponent | unitUsages | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefinitionUomComponent | uomCategoryId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefintionTaxComponent | isSellingPriceIncludeVat | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts |
| ItemDefintionTaxComponent | isVatApplied | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts |
| ItemDefintionTaxComponent | taxId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts |
| OperationTagAddComponent | code | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts |
| OperationTagAddComponent | glAccountId | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts |
| OperationTagAddComponent | name | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts |
| OperationTagAddComponent | nameAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts |
| OperationTagAddComponent | operationType | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts |
| OperationTagAddComponent | warehouseId | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts |
| OperationTagEditComponent | code | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts |
| OperationTagEditComponent | glAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts |
| OperationTagEditComponent | name | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts |
| OperationTagEditComponent | nameAr | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts |
| OperationTagEditComponent | operationType | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts |
| OperationTagEditComponent | warehouseId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts |
| SlowMovingItemsReportComponent | categoryIds | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | itemVariantIds | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | warehouseIds | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts |
| UOMAddComponent | BaseCalculation | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | BaseReversal | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | baseUomAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | baseUomEn | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | etaCode | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | factor | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | fromUnitOfMeasureId | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | nameAr | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | nameEn | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | shortName | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | systemUnitOfMeasureId | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMEditComponent | BaseCalculation | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | BaseReversal | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | baseUomAr | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | baseUomEn | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | etaCode | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | factor | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | fromUnitOfMeasureId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | nameAr | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | nameEn | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | shortName | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | systemUnitOfMeasureId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| WarehouseDetailsComponent | addressLine | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | branchWarehouses | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | city | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | code | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | countryCode | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | email | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | fax | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | glAccountId | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | latitude | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | longitude | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | name | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | nameAr | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | phone | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | postalCode | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | radius | Visible control; optional or API-dependent | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseDetailsComponent | warehouseType | Required in component validator | apps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts |
Observed frontend actions
| Component | Click action/handler | Business review requirement | Component source |
|---|---|---|---|
| AddAttributeDefinitionComponent | addLine | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts |
| AddAttributeDefinitionComponent | deleteLine | Available 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/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts |
| AddWarehouseComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AddWarehouseComponent | onSubmit | Validate the concrete form and line collection, prevent duplicate submission, persist once, show API field/business errors in context, and navigate/refresh only after success. | apps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts |
| AttributeDefinitionListComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list/attribute-definition-list.component.ts |
| AttributeDefinitionListComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list/attribute-definition-list.component.ts |
| AttributeDefinitionListComponent | onView | 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/items/pages/attribute-definition/attribute-definition-list/attribute-definition-list.component.ts |
| EditAttributeDefinitionComponent | addLine | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts |
| EditAttributeDefinitionComponent | deleteLine | Available 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/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts |
| EditWarehouseComponent | toggleView | 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/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts |
| ItemDefinitionAttributesVariantsComponent | addLineAttribute | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts |
| ItemDefinitionAttributesVariantsComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts |
| ItemDefinitionAttributesVariantsComponent | onDeleteAttribute | Available 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/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts |
| ItemDefinitionAttributesVariantsComponent | onEditAttribute | Open 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/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts |
| ItemDefinitionAttributesVariantsComponent | onSave | Validate the concrete form and line collection, prevent duplicate submission, persist once, show API field/business errors in context, and navigate/refresh only after success. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts |
| ItemDefinitionBarcodeComponent | addLineBarcode | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | onDeleteBarcode | Available 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/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | onSaveBarcode | Validate the concrete form and line collection, prevent duplicate submission, persist once, show API field/business errors in context, and navigate/refresh only after success. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | openBarcode | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionBarcodeComponent | openQRcode | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts |
| ItemDefinitionInventoryComponent | onAddVariants | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-inventory/item-definition-inventory.component.ts |
| ItemDefinitionInventoryComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-inventory/item-definition-inventory.component.ts |
| ItemDefinitionListComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-list/item-definition-list.component.ts |
| ItemDefinitionListComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-list/item-definition-list.component.ts |
| ItemDefinitionPricingComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-pricing/item-definition-pricing.component.ts |
| ItemDefinitionPricingComponent | onSave | Validate the concrete form and line collection, prevent duplicate submission, persist once, show API field/business errors in context, and navigate/refresh only after success. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-pricing/item-definition-pricing.component.ts |
| ItemDefinitionUomComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefinitionUomComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefinitionUomComponent | onSave | Validate the concrete form and line collection, prevent duplicate submission, persist once, show API field/business errors in context, and navigate/refresh only after success. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts |
| ItemDefintionTaxComponent | onAddVariants | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts |
| ItemDefintionTaxComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts |
| ItemDefintionVariantComponent | onCancel | Leave or close without persisting; warn when the current form has unsaved changes and restore the prior list/filter context. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-variants/item-defintion-variant.component.ts |
| ItemDefintionVariantComponent | onToggleVariant | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-variants/item-defintion-variant.component.ts |
| ItemsCategoryTreeComponent | addChild | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-categories-tree/items-category-tree/items-category-tree.component.ts |
| ItemsCategoryTreeComponent | editAccount | Open 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/inventory/src/app/remote-entry/items/pages/item-categories-tree/items-category-tree/items-category-tree.component.ts |
| ItemsCategoryTreeComponent | handleTabClick | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-categories-tree/items-category-tree/items-category-tree.component.ts |
| ItemsCategoryTreeComponent | newChild | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-categories-tree/items-category-tree/items-category-tree.component.ts |
| ItemsCategoryTreeComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/item-categories-tree/items-category-tree/items-category-tree.component.ts |
| ItemsCategoryTreeComponent | toggelTree | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/items/pages/item-categories-tree/items-category-tree/items-category-tree.component.ts |
| MainItemCategoriesTreeComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/item-categories-tree/main-item-categories-tree/main-item-categories-tree.component.ts |
| OperationTagListComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-list/operation-tag-list.component.ts |
| OperationTagListComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-list/operation-tag-list.component.ts |
| ReorderRulesListComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/reorder-rules/reorder-rules-list/reorder-rules-list.component.ts |
| ReorderRulesListComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/reorder-rules/reorder-rules-list/reorder-rules-list.component.ts |
| SlowMovingItemsReportComponent | onViewReportClick | 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/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | openDialog | 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/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | 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/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | routeToInvoice | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | routeToPurchaseInvoice | Document the enabled state, permission, input context, resulting API or navigation effect, success refresh, and concrete failure behavior for this handler. | apps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | 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/slow-moving-items-report/slow-moving-items-report.component.ts |
| SlowMovingItemsReportComponent | routeToStockOutView | 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/slow-moving-items-report/slow-moving-items-report.component.ts |
| UOMAddComponent | addLine | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMAddComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts |
| UOMEditComponent | addLine | Add one initialized detail row without changing existing rows; apply defaults and line validators, preserve stable row identity, and exclude incomplete rows from Save/Post. | apps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMEditComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts |
| UOMListComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-list/uom-list.component.ts |
| UOMListComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-list/uom-list.component.ts |
| UOMListComponent | onView | 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/items/pages/unit-of-major/uom-list/uom-list.component.ts |
| WarehouseDetailsComponent | toggleView | 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/items/pages/warehouse/view/details-warehouse.component.ts |
| WarehouseListComponent | onDelete | Available 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/inventory/src/app/remote-entry/items/pages/warehouse/warehouse-list/warehouse-list.component.ts |
| WarehouseListComponent | onEdit | Open 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/inventory/src/app/remote-entry/items/pages/warehouse/warehouse-list/warehouse-list.component.ts |
| WarehouseListComponent | onView | 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/items/pages/warehouse/warehouse-list/warehouse-list.component.ts |
| WarehouseListComponent | onViewDetails | 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/items/pages/warehouse/warehouse-list/warehouse-list.component.ts |
Page-specific frontend acceptance criteria
- (module default) - 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: AppInventoryPermissions.UOM_List; Guards: PolicyAuthGuard
- accounting/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: moduleLicenseGuard
- add - Add: Render permitted fields, required indicators, defaults, dependent lookups, validation, Save/Cancel, loading, success, and API-error states. Security observed: Permission: AppInventoryPermissions.UOM_Add; Guards: PolicyAuthGuard
- add-warehouse - Add: Render permitted fields, required indicators, defaults, dependent lookups, validation, Save/Cancel, loading, success, and API-error states. Security observed: Permission: AppInventoryPermissions.Warehouse_Add; Guards: PolicyAuthGuard
- attributes/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: moduleLicenseGuard
- barcode/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: No route-level permission/guard found in source window
- edit/:id - Edit: Load the identified record, enforce state/permission field locks, preserve concurrency identity, validate changes, and return without losing filters. Security observed: Permission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_Edit; Guards: PolicyAuthGuard
- import/:errorType - Import: Provide template/download and upload flow, file/type/size validation, row-level preview/errors, confirmation, duplicate policy, and partial-failure rules. Security observed: Guards: PolicyAuthGuard
- inventory/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: moduleLicenseGuard
- items-category - 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: AppInventoryPermissions.ItemCategories_List; Guards: PolicyAuthGuard
- items-reorderrules - 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: AppInventoryPermissions.ReOrderRules_List; Guards: PolicyAuthGuard
- pricing/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: PolicyAuthGuard
- sequence - Sequence: Show current numbering scope and permit only authorized, valid sequence configuration without retroactively renumbering posted documents. Security observed: No route-level permission/guard found in source window
- slow-moving-items-report - Report/print: Expose documented filters, validation, empty/loading/error states, authorized results, totals, drill-through, print, and export behavior where present. Security observed: Permission: AppInventoryPermissions.SlowMovingItem_Export , AppInventoryPermissions.SlowMovingItem_Printout , AppInventoryPermissions.SlowMovingItem_ReportView; Guards: PolicyAuthGuard
- tax/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: moduleLicenseGuard
- uom - 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: 'UOM_List'; Guards: PolicyAuthGuard
- uom/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: moduleLicenseGuard
- variants/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Guards: moduleLicenseGuard
- view/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Permission: AppInventoryPermissions.Warehouse_View; Guards: PolicyAuthGuard
- view-warehouse/:id - View/detail: Load an authorized immutable/detail representation with status-aware actions, linked records, print/export where exposed, and not-found/forbidden handling. Security observed: Permission: AppInventoryPermissions.Warehouse_View; Guards: PolicyAuthGuard
- warehouse - 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: AppInventoryPermissions.Warehouse_List; Guards: PolicyAuthGuard