Skip to content
D365 Reference

InventModelGroup

group

Item model group master — one row per company and model group, controlling inventory policy for its items: costing model, negative-stock rules, and whether the product is stocked at all

Module: Product InformationCompany-partitioned (DataAreaId)
What the badges mean
main
Table group: how F&O categorizes the table's role — main entity, group/header, transaction, worksheet header, worksheet line, reference, parameter, or framework.
Shared across companies
The table carries no DataAreaId— rows aren’t partitioned per company, so a query never needs (and can’t use) a company filter here (see the quirks guide).
Date-effective
The table carries a ValidFrom/ValidTo effectivity window — a join without a date filter multiplies every key by its history (see the quirks guide).
In field listings, K marks a key field.

Fields

8 fields · 1 key

8 fields.

Table fields: key flag, field name, extended data type, description, data type, length, and quirk flags. 8 fields.
KeyFieldEDTDescriptionTypeLengthFlags
KeyModelGroupIdModelGroupIdThe item model group code — inventory policy bucket assigned to items via InventModelGroupItemstring
NameModel group namestring
InventModelCosting / inventory valuation model for the group (FIFO, weighted average, standard cost…)enum
StockedProductWhether items in this group are stocked — non-stocked items never hit the on-hand tablesenum
NegativePhysicalWhether physical inventory is allowed to go negative for this groupenum
NegativeFinancialWhether financial inventory is allowed to go negative for this groupenum
StandardCostWhether the group is standard-cost valuedenum
QuarantineControlWhether receipts for this group are quarantine-managedenum

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading InventModelGroup on Databricks — enums are decoded, 1900-01-01 dates are wrapped to NULL, and the DataAreaId anchor is in place. Set your Unity Catalog location, company, and filter values below; they’re substituted into the SQL and the copy button.

Query parameters

3 parameters not filled: <catalog>, <schema>, <company>

-- ============================================================
-- Table  : InventModelGroup Item model group master — one row per company and model group, controlling inventory policy for its items: costing model, negative-stock rules, and whether the product is stocked at all
-- Purpose: Column-selected read of InventModelGroup — auto-generated from field metadata
-- Grain  : One row per company (dataareaid) + ModelGroupId
-- Notes  : Auto-generated skeleton for Synapse Link / Fabric Link-landed F&O data (lowercase column names). Enums decoded inline where verified; datetimes stored in UTC; 1900-01-01 dates are sentinels mapped to NULL. System/audit columns omitted — see the quirks guide.
-- ============================================================
SELECT
  i.modelgroupid AS "The item model group code — inventory policy bucket assigned to items via InventModelGroupItem",
  i.name AS "Model group name",
  i.inventmodel AS "Costing / inventory valuation model for the group (FIFO, weighted average, standard cost…)",  -- enum: decode i.inventmodel via GlobalOptionsetMetadata join — see quirks guide #enums
  i.stockedproduct AS "Whether items in this group are stocked — non-stocked items never hit the on-hand tables",  -- enum: decode i.stockedproduct via GlobalOptionsetMetadata join — see quirks guide #enums
  i.negativephysical AS "Whether physical inventory is allowed to go negative for this group",  -- enum: decode i.negativephysical via GlobalOptionsetMetadata join — see quirks guide #enums
  i.negativefinancial AS "Whether financial inventory is allowed to go negative for this group",  -- enum: decode i.negativefinancial via GlobalOptionsetMetadata join — see quirks guide #enums
  i.standardcost AS "Whether the group is standard-cost valued",  -- enum: decode i.standardcost via GlobalOptionsetMetadata join — see quirks guide #enums
  i.quarantinecontrol AS "Whether receipts for this group are quarantine-managed"  -- enum: decode i.quarantinecontrol via GlobalOptionsetMetadata join — see quirks guide #enums
FROM <catalog>.<schema>.inventmodelgroup i
WHERE
  i.dataareaid = '<company>'
ORDER BY i.modelgroupid;

Verified September 2026

Relationships

Diagram of 1-hop neighbors — join details below. RecId and InventDim edges are highlighted; they’re the joins newcomers most often get wrong.

Join details

  • InventModelGroupItemInventModelGroupforeign key · N:1
    ON inventmodelgroupitem.modelgroupid = inventmodelgroup.modelgroupid AND inventmodelgroupitem.modelgroupdataareaid = inventmodelgroup.dataareaid
  • InventModelGroupItemInventModelGroupforeign key · N:1
    ON inventmodelgroupitem.modelgroupdataareaid = inventmodelgroup.dataareaid

Data Entities That Expose This Table

No standard export entity confirmed — land the raw table alongside InventModelGroupItem to resolve item-to-model-group assignments.

Browse more product tables

More Product Information tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Microsoft. Microsoft, Dynamics 365, and Microsoft Fabric are trademarks of the Microsoft group of companies.