Skip to content

Slow-Moving Items Report

Backlog fieldValue
Story IDINV-DASH-012
EpicInventory
Story typeDashboard
Review statusDraft - business analyst and business owner review required
Source evidenceInventory MFE route/form, Inventory.Apis controller, application command/query handlers, validators, domain entities, and posting services
Last source review2026-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

  1. The report uses the Inventory General Settings minimum slow-moving days unless a permitted report input overrides it.
  2. Filters support category, item variant, and one or more warehouses.
  3. A result is included only when it has stock and meets the slow-moving definition.
  4. Each result shows sufficient identity, warehouse, quantity, value, and last-movement context.
  5. Export and print match the visible filter scope and totals.
  6. 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/pageComponentModeRoute permission/guardMapping confidenceSource
(module default)AttributeDefinitionListComponentList/navigationPermission: AppInventoryPermissions.ItemAttributesGroup_List,; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:382
(module default)ItemDefinitionListComponentList/navigationPermission: AppInventoryPermissions.Items_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:81
(module default)OperationTagListComponentList/navigationPermission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:344
(module default)UOMListComponentList/navigationPermission: AppInventoryPermissions.UOM_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:293
(module default)WarehouseListComponentList/navigationPermission: AppInventoryPermissions.Warehouse_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:230
accounting/:idItemDefinitionAccountingComponentView/detailGuards: moduleLicenseGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:185
addAddAttributeDefinitionComponentAddPermission: AppInventoryPermissions.ItemAttributesGroup_Add,; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:395
addOperationTagAddComponentAddPermission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_Add; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:355
addUOMAddComponentAddPermission: AppInventoryPermissions.UOM_Add; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:303
add-warehouseAddWarehouseComponentAddPermission: AppInventoryPermissions.Warehouse_Add; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:240
attributes/:idItemDefinitionAttributesVariantsComponentView/detailGuards: moduleLicenseGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:129
barcode/:idItemDefinitionBarcodeComponentView/detailNo route-level permission/guard found in source windowFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:139
edit/:idEditAttributeDefinitionComponentEditPermission: AppInventoryPermissions.ItemAttributesGroup_Edit,; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:407
edit/:idEditWarehouseComponentEditPermission: AppInventoryPermissions.Warehouse_Edit; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:251
edit/:idOperationTagEditComponentEditPermission: AppInventoryPermissions.ALL, AppInventoryPermissions.OperationalTags_Edit; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:365
edit/:idUOMEditComponentEditPermission: AppInventoryPermissions.UOM_Edit; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:313
import/:errorTypeListFileComponentImportGuards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:208
inventory/:idItemDefinitionInventoryComponentView/detailGuards: moduleLicenseGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:164
items-categoryMainItemCategoriesTreeComponentList/navigationPermission: AppInventoryPermissions.ItemCategories_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:432
items-reorderrulesReorderRulesListComponentList/navigationPermission: AppInventoryPermissions.ReOrderRules_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:459
pricing/:idItemDefinitionPricingComponentView/detailGuards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:174
sequenceSequenceComponentSequenceNo route-level permission/guard found in source windowFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:198
slow-moving-items-reportSlowMovingItemsReportComponentReport/printPermission: AppInventoryPermissions.SlowMovingItem_Export , AppInventoryPermissions.SlowMovingItem_Printout , AppInventoryPermissions.SlowMovingItem_ReportView; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/reports/reports.module.ts:41
tax/:idItemDefintionTaxComponentView/detailGuards: moduleLicenseGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:156
uomUOMMainComponentList/navigationPermission: 'UOM_List'; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:283
uom/:idItemDefinitionUomComponentView/detailGuards: moduleLicenseGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:111
variants/:idItemDefintionVariantComponentView/detailGuards: moduleLicenseGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:119
view/:idAttributeDefinitionListValuesComponentView/detailPermission: AppInventoryPermissions.ItemAttributesGroup_View,; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:419
view/:idUomViewComponentView/detailPermission: AppInventoryPermissions.UOM_View; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:323
view/:idWarehouseDetailsComponentView/detailPermission: AppInventoryPermissions.Warehouse_View; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:271
view-warehouse/:idViewWarehouseComponentView/detailPermission: AppInventoryPermissions.Warehouse_View; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:261
warehouseMainWarehouseComponentList/navigationPermission: AppInventoryPermissions.Warehouse_List; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:221

Observed frontend fields and validation

ComponentControlObserved frontend ruleComponent source
AddAttributeDefinitionComponentattributeIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts
AddAttributeDefinitionComponentisActiveVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts
AddAttributeDefinitionComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts
AddAttributeDefinitionComponentnameEnRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/attribute-definition/add-attribute-definition/add-attribute-definition.component.ts
AddWarehouseComponentaddressLineVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentadjustmentAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentbranchIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentcashSalesAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentcityVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentcreditSalesAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentdiscountAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentemailVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentevaluationAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentfaxVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentglAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentgoodsInTransitAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentlatitudeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentlongitudeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentnameVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentphoneVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentpostalCodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentpurchaseAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentradiusVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentsalesCostAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentsalesReturnAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AddWarehouseComponentwarehouseTypeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/add-warehouse/add-warehouse.component.ts
AttributeDefinitionListValuesComponentidVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts
AttributeDefinitionListValuesComponentisActiveVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts
AttributeDefinitionListValuesComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts
AttributeDefinitionListValuesComponentnameEnRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/attribute-definition/attribute-definition-list-values/attribute-definition-list-values/attribute-definition-list-values.component.ts
EditAttributeDefinitionComponentidVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts
EditAttributeDefinitionComponentisActiveVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts
EditAttributeDefinitionComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts
EditAttributeDefinitionComponentnameEnRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/attribute-definition/edit-attribute-definition/edit-attribute-definition.component.ts
EditWarehouseComponentaddressLineVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentadjustmentAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentbranchWarehousesRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentcashSalesAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentcityVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentcountryCodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentcreditSalesAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentdiscountAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentemailVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentevaluationAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentfaxVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentglAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentgoodsInTransitAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentlatitudeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentlongitudeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentnameRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentphoneVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentpostalCodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentpurchaseAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentradiusVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentsalesCostAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentsalesReturnAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
EditWarehouseComponentwarehouseTypeRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/edit-warehouse/edit-warehouse.component.ts
ItemDefinitionAccountingComponentitemCostCenterIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-accounting/item-definition-accounting.component.ts
ItemDefinitionAccountingComponentitemExpenseAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-accounting/item-definition-accounting.component.ts
ItemDefinitionAccountingComponentitemRevenueAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-accounting/item-definition-accounting.component.ts
ItemDefinitionAttributesVariantsComponentisActiveVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-attributes-variants/item-definition-attributes-variants.component.ts
ItemDefinitionBarcodeComponentbarcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts
ItemDefinitionBarcodeComponentisActiveVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts
ItemDefinitionBarcodeComponentitemVariantIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts
ItemDefinitionBarcodeComponentskuVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts
ItemDefinitionBarcodeComponentuomIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-barcode/item-definition-barcode.component.ts
ItemDefinitionInventoryComponenthasExpiryDateRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-inventory/item-definition-inventory.component.ts
ItemDefinitionInventoryComponenttrackingTypeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-inventory/item-definition-inventory.component.ts
ItemDefinitionPricingComponentisSellingPriceIncludeVatRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-pricing/item-definition-pricing.component.ts
ItemDefinitionPricingComponentpriceRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-pricing/item-definition-pricing.component.ts
ItemDefinitionUomComponentconversionRatioVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts
ItemDefinitionUomComponentisActiveVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts
ItemDefinitionUomComponentunitUsagesVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts
ItemDefinitionUomComponentuomCategoryIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-uom/item-definition-uom.component.ts
ItemDefintionTaxComponentisSellingPriceIncludeVatVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts
ItemDefintionTaxComponentisVatAppliedRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts
ItemDefintionTaxComponenttaxIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-defintion-tax/item-defintion-tax.component.ts
OperationTagAddComponentcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts
OperationTagAddComponentglAccountIdRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts
OperationTagAddComponentnameRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts
OperationTagAddComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts
OperationTagAddComponentoperationTypeRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts
OperationTagAddComponentwarehouseIdRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-add/operation-tag-add.component.ts
OperationTagEditComponentcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts
OperationTagEditComponentglAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts
OperationTagEditComponentnameVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts
OperationTagEditComponentnameArVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts
OperationTagEditComponentoperationTypeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts
OperationTagEditComponentwarehouseIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/operational-tag/operation-tag-edit/operation-tag-edit.component.ts
SlowMovingItemsReportComponentcategoryIdsVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts
SlowMovingItemsReportComponentitemVariantIdsVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts
SlowMovingItemsReportComponentwarehouseIdsVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/reports/pages/slow-moving-items-report/slow-moving-items-report.component.ts
UOMAddComponentBaseCalculationVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentBaseReversalVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentbaseUomArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentbaseUomEnRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentetaCodeRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentfactorRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentfromUnitOfMeasureIdRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentnameArVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentnameEnVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentshortNameVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMAddComponentsystemUnitOfMeasureIdRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-add/uom-add.component.ts
UOMEditComponentBaseCalculationVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentBaseReversalVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentbaseUomArVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentbaseUomEnVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentetaCodeRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentfactorVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentfromUnitOfMeasureIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentnameArVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentnameEnVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentshortNameVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
UOMEditComponentsystemUnitOfMeasureIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/unit-of-major/uom-edit/uom-edit.component.ts
WarehouseDetailsComponentaddressLineVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentbranchWarehousesRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentcityVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentcountryCodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentemailVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentfaxVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentglAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentlatitudeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentlongitudeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentnameRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentphoneVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentpostalCodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentradiusVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts
WarehouseDetailsComponentwarehouseTypeRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/warehouse/view/details-warehouse.component.ts

Observed frontend actions

ComponentClick action/handlerBusiness review requirementComponent source
AddAttributeDefinitionComponentaddLineAdd 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
AddAttributeDefinitionComponentdeleteLineAvailable 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
AddWarehouseComponentonCancelLeave 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
AddWarehouseComponentonSubmitValidate 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
AttributeDefinitionListComponentonDeleteAvailable 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
AttributeDefinitionListComponentonEditOpen 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
AttributeDefinitionListComponentonViewOpen 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
EditAttributeDefinitionComponentaddLineAdd 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
EditAttributeDefinitionComponentdeleteLineAvailable 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
EditWarehouseComponenttoggleViewOpen 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
ItemDefinitionAttributesVariantsComponentaddLineAttributeAdd 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
ItemDefinitionAttributesVariantsComponentonCancelLeave 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
ItemDefinitionAttributesVariantsComponentonDeleteAttributeAvailable 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
ItemDefinitionAttributesVariantsComponentonEditAttributeOpen 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
ItemDefinitionAttributesVariantsComponentonSaveValidate 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
ItemDefinitionBarcodeComponentaddLineBarcodeAdd 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
ItemDefinitionBarcodeComponentonCancelLeave 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
ItemDefinitionBarcodeComponentonDeleteBarcodeAvailable 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
ItemDefinitionBarcodeComponentonSaveBarcodeValidate 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
ItemDefinitionBarcodeComponentopenBarcodeDocument 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
ItemDefinitionBarcodeComponentopenQRcodeDocument 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
ItemDefinitionInventoryComponentonAddVariantsDocument 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
ItemDefinitionInventoryComponentonCancelLeave 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
ItemDefinitionListComponentonDeleteAvailable 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
ItemDefinitionListComponentonEditOpen 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
ItemDefinitionPricingComponentonCancelLeave 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
ItemDefinitionPricingComponentonSaveValidate 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
ItemDefinitionUomComponentonCancelLeave 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
ItemDefinitionUomComponentonEditOpen 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
ItemDefinitionUomComponentonSaveValidate 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
ItemDefintionTaxComponentonAddVariantsDocument 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
ItemDefintionTaxComponentonCancelLeave 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
ItemDefintionVariantComponentonCancelLeave 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
ItemDefintionVariantComponentonToggleVariantDocument 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
ItemsCategoryTreeComponentaddChildDocument 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
ItemsCategoryTreeComponenteditAccountOpen 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
ItemsCategoryTreeComponenthandleTabClickDocument 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
ItemsCategoryTreeComponentnewChildDocument 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
ItemsCategoryTreeComponentonDeleteAvailable 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
ItemsCategoryTreeComponenttoggelTreeDocument 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
MainItemCategoriesTreeComponentonDeleteAvailable 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
OperationTagListComponentonDeleteAvailable 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
OperationTagListComponentonEditOpen 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
ReorderRulesListComponentonDeleteAvailable 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
ReorderRulesListComponentonEditOpen 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
SlowMovingItemsReportComponentonViewReportClickOpen 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
SlowMovingItemsReportComponentopenDialogOpen 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
SlowMovingItemsReportComponentprintTableGenerate 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
SlowMovingItemsReportComponentrouteToInvoiceDocument 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
SlowMovingItemsReportComponentrouteToPurchaseInvoiceDocument 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
SlowMovingItemsReportComponentrouteToStockInViewOpen 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
SlowMovingItemsReportComponentrouteToStockOutViewOpen 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
UOMAddComponentaddLineAdd 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
UOMAddComponentonDeleteAvailable 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
UOMEditComponentaddLineAdd 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
UOMEditComponentonDeleteAvailable 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
UOMListComponentonDeleteAvailable 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
UOMListComponentonEditOpen 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
UOMListComponentonViewOpen 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
WarehouseDetailsComponenttoggleViewOpen 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
WarehouseListComponentonDeleteAvailable 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
WarehouseListComponentonEditOpen 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
WarehouseListComponentonViewOpen 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
WarehouseListComponentonViewDetailsOpen 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

  1. (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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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

Internal Documentation — Microtec