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

Table 6900 "Expense"

ExpenseAgent · Microsoft.ExpenseAgent

Across versions

  1. BC23-28not present
  2. BC29-30present

Neighbourhood 47 connected objects and pages

Table 349 "Dimension Value" (relates to, 2 links)Dimension ValueTable 1001 "Job Task" (relates to)Job TaskTable 18 "Customer" (relates to)Table 204 "Unit of Measure" (relates to)Table 323 "VAT Business Posting Group" (relates to)VAT Business Posting GroupTable 324 "VAT Product Posting Group" (relates to)VAT Product Posting GroupTable 4 "Currency" (relates to)CurrencyTable 480 "Dimension Set Entry" (relates to)Dimension Set EntryTable 6903 "Expense Rule Violation" (relates to)Table 6906 "Expense Report Header" (relates to)Expense Report HeaderTable 6913 "Expense Payment Method" (relates to)Expense Payment MethodPage 6989 "Expenses" (pages and codeunits on it, 3 links)ExpensesCodeunit 6980 "Release Expense Document" (pages and codeunits on it)Release Expense DocumentCodeunit 6981 "Expense Manual Reopen" (pages and codeunits on it)Codeunit 6982 "Expense Manual Release" (pages and codeunits on it)Page 6904 "Expense Statistics" (pages and codeunits on it)Page 6927 "Expenses API" (pages and codeunits on it)Page 6938 "Expense Factbox" (pages and codeunits on it)Page 6988 "Expense" (pages and codeunits on it)Page 7090 "Accountant Expenses" (pages and codeunits on it)Codeunit 6908 "Expense Event Subscriber" (event subscribers)Codeunit 6931 "Expense Vendor Matching" (event subscribers)Codeunit 6989 "Expense Attachment Mgt." (event subscribers)Codeunit 408 "DimensionManagement" (calls, 5 links)DimensionManagementCodeunit 1281 "Update Currency Exchange Rates" (calls, 2 links)Update Currency Exchange RatesCodeunit 6993 "Expense Agent API Validation" (calls, 2 links)Expense Agent API ValidationPage 456 "No. Series" (calls, 2 links)No. SeriesCodeunit 1380 "Batch Processing Mgt." (calls)Codeunit 27 "Confirm Management" (calls)Codeunit 6902 "Expense Rule Validation" (calls)Codeunit 6954 "EA KPI Track" (calls)Codeunit 6980 "Release Expense Document" (calls)Page 6974 "Per Diem Expenses" (calls)Page 6975 "Expense Itemizations" (calls)Page 6992 "Expense Participants" (calls)Table 6968 "Expense Agent Consumption" (referenced by)Table 6969 "Expense Agent Env. Consumption" (referenced by)Create and Manage Expenses in Business Central (Learn pages)Expense Management Overview in Business Central (Learn pages)Set Up Mileage Rates for Expense Management (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 6988 “Expense” (2 Learn pages), Page 6989 “Expenses” (2).

Properties

Property Value
Caption Expense
Access Internal
DataClassification CustomerContent
LookupPageId Expenses
DrillDownPageId Expenses

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 document number. Leave blank to assign a number from the Expense Nos. number series.
2 Expense User No. Code[20] Specifies the expense user who incurred the expense. via Page 6988 “Expense” TableRelation Table 6923 “Expense User” (“Expense User”.“No.”)
3 Expense Report No. Code[20] Specifies the expense report that includes this expense. Set when added to a report. via Page 6988 “Expense” TableRelation Table 6906 “Expense Report Header” (“Expense Report Header”.“No.”); not editable
4 Expense Category Code[20] Specifies the category assigned to this expense. via Page 6988 “Expense” TableRelation Table 6921 “Expense Category” (“Expense Category” where(Inactive = const(false)))
39 Expense Ext. Doc. No. Code[30] Specifies the receipt number or external reference on the document. via Page 6988 “Expense”
38 Expense Subcategory Code[20] — TableRelation Table 6929 “Expense Subcategory” (“Expense Subcategory”.Code where(“Expense Category Code” = field(“Expense Category”), Inactive = const(false)))
40 Unit of Measure Code Code[10] Specifies the unit of measure for mileage (for example, miles or kilometers). Available for Mileage expenses. via Page 6988 “Expense” TableRelation Table 204 “Unit of Measure” (Unit of Measure)
5 Status Enum “Expense Status” Specifies the current status of the expense. via Page 6988 “Expense” enum Enum 6907 “Expense Status”; not editable
6 Description Text[100] Specifies a short description of the expense. via Page 6988 “Expense”
7 Justification Text[100] Specifies the justification for the expense per policy. via Page 6988 “Expense”
8 Expense Date Date Specifies the date the expense occurred. via Page 6988 “Expense”
9 Expense Time Time Specifies the time the expense occurred. via Page 6988 “Expense”
10 Currency Code Code[10] Specifies the value of the Currency Code field. via Page 6988 “Expense” TableRelation Table 4 “Currency”
11 Amount Decimal Specifies the total amount in the expense currency. via Page 6988 “Expense”
12 Amount (LCY) Decimal Specifies the total amount in the local currency. via Page 6988 “Expense” not editable
13 Merchant Name Text[100] Specifies the vendor or merchant for this expense. via Page 6988 “Expense”
14 Receipt Attached Boolean — not editable
15 Receipt Entry Integer —
16 Extraction Confidence Integer —
17 Shortcut Dimension 1 Code Code[20] Specifies Shortcut Dimension 1 for this expense. via Page 6988 “Expense” TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false)))
18 Shortcut Dimension 2 Code Code[20] Specifies Shortcut Dimension 2 for this expense. via Page 6988 “Expense” TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false)))
19 Payment Method Code Code[10] Specifies the payment method used for this expense. via Page 6988 “Expense” TableRelation Table 6913 “Expense Payment Method” (Expense Payment Method)
20 Refundable Boolean Specifies whether the expense is reimbursable. via Page 6988 “Expense”
21 Billable Boolean Specifies whether the expense is billable to a customer. via Page 6988 “Expense”
22 Billable to Customer Code[20] Specifies the customer to bill for this expense. Available when Billable is turned on. via Page 6988 “Expense” TableRelation Table 18 “Customer”
23 Expense Location Code[30] Specifies the travel location for the expense. Available for Per Diem expenses. via Page 6988 “Expense” TableRelation Table 6925 “Expense Location” (Expense Location)
24 Starting Date and Time DateTime Specifies the start of the travel period for this expense. Editable for Per Diem expenses. via Page 6988 “Expense”
25 Ending Date and Time DateTime Specifies the end of the travel period for this expense. Editable for Per Diem expenses. via Page 6988 “Expense”
26 Non-Refundable Amount Decimal Specifies the reduction to the reimbursable amount. Available when Refundable is on and the category does not require itemization. via Page 6988 “Expense”
27 Mileage Decimal Specifies the distance traveled for mileage reimbursement. Available for Mileage expenses. via Page 6988 “Expense”
28 Starting Point Text[50] Specifies the starting location for mileage. Available for Mileage expenses. via Page 6988 “Expense”
29 Ending Point Text[50] Specifies the ending location for mileage. Available for Mileage expenses. via Page 6988 “Expense”
53 Round Trip Boolean Specifies whether the mileage expense is a round trip. When enabled, the distance is doubled for reimbursement calculation.
63 Vehicle Type Code[20] Specifies the vehicle type used for this mileage expense. The mileage rate matching this vehicle type is applied, or the generic rate when no vehicle-specific rate exists. TableRelation Table 7108 “Expense Vehicle Type” (Expense Vehicle Type)
30 Reimbursable Amount Decimal Specifies the amount eligible for reimbursement based on policy. via Page 6988 “Expense” not editable
31 Reimbursable Amount (LCY) Decimal Specifies the reimbursable amount in the local currency. via Page 6988 “Expense” not editable
32 No. Series Code[20] —
33 Credit Card Feed No. Integer Specifies the reference to the imported credit card transaction. Set by the system when matched to a card feed. via Page 6988 “Expense”
34 Dimension Set ID Integer — TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable
35 VAT Bus. Posting Group Code[20] — TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group)
36 VAT Prod. Posting Group Code[20] — TableRelation Table 324 “VAT Product Posting Group” (VAT Product Posting Group)
37 Currency Factor Decimal —
41 Applied Rule Id Guid —
42 Created By Code[50] — obsolete Pending 29.0; TableRelation User.“User Name”; DataClassification EndUserIdentifiableInformation
43 Reimbursement Type Enum “Expense Reimbursement Type” Specifies the type of reimbursement for this expense. via Page 6988 “Expense” enum Enum 6912 “Expense Reimbursement Type”; not editable
44 Rule Violations Boolean Specifies whether any rule violations exist for this expense. via Page 6988 “Expense” FlowField: exist(“Expense Rule Violation” where(“Expense No.” = field(“No.”))); not editable
45 Expense Detail Required Enum “Expense Detail Needed” — enum Enum 6905 “Expense Detail Needed”
46 Job No. Code[20] Specifies the job to assign this expense to. via Page 6988 “Expense” TableRelation Job.“No.” where(Status = filter(<> Completed))
47 Job Task No. Code[20] Specifies the job task to assign this expense to. via Page 6988 “Expense” TableRelation Table 1001 “Job Task” (“Job Task”.“Job Task No.” where(“Job No.” = field(“Job No.”)))
48 Refundable Amount Decimal Specifies the amount eligible for refund based on policy. via Page 6988 “Expense” not editable
49 Refundable Amount (LCY) Decimal Specifies the refundable amount in the local currency. via Page 6988 “Expense” not editable
50 Posted Expense Report No. Code[20] — TableRelation Table 6915 “Posted Expense Report Header” (“Posted Expense Report Header”.“No.”); not editable
51 Non-Refundable Amount (LCY) Decimal — not editable
52 Created Date-Time DateTime Specifies the date and time the expense was created. via Page 6988 “Expense” DataClassification SystemMetadata
54 Created By Exp. User Id Guid Created By Expense User Id caption not editable; DataClassification EndUserIdentifiableInformation
55 Modified By Exp. User Id Guid Modified By Expense User Id caption not editable; DataClassification EndUserIdentifiableInformation
60 Merchant Registration No. Text[50] Specifies the vendor or merchant registration number for this expense. via Page 6988 “Expense”
61 Merchant VAT Registration No. Text[20] Specifies the vendor or merchant VAT registration number for this expense. via Page 6988 “Expense”
62 Expense Vendor No. Code[20] Specifies the expense vendor record created for accountant review and matching to a Business Central vendor. TableRelation Table 6937 “Expense Vendor” (Expense Vendor); not editable

Keys

  • PK: No. (clustered)

Trigger event subscribers

Procedures

  • AssistEdit(): Boolean
  • ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])
  • PerformManualRelease()
  • ShowDocDim()
  • PerformManualRelease(var Expense: Record Expense)
  • PerformManualReopen(var Expense: Record Expense)
  • FilterByUserId(FilterUserId: Code[50]) (obsolete 29.0: This function is no longer used.)
  • FilterByCurrentUser() (internal)
  • SetHideValidationDialog(NewHideValidationDialog: Boolean)
  • GetHideValidationDialog(): Boolean
  • GetStatusStyleText(): Text
  • TestStatusOpen()
  • GetRuleStyleText(): Text
  • ApplyRule(ApplyAndValidateRuleOnExpense: Boolean; ValidateRuleOnly: Boolean)
  • ApplyRule()
  • SetSkipRuleApplication(NewSkipRuleApplication: Boolean)
  • CreateDimFromDefaultDim(FieldNo: Integer): Initializes the dimensions for the Expense.
  • CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]): Creates dimensions from default dimension sources for the expense.
  • CheckExpensePrerequisitesBeforeUsing()
  • UpdateAmount()
  • ShowItemization()
  • ShowParticipants()
  • ShowPerDiem()
  • SetCalledFromExpenseAgent(NewCalledFromExpenseAgent: Boolean) (internal)
  • GetVATAmounts(var VATAmount: Decimal; var VATAmountLCY: Decimal): Boolean
  • UpdateVATSpecification(ExpenseNo: Code[20]) (internal)

Plus 17 local procedures.

Triggers

OnInsert, OnModify, OnDelete

Relations

Referenced by

2 fields in 2 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 Created By: Pending 29.0, “This field is no longer required.”
  • procedure FilterByUserId: Pending 29.0 (#if not CLEAN29), “This function is no longer used.”

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

Evidence 1 sources