12.1 Inventory Setup, Item Types, Categories & Variants
Key Takeaways
- The Inventory Setup card establishes enterprise-wide rules governing automatic cost posting, expected cost accruals, automatic cost adjustment intervals, and negative inventory prevention.
- Business Central provides three distinct item types: Inventory (tracks physical quantity and balance sheet asset value), Non-Inventory (physical items expensed directly upon invoice without quantity tracking), and Service (labor or intangible units expensed upon invoice).
- Item Categories establish a hierarchical parent-child structure that automatically propagates default general product posting groups, inventory posting groups, costing methods, and item attributes to assigned items.
- Item Attributes provide structured, searchable metadata (Option, Text, Integer, Decimal, Date) that enhance filtering, facet searching in the web client, and external e-commerce integrations.
- Units of Measure require an immutable Base Unit of Measure for foundational ledger recording, complemented by Sales and Purchase Units of Measure defined via precise conversion factors in the Item Units of Measure table.
12.1 Inventory Setup, Item Types, Categories & Variants
Quick Summary: The Inventory Setup card centralizes global policies governing costing automation, interim expected cost posting to the General Ledger, and negative inventory prevention. Items are categorized into three core types: Inventory (tracked on balance sheet with physical quantities), Non-Inventory (physical goods expensed upon invoicing without quantity tracking), and Service (intangibles/labor). Product structures are streamlined using Item Categories for inherited accounting defaults, Item Attributes for searchable metadata facets, Item Units of Measure with mathematical conversion factors anchored to an immutable Base Unit of Measure, and Item Variants to manage cosmetic or dimensional product variations under a single master code.
Enterprise Inventory Configuration: The Inventory Setup Card
The Inventory Setup card (Alt+Q -> type Inventory Setup, Page 461 / Table 313) governs global logistics and inventory accounting behaviors across an entire Business Central company. Configuring these parameters correctly during initial implementation is vital because several toggles dictate how transactions interact with the General Ledger in real time.
UI Navigation Path:
Tell Me (Alt+Q) -> Inventory Setup -> General / Numbering / Dimensions FastTabs
Critical Inventory Setup Controls
| Setting / Field | Values / Options | Operational Impact & Functional Behavior |
|---|---|---|
| Automatic Cost Posting | Boolean (Yes / No) | When enabled (Yes), every posted inventory transaction immediately creates corresponding General Ledger Entries via the posting groups. When disabled (No), costs are staged in Value Entries and only posted to the G/L when the Post Inventory Cost to G/L batch job is run. |
| Expected Cost Posting to G/L | Boolean (Yes / No) | When enabled, Business Central posts interim financial accruals to the G/L upon purchase receipt (debiting Inventory Interim, crediting Invt. Accrual Interim) and sales shipment (debiting COGS Interim, crediting Inventory Interim) prior to invoicing. Critical for accurate interim balance sheet reporting. |
| Automatic Cost Adjustment | Never, Day, Week, Month, Quarter, Year, Always | Determines how frequently the system adjusts outbound costs when inbound costs change. Always ensures real-time valuation accuracy but can cause database locking in high-volume environments; Never requires running the Adjust Cost - Item Entries batch job via Job Queue. |
| Default Costing Method | FIFO, LIFO, Specific, Average, Standard | Establishes the default costing method automatically assigned to newly created Item Cards when no template or category override applies. |
| Prevent Negative Inventory | Boolean (Yes / No) | When enabled, the system blocks any sales shipment, negative adjustment, or consumption posting that would cause available inventory on hand at a specific location to fall below zero. |
| Item Nos. | Code (linked to No. Series) | Defines the default alphanumeric Number Series assigned to newly created Item master records. |
[!NOTE] In high-transaction distribution or manufacturing environments, setting Automatic Cost Adjustment to
Alwayscan cause database contention on Table 32 (Item Ledger Entry) and Table 5802 (Value Entry). Best practice in enterprise environments is to set this field toNeverand schedule the Adjust Cost - Item Entries batch job to run nightly or hourly via the Job Queue.
Item Types: Inventory, Non-Inventory & Service
When creating an Item Card (Alt+Q -> type Items -> New, Page 30 / Table 27), the Type field on the Item FastTab is the single most critical architectural choice. Once transactions are posted, the Type field cannot be altered.
Item Master Hierarchy:
Item Card (Table 27)
├── Type: Inventory -> Physical stock, Balance Sheet asset, Item Ledger Entries with Qty
├── Type: Non-Inventory -> Physical goods, direct P&L expense on invoice, zero Qty on hand
└── Type: Service -> Intangible labor/fees, direct P&L expense on invoice, zero Qty on hand
Comprehensive Item Type Comparison
| Operational Feature | Inventory | Non-Inventory | Service |
|---|---|---|---|
| Physical Stock Tracking | Full quantity tracking on hand, allocated, and on order | No physical quantity on hand tracked | No physical quantity tracked |
| Balance Sheet Valuation | Carried as an Asset (Account defined in Inventory Posting Setup) | No balance sheet asset; expensed upon invoice posting | No balance sheet asset; expensed upon invoice posting |
| Ledger Entries Created | Creates Item Ledger Entries with quantities and Value Entries with costs | Creates Item Ledger Entries with zero quantity and Value Entries for invoicing | Creates Item Ledger Entries with zero quantity and Value Entries for invoicing |
| Costing Methods | Supports FIFO, LIFO, Specific, Average, Standard | Defaults to FIFO (valuation is not capitalized) | Defaults to FIFO (valuation is not capitalized) |
| Location & Bin Support | Fully supported across all warehouse complexity tiers | Can specify Location on lines, but no bin tracking or inventory counts | Can specify Location on lines, but no bin tracking or inventory counts |
| BOM & Production | Full support as parent or component in Assembly and Production BOMs | Can be used as component in Assembly/Production BOMs; cannot be produced via Prod. Order | Can be used as component in Assembly BOMs; cannot be produced via Prod. Order |
| Item Tracking (Serial/Lot) | Fully supported with Item Tracking Codes | Not supported | Not supported |
Practical Implementation Guidance for Item Types
- Inventory: Use for finished merchandise, raw materials, sub-assemblies, and spare parts where physical availability, inventory counting, warehouse management, and asset valuation on the balance sheet are required.
- Non-Inventory: Ideal for office supplies, crating/packaging materials, low-value consumables (e.g., fasteners, lubricants), or drop-ship items where purchasing and selling must be tracked through purchase and sales lines, but stocktaking and balance sheet capitalization would generate unnecessary administrative overhead.
- Service: Reserved for billable consulting hours, machine installation labor, delivery charges, or calibration services where intangible units (e.g., HOURS, DAYS, VISITS) are billed on sales orders or expensed on purchase orders.
Item Categories & Structural Hierarchy
Item Categories (Alt+Q -> type Item Categories, Page 5730 / Table 5722) organize products into logical parent-child hierarchies (e.g., ELECTRONICS -> COMPUTERS -> LAPTOPS). Beyond reporting and navigation, Item Categories serve as powerful configuration templates that enforce accounting uniformity.
Item Category Inheritance Pipeline:
Parent Category: HARDWARE
└── Child Category: DESKTOPS
├── Inherits: Gen. Prod. Posting Group (RETAIL)
├── Inherits: Tax Group Code (TAXABLE)
├── Inherits: Inventory Posting Group (FINISHED)
├── Inherits: Costing Method (FIFO)
└── Inherits: Default Attributes (Manufacturer, Form Factor)
Inherited Parameters on the Item Card
When an Item Category is selected on an Item Card, Business Central prompts the user to overwrite or populate the following critical defaults:
- General Product Posting Group: Maps sales revenue, purchase costs, and cost of goods sold to General Ledger accounts via the General Posting Setup matrix.
- Inventory Posting Group: Links with Location codes in the Inventory Posting Setup matrix to determine Balance Sheet inventory asset accounts.
- Tax Group Code / VAT Product Posting Group: Dictates sales tax calculation or VAT rate determination on sales and purchases.
- Costing Method: Assigns the valuation algorithm.
- Default Item Attributes: Automatically assigns category-level attributes to the item card for immediate value population.
Item Attributes & Search Facets
Item Attributes (Alt+Q -> type Item Attributes, Page 7500 / Table 7500) provide extensible metadata capabilities without requiring custom AL table extensions or developer modifications.
Attribute Types and Formatting
Each attribute is defined with a specific data type to ensure rigorous data entry validation:
- Option: Restricts entry to a predefined list of discrete text values (e.g., Attribute:
Color, Values:Red,Blue,Black,Stainless Steel). - Text: Free-form alphanumeric strings up to 250 characters (e.g.,
Manufacturer Part Number). - Integer: Whole numbers without decimal places (e.g.,
Warranty Months). - Decimal: Numbers with fractional values and configurable unit of measure display (e.g.,
Screen Size: 15.6,Weight: 2.45 kg). - Date: Calendar date values (e.g.,
Release Date).
Operational Advantages of Item Attributes
- Web Client Filtering: Users can filter item lists by attributes in real time using the Filter by Attribute action, enabling multi-facet searching (e.g., Color =
BlackAND Material =Aluminum). - Search Bar Integration: Attribute values are indexed by the global search bar on the Items list page.
- E-Commerce & External APIs: Attributes synchronize directly to external web shops (e.g., Shopify connector) as product tags, variants, or filter specifications.
Units of Measure Architecture & Conversion Factors
Inventory in Business Central is tracked through a dual-layer unit of measure framework: foundational ledger units and transactional document units.
Unit of Measure Relational Framework:
[Base Unit of Measure] = PCS (Qty. per Unit of Measure = 1.0) <-- IMMUTABLE once entries exist
▲
├── [Purchase UOM] = BOX (Qty. per UOM = 12.0) --> Purchase 1 BOX = Increases stock by 12 PCS
└── [Sales UOM] = PALLET (Qty. per UOM = 120.0) --> Sell 1 PALLET = Relieves stock by 120 PCS
The Immutable Base Unit of Measure
The Base Unit of Measure (Table 204 / Table 27) represents the foundational unit in which Business Central stores all internal inventory balances and posts every physical Item Ledger Entry.
[!WARNING] Strict Architectural Rule: Once an Item Ledger Entry has been posted for an item (even if the current remaining inventory quantity is zero), the Base Unit of Measure cannot be changed. Attempting to modify this field triggers a validation error to prevent historical quantity and valuation corruption. If a new base unit is mandatory, the item must be zeroed out, blocked, and recreated.
Transactional Units & Item Units of Measure
To accommodate commercial packaging, items support alternative units of measure configured via the Item Units of Measure page (Alt+Q -> type Item Units of Measure, Page 5404 / Table 5404):
- Qty. per Unit of Measure: The exact conversion multiplier relative to the Base Unit of Measure (the Base UOM must always have a multiplier of
1.0). - Sales Unit of Measure: Defaults on sales quotes, orders, and invoices. Entering
1PALLET automatically deducts120PCS from inventory. - Purch. Unit of Measure: Defaults on purchase orders and invoices. Receiving
5BOXES automatically increases stock by60PCS. - Dimensions & Weight: Height, width, depth, cubage, and weight can be defined per unit of measure to support automated warehouse capacity calculations.
Item Variants: Managing Product Variation Without SKU Proliferation
Item Variants (Alt+Q -> type Item Variants, Page 5400 / Table 5401) allow an organization to manage products that share identical functional specifications, pricing, and accounting rules but differ in minor characteristics such as color, size, style, or packaging format.
Architectural Value of Variants
Without Item Variants, a shirt available in 5 colors and 4 sizes would require creating 20 distinct Item Cards. With Variants, the business maintains 1 Item Card (e.g., ITEM-1000: Oxford Shirt) and defines 20 Variant Codes (e.g., RED-S, RED-M, BLUE-L).
Operational Variant Capabilities
- Granular Inventory Tracking: Item Ledger Entries, Value Entries, and reservation engines track inventory balances independently per Variant Code.
- Transaction Documents: Sales orders, purchase orders, transfer orders, and production orders capture the specific Variant Code on each line.
- Stockkeeping Units (SKUs): When distinct replenishment, lead time, or reorder parameters are required for a specific variant at a specific location, consultants create SKU cards combining
Item No. + Location Code + Variant Code.
Step-by-Step UI Configuration Workflows
Workflow A: Configuring Core Inventory Setup
- Press
Alt+Q, typeInventory Setup, and select the related link. - On the General FastTab, configure:
- Set Automatic Cost Posting to
Yes(orNoif using batch posting). - Set Expected Cost Posting to G/L to
Yesto enable interim financial accruals. - Set Automatic Cost Adjustment to
Always(orNeverif high-volume). - Set Default Costing Method to
FIFO. - Set Prevent Negative Inventory to
Yes.
- Set Automatic Cost Posting to
- On the Numbering FastTab, verify the Item Nos. field references a valid Number Series (e.g.,
ITEM).
Workflow B: Creating a Structured Item with Category, Attributes, and UOM
- Press
Alt+Q, typeItems, and select New. - Select an Item Template (e.g.,
Item - Finished Goods). - On the Item FastTab:
- Verify Type is set to
Inventory. - Select the Item Category Code (e.g.,
CHAIRS); confirm the prompt to inherit posting groups. - In the Base Unit of Measure field, enter
PCS.
- Verify Type is set to
- In the action bar, select Item -> Units of Measure:
- Add code
BOXwith Qty. per Unit of Measure =12.
- Add code
- Back on the Item Card under the Costs & Posting FastTab, set Purch. Unit of Measure to
BOXand Sales Unit of Measure toPCS. - In the action bar, select Item -> Attributes to specify values for inherited or new attributes.
- In the action bar, select Item -> Variants to define variant codes (e.g.,
BLACK,WHITE).
Common Configuration Pitfalls & Exam Traps
- Pitfall 1: Modifying Base Unit of Measure After Posting. Attempting to change the Base Unit of Measure once an Item Ledger Entry exists will fail with an error. Consultants must create a replacement Item Card if a structural counting change is required.
- Pitfall 2: Omitting Expected Cost Posting to G/L. If Expected Cost Posting to G/L is disabled, receiving goods on a purchase order increases physical stock on hand but posts zero dollars to the General Ledger. Interim financial statements will understate assets and understate unbilled liabilities.
- Pitfall 3: Selecting Non-Inventory for Tracked Consumables. If a warehouse needs to perform stocktaking or know the quantity on hand of expensive shop tools or safety gear, creating them as Non-Inventory prevents all inventory tracking and counting. They must be set up as Inventory items.
- Pitfall 4: Unintended Negative Inventory Blockages. Enabling Prevent Negative Inventory stops sales shipments if a timing issue delays posting inbound purchase receipts. Organizations must maintain disciplined receiving workflows to prevent shipping order gridlock.
A company notices that when goods are received on a purchase order but not yet invoiced, the General Ledger reflects zero inventory value and zero interim liability, even though physical quantities are updated. Which setting on the Inventory Setup card must be enabled to accrue interim inventory assets and un-invoiced liabilities upon shipment and receipt?
An enterprise purchases packaging supplies (such as cardboard boxes and bubble wrap) that need to be ordered on purchase orders and billed to customer sales orders, but the warehouse manager does not want to track physical stock counts, perform inventory reconciliations, or report packaging asset values on the balance sheet. Which Item Type should the functional consultant configure for these items?
A functional consultant is configuring a new retail item that will be purchased in cases of 24 units, stored in individual units, and sold in packs of 6 units. Several positive adjustment entries have already been posted to record initial stock. The warehouse supervisor now requests that the Base Unit of Measure be changed from 'PCS' to 'BOX'. What constraint does Business Central enforce regarding this change?