---
id: object/page/6973
type: object
title: Page 6973 "Expense Subcategories"
summary: Page 6973 "Expense Subcategories" in ExpenseAgent (Microsoft.ExpenseAgent). Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - page
  - expenseagent
versions:
  introduced: "29"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 9de21f1530d01ba633dd3001500c859445461fc53664d8dfec086fb190bb3256
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/ExpenseAgent/app/src/MasterData/Pages/ExpenseSubcategories.Page.al
    title: src/Apps/W1/ExpenseAgent/app/src/MasterData/Pages/ExpenseSubcategories.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/expense-management/expense-management-categories-rules
    title: Set Up Expense Categories, Rules, and Policies
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/expense-management/expense-management-categories-rules
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/expense-management-preview/set-up-expense-management
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/12061
    - change/bcapps/9859
object_type: page
object_id: 6973
name: Expense Subcategories
namespace: Microsoft.ExpenseAgent
app: ExpenseAgent
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/expense-management/expense-management-categories-rules.md
counts:
  fields: 0
  procedures: 0
  events: 0
  subscribers: 0
  controls: 9
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 2
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 6973 "Expense Subcategories"

> Page 6973 "Expense Subcategories" in ExpenseAgent (Microsoft.ExpenseAgent). Introduced in BC29, still in BC30.

ExpenseAgent · Microsoft.ExpenseAgent · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/ExpenseAgent/app/src/MasterData/Pages/ExpenseSubcategories.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Expense Subcategories |
| SourceTable | Expense Subcategory |
| PageType | List |
| ApplicationArea | Basic, Suite |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Group | Code | [Code](../table/6929.md#fields) | Specifies the subcategory code. <small>from the table field</small> |
|  | Agent Skills | [Description](../table/6929.md#fields) | Specifies the skill for the agent usage that identifies expense subcategory and its purpose or usage. |
|  | Posting Description | [Posting Description](../table/6929.md#fields) | Specifies the posting description of the expense subcategory that identifies its purpose or usage. <small>from the table field</small> |
|  | Expense Description Mandatory | [Expense Description Mandatory](../table/6929.md#fields) | Specifies whether a description must be entered for expenses using this subcategory before they can be released. <small>from the table field</small> |
|  | Inactive | [Inactive](../table/6929.md#fields) | Specifies that the expense subcategory is inactive and can't be selected for new transactions. <small>from the table field</small> |
|  | Refundable | [Refundable](../table/6929.md#fields) | Specifies whether the subcategory is refundable by default when itemization is used. This value can be changed on the expense report. <small>from the table field</small> |
|  | VAT Prod. Posting Group | [VAT Prod. Posting Group](../table/6929.md#fields) | Specifies the VAT product posting group to link the expense subcategory to the correct VAT code on the expense report. <small>from the table field</small> |
|  | Default VAT % | [Default VAT %](../table/6929.md#fields) | Specifies the default VAT percentage for the expense subcategory. This value is used to calculate the VAT amount on the expense report when the subcategory is selected, and can be changed on the expense report if needed. <small>from the table field</small> |
|  | Default VAT Reclaim % | [Default VAT Reclaim %](../table/6929.md#fields) | Specifies the default VAT reclaim percentage for the expense subcategory. This value is used to calculate the VAT reclaim amount on the expense report when the subcategory is selected, and can be changed on the expense report if needed. <small>from the table field</small> |

## Relations

- source table [Table 6929 "Expense Subcategory"](../table/6929.md)

## Pages and codeunits on this table

- [Table 6929 "Expense Subcategory"](../table/6929.md) (drill-down page)
- [Table 6929 "Expense Subcategory"](../table/6929.md) (lookup page)

## Recent changes

- 2026-10-01 [#12061 [Master] - Bug 651754: Expense Management - Captions and ToolTips update](../../changes/bcapps/12061.md) (main, BC30, fix)
- 2026-08-04 [#9859 [Master] - Move Expense Agent (Preview) app into BCApps](../../changes/bcapps/9859.md) (main, BC30, feature, added)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

## Documented on Microsoft Learn

- [Set Up Expense Categories, Rules, and Policies](https://learn.microsoft.com/dynamics365/business-central/expense-management/expense-management-categories-rules)

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