Table 6927 "Expense Rule Header"
ExpenseAgent · Microsoft.ExpenseAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 10 connected objects and pages
ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 6900 “Expense Management Rules” (1 Learn page), Page 6901 “Expense Rule Card” (1).
Properties
| Property | Value |
|---|---|
| Caption | Expense Rule Header |
| Access | Internal |
| DataClassification | CustomerContent |
| LookupPageId | Expense Management Rules |
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 | Expense Category Code | Code[20] | Specifies the expense category for this rule. via Page 6901 “Expense Rule Card” | TableRelation Table 6921 “Expense Category” (Expense Category); NotBlank |
| 2 | Expense Location | Code[20] | Specifies the expense location for this rule. via Page 6901 “Expense Rule Card” | TableRelation Table 6925 “Expense Location” (Expense Location) |
| 3 | Effective Date | Date | Specifies when this rule becomes effective. via Page 6901 “Expense Rule Card” | |
| 30 | Justification Required | Enum “Expense Justification” | Specifies when justification is required for expenses under this rule. via Page 6901 “Expense Rule Card” | enum Enum 6908 “Expense Justification” |
| 40 | Required Specific Merchant | Boolean | Specifies if a specific merchant is required for this expense category and location. via Page 6901 “Expense Rule Card” | |
| 41 | Specific Merchant Name | Text[100] | Specifies the required merchant name. via Page 6901 “Expense Rule Card” | |
| 60 | Currency Code | Code[10] | Specifies the required currency code for expenses under this rule. Leave blank if any currency is allowed. via Page 6901 “Expense Rule Card” | TableRelation Table 4 “Currency” |
| 61 | Unit of Measure Code | Code[10] | Specifies the required unit of measure code for mileage expenses under this rule (e.g., Miles, Kilometers). Leave blank if any unit of measure is allowed. via Page 6901 “Expense Rule Card” | TableRelation Table 204 “Unit of Measure” (Unit of Measure) |
Keys
- PK: Expense Category Code, Expense Location, Effective Date (clustered)
Procedures
FindApplicableRule(ExpenseReportLine: Record "Expense Report Line"): BooleanFindApplicableRule(Expense: Record Expense): Boolean
Plus 4 local procedures.
Triggers
OnDelete, OnRename
Relations
- lookup page Page 6900 “Expense Management Rules”
- Unit of Measure Code: TableRelation Table 204 “Unit of Measure”
- Currency Code: TableRelation Table 4 “Currency”
- Expense Category Code: TableRelation Table 6921 “Expense Category”
- Expense Location: TableRelation Table 6925 “Expense Location”
Pages and codeunits on this table
- Page 6900 “Expense Management Rules” (source table)
- Page 6901 “Expense Rule Card” (source table)
- Page 6923 “Expense Rules API” (source table)
- Page 6959 “Exp. Rules Preview” (source table)
- Codeunit 7128 “Create Expense Rule Headers” (codeunit runs on it)
Recent changes
- 2026-09-15 #11425 Bug 650137: [29.x] Expense Locations and Per-diem rules in configuration - Backport (releases/29.x, BC29, feature)
- 2026-09-10 #10155 Slice 641293: [Expense Agent] Expense Locations and Per-diem rules in configurationAdded more locations (main, BC30, feature)
- 2026-08-14 #10020 [Master] - Bug 641894: [Expense Agent] [Rules] Mileage expense should not validate require receipt number rule (main, BC30, fix)
- 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). 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 Rule Header"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.