---
id: object/table/7320
type: object
title: Table 7320 "Warehouse Shipment Header"
summary: Table 7320 "Warehouse Shipment Header" in Base Application (Microsoft.Warehouse.Document). 23 fields, 15 public procedures, 18 events. Present since at least BC23, still in BC30, changed in BC24-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: a28b4879092127aac1f513594d65d4b8998e0537b7fbd7533d6490d4781e6438
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Warehouse/Document/WarehouseShipmentHeader.Table.al
    title: src/Layers/W1/BaseApp/Warehouse/Document/WarehouseShipmentHeader.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/walkthrough-picking-and-shipping-in-basic-warehousing
    - https://learn.microsoft.com/dynamics365/business-central/warehouse-how-ship-items
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/warehouse-management/outbound-warehouse-processes
    - topic/business-central/get-started/learn/business-process-walkthroughs
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 7320
name: Warehouse Shipment Header
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"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 23
  procedures: 35
  events: 18
  subscribers: 0
relations:
  out: 13
  referenced_by: 9
  pages: 2
  extended_by: 0
  event_subscribers: 0
  calls: 4
  called_by: 0
  implements: 0
---

# Table 7320 "Warehouse Shipment Header"

> Table 7320 "Warehouse Shipment Header" in Base Application (Microsoft.Warehouse.Document). 23 fields, 15 public procedures, 18 events. Present since at least BC23, still in BC30, changed in BC24-29.

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

Learn documents this table through its pages: [Page 7335 "Warehouse Shipment"](../page/7335.md) (2 Learn pages), [Page 7339 "Warehouse Shipment List"](../page/7339.md) (2).

## Properties

| Property | Value |
|---|---|
| Caption | Warehouse Shipment Header |
| 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. |  |
| 2 | Location Code | Code[10] | Specifies the code of the location from which the items are being shipped. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 3 | Assigned User ID | Code[50] | Specifies the ID of the user who is responsible for the document. | TableRelation [Table 7301 "Warehouse Employee"](../table/7301.md) ("Warehouse Employee" where("Location Code" = field("Location Code"))); DataClassification EndUserIdentifiableInformation |
| 4 | Assignment Date | Date | Specifies the date when the user was assigned the activity. | not editable |
| 5 | Assignment Time | Time | Specifies the time when the user was assigned the activity. | not editable |
| 6 | Sorting Method | Enum "Warehouse Shipment Sorting Method" | Specifies the method by which the shipments are sorted. | enum [Enum 7303 "Warehouse Shipment Sorting Method"](../enum/7303.md) |
| 7 | No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 11 | Comment | Boolean | — | FlowField: exist("Warehouse Comment Line" where("Table Name" = const("Whse. Shipment"), Type = const(" "), "No." = field("No."))); not editable |
| 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 code of the zone on this shipment header. | TableRelation [Table 7300 "Zone"](../table/7300.md) (Zone.Code where("Location Code" = field("Location Code"))) |
| 34 | Document Status | Enum "Warehouse Shipment Status" | Specifies the progress level of warehouse handling on lines in the warehouse shipment. | enum [Enum 7320 "Warehouse Shipment Status"](../enum/7320.md); not editable |
| 39 | Posting Date | Date | Specifies a posting date. If you enter a date, the posting date of the source documents is updated during posting. |  |
| 41 | Shipping Agent Code | Code[10] | Specifies the code for the shipping agent who is transporting the items. This value is not carried over from the source documents because one warehouse shipment can contain lines from many source documents. If you enter a value, the source document will be updated during posting. If this field is bl... | TableRelation [Table 291 "Shipping Agent"](../table/291.md) (Shipping Agent) |
| 42 | Shipping Agent Service Code | Code[10] | Specifies the code for the service, such as a one-day delivery, that is offered by the shipping agent. This value is not carried over from the source documents because one warehouse shipment can contain lines from many source documents. If you enter a value, the source document will be updated durin... | TableRelation [Table 5790 "Shipping Agent Services"](../table/5790.md) ("Shipping Agent Services".Code where("Shipping Agent Code" = field("Shipping Agent Code"))) |
| 43 | Shipment Method Code | Code[10] | Specifies the delivery conditions of the related shipment, such as free on board (FOB). | TableRelation [Table 10 "Shipment Method"](../table/10.md) (Shipment Method) |
| 45 | Shipment Date | Date | Specifies when items on the document are shipped or were shipped. A shipment date is usually calculated from a requested delivery date plus lead time. |  |
| 46 | Completely Picked | Boolean | Specifies whether all items on the warehouse shipment have been completely picked. | FlowField: min("Warehouse Shipment Line"."Completely Picked" where("No." = field("No."))); not editable |
| 47 | Status | Option | Specifies the status of the shipment and is filled in by the program. | OptionCaption: Open,Released; not editable |
| 48 | External Document No. | Code[35] | Specifies a document number that refers to the customer's or vendor's numbering system. If you enter a value, the source document will be updated during posting. If this field is blank, the original document number is used. |  |
| 50 | Create Posted Header | Boolean | — |  |
| 61 | Shipping No. | Code[20] | — |  |
| 62 | Last Shipping No. | Code[20] | — | TableRelation [Table 7322 "Posted Whse. Shipment Header"](../table/7322.md) (Posted Whse. Shipment Header); not editable |
| 63 | Shipping No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |

## Keys

- Key1: No. (clustered)
- Key2: Location Code
- Key3: Shipment Date, Document Status

## Events published

- `OnAfterAssistEdit(var WarehouseShipmentHeader: Record "Warehouse Shipment Header")` (integration)
- `OnAfterOnInsert(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var xWarehouseShipmentHeader: Record "Warehouse Shipment Header")` (integration)
- `OnAfterShipmentLinesEditable(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsEditable: Boolean)` (integration)
- `OnBeforeConfirmModification(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeWhseShptLineDelete(var WarehouseShipmentLine: Record "Warehouse Shipment Line")` (integration)
- `OnBeforeErrorIfUserIsNotWhseEmployee(LocationCode: Code[10]; var IsHandled: Boolean)` (integration)
- `OnBeforeGetLocation(LocationCode: Code[10]; var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var Location: Record Location; var IsHandled: Boolean)` (integration)
- `OnDeleteWarehouseShipmentLinesOnBeforeConfirm(WarehouseShipmentLine: Record "Warehouse Shipment Line"; var Confirmed: Boolean; var IsHandled: Boolean)` (integration)
- `OnDeleteOnBeforeDeleteWarehouseShipmentLines(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; HideValidationDialog: Boolean)` (integration)
- `OnBeforeValidateShipmentDate(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; xWarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeSortWhseDoc(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnSortWhseDocCaseElse(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WarehouseShipmentLine: Record "Warehouse Shipment Line")` (integration)
- `OnBeforeDeleteWarehouseShipmentLines(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeApplyCustomSortingToWhseShptLines(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeMeetsCriteria(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeOnInsert(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var xWarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WhseSetup: Record "Warehouse Setup"; var Location: Record Location; var IsHandled: Boolean)` (integration)
- `OnGetDocumentStatusOnBeforeCheckPartllyShipped(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var WarehouseShipmentLine: Record "Warehouse Shipment Line")` (integration)
- `OnAfterDeleteRelatedLines(var WarehouseShipmentHeader: Record "Warehouse Shipment Header"; xWarehouseShipmentHeader: Record "Warehouse Shipment Header")` (integration)

## Procedures

- `AssistEdit(OldWarehouseShipmentHeader: Record "Warehouse Shipment Header"): Boolean`
- `SortWhseDoc()`
- `GetShipmentStatus(SkipLineNo: Integer): Enum "Warehouse Shipment Status"`
- `MessageIfShipmentLinesExist(ChangedFieldName: Text[80])`
- `GetLocation(LocationCode: Code[10]): Record Location`
- `LookupLocation(var WarehouseShipmentHeader: Record "Warehouse Shipment Header")`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `DeleteRelatedLines()`
- `DeleteWarehouseShipmentLines()`
- `FindFirstAllowedRec(Which: Text[1024]): Boolean`
- `FindNextAllowedRec(Steps: Integer): Integer`
- `ErrorIfUserIsNotWhseEmployee()`
- `ApplyCustomSortingToWhseShptLines(var WarehouseShipmentLine: Record "Warehouse Shipment Line")`
- `ShipmentLinesEditable(): Boolean`
- `BinCodeMandatory(): Boolean`

Plus 2 local procedures.

## Triggers

OnDelete, OnInsert, OnRename

## Relations

- lookup page [Page 7339 "Warehouse Shipment List"](../page/7339.md)
- Shipment Method Code: TableRelation [Table 10 "Shipment Method"](../table/10.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Shipping Agent Code: TableRelation [Table 291 "Shipping Agent"](../table/291.md)
- No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Shipping No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Comment: CalcFormula [Table 5770 "Warehouse Comment Line"](../table/5770.md)
- Shipping Agent Service Code: TableRelation [Table 5790 "Shipping Agent Services"](../table/5790.md)
- Zone Code: TableRelation [Table 7300 "Zone"](../table/7300.md)
- Assigned User ID: TableRelation [Table 7301 "Warehouse Employee"](../table/7301.md)
- Completely Picked: CalcFormula [Table 7321 "Warehouse Shipment Line"](../table/7321.md)
- Last Shipping No.: TableRelation [Table 7322 "Posted Whse. Shipment Header"](../table/7322.md)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md) (conditional)

## Referenced by

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

- [Table 7325 "Whse. Pick Request"](../table/7325.md): Shipment Method Code, Shipping Agent Code, Shipping Agent Service Code, Document No.
- [Table 9051 "Warehouse WMS Cue"](../table/9051.md): Picked Shipments - Today, Shipments - Today
- [Table 5767 "Warehouse Activity Line"](../table/5767.md): Whse. Document No.
- [Table 5773 "Registered Whse. Activity Line"](../table/5773.md): Whse. Document No.
- [Table 7326 "Whse. Worksheet Line"](../table/7326.md): Whse. Document No.

## Pages and codeunits on this table

- [Page 7335 "Warehouse Shipment"](../page/7335.md) (source table)
- [Page 7339 "Warehouse Shipment List"](../page/7339.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 7302 "WMS Management"](../codeunit/7302.md) (3 calls: `ErrorIfUserIsNotWhseEmployee → CheckUserIsWhseEmployee`, `FindFirstAllowedRec → LocationIsAllowedToView`, `FindNextAllowedRec → LocationIsAllowedToView`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (2 calls: `DeleteWarehouseShipmentLines → DeleteWhseItemTrkgLines`, `DeleteWarehouseShipmentLines → SetDeleteReservationEntries`)
- [Page 456 "No. Series"](../page/456.md) (2 calls: `AssistEdit → (object)`, `OnInsert → (object)`)
- [Page 7347 "Locations with Warehouse List"](../page/7347.md) (1 call: `LookupLocation → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-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). 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 Shipment Header")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
