---
id: object/table/7317
type: object
title: Table 7317 "Warehouse Receipt Line"
summary: Table 7317 "Warehouse Receipt Line" in Base Application (Microsoft.Warehouse.Document). 41 fields, 15 public procedures, 22 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.
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: f7d1dabfd207e6b19b0331c62a949312b7b539372e62139fd2b125b99ef5b174
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Warehouse/Document/WarehouseReceiptLine.Table.al
    title: src/Layers/W1/BaseApp/Warehouse/Document/WarehouseReceiptLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/warehouse-how-receive-items
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/warehouse-management/inbound-warehouse-processes
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 7317
name: Warehouse Receipt Line
namespace: Microsoft.Warehouse.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"
  - "25"
  - "26"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 41
  procedures: 45
  events: 22
  subscribers: 0
relations:
  out: 11
  referenced_by: 4
  pages: 2
  extended_by: 1
  event_subscribers: 4
  calls: 6
  called_by: 0
  implements: 0
---

# Table 7317 "Warehouse Receipt Line"

> Table 7317 "Warehouse Receipt Line" in Base Application (Microsoft.Warehouse.Document). 41 fields, 15 public procedures, 22 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.

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

Learn documents this table through its pages: [Page 7342 "Whse. Receipt Lines"](../page/7342.md) (1 Learn page).

## Properties

| Property | Value |
|---|---|
| Caption | Warehouse Receipt 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 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | not editable |
| 2 | Line No. | Integer | Specifies the line number. | not editable |
| 3 | Source Type | Integer | — | not editable |
| 4 | Source Subtype | Option | — | OptionCaption: 0,1,2,3,4,5,6,7,8,9,10; not editable |
| 6 | Source No. | Code[20] | Specifies the number of the source document that the entry originates from. | not editable |
| 7 | Source Line No. | Integer | Specifies the line number of the source document that the entry originates from. | not editable |
| 9 | Source Document | Enum "Warehouse Activity Source Document" | Specifies the type of document that the line relates to. | enum [Enum 5768 "Warehouse Activity Source Document"](../enum/5768.md); not editable |
| 10 | Location Code | Code[10] | Specifies the code of the location where the items should be received. | TableRelation [Table 14 "Location"](../table/14.md); not editable |
| 11 | Shelf No. | Code[10] | Specifies the shelf number of the item for information use. |  |
| 12 | Bin Code | Code[20] | Specifies the bin where the items are picked or put away. | TableRelation [Table 7354 "Bin"](../table/7354.md) (if ("Zone Code" = filter('')) Bin.Code where("Location Code" = field("Location Code")) else if ("Zone Code" = filter(<> '')) Bin.Code where("Location Code" = field("Location Code"), "Zone Code" = field("Zone Code"))) |
| 13 | Zone Code | Code[10] | Specifies the zone in which the items are being received. | TableRelation [Table 7300 "Zone"](../table/7300.md) (Zone.Code where("Location Code" = field("Location Code"))) |
| 14 | Item No. | Code[20] | Specifies the number of the item that is expected to be received. | TableRelation [Table 27 "Item"](../table/27.md); not editable |
| 15 | Quantity | Decimal | Specifies the quantity that should be received. | not editable |
| 16 | Qty. (Base) | Decimal | Specifies the quantity to be received, in the base unit of measure. <small>via [Page 7342 "Whse. Receipt Lines"](../page/7342.md)</small> | not editable |
| 19 | Qty. Outstanding | Decimal | Specifies the quantity that still needs to be handled. | not editable |
| 20 | Qty. Outstanding (Base) | Decimal | Specifies the quantity that still needs to be handled, in the base unit of measure. <small>via [Page 7342 "Whse. Receipt Lines"](../page/7342.md)</small> | not editable |
| 21 | Qty. to Receive | Decimal | Specifies the quantity of items that remains to be received. |  |
| 22 | Qty. to Receive (Base) | Decimal | Specifies the Qty. to Receive in the base unit of measure. <small>via [Page 5769 "Whse. Receipt Subform"](../page/5769.md)</small> |  |
| 23 | Qty. Received | Decimal | Specifies the quantity for this line that has been posted as received. | not editable |
| 24 | Qty. Received (Base) | Decimal | Specifies the quantity received, in the base unit of measure. <small>via [Page 7342 "Whse. Receipt Lines"](../page/7342.md)</small> | not editable |
| 29 | 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."))); not editable |
| 30 | Qty. per Unit of Measure | Decimal | Specifies the number of base units of measure, that are in the unit of measure specified for the item on the line. | not editable |
| 31 | 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."))); not editable |
| 32 | Description | Text[100] | Specifies the description of the item in the line. | not editable |
| 33 | Description 2 | Text[50] | Specifies information in addition to the description of the item in the line. | not editable |
| 34 | Status | Option | Specifies the status of the warehouse receipt. | OptionCaption: ,Partially Received,Completely Received; not editable |
| 35 | Sorting Sequence No. | Integer | — | not editable |
| 36 | Due Date | Date | Specifies the date on which you expect to receive the items on the line. |  |
| 37 | Starting Date | Date | — |  |
| 38 | Cubage | Decimal | — |  |
| 39 | Weight | Decimal | — |  |
| 48 | Not upd. by Src. Doc. Post. | Boolean | — | not editable |
| 49 | Posting from Whse. Ref. | Integer | — | not editable |
| 50 | Qty. to Cross-Dock | Decimal | Specifies the suggested quantity to put into the cross-dock bin on the put-away document when the receipt is posted. |  |
| 51 | Qty. to Cross-Dock (Base) | Decimal | Specifies the suggested base quantity to put into the cross-dock bin on the put-away document hen the receipt is posted. <small>via [Page 5769 "Whse. Receipt Subform"](../page/5769.md)</small> |  |
| 52 | Cross-Dock Zone Code | Code[10] | Specifies the zone code that will be used for the quantity of items to be cross-docked. | TableRelation [Table 7300 "Zone"](../table/7300.md) (Zone.Code where("Location Code" = field("Location Code"), "Cross-Dock Bin Zone" = const(true))) |
| 53 | Cross-Dock Bin Code | Code[20] | Specifies the bin code that will be used for the quantity of items to be cross-docked. | TableRelation [Table 7354 "Bin"](../table/7354.md) (if ("Cross-Dock Zone Code" = filter('')) Bin.Code where("Location Code" = field("Location Code"), "Cross-Dock Bin" = const(true)) else if ("Cross-Dock Zone Code" = filter(<> '')) Bin.Code where("Location Code" = field("Location Code"), "Zone Code" = field("Cross-Dock Zone Code"), "Cross-Dock Bin" = ...) |
| 55 | Qty. Rounding Precision | Decimal | — | not editable |
| 56 | Qty. Rounding Precision (Base) | Decimal | — | not editable |
| 8509 | Over-Receipt Quantity | Decimal | Specifies over-receipt quantity. |  |
| 8510 | Over-Receipt Code | Code[20] | Specifies over-receip code. | TableRelation [Table 8510 "Over-Receipt Code"](../table/8510.md) (Over-Receipt Code) |

## Keys

- Key1: No., Line No. (clustered)
- Key2: Source Type, Source Subtype, Source No., Source Line No.
- Key3: No., Source Type, Source Subtype, Source No., Source Line No.
- Key4: No., Sorting Sequence No.
- Key5: No., Shelf No.
- Key6: No., Item No.
- Key7: No., Source Document, Source No.
- Key8: No., Due Date
- Key9: No., Bin Code
- Key10: Item No., Location Code, Variant Code
- Key11: Bin Code, Location Code

## Events published

- `OnAfterOpenItemTrackingLines(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; SecondSourceQtyArray: array[3] of Decimal)` (integration)
- `OnAfterInitQtyToReceive(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; CurrentFieldNo: Integer)` (integration)
- `OnAfterSetItemData(var WarehouseReceiptLine: Record "Warehouse Receipt Line")` (integration)
- `OnAutoFillQtyToReceiveOnBeforeModify(var WarehouseReceiptLine: Record "Warehouse Receipt Line")` (integration)
- `OnBeforeCheckBin(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeConfirmDelete(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var SkipConfirm: Boolean)` (integration)
- `OnBeforeInitOutstandingQtys(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeOpenItemTrackingLines(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean; CallingFieldNo: Integer)` (integration)
  - subscribers: [Codeunit 20551 "Subc. WhsePostReceipt Ext"](../codeunit/20551.md) CheckOverDeliveryOnBeforeOpenItemTrackingLines
- `OnBeforeValidateQtyToReceive(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean; CurrentFieldNo: Integer; xWarehouseReceiptLine: Record "Warehouse Receipt Line")` (integration)
- `OnBeforeValidateQtyToReceiveBase(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; xWarehouseReceiptLine: Record "Warehouse Receipt Line"; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnValidateOverReceiptQuantity(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; xWarehouseReceiptLine: Record "Warehouse Receipt Line"; CalledByFieldNo: Integer; var Handled: Boolean)` (integration)
- `OnDeleteQtyToReceiveOnBeforeModify(var WhseReceiptLine: Record "Warehouse Receipt Line")` (integration)
- `OnBeforeAutofillQtyToReceive(var WhseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeDeleteQtyToReceive(var WhseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean)` (integration)
- `OnCheckBinOnAfterCheckIncreaseBin(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var Bin: Record Bin; DeductCubage: Decimal; DeductWeight: Decimal; IgnoreErrors: Boolean; var ErrorOccured: Boolean)` (integration)
- `OnBeforeOverReceiptProcessing(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var Result: Boolean; var IsHandled: Boolean; xWarehouseReceiptLine: Record "Warehouse Receipt Line")` (integration)
- `OnGetWhseRcptLineOnAfterSetFilters(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; ReceiptNo: Code[20]; SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer)` (integration)
- `OnValidateQtyToReceiveOnBeforeUOMMgtValidateQtyIsBalanced(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; xWarehouseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean)` (integration)
  - subscribers: [Codeunit 20551 "Subc. WhsePostReceipt Ext"](../codeunit/20551.md) SkipValidateQtyBalancedForSubcontracting_OnValidateQtyToReceiveOnBeforeUOMMgtValidateQtyIsBalanced
- `OnBeforeCalcBaseQty(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var Qty: Decimal; FromFieldName: Text; ToFieldName: Text; var SuppressQtyPerUoMTestfield: Boolean)` (integration)
  - subscribers: [Codeunit 20551 "Subc. WhsePostReceipt Ext"](../codeunit/20551.md) SuppressQtyPerUoMTestfieldForSubcontracting_OnBeforeCalcBaseQty
- `OnBeforeInitNewLine(DocumentNo: Code[20]; var SkipLocking: Boolean)` (integration)
- `OnValidateQtyToCrossDockOnBeforeGetUseCrossDock(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; CallingFieldNo: Integer; var ShouldGetUseCrossDock: Boolean; var UseCrossDock: Boolean)` (integration)
- `OnBeforeOpenItemTrackingLineForPurchLine(PurchaseLine: Record "Purchase Line"; SecondSourceQtyArray: array[3] of Decimal; var SkipCallItemTracking: Boolean)` (integration)
  - subscribers: [Codeunit 20551 "Subc. WhsePostReceipt Ext"](../codeunit/20551.md) OpenItemTrackingForSubcontracting_OnBeforeOpenItemTrackingLineForPurchLine

## Procedures

- `InitNewLine(DocNo: Code[20])`
- `CalcBaseQty(Qty: Decimal; FromFieldName: Text; ToFieldName: Text): Decimal`
- `AutofillQtyToReceive(var WhseReceiptLine: Record "Warehouse Receipt Line")`
- `DeleteQtyToReceive(var WhseReceiptLine: Record "Warehouse Receipt Line")`
- `GetLineStatus(): Integer`
- `GetLocation(LocationCode: Code[10])`
- `OpenItemTrackingLines()`
- `SetIgnoreErrors()`
- `HasErrorOccured(): Boolean`
- `InitOutstandingQtys()`
- `GetWhseRcptLine(ReceiptNo: Code[20]; SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer): Boolean`
- `SetItemData(ItemNo: Code[20]; ItemDescription: Text[100]; ItemDescription2: Text[50]; LocationCode: Code[10]; VariantCode: Code[10]; UoMCode: Code[10]; QtyPerUoM: Decimal)`
- `SetItemData(ItemNo: Code[20]; ItemDescription: Text[100]; ItemDescription2: Text[50]; LocationCode: Code[10]; VariantCode: Code[10]; UoMCode: Code[10]; QtyPerUoM: Decimal; QtyRndPrec: Decimal; QtyRndPrecBase: Decimal)`
- `SetSource(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer)`
- `SetSourceFilter(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer; SetKey: Boolean)`

Plus 8 local procedures.

## Triggers

OnDelete, OnRename

## Relations

- drill-down page [Page 7342 "Whse. Receipt Lines"](../page/7342.md)
- lookup page [Page 7342 "Whse. Receipt Lines"](../page/7342.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Item No.: TableRelation [Table 27 "Item"](../table/27.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- Cross-Dock Zone Code: TableRelation [Table 7300 "Zone"](../table/7300.md)
- Zone Code: TableRelation [Table 7300 "Zone"](../table/7300.md)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md) (conditional)
- Cross-Dock Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md) (conditional)
- Over-Receipt Code: TableRelation [Table 8510 "Over-Receipt Code"](../table/8510.md)

## Referenced by

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

- [Table 39 "Purchase Line"](../table/39.md): Whse. Outstanding Qty. (Base)
- [Table 5741 "Transfer Line"](../table/5741.md): Whse. Inbnd. Otsdg. Qty (Base)
- [Table extension 20512 "Subc. Purchase Line"](../tableextension/20512.md): Subc.Whse.Outstanding Quantity
- [Table extension 20517 "Subc. Transfer Line"](../tableextension/20517.md): Whse. Inbnd. Otsdg. Qty

## Pages and codeunits on this table

- [Page 5769 "Whse. Receipt Subform"](../page/5769.md) (source table)
- [Page 7342 "Whse. Receipt Lines"](../page/7342.md) (source table)
- [Codeunit 5760 "Whse.-Post Receipt"](../codeunit/5760.md) (codeunit runs on it)
- [Codeunit 5761 "Whse.-Post Receipt (Yes/No)"](../codeunit/5761.md) (codeunit runs on it)
- [Codeunit 5762 "Whse.-Post Receipt + Print"](../codeunit/5762.md) (codeunit runs on it)
- [Codeunit 5766 "Whse.-Post Receipt + Pr. Pos."](../codeunit/5766.md) (codeunit runs on it)

## Extended by

- [Table extension 20525 "Subc. Warehouse Receipt Line"](../tableextension/20525.md)

## 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 5402 "Unit of Measure Management"](../codeunit/5402.md) (2 calls: `CalcBaseQty → CalcBaseQty`, `ValidateQuantityIsBalanced → ValidateQtyIsBalanced`)
- [Codeunit 5775 "Whse. Management"](../codeunit/5775.md) (2 calls: `SetSource → GetWhseActivSourceDocument`, `SetSourceFilter → SetSourceFilterForWhseRcptLine`)
- [Codeunit 8510 "Over-Receipt Mgt."](../codeunit/8510.md) (1 call: `OverReceiptProcessing → IsOverReceiptAllowed`)
- [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) (1 call: `OpenItemTrackingLines → CallItemTracking`)
- [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) (1 call: `OpenItemTrackingLines → CallItemTracking`)
- [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) (1 call: `OpenItemTrackingLines → CallItemTracking`)

## Across versions

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

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: "Warehouse Receipt Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
