---
id: object/table/5851
type: object
title: Table 5851 "Invt. Document Line"
summary: Table 5851 "Invt. Document Line" in Base Application (Microsoft.Inventory.Document). 57 fields, 27 public procedures, 7 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: 8b75b9dbb415c94ecaea1696a83b783ebee501cbc5f2b67a20b34a9745a183c1
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Document/InvtDocumentLine.Table.al
    title: src/Layers/W1/BaseApp/Inventory/Document/InvtDocumentLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/LocalFunctionality/Russia/item-documents
    - https://learn.microsoft.com/dynamics365/business-central/warehouse-how-to-set-up-basic-warehouses-with-operations-areas
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/set-up-business-central/set-up-warehouse-management
  localizations:
    - localization/ru
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 5851
name: Invt. Document Line
caption: Item Document Line
namespace: Microsoft.Inventory.Document
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - ru
ms_search_form_ids: []
counts:
  fields: 57
  procedures: 49
  events: 7
  subscribers: 0
relations:
  out: 28
  referenced_by: 0
  pages: 6
  extended_by: 0
  event_subscribers: 0
  calls: 7
  called_by: 0
  implements: 0
---

# Table 5851 "Invt. Document Line"

> Table 5851 "Invt. Document Line" in Base Application (Microsoft.Inventory.Document). 57 fields, 27 public procedures, 7 events. Present since at least BC23, still in BC30, changed in BC24, BC26-28.

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

Learn documents this table through its pages: [Page 6774 "Invt. Document Lines"](../page/6774.md) (2 Learn pages).

## Properties

| Property | Value |
|---|---|
| Caption | Item Document Line |
| 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 | Document Type | Enum "Invt. Doc. Document Type" | Specifies the type of the related document. | enum [Enum 5850 "Invt. Doc. Document Type"](../enum/5850.md) |
| 2 | Line No. | Integer | Specifies the number of the line. |  |
| 3 | Item No. | Code[20] | Specifies the number of the item. | TableRelation [Table 27 "Item"](../table/27.md) |
| 4 | Posting Date | Date | — |  |
| 5 | Document Date | Date | Specifies the date when the related document was created. |  |
| 7 | Document No. | Code[20] | Specifies the number of the related document. |  |
| 8 | Description | Text[100] | Specifies the description of the item. |  |
| 9 | Location Code | Code[10] | Specifies the warehouse or other place where the involved items are handled or stored. | TableRelation [Table 14 "Location"](../table/14.md) |
| 10 | Inventory Posting Group | Code[20] | — | TableRelation [Table 94 "Inventory Posting Group"](../table/94.md) (Inventory Posting Group); not editable |
| 13 | Quantity | Decimal | Specifies the number of units for this item. |  |
| 16 | Unit Amount | Decimal | Specifies the price per unit for this item. |  |
| 17 | Unit Cost | Decimal | Specifies the cost of one unit of the item or resource on the line. |  |
| 18 | Amount | Decimal | Specifies the transaction amount for this line. |  |
| 23 | Salespers./Purch. Code | Code[20] | — | TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md) ("Salesperson/Purchaser" where(Blocked = const(false))) |
| 26 | Source Code | Code[10] | — | TableRelation [Table 230 "Source Code"](../table/230.md) (Source Code); not editable |
| 29 | Applies-to Entry | Integer | Specifies if the quantity on the journal line should be applied to an already-posted document. |  |
| 32 | Item Shpt. Entry No. | Integer | — | not editable |
| 34 | Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 35 | Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 37 | Indirect Cost % | Decimal | Specifies the percentage of the item's last purchase cost that includes indirect costs, such as freight that is associated with the purchase of the item. |  |
| 38 | Gross Weight | Decimal | — |  |
| 39 | Net Weight | Decimal | — |  |
| 40 | Units per Parcel | Decimal | — |  |
| 41 | Unit Volume | Decimal | — |  |
| 42 | Reason Code | Code[10] | Specifies the reason code, a supplementary source code that enables you to trace the entry. | TableRelation [Table 231 "Reason Code"](../table/231.md) (Reason Code) |
| 55 | Last Item Ledger Entry No. | Integer | — | TableRelation [Table 32 "Item Ledger Entry"](../table/32.md) (Item Ledger Entry); not editable |
| 57 | Gen. Bus. Posting Group | Code[20] | — | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 58 | Gen. Prod. Posting Group | Code[20] | — | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 65 | Posting No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 72 | Unit Cost (ACY) | Decimal | — | not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 5402 | Variant Code | Code[10] | Specifies the variant of the item on the line. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) ("Item Variant".Code where("Item No." = field("Item No."))) |
| 5403 | Bin Code | Code[20] | Specifies the bin where the items are picked or put away. |  |
| 5404 | Qty. per Unit of Measure | Decimal | — | not editable |
| 5405 | Qty. Rounding Precision | Decimal | — | not editable |
| 5406 | Qty. Rounding Precision (Base) | Decimal | — | not editable |
| 5407 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) ("Item Unit of Measure".Code where("Item No." = field("Item No."))) |
| 5413 | Quantity (Base) | Decimal | Specifies the quantity on the line expressed in base units of measure. <small>via [Page 6873 "Available - Invt. Doc. Lines"](../page/6873.md)</small> |  |
| 5470 | Reserved Quantity Inbnd. | Decimal | Specifies the quantity of the item reserved at the transfer-to location. | FlowField: sum("Reservation Entry".Quantity where("Source ID" = field("Document No."), "Source Ref. No." = field("Line No."), "Source Type" = const(5851), "Source Subtype" = filter("0" \| "3"), "Reservation Status" = const(Reservation))); not editable |
| 5471 | Reserved Quantity Outbnd. | Decimal | Specifies the quantity of the item reserved at the transfer-from location. | FlowField: - sum("Reservation Entry".Quantity where("Source ID" = field("Document No."), "Source Ref. No." = field("Line No."), "Source Type" = const(5851), "Source Subtype" = filter("1" \| "2"), "Reservation Status" = const(Reservation))); not editable |
| 5472 | Reserved Qty. Inbnd. (Base) | Decimal | Specifies the item base quantity that is reserved at the warehouse of the receiver. <small>via [Page 6873 "Available - Invt. Doc. Lines"](../page/6873.md)</small> | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Source ID" = field("Document No."), "Source Ref. No." = field("Line No."), "Source Type" = const(5851), "Source Subtype" = filter("0" \| "3"), "Reservation Status" = const(Reservation))); not editable |
| 5473 | Reserved Qty. Outbnd. (Base) | Decimal | Specifies the item base quantity that is reserved at the warehouse of the receiver. <small>via [Page 6873 "Available - Invt. Doc. Lines"](../page/6873.md)</small> | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Source ID" = field("Document No."), "Source Ref. No." = field("Line No."), "Source Type" = const(5851), "Source Subtype" = filter("1" \| "2"), "Reservation Status" = const(Reservation))); not editable |
| 5704 | Item Category Code | Code[20] | — | TableRelation [Table 5722 "Item Category"](../table/5722.md) (Item Category) |
| 5706 | Purchasing Code | Code[10] | — | TableRelation [Table 5721 "Purchasing"](../table/5721.md) |
| 5725 | Item Reference No. | Code[50] | Specifies a reference to the item number as defined by the item's barcode. |  |
| 5726 | Item Reference Unit of Measure | Code[10] | — | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) ("Item Unit of Measure".Code where("Item No." = field("Item No."))) |
| 5727 | Item Reference Type | Enum "Item Reference Type" | — | enum [Enum 5726 "Item Reference Type"](../enum/5726.md) |
| 5728 | Item Reference Type No. | Code[30] | — |  |
| 5801 | Item Charge No. | Code[20] | — | TableRelation [Table 5800 "Item Charge"](../table/5800.md) (Item Charge) |
| 5807 | Applies-from Entry | Integer | Specifies the entry number of the Sales Ledger or Purchase Ledger from which the document line was applied. |  |
| 5811 | Applied Amount | Decimal | — | not editable |
| 5812 | Update Standard Cost | Boolean | — |  |
| 5813 | Amount (ACY) | Decimal | — |  |
| 5819 | Applies-to Value Entry | Integer | — |  |
| 12450 | FA No. | Code[20] | — | TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (Fixed Asset) |
| 12451 | FA Entry No. | Integer | — | TableRelation [Table 5601 "FA Ledger Entry"](../table/5601.md) ("FA Ledger Entry" where("Entry No." = field("FA Entry No."))) |
| 12452 | Depreciation Book Code | Code[10] | — | TableRelation [Table 5612 "FA Depreciation Book"](../table/5612.md) ("FA Depreciation Book"."Depreciation Book Code" where("FA No." = field("FA No."))) |

## Keys

- Key1: Document Type, Document No., Line No. (clustered)
- Key2: Location Code
- Key3: Item No., Variant Code
- Key4: Document Type, Document No., Item No., Location Code

## Events published

- `OnAfterInitDefaultDimensionSources(var InvtDocumentLine: Record "Invt. Document Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)` (integration)
- `OnAfterFilterReceiptLinesForReservation(var InvtDocumentLine: Record "Invt. Document Line"; ReservationEntry: Record "Reservation Entry"; AvailabilityFilter: Text; Positive: Boolean)` (integration)
- `OnAfterFilterShipmentLinesForReservation(var InvtDocumentLine: Record "Invt. Document Line"; ReservationEntry: Record "Reservation Entry"; AvailabilityFilter: Text; Positive: Boolean)` (integration)
- `OnBeforeRetrieveCosts(var InvtDocumentLine: Record "Invt. Document Line"; var UnitCost: Decimal; var IsHandled: Boolean)` (integration)
- `OnAfterGetUnitAmount(var InvtDocumentLine: Record "Invt. Document Line"; var UnitCost: Decimal; CalledByFieldNo: Integer)` (integration)
- `OnAfterOpenItemTrackingLines(var InvtDocumentLine: Record "Invt. Document Line")` (integration)
- `OnAfterCreateDim(var InvtDocumentLine: Record "Invt. Document Line"; CurrentFieldNo: Integer; xInvtDocumentLine: Record "Invt. Document Line"; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration)

## Procedures

- `SuppressRecalculateDimensions(RecalculateDimensions: Boolean)`
- `EmptyLine(): Boolean`
- `UpdateAmount()`
- `CheckItemAvailable(CalledByFieldNo: Integer)`
- `GetInvtDocHeader()`
- `IsCorrection(): Boolean`
- `GetUnitAmount(CalledByFieldNo: Integer)`
- `ShowReservation()`
- `OpenItemTrackingLines()`
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `ShowDimensions()`
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`
- `RowID1(): Text[250]`
- `SuspendStatusCheck(Suspend: Boolean)`
- `Signed(Value: Decimal): Decimal`
- `ReserveFromInventory(var InvtDocLine: Record "Invt. Document Line")`
- `GetRemainingQty(var RemainingQty: Decimal; var RemainingQtyBase: Decimal; Direction: Integer)`
- `GetReservationQty(var QtyReserved: Decimal; var QtyReservedBase: Decimal; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal; SourceSubtype: Integer): Decimal`
- `GetSourceCaption(): Text`
- `FilterReceiptLinesForReservation(ReservationEntry: Record "Reservation Entry"; AvailabilityFilter: Text; Positive: Boolean)`
- `FilterShipmentLinesForReservation(ReservationEntry: Record "Reservation Entry"; AvailabilityFilter: Text; Positive: Boolean)`
- `ReservEntryExist(): Boolean`
- `SetReservationEntry(var ReservEntry: Record "Reservation Entry")`
- `SetReservationFilters(var ReservEntry: Record "Reservation Entry")`
- `CreateDimFromDefaultDim(FieldNo: Integer)`

Plus 15 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 6774 "Invt. Document Lines"](../page/6774.md)
- lookup page [Page 6774 "Invt. Document Lines"](../page/6774.md)
- Salespers./Purch. Code: TableRelation [Table 13 "Salesperson/Purchaser"](../table/13.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Source Code: TableRelation [Table 230 "Source Code"](../table/230.md)
- Reason Code: TableRelation [Table 231 "Reason Code"](../table/231.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Item No.: TableRelation [Table 27 "Item"](../table/27.md)
- Posting No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Last Item Ledger Entry No.: TableRelation [Table 32 "Item Ledger Entry"](../table/32.md)
- Reserved Qty. Inbnd. (Base): CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Reserved Qty. Outbnd. (Base): CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Reserved Quantity Inbnd.: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Reserved Quantity Outbnd.: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Item Reference Unit of Measure: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- FA No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md)
- FA Entry No.: TableRelation [Table 5601 "FA Ledger Entry"](../table/5601.md)
- Depreciation Book Code: TableRelation [Table 5612 "FA Depreciation Book"](../table/5612.md)
- Purchasing Code: TableRelation [Table 5721 "Purchasing"](../table/5721.md)
- Item Category Code: TableRelation [Table 5722 "Item Category"](../table/5722.md)
- Item Charge No.: TableRelation [Table 5800 "Item Charge"](../table/5800.md)
- Inventory Posting Group: TableRelation [Table 94 "Inventory Posting Group"](../table/94.md)

## Pages and codeunits on this table

- [Page 30241 "APIV2 - Invt. Shpt. Lines"](../page/30241.md) (source table)
- [Page 30243 "APIV2 - Invt. Rcpt. Lines"](../page/30243.md) (source table)
- [Page 6562 "Invt. Receipt Subform"](../page/6562.md) (source table)
- [Page 6565 "Invt. Shipment Subform"](../page/6565.md) (source table)
- [Page 6774 "Invt. Document Lines"](../page/6774.md) (source table)
- [Page 6873 "Available - Invt. Doc. Lines"](../page/6873.md) (source table)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 408 "DimensionManagement"](../codeunit/408.md) (8 calls: `CreateDim → GetDefaultDimID`, `CreateDim → UpdateGlobalDimFromDimSetID`, `InitDefaultDimensionSources → AddDimSource`, …)
- [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) (4 calls: `OnDelete → DeleteLine`, `OnInsert → VerifyQuantity`, `OnModify → VerifyChange`, …)
- [Codeunit 99000845 "Reservation Management"](../codeunit/99000845.md) (2 calls: `ReserveFromInventory → AutoReserveToShip`, `ReserveFromInventory → SetReservSource`)
- [Codeunit 311 "Item-Check Avail."](../codeunit/311.md) (1 call: `CheckItemAvailable → InvtDocCheckLine`)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (1 call: `CalcBaseQty → CalcBaseQty`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (1 call: `RowID1 → ComposeRowID`)
- [Page 38 "Item Ledger Entries"](../page/38.md) (1 call: `SelectItemEntry → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26-28

## Countries that replace it

[RU](../../localizations/ru.md)

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). The call sections above are our own, per object, from the BC29 call graph. 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: "Invt. Document Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
