#10255 Add expense activity history foundation
Expense activity history foundation adds tracking of lifecycle events for expense reports with an append-only activity log table, read-only APIs scoped by report and user role, factbox UI components, and comprehensive test coverage.
- 33files
- 24AL files
- 24objects
Pull request · merged into main (BC30) on 2026-08-17 by t-prda · 33 files (+2546 -37), 24 AL · feature · tier official · reviewed (checked by Opus)
What changed
- New append-only activity log table records expense report lifecycle events (Created, Submitted, Approved, Rejected, Posted, etc.)
- Activity log captures actor, role, comments, financial snapshots, categories, and receipt counts for each event
- Read-only APIs expose activity history filtered by report scope or limited to Expense User role with actor role requirements
- Factbox components display activity history in active/posted reports and manager views
- ActivityLog capability registered with comprehensive unit, API, and posting tests
- Behaviour changes for users or extensions.
AL objects touched
- Page 7122 “Expense Activity Log API”, ExpenseAgent: added
- Page 6928 “Expense Reports API”, ExpenseAgent: modified
- Page 6918 “Expense Users API”, ExpenseAgent: modified
- Page 6957 “Posted Expense Reports API”, ExpenseAgent: modified
- Codeunit 6926 “Expense Activity Log Mgt.”, ExpenseAgent: added
- Enum 6924 “Expense Activity Actor Role”, ExpenseAgent: added
- Enum 6922 “Expense Activity Event Type”, ExpenseAgent: added
- Enum 6923 “Expense Activity Initiator”, ExpenseAgent: added
- Page 7123 “Expense Activity Log FactBox”, ExpenseAgent: added
- Table 7100 “Expense Activity Log Entry”, ExpenseAgent: added
- Codeunit 6901 “Expense Report Approval Mgmt”, ExpenseAgent: modified
- Page 6980 “Manager Expense Report”, ExpenseAgent: modified
- Codeunit 6906 “Expense Capabilities Provider”, ExpenseAgent: modified
- Enum 6984 “Expense Capability”, ExpenseAgent: modified
- Codeunit 6987 “Expense Report-Post”, ExpenseAgent: modified
- Page 6910 “Expense Report”, ExpenseAgent: modified
- Page 6998 “Posted Expense Report”, ExpenseAgent: modified
- Table 6906 “Expense Report Header”, ExpenseAgent: modified
- Table 6915 “Posted Expense Report Header”, ExpenseAgent: modified
- Permission set 6953 “Expense Agent - Data”, ExpenseAgent: modified
- Permission set 6952 “Expense Agent - Objects”, ExpenseAgent: modified
- Permission set 6904 “Expense Management - Objects”, ExpenseAgent: modified
- Permission set 6907 “Expense Mgmt. Read”, ExpenseAgent: modified
- Codeunit 6950 “Expense Agent Privacy Subs.”, ExpenseAgent: modified
Context
- Work items: AB#639704, AB#644172
- Labels: AL: Apps (W1), Team: Integrations
- Systems: development
- From the description: “add a single append-only expense activity table whose source reference moves from the active report to the posted report”
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).