---
id: object/table/96
type: object
title: Table 96 "G/L Budget Entry"
summary: Table 96 "G/L Budget Entry" in Base Application (Microsoft.Finance.GeneralLedger.Budget). 16 fields, 5 public procedures, 6 events. Present since at least BC23, still in BC30, changed in BC24, BC26, BC28-29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  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: b391224281655fcf10871443536f50113d02c07182ea5d0f1d9d49b15cfdfd03
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Budget/GLBudgetEntry.Table.al
    title: src/Layers/W1/BaseApp/Finance/GeneralLedger/Budget/GLBudgetEntry.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/bi-how-analyze-actual-versus-budget
    - https://learn.microsoft.com/dynamics365/business-central/finance-how-create-budgets
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/financial-analytics/built-in-finance-analysis-tools
    - topic/business-central/business-functionality/finance/work-with-the-chart-of-accounts-and-gene
  localizations:
    - localization/es
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 96
name: G/L Budget Entry
namespace: Microsoft.Finance.GeneralLedger.Budget
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries:
  - es
ms_search_form_ids: []
counts:
  fields: 16
  procedures: 17
  events: 6
  subscribers: 0
relations:
  out: 8
  referenced_by: 7
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Table 96 "G/L Budget Entry"

> Table 96 "G/L Budget Entry" in Base Application (Microsoft.Finance.GeneralLedger.Budget). 16 fields, 5 public procedures, 6 events. Present since at least BC23, still in BC30, changed in BC24, BC26, BC28-29.

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

Learn documents this table through its pages: [Page 120 "G/L Budget Entries"](../page/120.md) (2 Learn pages).

## Properties

| Property | Value |
|---|---|
| Caption | G/L Budget Entry |
| DataClassification | CustomerContent |
| Permissions | TableData "Analysis View Budget Entry" = rd |

## 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 | Entry No. | Integer | Specifies the number of the entry, as assigned from the specified number series when the entry was created. |  |
| 2 | Budget Name | Code[10] | Specifies the name of the G/L budget that the entry belongs to. | TableRelation [Table 95 "G/L Budget Name"](../table/95.md) (G/L Budget Name) |
| 3 | G/L Account No. | Code[20] | Specifies the number of the G/L account that the budget entry applies to, or, the account on the line where the budget figure has been entered. | TableRelation [Table 15 "G/L Account"](../table/15.md) (G/L Account) |
| 4 | Date | Date | Specifies the date of the budget entry. |  |
| 5 | Global Dimension 1 Code | Code[20] | Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company's most important activities, are available on all cards, documents, reports, and lists. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1))) |
| 6 | Global Dimension 2 Code | Code[20] | Specifies the code for the global dimension that is linked to the record or entry for analysis purposes. Two global dimensions, typically for the company's most important activities, are available on all cards, documents, reports, and lists. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2))) |
| 7 | Amount | Decimal | Specifies the amount of the budget entry. |  |
| 9 | Description | Text[100] | Specifies a description of the budget figure. |  |
| 10 | Business Unit Code | Code[20] | Specifies the code for the business unit that the budget entry is linked to. | TableRelation [Table 220 "Business Unit"](../table/220.md) (Business Unit) |
| 11 | User ID | Code[50] | — | TableRelation User."User Name"; not editable; DataClassification EndUserIdentifiableInformation |
| 12 | Budget Dimension 1 Code | Code[20] | Specifies the dimension value code for the Budget Dimension 1 Code the budget entry is linked to. |  |
| 13 | Budget Dimension 2 Code | Code[20] | Specifies the dimension value code for the Budget Dimension 2 Code the budget entry is linked to. |  |
| 14 | Budget Dimension 3 Code | Code[20] | Specifies the dimension value code for the Budget Dimension 3 Code the budget entry is linked to. |  |
| 15 | Budget Dimension 4 Code | Code[20] | Specifies the dimension value code for the Budget Dimension 4 Code the budget entry is linked to. |  |
| 16 | Last Date Modified | Date | — | not editable |
| 480 | Dimension Set ID | Integer | Specifies a reference to a combination of dimension values. The actual values are stored in the Dimension Set Entry table. | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |

## Keys

- Key1: Entry No. (clustered)
- Key2: Budget Name, G/L Account No., Date
- Key3: Budget Name, G/L Account No., Business Unit Code, Global Dimension 1 Code, Global Dimension 2 Code, Budget Dimension 1 Code, Budget Dimension 2 Code, Budget Dimension 3 Code, Budget Dimension 4 Code, Date
- Key4: Budget Name, G/L Account No., Description, Date
- Key5: G/L Account No., Date, Budget Name, Dimension Set ID
- Key6: Last Date Modified, Budget Name

## Events published

- `OnAfterShowDimensions(var GLBudgetEntry: Record "G/L Budget Entry")` (integration): Integration event raised after showing dimensions for a budget entry. Allows subscribers to perform additional processing after dimension dialog is displayed.
- `OnAfterUpdateDimSet(GLBudgetEntry: Record "G/L Budget Entry"; var TempDimensionSetEntry: Record "Dimension Set Entry" temporary; DimCode: Code[20]; DimValueCode: Code[20])` (integration): Integration event raised after updating dimension set entries for a budget entry. Allows subscribers to perform additional dimension processing or validation.
- `OnAfterUpdateDimensionSetId(var TempDimensionSetEntry: Record "Dimension Set Entry" temporary; var GLBudgetEntry: Record "G/L Budget Entry"; xGLBudgetEntry: Record "G/L Budget Entry")` (integration): Integration event raised after updating the dimension set ID for a budget entry. Allows subscribers to perform additional processing after dimension set ID changes.
- `OnBeforeCheckIfBlocked(var GLBudgetEntry: Record "G/L Budget Entry"; xGLBudgetEntry: Record "G/L Budget Entry"; GLBudgetName: Record "G/L Budget Name"; var IsHandled: Boolean)` (integration): Integration event raised before checking if a budget name is blocked. Allows subscribers to implement custom blocking logic or skip the standard check.
- `OnInsertOnAfterUpdateDimSets(var TempDimensionSetEntry: Record "Dimension Set Entry" temporary; var GLBudgetEntry: Record "G/L Budget Entry")` (integration): Integration event raised during insert after updating dimension sets. Allows subscribers to perform additional processing after dimension sets are updated during budget entry insertion.
- `OnBeforeVerifyNoRelatedAnalysisViewBudgetEntries(var GLBudgetEntry: Record "G/L Budget Entry"; xGLBudgetEntry: Record "G/L Budget Entry"; var IsHandled: Boolean)` (integration): Integration event raised before verifying no related Analysis View Budget Entries exist. Allows subscribers to implement custom verification logic or skip the standard verification.

## Procedures

- `GetLastEntryNo(): Integer`: Retrieves the highest entry number in the G/L Budget Entry table for generating new unique identifiers.
- `CheckIfBlocked()`: Validates that the associated budget name is not blocked before allowing entry modifications.
- `GetCaptionClass(BudgetDimType: Integer): Text[250]`: Generates dynamic captions for budget dimension fields based on the dimension configuration in the budget name.
- `ShowDimensions()`: Opens the dimension management page for viewing and editing the entry's dimension set values.
- `UpdateDimSet(var TempDimSetEntry: Record "Dimension Set Entry" temporary; DimCode: Code[20]; DimValueCode: Code[20])`: Updates a temporary dimension set entry record with the specified dimension code and value. Used for building dimension sets during budget entry processing and validation.

Plus 6 local procedures.

## Triggers

OnDelete, OnInsert, OnModify

## Relations

- drill-down page [Page 120 "G/L Budget Entries"](../page/120.md)
- lookup page [Page 120 "G/L Budget Entries"](../page/120.md)
- G/L Account No.: TableRelation [Table 15 "G/L Account"](../table/15.md)
- Business Unit Code: TableRelation [Table 220 "Business Unit"](../table/220.md)
- Global Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Global Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Budget Name: TableRelation [Table 95 "G/L Budget Name"](../table/95.md)

## Referenced by

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

- [Table 15 "G/L Account"](../table/15.md): Budget at Date, Budgeted Amount, Budgeted Credit Amount, Budgeted Debit Amount
- [Table 1111 "Cost Budget Register"](../table/1111.md): From Budget Entry No., To Budget Entry No.
- [Table 374 "G/L Acc. Budget Buffer"](../table/374.md): Budgeted Amount

## Pages and codeunits on this table

- [Page 120 "G/L Budget Entries"](../page/120.md) (source table)

## 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 408 "DimensionManagement"](../codeunit/408.md) (7 calls: `OnInsert → GetDimensionSet`, `OnInsert → GetDimensionSetID`, `ShowDimensions → EditDimensionSet`, …)
- [Codeunit 703 "Find Record Management"](../codeunit/703.md) (1 call: `GetLastEntryNo → GetLastEntryIntFieldValue`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26, BC28-29

## Countries that replace it

[ES](../../localizations/es.md)

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). 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: "G/L Budget Entry")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
