One item line of a Shipment, carrying the in-transit quantity for a single item. Its one seeded ledger rule adds Quantity minus CancelledQuantity to the InventoryStock Pipeline bucket when the shipment is posted - not when the line is created - and stamps InventoryLedgerId, which is exactly what the goods-receipt ledger rules test to decide whether receiving converts pipeline stock or adds fresh inward stock. PendingQuantity is calculated as Quantity minus ReceiptQuantity minus CancelledQuantity and is the gate the release-receipt and cancel actions check. Unlike a delivery order line it may not carry lot or storage-location detail: the handler rejects a non-empty ItemLotId or StorageLocationId outright, so lot assignment happens at goods receipt instead.
Fields
| Field | Label | Type | Required | What it does |
Amount | Total Amount | Calculated (calculated) | | |
CancelledQuantity | Cancelled Quantity | Number | | Quantity written off by the cancel-shipment actions - goods that were dispatched but will never be received. It reduces PendingQuantity and is subtracted from the quantity posted to Pipeline, but only on the next posting pass, since a cancellation alone does not re-post the line. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DeliveryOrderLineId | Delivery Order Line | Lookup → DeliveryOrderLine | | A lookup back to the delivery order line that caused this shipment line. |
ExcludeInAutoOrder | Exclude In Auto Order | Boolean | Yes | Opts this in-transit line out of the automatic replenishment calculation. Auto-ordering counts shipment lines with pending quantity as incoming supply, so setting this makes the planner ignore the line and potentially reorder the same goods. |
ExternalId | External | Text, unique | | |
Id | Id | Guid | Yes | |
InventoryLedgerId | Inventory Ledger | Lookup → InventoryLedger | | Stamped when the line posts its quantity into the Pipeline bucket. Downstream it is a discriminator rather than mere provenance: the goods-receipt ledger rules test whether the source shipment line has one to choose between converting pipeline stock and adding fresh inward stock. It is a system field and cannot be set by hand. |
InvoiceLineId | Invoice Line | Lookup → InvoiceLine | | |
IsILPosted | IL Posted | Boolean | Yes | A per-line inventory-posted flag that no code writes; InventoryLedgerId is the marker that actually records posting. It is nonetheless treated as a system field, so it cannot be set on insert. |
IsILPostingApproved | IL Posting Approved | Boolean | Yes | An approval gate for posting this line. The service that would set it in bulk is never called, but the handler does enforce a rule when it is switched to true on an update: the line is checked as postable against its ReceiptQuantity. |
ItemId | Item | Lookup → Item | | |
ItemLotId | Item Lot | Lookup → ItemLot | | Not usable on this entity: the handler rejects any shipment line with a lot set, with 'Storage Location and Item Lot is not supported for Shipment Lines'. Lot assignment happens at goods receipt, on the receipt line, not while the goods are in transit. |
ItemLotTypeId | Item Lot Type | Lookup → ItemLotType | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Document Number | Text | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PendingQuantity | Pending Quantity | Calculated (calculated) | | Calculated as Quantity minus ReceiptQuantity minus CancelledQuantity: how much of the dispatched line is neither received nor written off. Both the release-receipt and cancel actions refuse to run unless at least one line still has some, and the selective variants cap each requested quantity against it. |
PurchaseOrderDate | Purchase Order Date | Date | | |
PurchaseOrderId | Purchase Order | Lookup → PurchaseOrder | | |
PurchaseOrderLineId | Purchase Order Line | Lookup → PurchaseOrderLine | | |
Quantity | Quantity | Decimal | Yes | The quantity dispatched on this line. Posting adds Quantity minus CancelledQuantity to the Pipeline bucket, and editing Quantity (or UnitPrice) is what re-posts the line's ledger movement - changing other fields does not. |
ReceiptQuantity | Receipt Quantity | Number | | A live roll-up of GoodsReceiptLine.SupplierQuantity over the receipt lines pointing at this shipment line, reconciled for added, edited and deleted receipt lines alike. It is a system field: it cannot be edited directly, and a line with a non-zero value cannot be deleted. |
RecordTypeId | Record Type | Guid, hidden | | |
RequestedQuantity | Requested Quantity | Number | | A virtual, non-stored argument field: the selective release-receipt and selective cancel actions pass a per-line quantity through it, validated against PendingQuantity. It is never persisted and means nothing when read back from a saved row. |
ShipmentId | Shipment | Lookup → Shipment | Yes | |
SKUId | SKU | Lookup → SKU | | |
StorageLocationId | Storage Location | Lookup → StorageLocation | | Not usable on this entity: the handler rejects any shipment line that carries a storage location, for the same reason it rejects a lot - in-transit stock has not reached a bin yet. The destination bin is chosen on the goods receipt. |
UIProps | UI Props | Text | | |
UnitPrice | Unit Price | Currency | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | Delete |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete |
Edit | Edit | Edit | Edit |
EditInLine | Edit | EditInline | Edit |
EditInList | Edit | EditInline | Edit |
HeaderEdit | HeaderEdit | EditInline | edit |
Import | Import | UIAction | shipment Import |
MainNew | New | New | New |
New | Quick Add | NewInline | New |
Validations
| Validation | Applies to | Error message | Notes |
| Quantity Rule Validation | Quantity, Error | Quantity can't be zero | Prevents zero or negative quantity on shipment lines |
| Unit Price Rule Validation | UnitPrice, Error | Unit Price can't be negative | Prevents zero or negative unit price on shipment lines |
Lookup filters
| Filter | Lookup field | Notes |
| Sku For Item | SKUId | |