---
id: object/page/461
type: object
title: Page 461 "Inventory Setup"
summary: Page 461 "Inventory Setup" in Base Application (Microsoft.Inventory.Setup). 1 events. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "24"
  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: 664ca8f23344a99818756580443641fadb6d67fc228fe8e9c945111c13549b4a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Setup/InventorySetup.Page.al
    title: src/Layers/W1/BaseApp/Inventory/Setup/InventorySetup.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/analysis-assist
    title: Analyze data in lists with Copilot (preview)
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/analysis-mode
    title: Analyze list page and query data using data analysis
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/finance-adjust-reconcile-inventory-cost-job-queue
    title: Schedule jobs for adjusting & reconciling inventory cost
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/inventory-how-import-item-pictures
    title: Import Multiple Item Pictures
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/inventory-how-setup-general
    title: Set up general inventory information
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/inventory-setup-inventory
    title: Setting up inventory
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/purchasing-how-register-new-vendors
    title: Register a new vendor
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/sales-how-register-new-customers
    title: Register new customers by creating a Customer Card
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ui-create-number-series
    title: Create number series
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/analysis-assist
    - https://learn.microsoft.com/dynamics365/business-central/analysis-mode
    - https://learn.microsoft.com/dynamics365/business-central/finance-adjust-reconcile-inventory-cost-job-queue
    - https://learn.microsoft.com/dynamics365/business-central/inventory-how-import-item-pictures
    - https://learn.microsoft.com/dynamics365/business-central/inventory-how-setup-general
    - https://learn.microsoft.com/dynamics365/business-central/inventory-setup-inventory
    - https://learn.microsoft.com/dynamics365/business-central/purchasing-how-register-new-vendors
    - https://learn.microsoft.com/dynamics365/business-central/sales-how-register-new-customers
    - https://learn.microsoft.com/dynamics365/business-central/ui-create-number-series
  objects: []
  features: []
  topics:
    - topic/business-central/analytics-business-intelligence-and-repo/ad-hoc-data-analysis
    - topic/business-central/business-functionality/finance/manage-inventory-costs/report-inventory-costs-and-reconcile-wit
    - topic/business-central/business-functionality/sales
    - topic/business-central/business-functionality/set-up-business-central
    - topic/business-central/business-functionality/set-up-business-central/set-up-inventory
    - topic/business-central/business-functionality/set-up-business-central/set-up-purchase
    - topic/business-central/business-functionality/set-up-business-central/set-up-sales
    - topic/business-central/copilot-and-agent-capabilities/analysis-assist
    - topic/dev-itpro/development/data-analytics-and-reporting
    - topic/dev-itpro/development/programming-in-the-al-language/tables-and-data/using-query-objects
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 461
name: Inventory Setup
namespace: Microsoft.Inventory.Setup
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/analysis-assist.md
  - docs/learn-smb-docs/business-central/analysis-mode.md
  - docs/learn-smb-docs/business-central/finance-adjust-reconcile-inventory-cost-job-queue.md
  - docs/learn-smb-docs/business-central/inventory-how-import-item-pictures.md
  - docs/learn-smb-docs/business-central/inventory-how-setup-general.md
  - docs/learn-smb-docs/business-central/inventory-setup-inventory.md
  - docs/learn-smb-docs/business-central/purchasing-how-register-new-vendors.md
  - docs/learn-smb-docs/business-central/sales-how-register-new-customers.md
  - docs/learn-smb-docs/business-central/ui-create-number-series.md
counts:
  fields: 0
  procedures: 2
  events: 1
  subscribers: 0
  controls: 54
  actions: 9
relations:
  out: 1
  referenced_by: 0
  pages: 2
  extended_by: 1
  event_subscribers: 2
  calls: 1
  called_by: 0
  implements: 0
---

# Page 461 "Inventory Setup"

> Page 461 "Inventory Setup" in Base Application (Microsoft.Inventory.Setup). 1 events. Present since at least BC23, still in BC30, changed in BC24.

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

## Properties

| Property | Value |
|---|---|
| Caption | Inventory Setup |
| SourceTable | Inventory Setup |
| PageType | Card |
| UsageCategory | Administration |
| ApplicationArea | Basic, Suite |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | Automatic Cost Posting | [Automatic Cost Posting](../table/313.md#fields) | Specifies if value entries are automatically posted to the inventory account, adjustment account, and COGS account in the general ledger when an item transaction is posted. Alternatively, you can manually post the values at regular intervals with the Post Inventory Cost to G/L batch job. Note that c... <small>from the table field</small> |
|  | Expected Cost Posting to G/L | [Expected Cost Posting to G/L](../table/313.md#fields) | Specifies if value entries originating from receipt or shipment posting, but not from invoice posting are recoded in the general ledger. Expected costs represent the estimation of, for example, a purchased item's cost that you record before you receive the invoice for the item. To post expected cost... <small>from the table field</small> |
|  | Automatic Cost Adjustment | [Automatic Cost Adjustment](../table/313.md#fields) | Specifies if item value entries are automatically adjusted when an item transaction is posted. This ensures correct inventory valuation in the general ledger, so that sales and profit statistics are up to date. The cost adjustment forwards any cost changes from inbound entries, such as those for pur... <small>from the table field</small> |
|  | Cost Adjustment Logging | [Cost Adjustment Logging](../table/313.md#fields) | Specifies if you want to log cost adjustments runs. Disabled: No logging. Errors Only: The program will only log cost adjustment runs that have errors. All: The program will log all cost adjustment runs. <small>from the table field</small> |
|  | Earliest Allowed Val. Date | [Earliest Allowed Val. Date](../table/313.md#fields) | Specifies the earliest date allowed for a Valuation Date on new value entries. If set, user-initiated postings with a Valuation Date before this date are blocked. System-generated entries such as cost adjustments, rounding, and expected-to-actual corrections are exempt. Leave blank to allow all date... <small>from the table field</small> |
|  | Default Costing Method | [Default Costing Method](../table/313.md#fields) | Specifies how your items' cost flow is recorded and whether an actual or budgeted value is capitalized and used in the cost calculation. Your choice of costing method determines how the unit cost is calculated by making assumptions about the flow of physical items through your company. A different c... <small>from the table field</small> |
|  | Average Cost Calc. Type | [Average Cost Calc. Type](../table/313.md#fields) | Specifies how costs are calculated for items using the Average costing method. Item: One average cost per item in the company is calculated. Item & Location & Variant: An average cost per item for each location and for each variant of the item in the company is calculated. This means that the averag... <small>from the table field</small> |
|  | Average Cost Period | [Average Cost Period](../table/313.md#fields) | Specifies the period of time used to calculate the weighted average cost of items that apply the average costing method. All inventory decreases that were posted within an average cost period will receive the average cost calculated for that period. If you change the average cost period, only open f... <small>from the table field</small> |
|  | Copy Comments Order to Shpt. | [Copy Comments Order to Shpt.](../table/313.md#fields) | Specifies that you want to copy the comments entered on the transfer order to the transfer shipment. <small>from the table field</small> |
|  | Copy Comments Order to Rcpt. | [Copy Comments Order to Rcpt.](../table/313.md#fields) | Specifies that you want to copy the comments entered on the transfer order to the transfer receipt. <small>from the table field</small> |
|  | Copy Comments to Invt. Doc. | [Copy Comments to Invt. Doc.](../table/313.md#fields) | Specifies that you want to copy the comments entered on the inventory document to the posted document. <small>from the table field</small> |
|  | Outbound Whse. Handling Time | [Outbound Whse. Handling Time](../table/313.md#fields) | Specifies a date formula that calculates the time it takes to get items ready to ship. The time element is used to calculate the delivery date as follows: Shipment Date + Outbound Warehouse Handling Time = Planned Shipment Date + Shipping Time = Planned Delivery Date. <small>from the table field</small> |
|  | Inbound Whse. Handling Time | [Inbound Whse. Handling Time](../table/313.md#fields) | Specifies a date formula that calculates the time it takes to make items available in inventory after they have been received. The time element is used to calculate the expected receipt date as follows: Order Date + Lead Time Calculation = Planned Receipt Date + Inbound Warehouse Handling Time + Saf... <small>from the table field</small> |
|  | Prevent Negative Inventory | [Prevent Negative Inventory](../table/313.md#fields) | Specifies whether you can post a transaction that will bring the item's inventory below zero. Negative inventory is always prevented for Consumption and Transfer type transactions. <small>from the table field</small> |
|  | Variant Mandatory if Exists | [Variant Mandatory if Exists](../table/313.md#fields) | Specifies whether a variant must be selected if variants exist for an item. This is the default setting for all items. However, the same option is available on the Item Card page for items. That setting applies to the specific item. |
|  | Skip Prompt to Create Item | [Skip Prompt to Create Item](../table/313.md#fields) | Specifies if a message about creating a new item card appears when you enter an item number that does not exist. <small>from the table field</small> |
|  | Copy Item Descr. to Entries | [Copy Item Descr. to Entries](../table/313.md#fields) | Specifies if you want the description on item cards to be copied to item ledger entries during posting. <small>from the table field</small> |
|  | Allow Invt. Doc. Reservation | [Allow Invt. Doc. Reservation](../table/313.md#fields) | Specifies if you want to allow reservation for inventory receipts and shipments. <small>from the table field</small> |
|  | Allow Inventory Adjustment | [Allow Inventory Adjustment](../table/313.md#fields) | Specifies if you want to allow manual adjustment of the inventory in the item card. <small>from the table field</small> |
| Location | Location Mandatory | [Location Mandatory](../table/313.md#fields) | Specifies if a location code is required when posting item transactions. This field, together with the Components at Location field in the Manufacturing Setup window, is very important in governing how the planning system handles demand lines with/without location codes. For more information, see "P... <small>from the table field</small> |
|  | Direct Transfer Posting Type | [Direct Transfer Posting Type](../table/313.md#fields) | Specifies if Direct Transfer will be posted as Shipment and Receipt or as single Direct Transfer document. There are different restrictions associated with different modes, for example Directed Transfer document does not support partial posting. <small>from the table field</small> |
| Planning | Current Demand Forecast | [Current Demand Forecast](../table/313.md#fields) | Specifies the name of the relevant demand forecast to use to calculate a plan. <small>from the table field</small> |
|  | Use Forecast on Locations | [Use Forecast on Locations](../table/313.md#fields) | Specifies that actual demand for the selected demand forecast is nettet for the specified location only. If you leave the check box empty, the program regards the demand forecast as valid for all locations. <small>from the table field</small> |
|  | Use Forecast on Variants | [Use Forecast on Variants](../table/313.md#fields) | Specifies that actual demand for the selected demand forecast is nettet for the specified item variant. If you leave the check box empty, the program regards the demand forecast as valid for all variants. <small>from the table field</small> |
|  | Default Safety Lead Time | [Default Safety Lead Time](../table/313.md#fields) | Specifies a time period that is added to the lead time of all items that do not have another value specified in the Safety Lead Time field. <small>from the table field</small> |
|  | Blank Overflow Level | [Blank Overflow Level](../table/313.md#fields) | Specifies how the planning system should react if the Overflow Level field on the item or SKU card is empty. <small>from the table field</small> |
|  | Combined MPS/MRP Calculation | [Combined MPS/MRP Calculation](../table/313.md#fields) | Specifies if both master production schedule and material requirements plan are run when you choose the Calc. Regenerative Plan action in the planning worksheet. <small>from the table field</small> |
|  | Default Dampener Period | [Default Dampener Period](../table/313.md#fields) | Specifies a period of time during which you do not want the planning system to propose to reschedule existing supply order's forward. This value in this field applies to all items except for items that have a different value in the Dampener Period field on the item card. When a dampener time is set,... <small>from the table field</small> |
|  | Default Dampener % | [Default Dampener %](../table/313.md#fields) | Specifies a percentage of an item's lot size by which an existing supply must change before a planning suggestion is made. <small>from the table field</small> |
| Dimensions | Item Group Dimension Code | [Item Group Dimension Code](../table/313.md#fields) | Specifies the dimension code that you want to use for product groups in analysis reports. <small>from the table field</small> |
|  | Package Caption | [Package Caption](../table/313.md#fields) | Specifies the alternative caption of Package tracking dimension that you want to use for captions for this dimension. For example, Size. <small>from the table field</small> |
| Numbering | Item Nos. | [Item Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to items. <small>from the table field</small> |
|  | Catalog Item Nos. | [Nonstock Item Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to catalog items. <small>from the table field</small> |
|  | Transfer Order Nos. | [Transfer Order Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to transfer orders. <small>from the table field</small> |
|  | Posted Transfer Shpt. Nos. | [Posted Transfer Shpt. Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to posted transfer shipments. <small>from the table field</small> |
|  | Posted Transfer Rcpt. Nos. | [Posted Transfer Rcpt. Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to posted transfer receipts. <small>from the table field</small> |
|  | Posted Direct Trans. Nos. | [Posted Direct Trans. Nos.](../table/313.md#fields) | Specifies the number series from which numbers are assigned to new records. <small>from the table field</small> |
|  | Direct Transfer Posting <small>obsolete Pending 29.0; #if not CLEAN29</small> | [Direct Transfer Posting](../table/313.md#fields) | Specifies if Direct Transfer will be posted as Shipment and Receipt or as single Direct Transfer document. There are different restrictions associated with different modes, for example Directed Transfer document does not support partial posting. <small>from the table field</small> |
|  | Inventory Put-away Nos. | [Inventory Put-away Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to inventory put-always. <small>from the table field</small> |
|  | Posted Invt. Put-away Nos. | [Posted Invt. Put-away Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to posted inventory put-always. <small>from the table field</small> |
|  | Inventory Pick Nos. | [Inventory Pick Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to inventory picks. <small>from the table field</small> |
|  | Posted Invt. Pick Nos. | [Posted Invt. Pick Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to posted inventory picks. <small>from the table field</small> |
|  | Inventory Movement Nos. | [Inventory Movement Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to inventory movements. <small>from the table field</small> |
|  | Registered Invt. Movement Nos. | [Registered Invt. Movement Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to registered inventory movements. <small>from the table field</small> |
|  | Internal Movement Nos. | [Internal Movement Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to internal movements. <small>from the table field</small> |
|  | Phys. Invt. Order Nos. | [Phys. Invt. Order Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to physical inventory orders. <small>from the table field</small> |
|  | Posted Phys. Invt. Order Nos. | [Posted Phys. Invt. Order Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to physical inventory orders when they are posted. <small>from the table field</small> |
|  | Invt. Receipt Nos. | [Invt. Receipt Nos.](../table/313.md#fields) | Specifies the number series from which numbers are assigned to new records. <small>from the table field</small> |
|  | Posted Invt. Receipt Nos. | [Posted Invt. Receipt Nos.](../table/313.md#fields) | Specifies the number series from which numbers are assigned to new records. <small>from the table field</small> |
|  | Invt. Shipment Nos. | [Invt. Shipment Nos.](../table/313.md#fields) | Specifies the number series from which numbers are assigned to new records. <small>from the table field</small> |
|  | Posted Invt. Shipment Nos. | [Posted Invt. Shipment Nos.](../table/313.md#fields) | Specifies the number series from which numbers are assigned to new records. <small>from the table field</small> |
|  | Package Nos. | [Package Nos.](../table/313.md#fields) | Specifies the number series that will be used to assign numbers to item tracking packages. <small>from the table field</small> |
| Journal Templates | Invt. Cost Jnl. Template Name | [Invt. Cost Jnl. Template Name](../table/313.md#fields) | Specifies the name of the journal template to use for automatic and expected cost posting. <small>from the table field</small> |
|  | Invt. Cost Jnl. Batch Name | [Invt. Cost Jnl. Batch Name](../table/313.md#fields) | Specifies the name of the journal batch to use for automatic and expected cost posting. <small>from the table field</small> |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Navigation | Schedule Cost Adjustment and Posting | Get help with creating job queue entries for item entry cost adjustments and posting costs to G/L tasks. |  |
|  | Inventory Periods | Set up periods in combinations with your accounting periods that define when you can post transactions that affect the value of your item inventory. When you close an inventory period, you cannot post any changes to the inventory value, either expected or actual value, before the ending date of the ... | [Page 5828 "Inventory Periods"](../page/5828.md) |
|  | Adjust Cost - Item Entries | — | [Report 795 "Adjust Cost - Item Entries"](../report/795.md) |
|  | Units of Measure | Set up the units of measure, such as PSC or HOUR, that you can select from in the Item Units of Measure window that you access from the item card. | [Page 209 "Units of Measure"](../page/209.md) |
|  | Item Discount Groups | Set up discount group codes that you can use as criteria when you define special discounts on a customer, vendor, or item card. | [Page 513 "Item Disc. Groups"](../page/513.md) |
|  | Import Item Pictures | Import item pictures from a ZIP file. | [Page 348 "Import Item Pictures"](../page/348.md) |
| Posting | Inventory Posting Setup | Set up links between inventory posting groups, inventory locations, and general ledger accounts to define where transactions for inventory items are recorded in the general ledger. | [Page 5826 "Inventory Posting Setup"](../page/5826.md) |
|  | Inventory Posting Groups | Set up the posting groups that you assign to item cards to link business transactions made for the item with an inventory account in the general ledger to group amounts for that item type. | [Page 112 "Inventory Posting Groups"](../page/112.md) |
| Journal Templates | Item Journal Templates | Set up number series and reason codes in the journals that you use for inventory adjustment. By using different templates you can design windows with different layouts and you can assign trace codes, number series, and reports to each template. | [Page 102 "Item Journal Templates"](../page/102.md) |

## Events published

- `OnOpenPageOnBeforeRecInsert(var InventorySetup: Record "Inventory Setup")` (integration)

## Trigger event subscribers

- OnAfterValidateEvent(Automatic Cost Adjustment): [Codeunit 2848 "Cost Adj. Scheduling Notifier"](../codeunit/2848.md) OnAfterValidateAutomaticCostAdjustment
- OnAfterValidateEvent(Automatic Cost Posting): [Codeunit 2848 "Cost Adj. Scheduling Notifier"](../codeunit/2848.md) OnAfterValidateAutomaticCostPosting

## Procedures

1 local procedures, no public ones.

## Triggers

OnOpenPage

## Relations

- source table [Table 313 "Inventory Setup"](../table/313.md)

## Pages and codeunits on this table

- [Table 313 "Inventory Setup"](../table/313.md) (drill-down page)
- [Table 313 "Inventory Setup"](../table/313.md) (lookup page)

## Extended by

- [Page extension 5840 "Cost Adjmt. Inventory Setup"](../pageextension/5840.md)

## 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 2849 "Cost Adj. Scheduling Manager"](../codeunit/2849.md) (2 calls: `SetAdjustCostWizardActionVisibility → AdjCostJobQueueExists`, `SetAdjustCostWizardActionVisibility → PostInvCostToGLJobQueueExists`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24

## Documented on Microsoft Learn

- [Analyze data in lists with Copilot (preview)](https://learn.microsoft.com/dynamics365/business-central/analysis-assist)
- [Analyze list page and query data using data analysis](https://learn.microsoft.com/dynamics365/business-central/analysis-mode)
- [Schedule jobs for adjusting & reconciling inventory cost](https://learn.microsoft.com/dynamics365/business-central/finance-adjust-reconcile-inventory-cost-job-queue)
- [Import Multiple Item Pictures](https://learn.microsoft.com/dynamics365/business-central/inventory-how-import-item-pictures)
- [Set up general inventory information](https://learn.microsoft.com/dynamics365/business-central/inventory-how-setup-general)
- [Setting up inventory](https://learn.microsoft.com/dynamics365/business-central/inventory-setup-inventory)
- [Register a new vendor](https://learn.microsoft.com/dynamics365/business-central/purchasing-how-register-new-vendors)
- [Register new customers by creating a Customer Card](https://learn.microsoft.com/dynamics365/business-central/sales-how-register-new-customers)
- [Create number series](https://learn.microsoft.com/dynamics365/business-central/ui-create-number-series)

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: "page", object_name: "Inventory Setup")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
