Table "G/L Account"
Central master data table for general ledger accounts containing the chart of accounts structure. Supports financial reporting, dimension analysis, budgeting, and multi-currency operations.
Remarks
Key relationships: G/L Entry, G/L Budget Entry, G/L Account Category, Dimension Values. Primary data source for financial statements, trial balance, and account analysis reports. Extensible via table extensions for industry-specific accounting requirements and additional financial dimensions. Supports account hierarchies through Begin-Total/End-Total structure and account categorization for financial reporting.
Properties
| Name | Value |
|---|---|
| Caption | G/L Account |
| DataCaptionFields | 1,2 |
| DrillDownPageID | Page Microsoft.Finance.GeneralLedger.Account."Chart of Accounts" |
| LookupPageID | Page Microsoft.Finance.GeneralLedger.Account."G/L Account List" |
| DataClassification | CustomerContent |
Fields
| Name | Type | Description |
|---|---|---|
| "No." | Code[20] | Unique identifier for the general ledger account used throughout all financial transactions and reporting. |
| Name | Text[100] | Descriptive name of the general ledger account displayed in financial reports and account listings. |
| "Search Name" | Code[100] | Uppercase version of the account name used for faster search operations and lookups. |
| "Account Type" | Enum Microsoft.Finance.GeneralLedger.Account."G/L Account Type" | Defines the account structure type determining posting capabilities and hierarchical relationships. |
| "Global Dimension 1 Code" | Code[20] | First global dimension code for account-level dimensional analysis and reporting segmentation. |
| "Global Dimension 2 Code" | Code[20] | Second global dimension code for additional dimensional analysis and reporting segmentation. |
| "Account Category" | Enum Microsoft.Finance.GeneralLedger.Account."G/L Account Category" | Financial statement category classification for automated financial reporting and analysis. |
| "Income/Balance" | Enum Microsoft.Finance.GeneralLedger.Account."G/L Account Report Type" | Determines whether the account appears on Income Statement or Balance Sheet financial reports. |
| "Debit/Credit" | Option | Restricts posting to debit only, credit only, or allows both debit and credit transactions. |
| "No. 2" | Code[20] | Secondary account number for alternative identification or integration with external systems. |
| Comment | Boolean | Indicates whether comment lines exist for this general ledger account. |
| Blocked | Boolean | Prevents posting transactions to this account when set to true. |
| "Direct Posting" | Boolean | Enables direct posting of transactions to this account when true, required for posting-type accounts. |
| "Reconciliation Account" | Boolean | Identifies accounts used for bank reconciliation processes with bank statement import functionality. |
| "New Page" | Boolean | Forces a page break before this account when printing financial reports. |
| "No. of Blank Lines" | Integer | Number of blank lines to insert before this account in printed financial reports. |
| Indentation | Integer | Visual indentation level for hierarchical display of accounts in the chart of accounts. |
| "Source Currency Code" | Code[10] | Currency code for source currency posting when account supports multi-currency transactions. |
| "Source Currency Posting" | Enum Microsoft.Finance.GeneralLedger.Account."G/L Source Currency Posting" | Defines how transactions in different currencies are handled for this source currency account. |
| "Source Currency Revaluation" | Boolean | Enables currency revaluation calculations for this source currency account. |
| "Unrealized Revaluation" | Boolean | Indicates whether this account supports unrealized currency revaluation adjustments. |
| "Last Modified Date Time" | DateTime | Timestamp of the last modification to this general ledger account record. |
| "Last Date Modified" | Date | Date when this general ledger account was last modified. |
| "Date Filter" | Date | Date range filter for calculating balance and transaction amounts in flowfields. |
| "Global Dimension 1 Filter" | Code[20] | Filter for first global dimension to restrict balance calculations to specific dimension values. |
| "Global Dimension 2 Filter" | Code[20] | Filter for second global dimension to restrict balance calculations to specific dimension values. |
| "Balance at Date" | Decimal | Account balance as of the specified date filter including all historical transactions. |
| "Net Change" | Decimal | Net change amount for the account within the specified date filter period. |
| "Budgeted Amount" | Decimal | Total budgeted amount for the account within the specified date and budget filters. |
| Totaling | Text[250] | Account number range used for totaling calculations when account type is Begin-Total or End-Total. |
| "Budget Filter" | Code[10] | Budget name filter for restricting budget calculations to specific budget scenarios. |
| Balance | Decimal | Current balance of the account including all posted transactions without date restrictions. |
| "Budget at Date" | Decimal | Budgeted amount as of the specified date filter for budget performance analysis. |
| "Consol. Translation Method" | Option | Currency translation method used for consolidation of foreign subsidiaries. |
| "Consol. Debit Acc." | Code[20] | Consolidation account number for debit transactions when consolidating foreign subsidiaries. |
| "Consol. Credit Acc." | Code[20] | Consolidation account number for credit transactions when consolidating foreign subsidiaries. |
| "Business Unit Filter" | Code[20] | Business unit filter for restricting balance calculations to specific business units in consolidation. |
| "Gen. Posting Type" | Enum Microsoft.Foundation.Enums."General Posting Type" | General posting type classification for VAT and general posting group combinations. |
| "Gen. Bus. Posting Group" | Code[20] | General business posting group for determining posting accounts in combination with product posting groups. |
| "Gen. Prod. Posting Group" | Code[20] | General product posting group for determining posting accounts in combination with business posting groups. |
| Picture | Blob | Account picture or image for visual identification in user interfaces. |
| "Debit Amount" | Decimal | Total debit amount for the account within the specified date and dimension filters. |
| "Credit Amount" | Decimal | Total credit amount for the account within the specified date and dimension filters. |
| "Automatic Ext. Texts" | Boolean | Enables automatic insertion of extended text lines when the account is used in documents. |
| "Budgeted Debit Amount" | Decimal | Positive budget amounts for the account within the specified date and budget filters. |
| "Budgeted Credit Amount" | Decimal | Negative budget amounts for the account within the specified date and budget filters. |
| "Tax Area Code" | Code[20] | Tax area code for sales tax calculation when tax functionality is enabled. |
| "Tax Liable" | Boolean | Indicates whether the account is subject to tax calculation in tax-enabled jurisdictions. |
| "Tax Group Code" | Code[20] | Tax group code for determining applicable tax rates and calculation methods. |
| "VAT Bus. Posting Group" | Code[20] | VAT business posting group for determining VAT treatment in combination with VAT product posting groups. |
| "VAT Prod. Posting Group" | Code[20] | VAT product posting group for determining VAT treatment in combination with VAT business posting groups. |
| "VAT Amt." | Decimal | Total VAT amount for the account within the specified date and dimension filters. |
| "Additional-Currency Net Change" | Decimal | Net change amount in additional reporting currency for the account within the specified date filters. |
| "Add.-Currency Balance at Date" | Decimal | Balance in additional reporting currency as of the specified date filter. |
| "Additional-Currency Balance" | Decimal | Current balance in additional reporting currency including all posted transactions. |
| "Exchange Rate Adjustment" | Enum Microsoft.Finance.Currency."Exch. Rate Adjustment Type" | Exchange rate adjustment type for currency revaluation processing. |
| "Add.-Currency Debit Amount" | Decimal | Total debit amount in additional reporting currency for the account within the specified filters. |
| "Add.-Currency Credit Amount" | Decimal | Total credit amount in additional reporting currency for the account within the specified filters. |
| "Default IC Partner G/L Acc. No" | Code[20] | Default intercompany partner general ledger account for automatic intercompany transactions. |
| "Omit Default Descr. in Jnl." | Boolean | Excludes default account name description from journal entries when posting transactions. |
| "Source Currency Net Change" | Decimal | Net change amount in source currency for the account within the specified date filters. |
| "Source Curr. Balance at Date" | Decimal | Balance in source currency as of the specified date filter for source currency accounts. |
| "Source Currency Balance" | Decimal | Current balance in source currency for source currency accounts including all posted transactions. |
| "Account Subcategory Entry No." | Integer | Reference to the account subcategory entry for detailed financial statement classification. |
| "Account Subcategory Descript." | Text[80] | Description text for the account subcategory providing detailed classification information. |
| "VAT Reporting Date Filter" | Date | Date filter specifically for VAT reporting date to calculate VAT-related flowfields. |
| "Exclude From Consolidation" | Boolean | Excludes this account from consolidation processes when consolidating multiple companies or business units. |
| "Spend Request Required" | Enum Microsoft.Finance.SpendRequest."Spend Request Required" | Specifies whether a spend request is required before expenses can be posted to this account. |
| "Dimension Set ID Filter" | Integer | Filter for dimension set ID to restrict balance calculations to specific dimension combinations. |
| "Cost Type No." | Code[20] | Associated cost accounting cost type number for integration with cost accounting functionality. |
| "Default Deferral Template Code" | Code[10] | Default deferral template for automatic deferral processing when the account is used in transactions. |
| "API Account Type" | Enum Microsoft.Finance.GeneralLedger.Account."G/L Account Type" | API-compatible account type field that mirrors the Account Type field for external integrations. |
| SystemId | Guid | |
| SystemCreatedAt | DateTime | |
| SystemCreatedBy | Guid | |
| SystemModifiedAt | DateTime | |
| SystemModifiedBy | Guid | |
| SystemCreatedByUserName | Text[50] | |
| SystemCreatedByFullName | Text[80] | |
| SystemModifiedByUserName | Text[50] | |
| SystemModifiedByFullName | Text[80] | |
| SystemRowVersion | BigInteger |
Methods
ShowPriceListLines
Displays price list lines for this general ledger account filtered by price type and amount type.
procedure ShowPriceListLines(PriceType: Enum "Price Type"; AmountType: Enum "Price Amount Type")
Parameters
| Name | Type | Description |
|---|---|---|
| PriceType | Enum Microsoft.Pricing.PriceList."Price Type" |
Type of pricing (Sale or Purchase) to filter price lists |
| AmountType | Enum Microsoft.Pricing.PriceList."Price Amount Type" |
Amount type filter for displaying relevant price list entries |
SetupNewGLAcc
Initializes a new general ledger account with default values based on an existing account. Copies income/balance classification and other relevant setup from the reference account.
procedure SetupNewGLAcc(OldGLAcc: Record "G/L Account"; BelowOldGLAcc: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| OldGLAcc | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Reference account to copy default values from |
| BelowOldGLAcc | Boolean |
Indicates whether the new account is positioned below the reference account |
CheckGLAcc
Validates that the general ledger account is ready for posting transactions. Checks that account type is Posting and account is not blocked.
procedure CheckGLAcc()
ValidateAccountSubCategory
Validates and sets the account subcategory based on text input from user interface. Matches input text against available subcategory descriptions for the account category.
procedure ValidateAccountSubCategory(NewValue: Text[80])
Parameters
| Name | Type | Description |
|---|---|---|
| NewValue | Text[80] |
Text description of the subcategory to match and assign |
LookupAccountSubCategory
Opens a lookup page for selecting account subcategory based on the account's income/balance type and category. Updates the account category and subcategory based on user selection.
procedure LookupAccountSubCategory()
GetCurrencyCode
Returns the additional reporting currency code from General Ledger Setup. Used for additional currency amount formatting in flowfields.
procedure GetCurrencyCode(): Code[10]
Returns
| Type | Description |
|---|---|
| Code[10] |
Additional reporting currency code or empty string if not configured |
ValidateShortcutDimCode
Validates and updates the shortcut dimension code for the specified dimension field. Saves the dimension value as a default dimension for this account.
procedure ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])
Parameters
| Name | Type | Description |
|---|---|---|
| FieldNumber | Integer |
Dimension field number (1 for Global Dimension 1, 2 for Global Dimension 2) |
| ShortcutDimCode | Code[20] |
Dimension value code to validate and assign |
TranslationMethodConflict
Checks for consolidation translation method conflicts with other accounts using same consolidation accounts. Prevents inconsistent translation methods for accounts that consolidate to the same target account.
procedure TranslationMethodConflict(var GLAcc: Record "G/L Account"): Boolean
Parameters
| Name | Type | Description |
|---|---|---|
| GLAcc | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Returns the conflicting account record if a conflict is found |
Returns
| Type | Description |
|---|---|
| Boolean |
True if a translation method conflict exists, false otherwise |
CheckGenProdPostingGroup
Validates that the general product posting group is specified for the account. Logs an error message if the posting group is missing for posting-type accounts.
procedure CheckGenProdPostingGroup()
IsTotaling
Determines whether the account type supports totaling functionality. Returns true for Total and End-Total account types used in account hierarchies.
procedure IsTotaling(): Boolean
Returns
| Type | Description |
|---|---|
| Boolean |
True if account type is Total or End-Total, false otherwise |
Events
OnAfterCheckGLAcc
Integration event raised after validating that a general ledger account is ready for posting. Allows extensions to add custom validation logic for account posting readiness.
[IntegrationEvent(False,False)]
local procedure OnAfterCheckGLAcc(var GLAccount: Record "G/L Account")
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
General ledger account being validated for posting |
OnAfterSetupNewGLAcc
Integration event raised after setting up a new general ledger account with default values. Allows extensions to add custom initialization logic for new accounts.
[IntegrationEvent(False,False)]
local procedure OnAfterSetupNewGLAcc(var GLAccount: Record "G/L Account")
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Newly created general ledger account being initialized |
OnAfterValidateShortcutDimCode
Integration event raised after validating and updating shortcut dimension codes. Allows extensions to perform additional processing after dimension validation.
[IntegrationEvent(False,False)]
local procedure OnAfterValidateShortcutDimCode(var GLAccount: Record "G/L Account"; var xGLAccount: Record "G/L Account"; FieldNumber: Integer; var ShortcutDimCode: Code[20])
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Current general ledger account record |
| xGLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Previous version of the general ledger account record |
| FieldNumber | Integer |
Dimension field number being validated |
| ShortcutDimCode | Code[20] |
Dimension value code that was validated |
OnBeforeValidateShortcutDimCode
Integration event raised before validating shortcut dimension codes. Allows extensions to modify validation logic or skip default validation.
[IntegrationEvent(False,False)]
local procedure OnBeforeValidateShortcutDimCode(var GLAccount: Record "G/L Account"; var xGLAccount: Record "G/L Account"; FieldNumber: Integer; var ShortcutDimCode: Code[20])
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Current general ledger account record |
| xGLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
Previous version of the general ledger account record |
| FieldNumber | Integer |
Dimension field number being validated |
| ShortcutDimCode | Code[20] |
Dimension value code being validated |
OnBeforeCheckGenProdPostingGroup
Integration event raised before checking general product posting group requirements. Allows extensions to override or supplement posting group validation logic.
[IntegrationEvent(False,False)]
local procedure OnBeforeCheckGenProdPostingGroup(var GLAccount: Record "G/L Account"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
General ledger account being validated |
| IsHandled | Boolean |
Set to true to skip default validation logic |
OnBeforeOnDelete
Integration event raised before deleting a general ledger account. Allows extensions to perform custom validation or cleanup before account deletion.
[IntegrationEvent(False,False)]
local procedure OnBeforeOnDelete(var GLAccount: Record "G/L Account"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
General ledger account being deleted |
| IsHandled | Boolean |
Set to true to skip default deletion logic |
OnBeforeCheckSalesOrdersPrepmtToDeduct
Integration event raised before checking sales orders with prepayments to deduct. Allows extensions to override or supplement prepayment validation logic for sales orders.
[IntegrationEvent(False,False)]
local procedure OnBeforeCheckSalesOrdersPrepmtToDeduct(var GLAccount: Record "G/L Account"; var IsHandled: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| GLAccount | Table Microsoft.Finance.GeneralLedger.Account."G/L Account" |
General ledger account being checked for sales prepayments |
| IsHandled | Boolean |
Set to true to skip default prepayment validation logic |