Item Fields

The Items master fields in SAP B1 โ€” ItemCode, ItemType, the sales/purchase/inventory flags, per-warehouse stock (ItemWarehouseInfoCollection), prices, and valuation method.

An Item is any product, raw material, service, or asset that the company buys, sells, or stores. With the Business Partner (see the Business Partner Fields reference), it is one of the two pillars of master data; a document line’s ItemCode points here.

In the Service Layer the item master is the Items entity (object code oItems, 4). The fields below determine what the item is, whether it can be sold, bought, or stocked, where it lives, what it costs, and how its inventory value is calculated.

Identity and type

FieldTypeMeaningRequired?
ItemCodeEdm.StringUnique identifier, max 20 chars. The primary key used everywhere as ItemCode.Yes
ItemNameEdm.StringDisplay name / description.Yes
ForeignNameEdm.StringName in a foreign/secondary language.No
ItemTypeSAPB1.ItemTypeEnumThe kind of item โ€” see the type table below.No (defaults itItems)
ItemsGroupCodeEdm.Int32Item group (ItemGroups) driving G/L account determination.No
BarCodeEdm.StringItem barcode.No

Item types

ItemType decides how the item behaves. The confusing part is that “is it stocked?” is a separate flag (InventoryItem) from the type โ€” a physical product is itItems with InventoryItem = tYES.

ScenarioItemTypeNotes
Physical product you buy and sellitItemsSet InventoryItem = tYES to stock it.
Labour / consulting timeitLaborNo stock.
Travel cost billed to a customeritTravelNo stock.
Machine / equipment you ownitFixedAssetsDepreciated asset, not traded stock.

The three role flags โ€” sales / purchase / inventory

Three independent yes/no flags decide what the item can do. They are the fields most often misconfigured (e.g. InventoryItem = tNO on something that should be stocked).

FieldTypeMeaningRequired?
SalesItemSAPB1.BoYesNoEnumCan it appear on sales documents? (tYES/tNO)No
PurchaseItemSAPB1.BoYesNoEnumCan it appear on purchasing documents?No
InventoryItemSAPB1.BoYesNoEnumIs it stocked (tracked in inventory, with a stock value)?No

An item can be any combination โ€” e.g. a resale product is sales + purchase + inventory; a consulting service is sales only, no inventory.

Warehouses and stock

An item lives in one or more warehouses. There is a default warehouse for new document lines, and a per-warehouse breakdown of stock.

FieldTypeMeaningRequired?
DefaultWarehouseEdm.StringWarehouse pre-filled on document lines for this item.No
ManageStockByWarehouseSAPB1.BoYesNoEnumWhether stock is tracked per warehouse.No
QuantityOnStockEdm.DoubleTotal current stock across all warehouses (read-only).Read-only
ItemWarehouseInfoCollectioncollectionPer-warehouse stock breakdown โ€” see below.No

ItemWarehouseInfoCollection โ€” per-warehouse stock

Each entry gives the stock position in one warehouse. These are the read-only numbers behind an “is it available?” question.

Field (per entry)TypeMeaning
WarehouseCodeEdm.StringThe warehouse this row describes.
InStockEdm.DoubleQuantity physically in stock in this warehouse.
CommittedEdm.DoubleQuantity committed to open sales/production documents.
OrderedEdm.DoubleQuantity on open purchase orders inbound to this warehouse.
MinimalStockEdm.DoubleReorder / minimum level.
MaximalStockEdm.DoubleMaximum stock level.

Available-to-promise is derived from these: roughly InStock โˆ’ Committed + Ordered.

Tracking

FieldTypeMeaningRequired?
ManageSerialNumbersSAPB1.BoYesNoEnumTrack each unit by serial number.No
ManageBatchNumbersSAPB1.BoYesNoEnumTrack by batch / lot.No

Enabling serial/batch tracking mid-life is a known trap: historical stock has no serial/batch and blocks new transactions until reconciled.

Prices

An item has a price per price list; the price that lands on a document line is resolved from the BP’s default price list (plus any special pricing).

FieldTypeMeaningRequired?
ItemPricescollectionPrice per price list โ€” see below.No
PurchaseUnitEdm.StringUnit of measure for purchasing.No
SalesUnitEdm.StringUnit of measure for sales.No

ItemPrices โ€” price per list

Field (per entry)TypeMeaning
PriceListEdm.Int32Which price list this price belongs to.
PriceEdm.DoubleThe unit price on that list.
CurrencyEdm.StringCurrency of the price.

A missing price for the price list a BP uses is a common cause of a zero-priced or rejected document line.

Valuation method

How the item’s inventory value (and cost of goods sold) is calculated. Set once and rarely changed.

FieldTypeMeaningRequired?
CostAccountingMethodSAPB1.ItemPriceCostingTypeValuation method โ€” see values below.No
AvgStdPriceEdm.DoubleThe moving-average / standard cost (read-only, method-dependent).Read-only

Common CostAccountingMethod values:

ValueMeaning
bomMovingAverageMoving average cost โ€” recalculated on each receipt.
bomStandardStandard cost โ€” a fixed planned cost, variances posted separately.
bomFIFOFirst-in-first-out โ€” value drawn from oldest layers first.
bomSerialAndBatchCost tracked per serial/batch.

Common data problems

  • InventoryItem = tNO on something that should be stocked (no stock tracking).
  • No DefaultWarehouse set.
  • Missing price for the price list the BP uses.
  • Wrong sales/purchase unit of measure (buys in boxes, sells in units โ€” not configured).
  • Batch/serial tracking enabled after transactions already exist.

Discovering user-defined fields

Items commonly carry UDFs, prefixed U_. The item table is OITM; list its UDFs with:

GET /b1s/v1/UserFieldsMD?$filter=TableName eq 'OITM'