---
id: change/bcapps/9364
type: change
title: "#9364 Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices"
summary: The Sales Order Agent now resolves customer requests to a specific item variant and uses it for availability, pricing and quote or order creation. Variant alternatives are kept only when classified as safe, and Variant Code stays empty when no variant was requested. If no suitable variant is available, the agent tells the customer and does not create a quote.
tier: official
language: en
tags:
  - feature
  - main
  - bc30
  - codeunit soa create task impl
  - codeunit soa task message reader
  - page soa multi items availability
  - codeunit soa item search
  - codeunit soa item selector
  - codeunit soa item selector func
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:10:14.162Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 55faf6691aad5b14d28e7baa7fce264e79d72815
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/9364
    title: "microsoft/BCApps#9364: Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices"
    date: "2026-08-05"
    commit: 55faf6691aad5b14d28e7baa7fce264e79d72815
    t: null
    quote: The agent can now resolve a customer request to a specific item and variant, use that variant when checking availability and calculating prices.
links:
  learn: []
  objects:
    - object/codeunit/4415
    - object/codeunit/4420
    - object/page/4410
    - object/codeunit/4591
    - object/codeunit/4417
    - object/codeunit/4416
    - object/pagecustomization/soa-sales-order-subform
    - object/pagecustomization/soa-sales-quote-subform
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 9364
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/9364
kind: pr
base_branch: main
major: "30"
merged_at: "2026-08-05T09:25:43Z"
author: tomasevicst
author_type: User
community_contribution: false
labels:
  - "AL: Apps (W1)"
  - "Team: SCM"
change_class: code
change_kind: feature
behavior_change: true
breaking: false
files:
  count: 11
  additions: 958
  deletions: 141
  al: 8
apps:
  - SalesOrderAgent
objects_touched:
  - key: codeunit/4415
    page: codeunit/4415
    type: codeunit
    id: 4415
    name: SOA Create Task Impl
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4420
    page: codeunit/4420
    type: codeunit
    id: 4420
    name: SOA Task Message Reader
    app: SalesOrderAgent
    status: added
  - key: page/4410
    page: page/4410
    type: page
    id: 4410
    name: SOA Multi Items Availability
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4591
    page: codeunit/4591
    type: codeunit
    id: 4591
    name: SOA Item Search
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4417
    page: codeunit/4417
    type: codeunit
    id: 4417
    name: SOA Item Selector
    app: SalesOrderAgent
    status: modified
  - key: codeunit/4416
    page: codeunit/4416
    type: codeunit
    id: 4416
    name: SOA Item Selector Func
    app: SalesOrderAgent
    status: modified
  - key: pagecustomization/soa sales order subform
    page: pagecustomization/soa-sales-order-subform
    type: pagecustomization
    id: null
    name: SOA Sales Order Subform
    app: SalesOrderAgent
    status: modified
  - key: pagecustomization/soa sales quote subform
    page: pagecustomization/soa-sales-quote-subform
    type: pagecustomization
    id: null
    name: SOA Sales Quote Subform
    app: SalesOrderAgent
    status: modified
objects_unjoined: []
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 622414
systems:
  - development
quote: The agent can now resolve a customer request to a specific item and variant, use that variant when checking availability and calculating prices.
joined_against:
  major: "30"
  commit: ecbc028c25dbe83b61313bc566e6c1d41184bb1c
---

# #9364 Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices

> The Sales Order Agent now resolves customer requests to a specific item variant and uses it for availability, pricing and quote or order creation. Variant alternatives are kept only when classified as safe, and Variant Code stays empty when no variant was requested. If no suitable variant is available, the agent tells the customer and does not create a quote.

[Pull request](https://github.com/microsoft/BCApps/pull/9364) · merged into `main` (BC30) on 2026-08-05 by tomasevicst · 11 files (+958 -141), 8 AL · feature · tier official · reviewed (checked by Opus)

## What changed

- Item Selector now runs consistently for all search result types and includes variant code in its output with safety classifications
- Variant alternatives are retained only when explicitly classified as safe, preserving form, fit, function, and safety
- Availability checks, pricing, shipment dates, and quote creation now use the resolved variant code
- Valid empty variant selections are treated as authoritative with no fallback to original candidates
- Telemetry emits stable failure categories and aggregate counts without exposing customer content or raw errors
- Behaviour changes for users or extensions.

## AL objects touched

- [Codeunit 4415 "SOA Create Task Impl"](../../objects/codeunit/4415.md), SalesOrderAgent: modified
- [Codeunit 4420 "SOA Task Message Reader"](../../objects/codeunit/4420.md), SalesOrderAgent: added
- [Page 4410 "SOA Multi Items Availability"](../../objects/page/4410.md), SalesOrderAgent: modified
- [Codeunit 4591 "SOA Item Search"](../../objects/codeunit/4591.md), SalesOrderAgent: modified
- [Codeunit 4417 "SOA Item Selector"](../../objects/codeunit/4417.md), SalesOrderAgent: modified
- [Codeunit 4416 "SOA Item Selector Func"](../../objects/codeunit/4416.md), SalesOrderAgent: modified
- [pagecustomization "SOA Sales Order Subform"](../../objects/pagecustomization/soa-sales-order-subform.md), SalesOrderAgent: modified
- [pagecustomization "SOA Sales Quote Subform"](../../objects/pagecustomization/soa-sales-quote-subform.md), SalesOrderAgent: modified

## Context

- Work items: AB#622414
- Labels: AL: Apps (W1), Team: SCM
- Systems: development
- From the description: "The agent can now resolve a customer request to a specific item and variant, use that variant when checking availability and calculating prices."

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).
