#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.
- 11files
- 8AL files
- 8objects
Pull request · 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”, SalesOrderAgent: modified
- Codeunit 4420 “SOA Task Message Reader”, SalesOrderAgent: added
- Page 4410 “SOA Multi Items Availability”, SalesOrderAgent: modified
- Codeunit 4591 “SOA Item Search”, SalesOrderAgent: modified
- Codeunit 4417 “SOA Item Selector”, SalesOrderAgent: modified
- Codeunit 4416 “SOA Item Selector Func”, SalesOrderAgent: modified
- pagecustomization “SOA Sales Order Subform”, SalesOrderAgent: modified
- pagecustomization “SOA Sales Quote Subform”, 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).