---
id: object/table/6929
type: object
title: Table 6929 "Expense Subcategory"
summary: Table 6929 "Expense Subcategory" in ExpenseAgent (Microsoft.ExpenseAgent). 10 fields. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - 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: 675807a0ff30f760b5ca9acf2515be70945ad25fa07c333f0c9f3b2229945e5c
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/ExpenseAgent/app/src/MasterData/Tables/ExpenseSubcategory.Table.al
    title: src/Apps/W1/ExpenseAgent/app/src/MasterData/Tables/ExpenseSubcategory.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    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/9859
object_type: table
object_id: 6929
name: Expense Subcategory
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: []
counts:
  fields: 10
  procedures: 1
  events: 0
  subscribers: 0
relations:
  out: 4
  referenced_by: 15
  pages: 3
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 6929 "Expense Subcategory"

> Table 6929 "Expense Subcategory" in ExpenseAgent (Microsoft.ExpenseAgent). 10 fields. 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/Tables/ExpenseSubcategory.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 6973 "Expense Subcategories"](../page/6973.md) (1 Learn page).

## Properties

| Property | Value |
|---|---|
| Caption | Expense Subcategory |
| Access | Internal |
| DataClassification | CustomerContent |
| LookupPageId | Expense Subcategories |
| DrillDownPageId | Expense Subcategories |

## 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] | — | TableRelation [Table 6921 "Expense Category"](../table/6921.md) ("Expense Category".Code); NotBlank |
| 2 | Code | Code[20] | Specifies the subcategory code. | NotBlank |
| 3 | Description | Text[250] | Specifies the description of the expense subcategory that identifies its purpose or usage. |  |
| 4 | Inactive | Boolean | Specifies that the expense subcategory is inactive and can't be selected for new transactions. |  |
| 5 | Refundable | Boolean | Specifies whether the subcategory is refundable by default when itemization is used. This value can be changed on the expense report. |  |
| 6 | Expense Description Mandatory | Boolean | Specifies whether a description must be entered for expenses using this subcategory before they can be released. |  |
| 15 | VAT Prod. Posting Group | Code[20] | Specifies the VAT product posting group to link the expense subcategory to the correct VAT code on the expense report. | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) ("VAT Product Posting Group".Code) |
| 16 | Default VAT % | Decimal | 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. |  |
| 17 | Default VAT Reclaim % | Decimal | 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. |  |
| 20 | Posting Description | Text[100] | Specifies the posting description of the expense subcategory that identifies its purpose or usage. |  |

## Keys

- Key1: Expense Category Code, Code (clustered)

## Procedures

1 local procedures, no public ones.

## Triggers

OnInsert, OnDelete, OnRename

## Relations

- drill-down page [Page 6973 "Expense Subcategories"](../page/6973.md)
- lookup page [Page 6973 "Expense Subcategories"](../page/6973.md)
- VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- Expense Category Code: TableRelation [Table 6921 "Expense Category"](../table/6921.md)

## Referenced by

15 fields in 15 objects relate to this table (TableRelation or CalcFormula).

- [Table 6900 "Expense"](../table/6900.md): Expense Subcategory
- [Table 6902 "Expense Itemization"](../table/6902.md): Expense Subcategory Code
- [Table 6904 "Expense Participant"](../table/6904.md): Expense Subcategory Code
- [Table 6905 "Expense Per Diem"](../table/6905.md): Expense Subcategory Code
- [Table 6907 "Expense Report Line"](../table/6907.md): Expense Subcategory Code
- [Table 6908 "Expense Report Line Particip."](../table/6908.md): Expense Subcategory Code
- [Table 6911 "Expense Report Line Item"](../table/6911.md): Expense Subcategory Code
- [Table 6912 "Expense Ledger Entry"](../table/6912.md): Expense Subcategory Code
- [Table 6916 "Posted Expense Report Line"](../table/6916.md): Expense Subcategory Code
- [Table 6917 "Posted Exp. Rep. Line Particip"](../table/6917.md): Expense Subcategory Code
- [Table 6918 "Expense VAT Specification"](../table/6918.md): Expense Subcategory
- [Table 6919 "Posted Exp. Rep. Line Item"](../table/6919.md): Expense Subcategory Code
- [Table 6922 "Expense Report Line VAT Spec."](../table/6922.md): Expense Subcategory
- [Table 6934 "Posted Exp. Rep. Line VAT Spec"](../table/6934.md): Expense Subcategory
- [Table extension 6976 "Gen. Journal Line"](../tableextension/6976.md): Expense Subcategory Code

## Pages and codeunits on this table

- [Page 6925 "Expense Subcategories API"](../page/6925.md) (source table)
- [Page 6967 "Exp. Subcategories Preview"](../page/6967.md) (source table)
- [Page 6973 "Expense Subcategories"](../page/6973.md) (source table)

## Recent changes

- 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

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