---
id: object/codeunit/6503
type: object
title: Codeunit 6503 "Item Tracking Doc. Management"
summary: Codeunit 6503 "Item Tracking Doc. Management" in Base Application (Microsoft.Inventory.Tracking). 21 public procedures, 25 events. Present since at least BC23, still in BC30, changed in BC24-25, BC27, BC30.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "30"
  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: 3be0008edb05a9ccd7f23b43e782881af122c7d42da590a645f01302ea28a32e
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Tracking/ItemTrackingDocManagement.Codeunit.al
    title: src/Layers/W1/BaseApp/Inventory/Tracking/ItemTrackingDocManagement.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/12066
object_type: codeunit
object_id: 6503
name: Item Tracking Doc. Management
namespace: Microsoft.Inventory.Tracking
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"
  - "27"
  - "30"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 59
  events: 25
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 6
  calls: 3
  called_by: 32
  implements: 0
---

# Codeunit 6503 "Item Tracking Doc. Management"

> Codeunit 6503 "Item Tracking Doc. Management" in Base Application (Microsoft.Inventory.Tracking). 21 public procedures, 25 events. Present since at least BC23, still in BC30, changed in BC24-25, BC27, BC30.

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

## Events published

- `OnAddTempRecordToSetOnAfterTempItemLedgEntrySetFilters(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; TempItemLedgEntry2: Record "Item Ledger Entry" temporary)` (integration)
- `OnAddTempRecordToSetOnAfterApplySignFactor(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; SignFactor: Integer)` (integration)
- `OnAddTempRecordToSetOnBeforeTempItemLedgEntryModify(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; TempItemLedgEntry2: Record "Item Ledger Entry" temporary)` (integration)
- `OnAddTempRecordToSetOnAfterRetrieveAppliedExpirationDate(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary)` (integration)
- `OnAfterAddTempRecordToSet(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; var TempItemLedgerEntry2: Record "Item Ledger Entry" temporary; SignFactor: Integer)` (integration)
- `OnAfterFillTrackingSpecBufferFromItemLedgEntry(var TempTrackingSpecification: Record "Tracking Specification" temporary; var TempItemLedgerEntry: Record "Item Ledger Entry" temporary)` (integration)
- `OnAfterFillTrackingSpecBufferFromReservEntry(var TempTrackingSpecification: Record "Tracking Specification" temporary; var ReservationEntry: Record "Reservation Entry")` (integration)
- `OnAfterFillTrackingSpecBufferFromTrackingEntries(var TempTrackingSpecification: Record "Tracking Specification" temporary; var TrackingSpecification: Record "Tracking Specification")` (integration)
- `OnBeforeRetrieveDocumentItemTracking(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; SourceID: Code[20]; SourceType: Integer; SourceSubType: Option; var IsHandled: Boolean)` (integration)
- `OnRetrieveDocumentItemTracking(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; SourceID: Code[20]; var Found: Boolean; SourceType: Integer; SourceSubType: Option; RetrieveAsmItemTracking: Boolean)` (integration)
  - subscribers: [Codeunit 6482 "Serv. Item Tracking Doc. Mgt."](../codeunit/6482.md) OnRetrieveDocumentItemTracking
- `OnRetrieveEntriesFromPostedInvOnBeforeAddTempRecordToSet(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; ValueEntry: Record "Value Entry")` (integration)
- `OnRetrieveTrackingPurchaseOnAfterSetFilters(var PurchaseLine: Record "Purchase Line"; SourceID: Code[20]; SourceSubType: Option)` (integration)
- `OnRetrieveTrackingPurchaseReceiptOnAfterSetFilters(var PurchRcptLine: Record "Purch. Rcpt. Line"; SourceID: Code[20])` (integration)
- `OnRetrieveTrackingPurchCrMemoHeaderOnAfterSetFilters(var PurchCrMemoLine: Record "Purch. Cr. Memo Line"; SourceID: Code[20])` (integration)
- `OnRetrieveTrackingPurhInvHeaderOnAfterSetFilters(var PurchInvLine: Record "Purch. Inv. Line"; SourceID: Code[20])` (integration)
- `OnRetrieveTrackingSalesOnAfterSetFilters(var SalesLine: Record "Sales Line"; SourceID: Code[20]; SourceSubType: Option)` (integration)
- `OnRetrieveTrackingSalesCrMemoHeaderOnAfterSetFilters(var SalesCrMemoLine: Record "Sales Cr.Memo Line"; SourceID: Code[20])` (integration)
- `OnRetrieveTrackingSalesInvoiceOnAfterSetFilters(var SalesInvoiceLine: Record "Sales Invoice Line"; SourceID: Code[20])` (integration)
- `OnRetrieveTrackingSalesShipmentOnAfterSetFilters(var SalesShipmentLine: Record "Sales Shipment Line"; SourceID: Code[20])` (integration)
- `OnCollectItemTrkgPerPostedDocLineOnBeforeTempItemLedgEntryInsert(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; var TempReservationEntry: Record "Reservation Entry" temporary; ItemLedgerEntry: Record "Item Ledger Entry"; FromPurchase: Boolean)` (integration)
- `OnCreateTrackingInformationOnAfterTrackingSpecLoop(TrackingSpecification: Record "Tracking Specification"; ItemTrackingCode: Record "Item Tracking Code"; Inbound: Boolean)` (integration)
  - subscribers: [Codeunit 6515 "Package Info. Management"](../codeunit/6515.md) ItemTrackingDocManagementOnCreateTrackingInformationOnAfterTrackingSpecLoop
- `OnItemTrackingExistsInBufferOnAfterTempTrackingSpecBufferSetFilters(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary)` (integration)
- `OnShowItemTrackingForEntityOnBeforeTempItemLedgEntryInsert(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; Item: Record Item)` (integration)
- `OnAfterTableSignFactor(TableNo: Integer; var Sign: Integer)` (integration)
  - subscribers: [Codeunit 6482 "Serv. Item Tracking Doc. Mgt."](../codeunit/6482.md) OnAfterTableSignFactor, [Codeunit 935 "Asm. Item Tracking Mgt."](../codeunit/935.md) OnAfterTableSignFactor, [Codeunit 99000891 "Mfg. Item Tracking Mgt."](../codeunit/99000891.md) OnAfterTableSignFactor
- `OnRetrieveTrackingSalesShipmentForAssembly(SalesShipmentLine: Record "Sales Shipment Line"; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary)` (integration)
  - subscribers: [Codeunit 935 "Asm. Item Tracking Mgt."](../codeunit/935.md) OnRetrieveTrackingSalesShipmentForAssembly

## Procedures

- `AddTempRecordToSet(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; SignFactor: Integer)`
- `CollectItemTrkgPerPostedDocLine(var TempReservEntry: Record "Reservation Entry" temporary; var TempItemLedgEntry: Record "Item Ledger Entry" temporary; FromPurchase: Boolean; DocNo: Code[20]; LineNo: Integer)`
- `CopyItemLedgerEntriesToTemp(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; var FromItemLedgEntry: Record "Item Ledger Entry")`
- `FillTrackingSpecBufferFromILE(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer; Description: Text[100])`
- `FindReservEntries(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer; Description: Text[100])`
- `FindTrackingEntries(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer; Description: Text[100])`
- `FindShptRcptEntries(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer; Description: Text[100])`
- `FindInvoiceEntries(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer; Description: Text[100])`
- `RetrieveDocumentItemTracking(var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; SourceID: Code[20]; SourceType: Integer; SourceSubType: Option): Integer`
- `RetrieveEntriesFromShptRcpt(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer)`
- `RetrieveEntriesFromPostedInvoice(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; InvoiceRowID: Text[250])`
- `SetRetrieveAsmItemTracking(RetrieveAsmItemTracking2: Boolean)`
- `ShowItemTrackingForInvoiceLine(InvoiceRowID: Text[250]): Boolean`
- `ShowItemTrackingForEntity(SourceType: Integer; SourceNo: Code[20]; ItemNo: Code[20]; VariantCode: Code[20]; LocationCode: Code[10]; ItemTrackingSetup: Record "Item Tracking Setup")`
- `ShowItemTrackingForEntity(SourceType: Integer; SourceNo: Code[20]; ItemNo: Code[20]; VariantCode: Code[20]; LocationCode: Code[10])`
- `ShowItemTrackingForProdOrderComp(Type: Integer; ID: Code[20]; ProdOrderLine: Integer; RefNo: Integer): Boolean` (obsolete 27.0: Moved to codeunit Mfg. Item Tracking Mgt.)
- `ShowItemTrackingForJobPlanningLine(Type: Integer; ID: Code[20]; RefNo: Integer): Boolean` (internal)
- `ShowItemTrackingForShptRcptLine(Type: Integer; Subtype: Integer; ID: Code[20]; BatchName: Code[10]; ProdOrderLine: Integer; RefNo: Integer): Boolean`
- `TableSignFactor(TableNo: Integer): Integer`
- `CreateTrackingInfo(TableID: Integer; DocumentType: Integer; DocumentNo: Code[20])`
- `CopyDocTrkgFromReservation(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; HideDialog: Boolean)`

Plus 13 local procedures.

## Triggers

OnRun

## 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 6500 "Item Tracking Management"](../codeunit/6500.md) (3 calls: `AddTempRecordToSet → RetrieveAppliedExpirationDate`, `CreateLineTrkgFromReservation → GetItemTrackingSetup`, `FindInvoiceEntries → ComposeRowID`)
- [Page 6511 "Posted Item Tracking Lines"](../page/6511.md) (3 calls: `ShowItemTrackingForInvoiceLine → (object)`, `ShowItemTrackingForJobPlanningLine → (object)`, `ShowItemTrackingForShptRcptLine → (object)`)
- [Page 6501 "Item Tracking Entries"](../page/6501.md) (1 call: `ShowItemTrackingForEntity → (object)`)

## Called by

- [Codeunit 6620 "Copy Document Mgt."](../codeunit/6620.md) (16 calls: `CopyItemLedgEntryTrackingToSalesLine → CollectItemTrkgPerPostedDocLine`, `CopyItemLedgEntryTrackingToSalesLine → CopyItemLedgerEntriesToTemp`, `CopyPurchCrMemoLinesToDoc → CollectItemTrkgPerPostedDocLine`, …)
- [Codeunit 6482 "Serv. Item Tracking Doc. Mgt."](../codeunit/6482.md) (4 calls: `RetrieveTrackingService → FindReservEntries`, `RetrieveTrackingService → FindTrackingEntries`, `RetrieveTrackingServiceInvoice → FindInvoiceEntries`, …)
- [Report 6521 "Item Tracking Appendix"](../report/6521.md) (4 calls: `HandleInvoice → RetrieveDocumentItemTracking`, `HandlePurchase → RetrieveDocumentItemTracking`, `HandleSales → RetrieveDocumentItemTracking`, …)
- [Codeunit 5819 "Undo Service Consumption Line"](../codeunit/5819.md) (2 calls: `CollectItemLedgerEntries → CopyItemLedgerEntriesToTemp`, `CollectItemLedgerEntries → RetrieveDocumentItemTracking`)
- [Codeunit 5826 "Matched Order Line Mgmt."](../codeunit/5826.md) (2 calls: `LoadOneLineForPurchaseInvoice → RetrieveEntriesFromShptRcpt`, `ValidateQtyToInvoiceForPurchaseInvoice → RetrieveEntriesFromShptRcpt`)
- [Table 115 "Sales Cr.Memo Line"](../table/115.md) (2 calls: `FindItemLedgerEntryFromItemApplicationEntry → RetrieveEntriesFromPostedInvoice`, `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 125 "Purch. Cr. Memo Line"](../table/125.md) (2 calls: `FindItemLedgerEntryFromItemApplicationEntry → RetrieveEntriesFromPostedInvoice`, `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) (1 call: `CallItemTracking → ShowItemTrackingForJobPlanningLine`)
- [Codeunit 20412 "Qlty. Assembly Integration"](../codeunit/20412.md) (1 call: `HandleOnAfterPost → FindShptRcptEntries`)
- [Codeunit 20441 "Qlty. Disp. Purchase Return"](../codeunit/20441.md) (1 call: `FindPurchaseReceiptLineForInspection → RetrieveEntriesFromShptRcpt`)
- [Codeunit 5829 "PO Matching Group"](../codeunit/5829.md) (1 call: `ReceiptHasItemTracking → RetrieveEntriesFromShptRcpt`)
- [Codeunit 5831 "PO Matching"](../codeunit/5831.md) (1 call: `ReceiptHasItemTracking → RetrieveEntriesFromShptRcpt`)
- [Codeunit 900 "Assembly-Post"](../codeunit/900.md) (1 call: `FindItemLedgerEntryAndWhseItemTrackingLine → RetrieveEntriesFromShptRcpt`)
- [Codeunit 935 "Asm. Item Tracking Mgt."](../codeunit/935.md) (1 call: `OnRetrieveTrackingSalesShipmentForAssembly → FindShptRcptEntries`)
- [Table 111 "Sales Shipment Line"](../table/111.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 113 "Sales Invoice Line"](../table/113.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 121 "Purch. Rcpt. Line"](../table/121.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 123 "Purch. Inv. Line"](../table/123.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 5740 "Transfer Header"](../table/5740.md) (1 call: `AddTransferLineFromReceiptLine → CopyItemLedgerEntriesToTemp`)
- [Table 5745 "Transfer Shipment Line"](../table/5745.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 5747 "Transfer Receipt Line"](../table/5747.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 5853 "Invt. Receipt Line"](../table/5853.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 5855 "Invt. Shipment Line"](../table/5855.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 5857 "Direct Trans. Line"](../table/5857.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 5880 "Pstd. Phys. Invt. Order Line"](../table/5880.md) (1 call: `ShowPostedItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 5991 "Service Shipment Line"](../table/5991.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 5993 "Service Invoice Line"](../table/5993.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 5995 "Service Cr.Memo Line"](../table/5995.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)
- [Table 6651 "Return Shipment Line"](../table/6651.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 6661 "Return Receipt Line"](../table/6661.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 910 "Posted Assembly Header"](../table/910.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)
- [Table 911 "Posted Assembly Line"](../table/911.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForShptRcptLine`)

## Recent changes

- 2026-10-02 [#12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026](../../changes/bcapps/12066.md) (main, BC30, obsoletion)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, BC27, BC30

## Deprecations

- procedure ShowItemTrackingForProdOrderComp: Pending 27.0 (#if not CLEAN27), "Moved to codeunit Mfg. Item Tracking Mgt."

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: "codeunit", object_name: "Item Tracking Doc. Management")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
