Skip to content

Inventory General Settings

Backlog fieldValue
Story IDINV-DASH-003
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

Control default valuation, warehouse, tax, slow-moving, and accounting behavior for Inventory.

User stories

  • As an inventory administrator, I want to choose the costing/valuation method and default warehouse so that transactions use consistent defaults.
  • As a tax administrator, I want to control inventory VAT and selling-price VAT behavior so that tax is calculated consistently.
  • As an accountant, I want to assign inventory control accounts so that posting produces valid journals.
  • As a manager, I want to set the slow-moving-day threshold so that the report follows company policy.

Configured values

  • Costing evaluation method
  • Default warehouse
  • VAT applied and default tax
  • Selling price includes VAT
  • Minimum slow-moving days
  • Cost of goods sold account
  • General purchase account
  • Goods in transit account
  • Adjustment account
  • Re-evaluation account
  • Item revenue account

Acceptance criteria

  1. Authorized viewers can read settings; only users with edit permission can change them.
  2. VAT-dependent fields are required only when VAT is enabled.
  3. Referenced warehouses, taxes, and accounts must be active and valid for their intended usage.
  4. A setting change affects future calculations/transactions and does not silently rewrite posted history.
  5. The system warns or blocks operational workflows when mandatory general settings are incomplete.
  6. Save is atomic: either the full valid settings set is stored or no partial update is applied.

Required, optional, and conditional data

  • Costing Evaluation Method is required because Stock Out, Transfer, and Reconciliation valuation use it.
  • Branch ID is optional and indicates branch-scoped settings where supported.
  • Default Warehouse is optional as storage but required for workflows that depend on a default.
  • VAT Applied and Selling Price Includes VAT are switches. Tax and Tax Ratio are conditional when VAT is enabled.
  • Minimum Slow-Moving Days is required/non-negative for report classification.
  • COGS, General Purchase, Goods in Transit, Adjustment, Re-evaluation, and Items Revenue accounts are nullable at configuration time but become mandatory in the transactions that consume them.

Confirmed consumers

SettingConfirmed effect
Costing Evaluation MethodChooses Weighted Average or Last Purchase cost for transfers, counts, and stock valuation lookups.
COGSSales Invoice Stock Out, Sales Return Stock In, and current reconciliation shortage.
Goods in TransitPurchase/transfer/default internal Stock In/Out counterpart.
Minimum Slow-Moving DaysSlow-Moving Items classification unless an item-specific value overrides it.
VAT/tax defaultsDefaults item and transaction tax behavior; item-level configuration may override.
Default WarehousePreselects warehouse in applicable workflows; user authorization still applies.
Adjustment/Re-evaluation/General Purchase/Items RevenueUsed by their specific accounting flows; presence alone does not make them a fallback for every post.

Changing settings affects future posting/calculation. Existing posted journals, stock costs, tax snapshots, and printed documents remain unchanged.

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
general/:idItemDefinitionGeneralComponentView/detailPermission: AppInventoryPermissions.Items_Edit; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:101
general-settingGeneralSettingInvComponentList/navigationPermission: AppInventoryPermissions.InventoryGeneralSettings_Edit,AppInventoryPermissions.InventoryGeneralSettings_View; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:442
general-setting/general-formGeneralSettingInvComponentList/navigationPermission: AppInventoryPermissions.InventoryGeneralSettings_Edit,AppInventoryPermissions.InventoryGeneralSettings_View; Guards: PolicyAuthGuardFeature token matchapps/inventory/src/app/remote-entry/items/items.module.ts:447

Observed frontend fields and validation

ComponentControlObserved frontend ruleComponent source
GeneralSettingInvComponentadjustmentAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentcostingEvaluationMethodRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentcostOfGoodsSoldAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentdefaultWarehouseIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentgeneralPurchaseAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentgoodsInTransitAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentisSellingPriceIncludeVatVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentisVatAppliedVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentitemsRevenueAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentminSlowMovingDaysRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponentreEvaluationAccountIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
GeneralSettingInvComponenttaxIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/general-setting-inv/general-setting-inv.component.ts
ItemDefinitionGeneralComponentcategoryIdRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentcodeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentcolorVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentcountryIdVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentetaCodeConditionally required/validated in componentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentetaCodeTypeConditionally required/validated in componentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentlifeTimeVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentmaxDiscountVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentminSlowMovingDaysVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentnameRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentnameArRequired in component validatorapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentphotoVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentshortNameVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentspecialCareVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponenttagsVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentwarrantyVisible control; optional or API-dependentapps/inventory/src/app/remote-entry/items/pages/item-definition/item-definition-general/item-definition-general.component.ts

Observed frontend actions

ComponentClick action/handlerBusiness review requirementComponent source
ItemDefinitionGeneralComponentonCancelLeave 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-general/item-definition-general.component.ts
ItemDefinitionGeneralComponentonSaveValidate 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-general/item-definition-general.component.ts

Page-specific frontend acceptance criteria

  1. general/: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.Items_Edit; Guards: PolicyAuthGuard
  2. general-setting - 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.InventoryGeneralSettings_Edit,AppInventoryPermissions.InventoryGeneralSettings_View; Guards: PolicyAuthGuard
  3. general-setting/general-form - 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.InventoryGeneralSettings_Edit,AppInventoryPermissions.InventoryGeneralSettings_View; Guards: PolicyAuthGuard

Internal Documentation — Microtec