---
id: object/table/5404
type: object
title: Table 5404 "Item Unit of Measure"
summary: Table 5404 "Item Unit of Measure" in Base Application (Microsoft.Inventory.Item). 10 fields, 5 public procedures, 12 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28-29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 156055434698d42771b3b880e1f8ecd373706e1d9a1dd563384a81d52a95390c
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Item/ItemUnitofMeasure.Table.al
    title: src/Layers/W1/BaseApp/Inventory/Item/ItemUnitofMeasure.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/inventory-how-register-new-items
    - https://learn.microsoft.com/dynamics365/business-central/inventory-item-variants
    - https://learn.microsoft.com/dynamics365/business-central/inventory-how-availability-overview
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/inventory
    - topic/business-central/business-functionality/set-up-business-central/set-up-inventory
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 5404
name: Item Unit of Measure
namespace: Microsoft.Inventory.Item
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 10
  procedures: 28
  events: 12
  subscribers: 0
relations:
  out: 4
  referenced_by: 133
  pages: 2
  extended_by: 0
  event_subscribers: 3
  calls: 0
  called_by: 0
  implements: 0
---

# Table 5404 "Item Unit of Measure"

> Table 5404 "Item Unit of Measure" in Base Application (Microsoft.Inventory.Item). 10 fields, 5 public procedures, 12 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28-29.

Base Application · Microsoft.Inventory.Item · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Item/ItemUnitofMeasure.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 5404 "Item Units of Measure"](../page/5404.md) (2 Learn pages), [Page 5417 "Item Avail. by UOM Lines"](../page/5417.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Item Unit of Measure |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Item No. | Code[20] | Specifies the number of the item card from which you opened the Item Units of Measure window. | TableRelation [Table 27 "Item"](../table/27.md); NotBlank |
| 2 | Code | Code[10] | Specifies a code to identify the unit of measure. | TableRelation [Table 204 "Unit of Measure"](../table/204.md) (Unit of Measure); NotBlank |
| 3 | Qty. per Unit of Measure | Decimal | Specifies how many of the base unit of measure are contained in one unit of the item. |  |
| 4 | Qty. Rounding Precision | Decimal | — |  |
| 721 | Coupled to Dataverse | Boolean | Specifies that the item unit of measure is coupled to a unit of measure in Dynamics 365 Sales. | FlowField: exist("CRM Integration Record" where("Integration ID" = field(SystemId), "Table ID" = const(Database::"Item Unit of Measure"))) |
| 7300 | Length | Decimal | Specifies the length of one item unit when measured in the specified unit of measure. |  |
| 7301 | Width | Decimal | Specifies the width of one item unit when measured in the specified unit of measure. |  |
| 7302 | Height | Decimal | Specifies the height of one item unit when measured in the unit of measure in the Code field. |  |
| 7303 | Cubage | Decimal | Specifies the volume (cubage) of one item unit in the unit of measure in the Code field. |  |
| 7304 | Weight | Decimal | Specifies the weight of one item unit when measured in the specified unit of measure. |  |

## Keys

- Key1: Item No., Code (clustered)
- Key2: Item No., Qty. per Unit of Measure
- Key3: Code

## Events published

- `OnAfterCalcCubage(var ItemUnitOfMeasure: Record "Item Unit of Measure")` (integration)
- `OnAfterCalcWeight(var ItemUnitOfMeasure: Record "Item Unit of Measure")` (integration)
- `OnAfterTestItemSetup(var Rec: Record "Item Unit of Measure"; xRec: Record "Item Unit of Measure")` (integration)
- `OnBeforeCalcCubage(var ItemUnitOfMeasure: Record "Item Unit of Measure"; var xItemUnitOfMeasure: Record "Item Unit of Measure"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckNoRemQtyAssemblyLine(ItemUnitOfMeasure: Record "Item Unit of Measure"; xItemUnitOfMeasure: Record "Item Unit of Measure"; var AssemblyLine: Record "Assembly Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckNoOutstandingQtySalesLine(ItemUnitOfMeasure: Record "Item Unit of Measure"; xItemUnitOfMeasure: Record "Item Unit of Measure"; var SalesLine: Record "Sales Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckNoRemQtyAssemblyHeader(ItemUnitOfMeasure: Record "Item Unit of Measure"; xItemUnitOfMeasure: Record "Item Unit of Measure"; var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckNoOutstandingQtyPurchLine(ItemUnitOfMeasure: Record "Item Unit of Measure"; xItemUnitOfMeasure: Record "Item Unit of Measure"; var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckNoOutstandingQtyTransferLine(ItemUnitOfMeasure: Record "Item Unit of Measure"; xItemUnitOfMeasure: Record "Item Unit of Measure"; var TransferLine: Record "Transfer Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckQtyPerUoMPrecision(ItemUnitofMeasure: Record "Item Unit of Measure"; BaseRoundingPrecision: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeTestNoWhseAdjmtEntriesExist(ItemUnitOfMeasure: Record "Item Unit of Measure"; var IsHandled: Boolean)` (integration)
- `OnAfterCheckNoOutstandingQty(ItemUnitOfMeasure: Record "Item Unit of Measure"; xItemUnitOfMeasure: Record "Item Unit of Measure")` (integration)
  - subscribers: [Codeunit 6480 "Serv. Item Unit of Measure"](../codeunit/6480.md) OnAfterCheckNoOutstandingQty, [Codeunit 99000795 "Mfg. Item Integration"](../codeunit/99000795.md) ItemUnitOfMeasureOnAfterCheckNoOutstandingQty

## Trigger event subscribers

- OnBeforeModifyEvent: [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) ClearItemUnitOfMeasureRec

## Procedures

- `CalcWeight()`
- `TestItemSetup()`
- `CheckNoEntriesWithUoM()`
- `GetCannotModifyUnitOfMeasureErr(): Text`
- `CalcWeight(QtyPerUoM: Decimal; NetWeight: Decimal)`

Plus 11 local procedures.

## Triggers

OnDelete, OnInsert, OnRename

## Relations

- lookup page [Page 5404 "Item Units of Measure"](../page/5404.md)
- Code: TableRelation [Table 204 "Unit of Measure"](../table/204.md)
- Item No.: TableRelation [Table 27 "Item"](../table/27.md)
- Coupled to Dataverse: CalcFormula [Table 5331 "CRM Integration Record"](../table/5331.md)

## Referenced by

133 fields in 104 objects relate to this table (TableRelation or CalcFormula).

- [Table 27 "Item"](../table/27.md): Purch. Unit of Measure, Put-away Unit of Measure Code, Sales Unit of Measure
- [Table 111 "Sales Shipment Line"](../table/111.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 113 "Sales Invoice Line"](../table/113.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 115 "Sales Cr.Memo Line"](../table/115.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 121 "Purch. Rcpt. Line"](../table/121.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 123 "Purch. Inv. Line"](../table/123.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 125 "Purch. Cr. Memo Line"](../table/125.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 246 "Requisition Line"](../table/246.md): Unit of Measure Code, Unit Of Measure Code (Demand)
- [Table 37 "Sales Line"](../table/37.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 39 "Purchase Line"](../table/39.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5108 "Sales Line Archive"](../table/5108.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5110 "Purchase Line Archive"](../table/5110.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5768 "Whse. Cross-Dock Opportunity"](../table/5768.md): To-Src. Unit of Measure Code, Unit of Measure Code
- [Table 5851 "Invt. Document Line"](../table/5851.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5853 "Invt. Receipt Line"](../table/5853.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5855 "Invt. Shipment Line"](../table/5855.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5870 "BOM Buffer"](../table/5870.md): BOM Unit of Measure Code, Unit of Measure Code
- [Table 5878 "Phys. Invt. Record Line"](../table/5878.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5902 "Service Line"](../table/5902.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5993 "Service Invoice Line"](../table/5993.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 5995 "Service Cr.Memo Line"](../table/5995.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 6012 "Service Line Archive"](../table/6012.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 6651 "Return Shipment Line"](../table/6651.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 6661 "Return Receipt Line"](../table/6661.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 7302 "Bin Content"](../table/7302.md): Unit of Measure Code, Unit of Measure Filter
- [Table 7326 "Whse. Worksheet Line"](../table/7326.md): From Unit of Measure Code, Unit of Measure Code
- [Table 7330 "Bin Content Buffer"](../table/7330.md): Base Unit of Measure, Unit of Measure Code
- [Table 83 "Item Journal Line"](../table/83.md): Item Reference Unit of Measure, Unit of Measure Code
- [Table 1003 "Job Planning Line"](../table/1003.md): Unit of Measure Code
- [Table 1013 "Job Item Price"](../table/1013.md): Unit of Measure Code
- [Table 1304 "Sales Price and Line Disc Buff"](../table/1304.md): Unit of Measure Code
- [Table 1315 "Purch. Price Line Disc. Buff."](../table/1315.md): Unit of Measure Code
- [Table 169 "Job Ledger Entry"](../table/169.md): Unit of Measure Code
- [Table 171 "Standard Sales Line"](../table/171.md): Unit of Measure Code
- [Table 174 "Standard Purchase Line"](../table/174.md): Unit of Measure Code
- [Table 20500 "Subcontractor Price"](../table/20500.md): Unit of Measure Code
- [Table 20560 "Subcontractor WIP Ledger Entry"](../table/20560.md): Base Unit of Measure
- [Table 210 "Job Journal Line"](../table/210.md): Unit of Measure Code
- [Table 281 "Phys. Inventory Ledger Entry"](../table/281.md): Unit of Measure Code
- [Table 30119 "Shpfy Order Line"](../table/30119.md): Unit of Measure Code
- [Table 32 "Item Ledger Entry"](../table/32.md): Unit of Measure Code
- [Table 346 "Reservation Wksh. Line"](../table/346.md): Unit of Measure Code
- [Table 4812 "Intrastat Report Line"](../table/4812.md): Suppl. Unit of Measure
- [Table 5137 "Job Planning Line Archive"](../table/5137.md): Unit of Measure Code
- [Table 5406 "Prod. Order Line"](../table/5406.md): Unit of Measure Code
- [Table 5407 "Prod. Order Component"](../table/5407.md): Unit of Measure Code
- [Table 5476 "Sales Invoice Line Aggregate"](../table/5476.md): Unit of Measure Code
- [Table 5478 "Purch. Inv. Line Aggregate"](../table/5478.md): Unit of Measure Code
- [Table 5520 "Unplanned Demand"](../table/5520.md): Unit of Measure Code
- [Table 5700 "Stockkeeping Unit"](../table/5700.md): Put-away Unit of Measure Code
- and 54 more objects (54 fields): data/code/relations/29.json

## Pages and codeunits on this table

- [Page 5404 "Item Units of Measure"](../page/5404.md) (source table)
- [Page 5417 "Item Avail. by UOM Lines"](../page/5417.md) (source table)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-26, BC28-29

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "table", object_name: "Item Unit of Measure")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
