---
id: object/table/1103
type: object
title: Table 1103 "Cost Type"
summary: Table 1103 "Cost Type" in Base Application (Microsoft.CostAccounting.Account). 34 fields, 2 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24, BC27.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "27"
  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: 2bb36a55b54e3575053cc573657f2d733a13a54502dcb5215c5be799ed4d1da6
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/CostAccounting/Account/CostType.Table.al
    title: src/Layers/W1/BaseApp/CostAccounting/Account/CostType.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/finance-set-up-cost-accounting
    - https://learn.microsoft.com/dynamics365/business-central/finance-transfer-and-post-cost-entries
    - https://learn.microsoft.com/dynamics365/business-central/finance-about-cost-accounting
    - https://learn.microsoft.com/dynamics365/business-central/finance-create-cost-budgets
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/accounting-for-costs
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 1103
name: Cost Type
namespace: Microsoft.CostAccounting.Account
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "27"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 34
  procedures: 6
  events: 1
  subscribers: 0
relations:
  out: 20
  referenced_by: 13
  pages: 12
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 1103 "Cost Type"

> Table 1103 "Cost Type" in Base Application (Microsoft.CostAccounting.Account). 34 fields, 2 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24, BC27.

Base Application · Microsoft.CostAccounting.Account · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/CostAccounting/Account/CostType.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 1100 "Chart of Cost Types"](../page/1100.md) (2 Learn pages), [Page 1101 "Cost Type Card"](../page/1101.md) (1), [Page 1117 "Cost Budget per Period"](../page/1117.md) (1), [Page 1118 "Cost Budget by Cost Center"](../page/1118.md) (1), [Page 1119 "Cost Budget by Cost Object"](../page/1119.md) (1), [Page 1120 "Cost Type Balance/Budget"](../page/1120.md) (1), [Page 1124 "Cost Type List"](../page/1124.md) (1), [Page 1131 "Cost Budget per Period Matrix"](../page/1131.md) (1), [Page 1132 "Cost Bdgt. per Center Matrix"](../page/1132.md) (1), [Page 1133 "Cost Bdgt. per Object Matrix"](../page/1133.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Cost Type |
| DataClassification | CustomerContent |

## 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 number of the involved entry or record, according to the specified number series. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | NotBlank |
| 2 | Name | Text[100] | Specifies the name of the cost type. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 3 | Search Name | Code[100] | Specifies an alternate name that you can use to search for the record in question when you cannot remember the value in the Name field. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 4 | Type | Enum "Cost Account Type" | Specifies the type of the cost type. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | enum [Enum 1103 "Cost Account Type"](../enum/1103.md) |
| 6 | Cost Center Code | Code[20] | Specifies the cost center code. The code serves as a default value for cost posting that is captured later in the cost journal. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | TableRelation [Table 1112 "Cost Center"](../table/1112.md) (Cost Center) |
| 7 | Cost Object Code | Code[20] | Specifies the cost object code. The code serves as a default value for cost posting that is captured later in the cost journal. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | TableRelation [Table 1113 "Cost Object"](../table/1113.md) (Cost Object) |
| 10 | Combine Entries | Option | Specifies the option to allow for general ledger entries to be posted individually or as a combined posting per day or month. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | OptionCaption: None,Day,Month |
| 13 | Blocked | Boolean | Specifies that the related record is blocked from being posted in transactions, for example a customer that is declared insolvent or an item that is placed in quarantine. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 17 | New Page | Boolean | Specifies if you want a new page to start immediately after this cost center when you print the chart of cash flow accounts. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 18 | Blank Line | Boolean | Specifies whether you want a blank line to appear immediately after this cost center when you print the chart of cost centers. The New Page, Blank Line, and Indentation fields define the layout of the chart of cost centers. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 19 | Indentation | Integer | — |  |
| 20 | Comment | Text[50] | Specifies a description that applies to the cost type. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 22 | Cost Classification | Option | Specifies the cost type by variability. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | OptionCaption: ,Fixed,Variable,Step Variable |
| 23 | Fixed Share | Text[30] | Specifies an explanation of the Cost Classification field. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> |  |
| 26 | Modified Date | Date | Specifies when the cost object was last modified. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | not editable |
| 27 | Modified By | Code[50] | Specifies the user who last modified the cost object. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | TableRelation User."User Name"; not editable; DataClassification EndUserIdentifiableInformation |
| 28 | Date Filter | Date | — | FlowFilter |
| 29 | Cost Center Filter | Code[20] | — | TableRelation [Table 1112 "Cost Center"](../table/1112.md) (Cost Center); FlowFilter |
| 30 | Cost Object Filter | Code[20] | — | TableRelation [Table 1113 "Cost Object"](../table/1113.md) (Cost Object); FlowFilter |
| 31 | Balance at Date | Decimal | Specifies the cost type balance on the last date that is included in the Date Filter field. The contents of the field are calculated by using the entries in the Amount field in the Cost Entry table. <small>via [Page 1100 "Chart of Cost Types"](../page/1100.md)</small> | FlowField: sum("Cost Entry".Amount where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), "Posting Date" = field(upperlimit("Date Filter")))); not editable |
| 32 | Net Change | Decimal | Specifies the net change in the account balance during the time period in the Date Filter field. <small>via [Page 1100 "Chart of Cost Types"](../page/1100.md)</small> | FlowField: sum("Cost Entry".Amount where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 33 | Budget Amount | Decimal | Specifies either the cost type's total budget or, if you have specified a filter in the Budget Filter field, a filtered budget. The contents of the field are calculated by using the entries in the Amount field in the Cost Budget Entry table. <small>via [Page 1100 "Chart of Cost Types"](../page/1100.md)</small> | FlowField: sum("Cost Budget Entry".Amount where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), Date = field("Date Filter"), "Budget Name" = field("Budget Filter"))) |
| 34 | Totaling | Text[250] | Specifies an account interval or a list of account numbers. The entries of the account will be totaled to give a total balance. How entries are totaled depends on the value in the Account Type field. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | TableRelation [Table 1103 "Cost Type"](../table/1103.md) (Cost Type) |
| 35 | Budget Filter | Code[10] | — | TableRelation [Table 1110 "Cost Budget Name"](../table/1110.md) (Cost Budget Name); FlowFilter |
| 36 | Balance | Decimal | Specifies the balance of the cost type. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | FlowField: sum("Cost Entry".Amount where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"))); not editable |
| 37 | Budget at Date | Decimal | — | not editable |
| 40 | G/L Account Range | Text[50] | Specifies a general ledger account range to establish which general ledger account a cost type belongs to. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | TableRelation [Table 15 "G/L Account"](../table/15.md) (G/L Account) |
| 47 | Debit Amount | Decimal | Specifies the total of the ledger entries that represent debits. <small>via [Page 1120 "Cost Type Balance/Budget"](../page/1120.md)</small> | FlowField: sum("Cost Entry"."Debit Amount" where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), "Posting Date" = field("Date Filter"))) |
| 48 | Credit Amount | Decimal | Specifies the total of the ledger entries that represent credits. <small>via [Page 1120 "Cost Type Balance/Budget"](../page/1120.md)</small> | FlowField: sum("Cost Entry"."Credit Amount" where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), "Posting Date" = field("Date Filter"))) |
| 51 | Balance to Allocate | Decimal | Specifies the net amount that can still be allocated. The entry in the Allocated field in the Cost Entry table determines whether a cost entry is a part of this field. <small>via [Page 1101 "Cost Type Card"](../page/1101.md)</small> | FlowField: sum("Cost Entry".Amount where("Cost Type No." = field("No."), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), Allocated = const(false), "Posting Date" = field("Date Filter"))); not editable |
| 60 | Budget Debit Amount | Decimal | — | FlowField: sum("Cost Budget Entry".Amount where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), Date = field("Date Filter"), "Budget Name" = field("Budget Filter"))) |
| 72 | Budget Credit Amount | Decimal | — | FlowField: - sum("Cost Budget Entry".Amount where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), Date = field("Date Filter"), "Budget Name" = field("Budget Filter"))) |
| 73 | Add. Currency Net Change | Decimal | — | FlowField: sum("Cost Entry"."Additional-Currency Amount" where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 74 | Add. Currency Balance at Date | Decimal | — | FlowField: sum("Cost Entry"."Additional-Currency Amount" where("Cost Type No." = field("No."), "Cost Type No." = field(filter(Totaling)), "Cost Center Code" = field("Cost Center Filter"), "Cost Object Code" = field("Cost Object Filter"), "Posting Date" = field(upperlimit("Date Filter")))) |

## Keys

- Key1: No. (clustered)
- Key2: Type

## Events published

- `OnBeforeCheckBalance(var CostType: Record "Cost Type"; var IsHandled: Boolean)` (integration)

## Procedures

- `LookupGLAccFilter(var Text: Text): Boolean`
- `LookupCostTypeFilter(var Text: Text): Boolean`

Plus 3 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 1100 "Chart of Cost Types"](../page/1100.md)
- lookup page [Page 1100 "Chart of Cost Types"](../page/1100.md)
- Totaling: TableRelation [Table 1103 "Cost Type"](../table/1103.md)
- Add. Currency Balance at Date: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Add. Currency Net Change: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Balance: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Balance at Date: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Balance to Allocate: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Credit Amount: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Debit Amount: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Net Change: CalcFormula [Table 1104 "Cost Entry"](../table/1104.md)
- Budget Amount: CalcFormula [Table 1109 "Cost Budget Entry"](../table/1109.md)
- Budget Credit Amount: CalcFormula [Table 1109 "Cost Budget Entry"](../table/1109.md)
- Budget Debit Amount: CalcFormula [Table 1109 "Cost Budget Entry"](../table/1109.md)
- Budget Filter: TableRelation [Table 1110 "Cost Budget Name"](../table/1110.md)
- Cost Center Code: TableRelation [Table 1112 "Cost Center"](../table/1112.md)
- Cost Center Filter: TableRelation [Table 1112 "Cost Center"](../table/1112.md)
- Cost Object Code: TableRelation [Table 1113 "Cost Object"](../table/1113.md)
- Cost Object Filter: TableRelation [Table 1113 "Cost Object"](../table/1113.md)
- G/L Account Range: TableRelation [Table 15 "G/L Account"](../table/15.md)

## Referenced by

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

- [Table 1101 "Cost Journal Line"](../table/1101.md): Bal. Cost Type No., Cost Type No.
- [Table 1106 "Cost Allocation Source"](../table/1106.md): Cost Type Range, Credit to Cost Type
- [Table 1102 "Cost Journal Batch"](../table/1102.md): Bal. Cost Type No.
- [Table 1103 "Cost Type"](../table/1103.md): Totaling
- [Table 1104 "Cost Entry"](../table/1104.md): Cost Type No.
- [Table 1107 "Cost Allocation Target"](../table/1107.md): Target Cost Type
- [Table 1109 "Cost Budget Entry"](../table/1109.md): Cost Type No.
- [Table 1112 "Cost Center"](../table/1112.md): Cost Type Filter
- [Table 1113 "Cost Object"](../table/1113.md): Cost Type Filter
- [Table 1114 "Cost Budget Buffer"](../table/1114.md): Cost Type No.
- [Table 15 "G/L Account"](../table/15.md): Cost Type No.

## Pages and codeunits on this table

- [Page 1100 "Chart of Cost Types"](../page/1100.md) (source table)
- [Page 1101 "Cost Type Card"](../page/1101.md) (source table)
- [Page 1110 "Cost Type Balance"](../page/1110.md) (source table)
- [Page 1117 "Cost Budget per Period"](../page/1117.md) (source table)
- [Page 1118 "Cost Budget by Cost Center"](../page/1118.md) (source table)
- [Page 1119 "Cost Budget by Cost Object"](../page/1119.md) (source table)
- [Page 1120 "Cost Type Balance/Budget"](../page/1120.md) (source table)
- [Page 1124 "Cost Type List"](../page/1124.md) (source table)
- [Page 1130 "Cost Type Balance Matrix"](../page/1130.md) (source table)
- [Page 1131 "Cost Budget per Period Matrix"](../page/1131.md) (source table)
- [Page 1132 "Cost Bdgt. per Center Matrix"](../page/1132.md) (source table)
- [Page 1133 "Cost Bdgt. per Object Matrix"](../page/1133.md) (source table)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC27

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