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

Table 6906 "Expense Report Header"

ExpenseAgent · Microsoft.ExpenseAgent

Across versions

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

Neighbourhood 52 connected objects and pages

Table 6923 "Expense User" (relates to, 10 links)Expense UserTable 6907 "Expense Report Line" (relates to, 8 links)Expense Report LineTable 349 "Dimension Value" (relates to, 2 links)Table 6922 "Expense Report Line VAT Spec." (relates to, 2 links)Expense Report Line VAT Spec.Table 323 "VAT Business Posting Group" (relates to)VAT Business Posting GroupTable 480 "Dimension Set Entry" (relates to)Table 5221 "Employee Posting Group" (relates to)Page 6997 "Expense Reports" (pages and codeunits on it, 3 links)Expense ReportsCodeunit 6984 "Release Exp. Report Document" (pages and codeunits on it)Release Exp. Report DocumentCodeunit 6985 "Expense Report Manual Release" (pages and codeunits on it)Codeunit 6986 "Expense Report Manual Reopen" (pages and codeunits on it)Expense Report Manual ReopenCodeunit 6987 "Expense Report-Post" (pages and codeunits on it)Expense Report-PostCodeunit 7092 "Expense Report Batch Post Mgt." (pages and codeunits on it)Page 6910 "Expense Report" (pages and codeunits on it)Expense ReportPage 6928 "Expense Reports API" (pages and codeunits on it)Page 6979 "Expense Report List" (pages and codeunits on it)Page 6980 "Manager Expense Report" (pages and codeunits on it)Page 6981 "Manager Expense Reports" (pages and codeunits on it)Page 6982 "Expense Report Statistics" (pages and codeunits on it)Page 7091 "Accountant Expense Reports" (pages and codeunits on it)Page 7095 "Expense Report Stats" (pages and codeunits on it)Page 7098 "Expense Report FactBox" (pages and codeunits on it)Codeunit 408 "DimensionManagement" (calls, 7 links)DimensionManagementCodeunit 10 "Type Helper" (calls, 4 links)Type HelperCodeunit 6984 "Release Exp. Report Document" (calls, 4 links)Release Exp. Report DocumentCodeunit 1281 "Update Currency Exchange Rates" (calls, 2 links)Update Currency Exchange RatesCodeunit 6993 "Expense Agent API Validation" (calls, 2 links)Page 456 "No. Series" (calls, 2 links)No. SeriesCodeunit 1380 "Batch Processing Mgt." (calls)Codeunit 19 "Gen. Jnl.-Post Preview" (calls)Codeunit 27 "Confirm Management" (calls)Codeunit 6901 "Expense Report Approval Mgmt" (calls)Codeunit 6926 "Expense Activity Log Mgt." (calls)Codeunit 6954 "EA KPI Track" (calls)Table 6900 "Expense" (referenced by)Table 6907 "Expense Report Line" (referenced by)Create and Submit Expense Reports (Learn pages)Expense Management Overview in Business Central (Learn pages)Post Expense Reports in Business Central (Learn pages)Review and Approve Expense Reports (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 6910 “Expense Report” (2 Learn pages), Page 6997 “Expense Reports” (2), Page 6979 “Expense Report List” (1), Page 6980 “Manager Expense Report” (1), Page 6981 “Manager Expense Reports” (1).

Properties

Property Value
Caption Expense Report Header
Access Internal
DataClassification CustomerContent
LookupPageId Expense Reports
DrillDownPageId Expense Reports

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 expense report number. Visible when document numbers are shown. via Page 6910 “Expense Report”
2 Expense User No. Code[20] Specifies the expense user for the report. via Page 6910 “Expense Report” TableRelation Table 6923 “Expense User” (“Expense User”.“No.”)
3 Expense User Name Text[100] Specifies the value of the Expense User Name field. via Page 6979 “Expense Report List”
4 Expense Report Date Date Specifies the date of the expense report. via Page 6910 “Expense Report”
5 Posting Date Date Specifies the Posting Date field. via Page 6910 “Expense Report”
6 Description Text[100] Specifies the value of the Description field.
10 Amount (LCY) Decimal Specifies the total amount of all expenses in the report, in the local currency. via Page 7091 “Accountant Expense Reports” FlowField: sum(“Expense Report Line”.“Amount (LCY)” where(“Document No.” = field(“No.”))); not editable
12 Non-Refundable Amount (LCY) Decimal — FlowField: sum(“Expense Report Line”.“Non-Refundable Amount (LCY)” where(“Document No.” = field(“No.”))); not editable
13 Reimbursable Amount Decimal Specifies the value of the Reimbursable Amount field. FlowField: sum(“Expense Report Line”.“Reimbursable Amount” where(“Document No.” = field(“No.”))); not editable
14 Reimbursable Amount (LCY) Decimal Specifies the value of the Reimbursable Amount (LCY) field. via Page 6997 “Expense Reports” FlowField: sum(“Expense Report Line”.“Reimbursable Amount (LCY)” where(“Document No.” = field(“No.”))); not editable
15 Shortcut Dimension 1 Code Code[20] Specifies dimension 1 used for analytics and posting. via Page 6910 “Expense Report” TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false)))
16 Shortcut Dimension 2 Code Code[20] Specifies dimension 2 used for analytics and posting. via Page 6910 “Expense Report” TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false)))
17 Employee Posting Group Code[20] Specifies the employee’s type to link business transactions made for the employee with the appropriate account in the general ledger. TableRelation Table 5221 “Employee Posting Group” (“Employee Posting Group”.Code)
18 Language Code Code[10] Specifies the language code used for the report. via Page 6910 “Expense Report” TableRelation Language.Code; DataClassification SystemMetadata
19 Comment Boolean —
20 Reason Code Code[10] Specifies the reason code for corrections or cancellations. via Page 6910 “Expense Report” TableRelation “Reason Code”.Code
21 No. Series Code[20] — DataClassification SystemMetadata
22 Posting No. Series Code[20] — DataClassification SystemMetadata
23 Status Enum “Expense Report Status” Specifies the current status of the expense report, for example Draft, Released, or Posted. via Page 6910 “Expense Report” enum Enum 6910 “Expense Report Status”; not editable; DataClassification SystemMetadata
24 Anti-Corruption Attestation Boolean Specifies whether you accepted the anti-corruption attestation. via Page 6910 “Expense Report”
25 Anti-Corruption Description Text[100] Specifies details that explain the anti-corruption attestation when required. via Page 6910 “Expense Report”
26 Corrected Boolean Specifies whether this report corrects a previously posted report. via Page 6910 “Expense Report” not editable
27 Responsibility Center Code[20] Specifies the responsibility center used for posting and reporting. via Page 6910 “Expense Report” TableRelation Table 5714 “Responsibility Center” (“Responsibility Center”.Code)
28 Reimbursement Currency Code Code[10] Specifies the value of the Reimbursement Currency Code field. TableRelation Currency.Code
29 Corrected Document No. Code[20] Specifies the number of the document that this report corrects. via Page 6910 “Expense Report” not editable
30 Dimension Set ID Integer — TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable
31 VAT Amount (LCY) Decimal Specifies the total VAT amount for the expense report in local currency. via Page 7095 “Expense Report Stats” FlowField: sum(“Expense Report Line”.“VAT Amount (LCY)” where(“Document No.” = field(“No.”))); not editable
32 Amount without VAT (LCY) Decimal Specifies the total amount excluding VAT of all expense report lines in local currency. via Page 7095 “Expense Report Stats” FlowField: sum(“Expense Report Line”.“Amount without VAT (LCY)” where(“Document No.” = field(“No.”))); not editable
33 Refundable Amount (LCY) Decimal Specifies the total refundable amount in local currency. via Page 7095 “Expense Report Stats” FlowField: sum(“Expense Report Line”.“Refundable Amount (LCY)” where(“Document No.” = field(“No.”))); not editable
34 Refundable Amount Decimal Specifies the value of the Refundable Amount field. FlowField: sum(“Expense Report Line”.“Refundable Amount” where(“Document No.” = field(“No.”))); not editable
40 VAT Bus. Posting Group Code[20] Specifies the VAT business posting group used when posting VAT for this expense report. via Page 6910 “Expense Report” TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group)
42 Submission DateTime DateTime Specifies when the expense report was submitted for approval. via Page 7091 “Accountant Expense Reports”
43 Approved/Rejected DateTime DateTime Specifies when the expense report was approved or rejected. via Page 7091 “Accountant Expense Reports” not editable
44 Approved/Rejected By Code[50] Specifies the user who approved or rejected the expense report. via Page 7091 “Accountant Expense Reports” TableRelation User.“User Name”; not editable; DataClassification EndUserIdentifiableInformation
441 Approved/Rejected Exp.User No. Code[50] Approved/Rejected Expense User Number caption TableRelation Table 6923 “Expense User” (“Expense User”.“No.”); not editable; DataClassification EndUserIdentifiableInformation
442 Approved/Rejected Exp.UserName Text[100] Approved/Rejected Expense User Display Name caption FlowField: lookup(“Expense User”.Name where(“No.” = field(“Approved/Rejected Exp.User No.”))); not editable
45 Approver Expense User No. Code[20] Specifies the expense user number of the designated approver. via Page 7091 “Accountant Expense Reports” TableRelation Table 6923 “Expense User” (“Expense User”.“No.”); not editable; DataClassification EndUserIdentifiableInformation
46 Approver Expense User ID Code[50] — TableRelation User.“User Name”; not editable; DataClassification EndUserIdentifiableInformation
47 Created By Code[50] — TableRelation User.“User Name”; DataClassification EndUserIdentifiableInformation
48 Approver Comment Blob Specifies the latest comment from the approver when approving or rejecting an expense report.
49 Submitter Comment Blob Specifies the latest comment from the submitter when submitting an expense report or resubmitting a rejected expense report.
50 Reimbursement Currency Factor Decimal — not editable
55 Pending Approval By Code[20] — TableRelation Table 6923 “Expense User” (“Expense User”.“No.”); FlowFilter
56 Submitter Expense User No. Code[20] Specifies the expense user number of the submitter when the expense report is in pending approval, approved or rejected status. TableRelation Table 6923 “Expense User” (“Expense User”.“No.”); DataClassification EndUserIdentifiableInformation
57 Submitter Expense User ID Code[50] — TableRelation User.“User Name”; not editable; DataClassification EndUserIdentifiableInformation
58 Created By Exp. User Id Guid Created By Expense User Id caption not editable; DataClassification EndUserIdentifiableInformation
59 Modified By Exp. User Id Guid Modified By Expense User Id caption not editable; DataClassification EndUserIdentifiableInformation
63 Posting No. Code[20] —
65 Last Posting No. Code[20] — TableRelation Table 6906 “Expense Report Header” (“Expense Report Header”.“No.”); not editable
66 Has VAT Specification Boolean Specifies whether this expense report contains at least one VAT specification line. FlowField: exist(“Expense Report Line VAT Spec.” where(“Document No.” = field(“No.”))); not editable
67 Approved Reclaim VAT (LCY) Decimal Specifies the total VAT amount approved for reclaim across all VAT specification lines of this expense report, in local currency. FlowField: sum(“Expense Report Line VAT Spec.”.“Reclaim VAT Amount (LCY)” where(“Document No.” = field(“No.”), “Reclaim Status” = const(Approved))); not editable
68 Final Approver No. Code[20] Specifies the expense user who gives final approval. Prepopulated from the expense user’s approver. TableRelation Table 6923 “Expense User” (“Expense User”.“No.” where(“Can Approve” = const(true))); not editable; DataClassification EndUserIdentifiableInformation
69 Final Approver Name Text[100] Specifies the name of the final approver. FlowField: lookup(“Expense User”.Name where(“No.” = field(“Final Approver No.”))); not editable
70 Interim Approver No. Code[20] Specifies an optional interim approver who must approve before the final approver. TableRelation Table 6923 “Expense User” (“Expense User”.“No.” where(“Can Approve” = const(true))); not editable; DataClassification EndUserIdentifiableInformation
71 Interim Approver Name Text[100] Specifies the name of the interim approver. FlowField: lookup(“Expense User”.Name where(“No.” = field(“Interim Approver No.”))); not editable
100 Spend Request No. Code[20] Specifies the travel request number that is associated with this expense report. TableRelation Table 6840 “Spend Request” (“Spend Request” where(Status = const(Approved), “Document Type” = const(“Travel Request”)))
101 Spend Request Close Boolean Specifies that the travel request will be closed when the expense report is posted.

Keys

  • PK: No. (clustered)

Events published

  • OnCheckExpenseReportPostRestrictions() (integration)

Procedures

  • AssistEdit(): Boolean
  • ShowDocDim()
  • ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])
  • ExpenseLinesExist(): Boolean
  • UpdateAllLineDim(NewParentDimSetID: Integer; OldParentDimSetID: Integer)
  • PerformManualRelease(): Releases the expense document if it’s not already released.
  • PerformManualRelease(var ExpenseReportHeader: Record "Expense Report Header"): Releases the sales documents that are not yet released.
  • PerformManualReopen(var ExpenseReportHeader: Record "Expense Report Header"): Reopens sales documents that are not already open.
  • PerformManualPendingApproval(SubmitterExpenseUserNo: Code[20]): Pending Approval the expense document if it’s not already “Pending Approval”.
  • PerformManualReleaseAndPendingApproval(SubmitterExpenseUserNo: Code[20]): Releases and marks as pending approval in a single atomic operation.
  • PerformManualReleaseAndPendingApproval(SubmitterExpenseUserNo: Code[20]; SubmissionComment: Text): Releases and submits an expense report with an optional submitter comment.
  • PerformManualApproved(ApproverExpenseUserNo: Code[20]): Approved the expense document if it’s not already “Approved”.
  • PerformManualApproved(ApproverExpenseUserNo: Code[20]; SkipPolicyValidation: Boolean): Approves the expense document, optionally skipping policy validation.
  • PerformManualRejected(ApproverExpenseUserNo: Code[20]; RejectReason: Text): Rejected the expense document if it’s not already “Rejected”.
  • PerformManualRejectedAndReopen(ApproverExpenseUserNo: Code[20]; RejectReason: Text)
  • SetHideValidationDialog(NewHideValidationDialog: Boolean): Sets the value of the global flag HideValidationDialog.
  • GetHideValidationDialog(): Boolean: Returns the value of the global flag HideValidationDialog.
  • GetStatusStyleText(): Text: Returns document status field style expression based on the status of the sales header.
  • TestStatusOpen(): Checks if expense status is open. If it is not, an error is raised.
  • GetApproverComment(): Text: Retrieves approver comment from the expense report header.
  • GetSubmitterComment(): Text: Retrieves submitter comment from the expense report header.
  • CreateDimFromDefaultDim(FieldNo: Integer)
  • CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])
  • Preview(var ExpenseReportHeader: Record "Expense Report Header")
  • UpdateCurrencyFactor(): Updates currency factor on the report header
  • CheckExpenseReportPostRestrictions()
  • UpdateApproverID()
  • TestApprovalStatus() (internal)
  • IsApprovalPending(): Boolean (internal)
  • TestApprovalPending() (internal)
  • IsPolicyEvaluationComplete(var PolicyStatus: Enum "Expense Policy Status"; var FailedCount: Integer; var PassedCount: Integer; var FlaggedCategories: List of [Code[20]]): Boolean (internal): Checks policy evaluation completion across the report’s lines and returns a read-only summary. Replaces all output values; incomplete reports return zero counts and an empty category list.
  • AssignInterimApprover(NewApproverExpenseUserNo: Code[20]): Assigns an optional interim approver who must approve before the final approver.
  • AssignInterimApprover(NewApproverExpenseUserNo: Code[20]; ActorExpenseUserNo: Code[20]) (internal)
  • SetCalledFromExpenseAgent(NewCalledFromExpenseAgent: Boolean) (internal)

Plus 20 local procedures.

Triggers

OnInsert, OnModify, OnDelete

Relations

Referenced by

13 fields in 13 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

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 Report Header"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources