---
id: object/page/4410
type: object
title: Page 4410 "SOA Multi Items Availability"
summary: Page 4410 "SOA Multi Items Availability" in SalesOrderAgent (Microsoft.Agent.SalesOrderAgent). 1 public procedures, 3 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - page
  - salesorderagent
versions:
  introduced: "29"
  last_changed: null
  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: 57cef0a1883c554e8531a70e33ae71ed4a8e1a531b034e713ea63b7d4fb8a621
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/SalesOrderAgent/app/src/ItemAvailability/SOAMultiItemsAvailability.Page.al
    title: src/Apps/W1/SalesOrderAgent/app/src/ItemAvailability/SOAMultiItemsAvailability.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/expense-management/expense-agent
    title: Expense Agent overview for Business Central
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/payables-agent
    title: Payables Agent Overview in Business Central
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-item-availability
    title: Item availability in Sales Order Agent (preview)
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-process
    title: Process sales quotes and orders with Sales Order Agent
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-setup
    title: Set up Sales Order Agent
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/sales-order-agent
    title: Sales Order Agent overview
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/supervise-agent-tasks
    title: Supervise Agent Activities in Business Central
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/expense-management/expense-agent
    - https://learn.microsoft.com/dynamics365/business-central/payables-agent
    - https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-item-availability
    - https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-process
    - https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-setup
    - https://learn.microsoft.com/dynamics365/business-central/sales-order-agent
    - https://learn.microsoft.com/dynamics365/business-central/supervise-agent-tasks
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/expense-management-preview/understand-expense-agent
    - topic/business-central/copilot-and-agent-capabilities/expense-agent-preview/expense-agent-overview
    - topic/business-central/copilot-and-agent-capabilities/payables-agent
    - topic/business-central/copilot-and-agent-capabilities/sales-order-agent
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10748
    - change/bcapps/10631
    - change/bcapps/9310
    - change/bcapps/10007
    - change/bcapps/9364
object_type: page
object_id: 4410
name: SOA Multi Items Availability
caption: Item Availability
namespace: Microsoft.Agent.SalesOrderAgent
app: SalesOrderAgent
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/expense-management/expense-agent.md
  - docs/learn-smb-docs/business-central/payables-agent.md
  - docs/learn-smb-docs/business-central/sales-order-agent-item-availability.md
  - docs/learn-smb-docs/business-central/sales-order-agent-process.md
  - docs/learn-smb-docs/business-central/sales-order-agent-setup.md
  - docs/learn-smb-docs/business-central/sales-order-agent.md
  - docs/learn-smb-docs/business-central/supervise-agent-tasks.md
counts:
  fields: 0
  procedures: 17
  events: 3
  subscribers: 0
  controls: 45
  actions: 6
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 4
  calls: 7
  called_by: 0
  implements: 0
---

# Page 4410 "SOA Multi Items Availability"

> Page 4410 "SOA Multi Items Availability" in SalesOrderAgent (Microsoft.Agent.SalesOrderAgent). 1 public procedures, 3 events. Introduced in BC29, still in BC30.

SalesOrderAgent · Microsoft.Agent.SalesOrderAgent · captioned "Item Availability" · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/SalesOrderAgent/app/src/ItemAvailability/SOAMultiItemsAvailability.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Item Availability |
| Extensible | false |
| SourceTable | Item |
| PageType | List |
| UsageCategory | Lists |
| 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 |
|---|---|---|---|
| Content | PreviewDisclaimer | `PreviewDisclaimerLbl` | — |
| Options | View by | `AnalysisPeriodType` | Specifies by which period amounts are displayed. |
|  | View as | `AnalysisAmountType` | Specifies how amounts are displayed. Net Change: The net change in the balance for the selected period. Balance at Date: The balance as of the last day in the selected period. |
|  | Date Filter | `DateFilter` | Specifies the dates that will be used to filter the amounts in the window. |
|  | Customer No. | `CustomerNo` | Specifies the customer number that will be used to calculate prices and discounts. |
|  | Contact No. | `ContactNo` | Specifies the contact number that will be used to calculate prices and discounts. |
|  | Location Filter | `LocationFilter` | Specifies the location that will be used to filter the amounts in the window. |
|  | Quantity Filter | `QuantityFilter` | Specifies the quantity filter that will be used to identify the available quantity. |
|  | UOM Filter | `InUOMCode` | Specifies the unit of measure in which available quantity is calculated. |
|  | Calculate Earliest Shipment Date | `CalculateEarliestShipmentDate` | Specifies whether the earliest possible shipment date should be calculated for the requested quantity of currently unavailable items. |
| Control1 | No. | [No.](../table/27.md#fields) | Specifies a number of the item. |
|  | Variant Code | `ResolvedVariantCode` | Specifies the resolved variant code for the item. |
|  | Description | [Description](../table/27.md#fields) | Specifies a description of the item. |
|  | Description | `TranslatedDescription` | Specifies a translated description of the item. |
|  | Requested Quantity Available | `Available` | Specifies if the requested quantity is available in requested unit of measure. |
|  | Earliest Shipment Date | `EarliestShipmentDate` | Specifies the earliest date the requested quantity will be available for shipment if ordered today. |
|  | Availability Level | `AvailabilityLevel` | Specifies the level of item availability. |
|  | Unit Cost | `UnitCost` | Specifies the unit cost of the item on the line. |
|  | Unit Price | `UnitPrice` | Specifies the price for one unit on the line. |
|  | Discount % | `DiscountPct` | Specifies the discount percentage that can be granted for the item on the line. |
|  | Unit Price Including Discount | `UnitPriceInclDiscount` | Specifies the price for one unit on the line including discount. |
|  | Currency Code | `CurrencyCode` | Specifies the currency code of the price on the line. |
|  | Matching Item | `MatchingItem` | Specifies if the search result finds a matching item against the searched query or alternative items. |
|  | Gross Requirement | `GrossRequirement` | Specifies the sum of the total demand for the item. The gross requirement consists of independent demand (which include sales orders, service orders, transfer orders, and demand forecasts) and dependent demand, which include production order components for planned, firm planned, and released product... |
|  | Scheduled Receipt | `ScheduledRcpt` | Specifies the sum of items from replenishment orders. This includes firm planned and released production orders, purchase orders, and transfer orders. |
|  | Planned Receipt | `PlannedOrderRcpt` | Specifies the quantity on planned production orders plus planning worksheet lines plus requisition worksheet lines. |
|  | Inventory | [Inventory](../table/27.md#fields) | Specifies the inventory level of an item. |
|  | Available Quantity (Base UOM) | `ProjAvailableBalance` | Specifies the item's availability. This quantity includes all known supply and demand but does not include anticipated demand from demand forecasts or blanket sales orders or suggested supplies from planning or requisition worksheets. |
|  | Available Quantity | `ProjAvailableBalanceInUOM` | Specifies the item's availability recalculated in specified Unit on Measure. |
|  | Unit Of Measure Code | `LineUOM` | Specifies the item's Unit of Measure code. |
|  | Unit Of Measure | `LineUOMDescription` | Specifies the item's Unit of Measure description. |
|  | Qty. on Purch. Order | [Qty. on Purch. Order](../table/27.md#fields) | Specifies how many units of the item are inbound on purchase orders, meaning listed on outstanding purchase order lines. |
|  | Qty. on Sales Order | [Qty. on Sales Order](../table/27.md#fields) | Specifies how many units of the item are allocated to sales orders, meaning listed on outstanding sales orders lines. |
|  | Qty. on Project Order | [Qty. on Job Order](../table/27.md#fields) | Specifies how many units of the item are allocated to projects, meaning listed on outstanding project planning lines. The field is automatically updated based on the Remaining Qty. field in the Project Planning Lines window. |
|  | Trans. Ord. Shipment (Qty.) | [Trans. Ord. Shipment (Qty.)](../table/27.md#fields) | Specifies the quantity of the items that remains to be shipped. The program calculates this quantity as the difference between the Quantity and the Quantity Shipped fields. It automatically updates the field each time you either update the Quantity or Quantity Shipped field. |
|  | Qty. on Asm. Comp. Lines | [Qty. on Asm. Component](../tableextension/905.md#fields) | Specifies how many units of the item are allocated to assembly component orders. |
|  | Qty. on Assembly Order | [Qty. on Assembly Order](../tableextension/905.md#fields) | Specifies how many units of the item are allocated to assembly orders, which is how many are listed on outstanding assembly order headers. |
|  | Qty. in Transit | [Qty. in Transit](../table/27.md#fields) | Specifies the quantity of the items that are currently in transit. |
|  | Trans. Ord. Receipt (Qty.) | [Trans. Ord. Receipt (Qty.)](../table/27.md#fields) | Specifies the quantity of the items that remain to be received but are not yet shipped. The program calculates this quantity as the difference between the Quantity and the Quantity Shipped fields. It automatically updates the field each time you either update the Quantity or Quantity Shipped field. |
|  | Expected Inventory | `ExpectedInventory` | Specifies the quantity of the item that is expected to be in inventory at the end of the period entered in the Date Filter field. |
|  | Available Inventory | `QtyAvailable` | Specifies the quantity of the item that is currently in inventory and not reserved for other demand. |
|  | Scheduled Receipt (Qty.) | [Scheduled Receipt (Qty.)](../tableextension/99000750.md#fields) | Specifies how many units of the item are scheduled for production orders. The program automatically calculates and updates the contents of the field, using the Remaining Quantity field on production order lines. |
|  | Qty. on Component Lines | [Qty. on Component Lines](../tableextension/99000750.md#fields) | Specifies the sum of items from planned production orders. |
|  | Planned Order Releases | `PlannedOrderReleases` | Specifies the sum of items from replenishment order proposals, which include planned production orders and planning or requisition worksheets lines, that are calculated according to the starting date in the planning worksheet and production order or the order date in the requisition worksheet. This ... |
|  | Net Change | [Net Change](../table/27.md#fields) | Specifies the net change in the inventory of the item during the period entered in the Date Filter field. |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Previous Period | Show the information based on the previous period. If you set the View by field to Day, the date filter changes to the day before. |  |
|  | Next Period | Show the information based on the next period. If you set the View by field to Day, the date filter changes to the day after. |  |
| Item Availability by | Event | View how the actual and the projected available balance of an item will develop over time according to supply and demand events. |  |
|  | Period | Show the projected quantity of the item over time according to time periods, such as day, week, or month. | [Page 157 "Item Availability by Periods"](../page/157.md) |
|  | Variant | View or edit the item's variants. Instead of setting up each color of an item as a separate item, you can set up the various colors as variants of the item. | [Page 5414 "Item Availability by Variant"](../page/5414.md) |
|  | BOM Level | View availability figures for items on bills of materials that show how many units of a parent item you can make based on the availability of child items. |  |

## Events published

- `OnBeforeFindRecord(var Rec: Record Item; Which: Text; var CrossColumnSearchFilter: Text; var Found: Boolean; RequiredQuantity: Decimal; InUOMCode: Code[10]; var IsHandled: Boolean; var MatchingItem: Boolean)` (internal)
  - subscribers: [Codeunit 4591 "SOA Item Search"](../codeunit/4591.md) FindRecordItemFromMultiItemsAvailability
- `OnAfterInitPage(var CustomerNo: Code[20]; var ContactNo: Code[20]; var LocationFilter: Text; var CalculateEarliestShipmentDate: Boolean)` (integration)
  - subscribers: [Codeunit 4306 "SOA Session Filter"](../codeunit/4306.md) OnAfterInitPage
- `OnGetResolvedVariantCodeOnBeforeExit(ItemSystemId: Guid; var VariantCode: Code[10])` (internal)
  - subscribers: [Codeunit 4591 "SOA Item Search"](../codeunit/4591.md) OnGetResolvedVariantCodeOnBeforeExit

## Trigger event subscribers

- OnOpenPageEvent: [Codeunit 4591 "SOA Item Search"](../codeunit/4591.md) LogInventoryInquiryReplied

## Procedures

- `InitPage(CustomerNo2: Code[20]; ContactNo2: Code[20]; DateFilter2: Text; LocationFilter2: Text; QuantityFilter2: Decimal; InUOMCode2: Code[10])` (internal)

Plus 13 local procedures.

## Triggers

OnInit, OnOpenPage, OnFindRecord, OnAfterGetRecord

## Relations

- source table [Table 27 "Item"](../table/27.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 4413 "SOA Shipment Date Mgt."](../codeunit/4413.md) (3 calls: `OnAfterGetRecord → (object)`, `OnAfterGetRecord → GetEarliestShipmentDate`, `OnAfterGetRecord → SetParamenters`)
- [Codeunit 3060 "Uri"](../codeunit/3060.md) (2 calls: `DecodeAvailabilityFilterValue → UnescapeDataString`, `EncodeAvailabilityFilterValue → EscapeDataString`)
- [Codeunit 353 "Item Availability Forms Mgt"](../codeunit/353.md) (2 calls: `CalcAvailQuantities → CalcAvailQuantities`, `ShowItemAvailLineList → ShowItemAvailLineList`)
- [Codeunit 4414 "SOA Price Calc. Notification"](../codeunit/4414.md) (2 calls: `OnAfterGetRecord → GetNotificationId`, `OnAfterGetRecord → IsEnabled`)
- [Codeunit 362 "PeriodPageManagement"](../codeunit/362.md) (1 call: `FindPeriod → FindDate`)
- [Codeunit 4591 "SOA Item Search"](../codeunit/4591.md) (1 call: `CalcAvailQuantities → CalcProjAvailableBalanceInUOM`)
- [Codeunit 4595 "SOA - KPI Track All"](../codeunit/4595.md) (1 call: `OnInit → IsOrderTakerAgentSession`)

## Recent changes

- 2026-08-28 [#10748 [SOA] Resolve the current agent's setup instead of an arbitrary one](../../changes/bcapps/10748.md) (main, BC30, fix)
- 2026-08-26 [#10631 Integration/main to releases 29.x 31a860b5](../../changes/bcapps/10631.md) (releases/29.x, BC29, feature)
- 2026-08-24 [#9310 SOA: Open Item Availability from Agent panel](../../changes/bcapps/9310.md) (main, BC30, feature)
- 2026-08-10 [#10007 [SOA] Ignore item availability when disabled](../../changes/bcapps/10007.md) (main, BC30, fix)
- 2026-08-05 [#9364 Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices](../../changes/bcapps/9364.md) (main, BC30, feature)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

## Documented on Microsoft Learn

- [Expense Agent overview for Business Central](https://learn.microsoft.com/dynamics365/business-central/expense-management/expense-agent)
- [Payables Agent Overview in Business Central](https://learn.microsoft.com/dynamics365/business-central/payables-agent)
- [Item availability in Sales Order Agent (preview)](https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-item-availability)
- [Process sales quotes and orders with Sales Order Agent](https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-process)
- [Set up Sales Order Agent](https://learn.microsoft.com/dynamics365/business-central/sales-order-agent-setup)
- [Sales Order Agent overview](https://learn.microsoft.com/dynamics365/business-central/sales-order-agent)
- [Supervise Agent Activities in Business Central](https://learn.microsoft.com/dynamics365/business-central/supervise-agent-tasks)

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: "SOA Multi Items Availability")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
