Table 6921 "Expense Category"
ExpenseAgent · Microsoft.ExpenseAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 34 connected objects and pages
ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 6945 “Expense Category Card” (2 Learn pages), Page 6946 “Expense Categories” (1).
Properties
| Property | Value |
|---|---|
| Caption | Expense Category |
| Access | Internal |
| DataClassification | CustomerContent |
| LookupPageId | Expense Categories |
| DrillDownPageId | Expense Categories |
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 | Code | Code[20] | Specifies the code for expense category. via Page 6945 “Expense Category Card” | NotBlank |
| 2 | Description | Text[250] | Specifies the skill for the agent usage that identifies expense category and its purpose or usage. via Page 6945 “Expense Category Card” | |
| 3 | Posting Group | Code[20] | Specifies the posting group on the expense category that is used for accounting. The posting group links expense transactions to general ledger accounts. via Page 6945 “Expense Category Card” | TableRelation Table 6928 “Expense Posting Group” (“Expense Posting Group”.Code) |
| 4 | Attachment Enforcement | Enum “Expense Attachment Enforcement” | Specifies whether an attachment is required for expenses in this category. via Page 6945 “Expense Category Card” | enum Enum 6914 “Expense Attachment Enforcement” |
| 5 | Default Payment Method | Code[10] | Specifies the default payment method applied to expenses in this category. via Page 6945 “Expense Category Card” | TableRelation Table 6913 “Expense Payment Method” (“Expense Payment Method”.Code) |
| 6 | Prepayment-Cash Advance | Boolean | Specifies whether expenses in this category require prepayment or cash advance. via Page 6945 “Expense Category Card” | |
| 7 | Inactive | Boolean | Specifies whether the category is inactive. If inactive, the category can’t be used on new expenses. via Page 6945 “Expense Category Card” | |
| 8 | Expense Group | Code[20] | Specifies the expense group for classification. via Page 6945 “Expense Category Card” | TableRelation Table 6924 “Expense Group” (“Expense Group”.Code) |
| 9 | Refundable | Boolean | Specifies whether expenses in this category are refundable by default. This can be changed on the expense report. via Page 6945 “Expense Category Card” | |
| 10 | Reimbursement Type | Enum “Expense Reimbursement Type” | Specifies how expenses in this category are reimbursed. via Page 6945 “Expense Category Card” | enum Enum 6912 “Expense Reimbursement Type”; not editable |
| 11 | Expense Detail Required | Enum “Expense Detail Needed” | Specifies additional details required for expenses in the category, such as itemization, per-diem, or participants. via Page 6945 “Expense Category Card” | enum Enum 6905 “Expense Detail Needed” |
| 15 | VAT Prod. Posting Group | Code[20] | Specifies VAT product posting group will be used to calculate the VAT percentage when the expense report line is created with this expense category. If the VAT product posting group is left blank, the system will use the default VAT percentage defined in the “Default VAT %” field on this table. If b… | TableRelation Table 324 “VAT Product Posting Group” (“VAT Product Posting Group”.Code) |
| 16 | Default VAT % | Decimal | Specifies default VAT percentage will be used when the expense report line is created with this expense category. If the default VAT percentage is left blank, the system will calculate the VAT percentage based on the VAT product posting group and the VAT business posting group. | |
| 17 | Default VAT Reclaim % | Decimal | Specifies default VAT reclaim percentage will be used when the expense report line is created with this expense category. If the default VAT reclaim percentage is left blank, the system will calculate the VAT reclaim percentage based on the VAT product posting group and the VAT business posting grou… | |
| 20 | Posting Description | Text[100] | Specifies the posting description that will be used on the ledger entries when this expense category is used in an expense report line. If this field is left blank, the description from the expense report line will be used for the ledger entries. |
Keys
- PK: Code (clustered)
Procedures
6 local procedures, no public ones.
Triggers
OnDelete, OnRename
Relations
- drill-down page Page 6946 “Expense Categories”
- lookup page Page 6946 “Expense Categories”
- VAT Prod. Posting Group: TableRelation Table 324 “VAT Product Posting Group”
- Default Payment Method: TableRelation Table 6913 “Expense Payment Method”
- Expense Group: TableRelation Table 6924 “Expense Group”
- Posting Group: TableRelation Table 6928 “Expense Posting Group”
Referenced by
22 fields in 22 objects relate to this table (TableRelation or CalcFormula).
- Table 6900 “Expense”: Expense Category
- Table 6902 “Expense Itemization”: Expense Category Code
- Table 6904 “Expense Participant”: Expense Category Code
- Table 6905 “Expense Per Diem”: Expense Category Code
- Table 6907 “Expense Report Line”: Expense Category
- Table 6908 “Expense Report Line Particip.”: Expense Category Code
- Table 6911 “Expense Report Line Item”: Expense Category Code
- Table 6912 “Expense Ledger Entry”: Expense Category
- Table 6916 “Posted Expense Report Line”: Expense Category
- Table 6917 “Posted Exp. Rep. Line Particip”: Expense Category Code
- Table 6918 “Expense VAT Specification”: Expense Category
- Table 6919 “Posted Exp. Rep. Line Item”: Expense Category Code
- Table 6922 “Expense Report Line VAT Spec.”: Expense Category
- Table 6926 “Expense Rule Condition”: Expense Category Code
- Table 6927 “Expense Rule Header”: Expense Category Code
- Table 6929 “Expense Subcategory”: Expense Category Code
- Table 6934 “Posted Exp. Rep. Line VAT Spec”: Expense Category
- Table 7092 “Expense Policy”: Expense Category Code
- Table extension 6976 “Gen. Journal Line”: Expense Category
- Table extension 7056 “WHT Tax Posting Setup Ext”: Threshold Category Code
- Table extension 7057 “WHT Threshold Accumulator Ext”: Expense Category Code
- Table extension 7109 “Exp. Spend Req. Detail”: Expense Category Code
Pages and codeunits on this table
- Page 6914 “Expense Categories API” (source table)
- Page 6945 “Expense Category Card” (source table)
- Page 6946 “Expense Categories” (source table)
- Page 6966 “Exp. Categories Preview” (source table)
Extended by
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 6902 “Expense Rule Validation” (1 call:
CheckRuleViolationOnExpenseReportLine → ValidateExpenseReportLineAgainstRule)
Recent changes
- 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: "table", object_name: "Expense Category"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.