Codeunit 6908 "Expense Event Subscriber"
ExpenseAgent · Microsoft.ExpenseAgent
Across versions
- BC23-28not present
- BC29present
- BC30changed
Neighbourhood 2 connected objects and pages
ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata User = r |
Event subscriptions
- ValidateExpenseAgentLoginNotAllowed subscribes to Codeunit “System Initialization” OnAfterInitialization
- OnShowPostedDocumentOnBeforePageRun subscribes to Codeunit “Instruction Mgt.” OnShowPostedDocumentOnBeforePageRun
- OnBeforeCheckDocType subscribes to Codeunit “Gen. Jnl.-Check Line” OnBeforeCheckDocType
- OnBeforeGetEmployeePayablesAccount subscribes to Codeunit “Gen. Jnl.-Post Line” OnBeforeGetEmployeePayablesAccount
- OnAfterGetEmployeePayablesAccount subscribes to Codeunit “Gen. Jnl.-Post Line” OnAfterGetEmployeePayablesAccount
- OnAfterFromJnlLineToLedgEntry subscribes to Codeunit “Job Transfer Line” OnAfterFromJnlLineToLedgEntry
- OnAfterValidateFirstNameEvent subscribes to Table “Employee” OnAfterValidateEvent (First Name)
- OnAfterValidateMiddleNameEvent subscribes to Table “Employee” OnAfterValidateEvent (Middle Name)
- OnAfterValidateLastNameEvent subscribes to Table “Employee” OnAfterValidateEvent (Last Name)
- OnBeforeDeleteEmployeeEvent subscribes to Table “Employee” OnBeforeDeleteEvent
- OnAfterDeleteEmployeeEvent subscribes to Table “Employee” OnAfterDeleteEvent
- OnAfterValidateCompanyEmailEvent subscribes to Table “Employee” OnAfterValidateEvent (Company E-Mail)
- OnAfterValidateJobTitleEvent subscribes to Table “Employee” OnAfterValidateEvent (Job Title)
- OnAfterInsertExpenseEvent subscribes to Table “Expense” OnAfterInsertEvent
- OnBeforeCheckGLEntryReversalEntryEvent subscribes to Table “Reversal Entry” OnBeforeCheckGLEntry
- OnBeforeReleaseSpendRequest subscribes to Codeunit “Release Spend Request” OnBeforeRelease
- OnAfterReleaseSpendRequest subscribes to Codeunit “Release Spend Request” OnAfterRelease
Procedures
IsSourceExpense(SourceCode: Code[10]): Boolean(internal)
Plus 6 local procedures.
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 27 “Confirm Management” (1 call:
CheckEmployeeEmailCanBeChangedInExpenseUser → GetResponseOrDefault) - Codeunit 4312 “Agent Session” (1 call:
ValidateExpenseAgentLoginNotAllowed → IsAgentSession)
Recent changes
- 2026-10-02 #12074 Expense Agent: travel request expense location, per-traveler reports, activity log and submitter comment (main, BC30, feature)
- 2026-09-23 #11593 [29.x] - Bug 650481[Expense Agent] Closed travel requests are editable and are missing approver info. (releases/29.x, BC29, fix)
- 2026-09-09 #11007 Add Travel Request API lifecycle to Expense Agent (main, BC30, feature)
- 2026-09-08 #11153 Bug 649312: [29.x] Backport expense request report layout and dataclassification on userid field (releases/29.x, BC29, fix)
- 2026-09-03 #10404 Deliverable 638799: Requisitions in Base App - add layout to report + minor fixes (main, BC30, feature)
- 2026-08-13 #9988 [Expense Agent] Fix Employee subscriber permissions (main, BC30, fix)
- 2026-08-10 #9391 [Master] - Slice 616928: [Expense Management] [App part] Expense Managements Travel Requisitions 💸 (main, BC30, feature)
- 2026-08-04 #9859 [Master] - Move Expense Agent (Preview) app into BCApps (main, BC30, feature, added)
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: "codeunit", object_name: "Expense Event Subscriber"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.