code change · featureAL Developmentofficial - Microsoftreviewed - checked by Opus

#11007 Add Travel Request API lifecycle to Expense Agent

Travel Request API lifecycle management is integrated into the Expense Agent, enabling creation, approval, and rejection of travel requests through scoped OData endpoints with proper authorization and linked expense report generation.

Pull request · merged into main (BC30) on 2026-09-09 by claudiuciumedean · 30 files (+2653 -30), 23 AL · feature · tier official · reviewed (checked by Opus)

What changed

  • Advertises the travelRequest capability and adds owner-scoped and approver-scoped travel request navigation in the API
  • Adds bound submit, approve and reject actions with authorization checks, status guards and audit fields
  • Approval creates one linked expense report; deleting a travel request is blocked while expense reports reference it
  • Normalizes local currency on API reads and writes and prevents PATCH from changing status or ownership
  • Emits submit, approve, auto-approve and reject usage events without identifiers; HTTP integration tests are disabled in CI
  • Behaviour changes for users or extensions.

AL objects touched

Context

  • Work items: AB#626966
  • Labels: AL: Apps (W1), ExpenseManagement, Team: Finance
  • Systems: development
  • From the description: “Extends the Expense Agent beta API so travel requests can be managed through the same scoped OData model as expenses and expense reports.”

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).