---
title: "Codeunit 5703 Catalog Item Management"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/5703-catalog-item-management/
type: codeunit
id: 5703
name: "Catalog Item Management"
app: "Base Application"
namespace: Microsoft.Inventory.Item.Catalog
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/5703-catalog-item-management/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 5703 Catalog Item Management

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/5703-catalog-item-management/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Inventory.Item.Catalog |
| Versions | 17-28 |
| Source file | Inventory/Item/Catalog/CatalogItemManagement.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| NonstockAutoItem | (Record Nonstock Item) | - | public | 17-28 | - | - |
| NonstockItemVend | (Record Nonstock Item) | - | public | 17-28 | - | - |
| NonstockItemReference | (var Record Nonstock Item) | - | public | 17-28 | - | - |
| NonstockItemDel | (var Record Item) | - | public | 17-28 | - | - |
| NonStockSales | (var Record Sales Line) | - | public | 17-28 | - | - |
| DelNonStockSales | (var Record Sales Line) | - | public | 17-28 | - | - |
| DelNonStockPurch | (var Record Purchase Line) | - | public | 17-28 | - | - |
| DelNonStockFSM | (var Record Service Line) | - | public | 17-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| DelNonStockSalesArch | (var Record Sales Line Archive) | - | public | 17-28 | - | - |
| NonStockFSM | (var Record Service Line) | - | public | 17-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| CreateItemFromNonstock | (Record Nonstock Item) | - | public | 17-28 | - | - |
| InsertItemUnitOfMeasure | (Code[10], Code[20]) | - | public | 19-28 | - | - |
| GetNewItemNo | (Record Nonstock Item, Integer, Integer) | Code[20] | public | 19-26 | Pending 24.0 | Replaced by GetNewItemNo(NonstockItem) |
| CreateNewItem | (Code[20], Record Nonstock Item) | - | public | 19-25 | Pending 22.0 | Replaced by CreateNewItem(NonstockItem) |
| CheckItemTemplateCode | (Record Nonstock Item) | - | public | 21-28 | - | - |
| DetermineItemNoAndItemNoSeries | (var Record Nonstock Item) | - | public | 22-28 | - | - |
| CreateNewItem | (Record Nonstock Item) | - | public | 22-28 | - | - |
| OpenProgressDialog | (Record Nonstock Item, Code[20]) | - | public | 25-28 | - | - |
| CloseProgressDialog | () | - | public | 25-28 | - | - |
| CheckLicensePermission | (Integer) | Boolean | public | 25-28 | - | - |
| DelNonStockItem | (var Record Item) | - | public | 25-28 | - | - |
| RunOnNonStockFSMOnAfterCreateNewItem | (var Record Item) | - | internal | 25-27 | - | - |
| RunOnNonStockFSMOnBeforeInsertItemUnitOfMeasure | (var Record Nonstock Item) | - | internal | 25-27 | - | - |
| RunOnNonStockFSMOnBeforeProgWindowOpen | (var Record Service Line, var Boolean) | - | internal | 25-27 | - | - |
| RunOnBeforeDelNonStockFSM | (var Record Service Line, var Boolean) | - | internal | 25-27 | - | - |
| RunOnNonStockFSMOnBeforeProgWindowClose | (var Boolean, Record Service Line) | - | internal | 25-27 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCreateNewItem | (var Record Item) | 17 | - | - |
| Integration event | OnAfterItemCrossReferenceFilter | (var Record Item Cross Reference, Record Nonstock Item) | 17-19 | Pending 17.0 | Replaced by OnNonstockItemReferenceOnAfterSetVendorItemNoFilters(). |
| Integration event | OnAfterItemCrossReferenceInsert | (var Record Item Cross Reference, Record Nonstock Item) | 17-19 | Pending 17.0 | Replaced by OnAfterItemReferenceInsert(). |
| Integration event | OnNonstockItemReferenceOnAfterSetBarCodeFilters | (var Record Item Reference, Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnNonstockItemReferenceOnAfterSetVendorItemNoFilters | (var Record Item Reference, Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnAfterItemReferenceInsert | (var Record Item Reference, Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnAfterNonstockItemDel | (var Record Item) | 17-28 | - | - |
| Integration event | OnAfterNonstockAutoItem | (var Record Nonstock Item, var Record Item) | 17-28 | - | - |
| Integration event | OnBeforeCreateItemFromNonstock | (var Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnBeforeCheckNonStockItem | (var Record Nonstock Item, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCreateNewItem | (var Record Item, Record Item Template, Record Nonstock Item) | 17-20 | Pending 18.0 | Event will be removed with other functionality related to "old" templates. Replaced by OnAfterInitItemFromTemplate() |
| Integration event | OnBeforeDelNonStockItem | (var Record Item) | 17-19 | - | - |
| Integration event | OnBeforeDeleteCreatedFromNonstockItem | (var Record Item, var Record Nonstock Item, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetNewItemNo | (Record Nonstock Item, Integer, Integer, var Code[20], var Boolean) | 17-25 | Pending 21.4 | Replaced by OnBeforeDetermineItemNoAndItemNoSeries(NonstockItem, IsHandled) |
| Integration event | OnBeforeNonstockAutoItem | (var Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnBeforeNonstockItemCrossRef | (var Record Nonstock Item, var Boolean) | 17-22 | Pending 20.0 | Replaced by event OnBeforeNonstockItemReference |
| Integration event | OnBeforeNonStockSales | (var Record Nonstock Item, var Record Sales Line, var Boolean) | 17-28 | - | - |
| Integration event | OnCreateItemFromNonstockOnBeforeInsertItemUnitOfMeasure | (var Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnNonstockItemVendOnBeforeItemVendInsert | (var Record Item Vendor, Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnNonstockAutoItemOnAfterCreateNewItem | (var Record Item) | 17-19 | - | - |
| Integration event | OnNonstockAutoItemOnBeforeInsertItemUnitOfMeasure | (var Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnNonStockSalesOnAfterCreateNewItem | (var Record Item) | 17-28 | - | - |
| Integration event | OnNonStockSalesOnBeforeInsertItemUnitOfMeasure | (var Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnNonStockSalesOnBeforeProgWindowClose | (var Record Nonstock Item, var Record Item) | 17-21 | - | - |
| Integration event | OnNonStockFSMOnAfterCreateNewItem | (var Record Item) | 17-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| Integration event | OnNonStockFSMOnBeforeInsertItemUnitOfMeasure | (var Record Nonstock Item) | 17-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| Integration event | OnAfterNonstockItemCrossRef | (var Record Nonstock Item) | 17-28 | - | - |
| Integration event | OnAfterCreateNewItem | (var Record Item, Record Nonstock Item) | 18-19 | - | - |
| Integration event | OnAfterInitItemFromTemplate | (var Record Item, Record Item Templ., Record Nonstock Item) | 18-28 | - | - |
| Integration event | OnCreateNewItemOnBeforeItemInsert | (var Record Item, Record Nonstock Item) | 18-28 | - | - |
| Integration event | OnAfterInsertUnitOfMeasure | (Code[10], Code[20]) | 19-28 | - | - |
| Integration event | OnBeforeInsertItemUnitOfMeasure | (Code[10], Code[20]) | 19-28 | - | - |
| Integration event | OnBeforeNonstockItemVend | (Record Nonstock Item) | 19-28 | - | - |
| Integration event | OnBeforeDelNonStockSales | (var Record Sales Line, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeShowItemCreatedMessage | (var Record Item, Record Nonstock Item, var Boolean) | 19-28 | - | - |
| Integration event | OnAfterCreateNewItem | (var Record Item, Record Nonstock Item, var Record Item) | 20-28 | - | - |
| Integration event | OnAfterGetNewItemNo | (Record Nonstock Item, var Code[20]) | 20-25 | Pending 22.0 | Replaced by OnAfterDetermineItemNoAndItemNoSeries(NonstockItem) |
| Integration event | OnAfterNonstockItemVend | (Record Nonstock Item, var Record Item Vendor) | 20-28 | - | - |
| Integration event | OnBeforeCheckItemAlreadyExists | (var Record Nonstock Item, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeDelNonStockItem | (var Record Item, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeNonstockItemReference | (var Record Nonstock Item, var Boolean) | 20-28 | - | - |
| Integration event | OnNonstockAutoItemOnAfterCreateNewItem | (var Record Item, var Boolean) | 20-28 | - | - |
| Integration event | OnInsertItemUnitOfMeasuresOnBeforeItemUnitOfMeasureGet | (Code[10], var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCheckItemTemplateCode | (var Record Nonstock Item, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeInitItemFromTemplate | (var Record Item, Record Nonstock Item, var Boolean) | 20-28 | - | - |
| Integration event | OnAfterDetermineItemNoAndItemNoSeries | (var Record Nonstock Item) | 22-28 | - | - |
| Integration event | OnBeforeDelNonStockPurch | (var Record Purchase Line, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeDetermineItemNoAndItemNoSeries | (var Record Nonstock Item, var Boolean) | 22-28 | - | - |
| Integration event | OnNonStockSalesOnBeforeProgWindowClose | (var Record Nonstock Item, var Record Item, Record Sales Line, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeGetItemNoFromNoSeries | (var Record Nonstock Item, var Boolean) | 22-28 | - | - |
| Integration event | OnAfterGetItemNoFromNoSeries | (var Record Nonstock Item) | 22-28 | - | - |
| Integration event | OnNonStockFSMOnBeforeProgWindowOpen | (var Record Service Line, var Boolean) | 22-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| Integration event | OnBeforeDelNonStockFSM | (var Record Service Line, var Boolean) | 23-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| Integration event | OnBeforeDelNonStockSalesArch | (var Record Sales Line Archive, var Boolean) | 23-28 | - | - |
| Integration event | OnBeforeCreateNewItem | (var Record Nonstock Item, var Boolean) | 23-28 | - | - |
| Integration event | OnNonStockFSMOnBeforeProgWindowClose | (var Boolean, Record Service Line) | 23-27 | Pending 25.0 | Moved to codeunit Serv. Catalog Item Mgt. |
| Integration event | OnCreateNewItemOnBeforeItemModify | (var Record Item, Record Nonstock Item) | 23-28 | - | - |
| Integration event | OnDelNonStockItemOnAfterCheckRelations | (var Record Item) | 25 | - | - |
| Integration event | OnDelNonStockItemOnAfterCheckRelations | (var Record Item, var Boolean) | 26-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
