tableCopilot & Agentsofficial - Microsoftderived - from the source, no model text

Table 6923 "Expense User"

ExpenseAgent · Microsoft.ExpenseAgent

Across versions

  1. BC23-28not present
  2. BC29present
  3. BC30changed

Neighbourhood 30 connected objects and pages

Table 5200 "Employee" (relates to)EmployeeTable 6931 "Expense Team" (relates to)Table 6932 "Expense Approval Setup" (relates to)Expense Approval SetupTable 91 "User Setup" (relates to)User SetupPage 6949 "Expense User" (pages and codeunits on it, 2 links)Expense UserPage 6951 "Expense Users" (pages and codeunits on it, 2 links)Expense UsersPage 6918 "Expense Users API" (pages and codeunits on it)Expense Users APIPage 6968 "Expense User Cons. API" (pages and codeunits on it)Expense User Cons. APIPage 6969 "Approver View API" (pages and codeunits on it)Codeunit 1387 "Employee Templ. Mgt." (calls, 8 links)Employee Templ. Mgt.Codeunit 6905 "Import Expense User" (calls, 2 links)Import Expense UserPage 456 "No. Series" (calls, 2 links)Codeunit 27 "Confirm Management" (calls)Table 6906 "Expense Report Header" (referenced by, 10 links)Expense Report HeaderTable 6932 "Expense Approval Setup" (referenced by, 4 links)Expense Approval SetupTable 6915 "Posted Expense Report Header" (referenced by, 2 links)Posted Expense Report HeaderTable 6930 "Expense Agent Setup" (referenced by, 2 links)Expense Agent SetupTable extension 6908 "Expense Spend Request" (referenced by, 2 links)Expense Spend RequestTable 6900 "Expense" (referenced by)Table 6907 "Expense Report Line" (referenced by)Table 6912 "Expense Ledger Entry" (referenced by)Table 6916 "Posted Expense Report Line" (referenced by)Table 6931 "Expense Team" (referenced by)Table 6938 "Traveler" (referenced by)Table 6951 "EA KPI Entry" (referenced by)Table 6968 "Expense Agent Consumption" (referenced by)Table 6969 "Expense Agent Env. Consumption" (referenced by)Table 7100 "Expense Activity Log Entry" (referenced by)Table extension 6976 "Gen. Journal Line" (referenced by)Set Up Expense Users and Teams (Learn pages)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 6949 “Expense User” (1 Learn page), Page 6951 “Expense Users” (1).

Properties

Property Value
Caption Expense User
Access Internal
DataClassification CustomerContent
LookupPageId Expense Users
DrillDownPageId Expense User

Fields

Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

No. Name Type Explanation Notes
1 No. Code[20] Specifies the number for this expense user. via Page 6949 “Expense User”
2 Employee No. Code[20] Specifies the value of the Employee No. field. via Page 6949 “Expense User” TableRelation Employee.“No.”
3 Name Text[100] Specifies the expense user name. via Page 6949 “Expense User” DataClassification EndUserIdentifiableInformation
4 E-mail Text[80] Specifies the expense user’s email address. via Page 6949 “Expense User” DataClassification EndUserIdentifiableInformation
5 Job Title Text[30] Specifies the expense user’s job title. via Page 6949 “Expense User” DataClassification EndUserIdentifiableInformation
9 Expense Team Code Code[20] Specifies the expense team code the expense user belongs to. via Page 6949 “Expense User” TableRelation Table 6931 “Expense Team” (“Expense Team”.“Code”)
10 Team Manager Boolean Specifies the team manager for this expense user. via Page 6949 “Expense User”
15 Entra Id Guid Specifies the Entra Id of the agent. DataClassification SystemMetadata
20 Can Approve Boolean Specifies whether the employee can approve expense.
30 Is a System User Boolean Is a user in Business Central caption FlowField: exist(User where(“Authentication Email” = field(“E-mail”))); not editable
40 Resource No. Code[20] Specifies the resource linked to the employee. FlowField: lookup(Employee.“Resource No.” where(“No.” = field(“Employee No.”)))
21 User Id For Approvals Code[50] Specifies the user ID used for approvals. TableRelation Table 91 “User Setup” (“User Setup”.“User ID”)
22 Employee Status Enum “Employee Status” Specifies the employment status of the related employee. FlowField: lookup(Employee.Status where(“No.” = field(“Employee No.”))); enum Enum 5200 “Employee Status”; not editable
23 Approver No. Code[20] Specifies the number of the expense user who can approve for this user. FlowField: lookup(“Expense Approval Setup”.“Approver No.” where(“Expense User No.” = field(“No.”))); not editable
24 Approver Name Text[100] Specifies the name of the expense user who can approve for this user. FlowField: lookup(“Expense User”.Name where(“No.” = field(“Approver No.”))); not editable
53 No. Series Code[20] — TableRelation No. Series; not editable
54 Welcome Email Sent Boolean — obsolete Pending 29.0; #if not CLEANSCHEMA29; not editable
55 Welcome Email Sent At DateTime — not editable
56 Welcome Email Status Option Specifies whether a welcome email has been queued, sent, or failed for the expense user. via Page 6949 “Expense User” OptionCaption: ‘None,Queued,In Outbox,Sent,Failed’, Comment = ‘None = not sent, Queued = waiting for the agent to send, In Outbox = handed to the service and waiting to be delivered, Sent = successfully sent, Failed = send failed’; not editable
57 Welcome Correlation Id Guid Specifies the identifier used to correlate the welcome email with its delivery from the outbox. not editable
60 Approval Limit (LCY) Integer Specifies the maximum expense report amount this user can approve. Leave empty when Unlimited Approval is selected.
61 Unlimited Approval Boolean Specifies that this user can approve expense reports without a maximum amount.

Keys

  • PK: No. (clustered)
  • WelcomeCorrelationKey: Welcome Correlation Id

Procedures

  • SetSkipOverwriteFromEmployee(NewSkipOverwriteFromEmployee: Boolean) (internal): Suppresses the overwrite confirmation when validating Employee No. and keeps existing Name and E-mail values on the Expense User instead of copying from the Employee. Resets each time the record is read or initialized.
  • ConfirmApproverReassignment(): Boolean (internal): Reassigns or removes approver references before the user’s approval role is removed (via delete or by clearing “Can Approve”). Errors if the user is the default approver, otherwise confirms with the user and reassigns to the default approver, or removes the approver when no default is configured. Mu…
  • GetExpenseUserNoBySystemId(ExpenseUserSystemId: Guid): Code[20] (internal)
  • GetSystemIdByExpenseUserNo(ExpenseUserNo: Code[20]): Guid (internal)
  • GetExpenseUserNoByCurrentUser(): Code[20] (internal)
  • AssistEdit(): Boolean (internal)
  • UpdateApprovalUserId() (internal)
  • CreateEmployeeFromExpenseUser() (internal)
  • CreateEmployeesFromExpenseUsers(var ExpenseUser: Record "Expense User") (internal)
  • CreateEmployeeFromExpenseUserWithTemplate(EmployeeTempl: Record "Employee Templ."; TemplateSelected: Boolean) (internal)
  • CreateEmployee(EmployeeTempl: Record "Employee Templ."; TemplateSelected: Boolean): Code[20] (internal)
  • SendWelcomeEmail(var ExpenseUser: Record "Expense User") (internal)
  • SetWelcomeEmailHandoffResult(Success: Boolean; CorrelationId: Guid) (internal): Records the outcome of a welcome-email hop-1 handoff (BC -> Expense Agent service) on the current expense user. On success the email is not yet delivered, so the status becomes In Outbox and the correlation id is stored so the dispatcher can map the eventual outbox delivery back to this user. The di…
  • SetWelcomeEmailDelivered(Delivered: Boolean) (internal): Records the final welcome-email delivery result on the current expense user, based on the outbox row’s delivery status (hop-2). Sets the sent timestamp when delivered.
  • ApplyWelcomeDeliveryResult(CorrelationId: Guid; Delivered: Boolean) (internal): Applies an outbox delivery result (hop-2) to any expense user that is waiting In Outbox for the given correlation id. Called by the dispatcher when an outbox welcome email reaches a terminal delivery state.

Plus 13 local procedures.

Triggers

OnDelete, OnInsert

Relations

Referenced by

32 fields in 17 objects relate to this table (TableRelation or CalcFormula).

Pages and codeunits on this table

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.

Recent changes

Deprecations

  • field Welcome Email Sent: Pending 29.0 (#if not CLEANSCHEMA29), “Replaced by Welcome Email Status, which also tracks queued and failed sends.”

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

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: "table", object_name: "Expense User"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources