Table 570 "G/L Account Category"
Base Application · Microsoft.Finance.GeneralLedger.Account
Across versions
- BC23present
- BC24declaration changed
- BC25unchanged
- BC261 fields changed, 1 procedures added
- BC27-28unchanged
- BC293 fields changed
- BC30unchanged
Neighbourhood 14 connected objects and pages
Base Application · Microsoft.Finance.GeneralLedger.Account · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 790 “G/L Account Categories” (5 Learn pages).
Properties
| Property | Value |
|---|---|
| Caption | G/L Account Category |
| 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 | Entry No. | Integer | — | AutoIncrement |
| 2 | Parent Entry No. | Integer | — | |
| 3 | Sibling Sequence No. | Integer | — | |
| 4 | Presentation Order | Text[100] | — | |
| 5 | Indentation | Integer | — | |
| 6 | Description Δ BC29 | Text[80] | Specifies a description of the record. | |
| 7 | Account Category Δ BC29 | Option | Specifies the category of the G/L account. | OptionCaption: ,Assets,Liabilities,Equity,Income,Cost of Goods Sold,Expense |
| 8 | Income/Balance Δ BC26 | Enum “G/L Account Report Type” | — | enum Enum 20 “G/L Account Report Type”; not editable |
| 9 | Additional Report Definition Δ BC29 | Option | Specifies additional attributes that are used to create the cash flow statement. | OptionCaption: ,Operating Activities,Investing Activities,Financing Activities,Cash Accounts,Retained Earnings,Distribution to Shareholders |
| 11 | System Generated | Boolean | — | |
| 12 | Has Children | Boolean | — | FlowField: exist(“G/L Account Category” where(“Parent Entry No.” = field(“Entry No.”))) |
Keys
- Key1: Entry No. (clustered)
- Key2: Presentation Order, Sibling Sequence No.
- Key3: Parent Entry No.
Events published
OnBeforeGetTotaling(GLAccountCategory: Record "G/L Account Category"; var TotallingStr: Text[250]; var IsHandled: Boolean)(integration): Integration event that allows customization of the GetTotaling procedure. Subscribers can provide custom totaling logic before the standard calculation.OnBeforeMove(var RecGLAccountCategory: Record "G/L Account Category"; var GLAccountCategory: Record "G/L Account Category"; Steps: Integer; var IsHandled: Boolean)(integration): Integration event that allows customization of the category move operation. Subscribers can implement custom logic before moving account categories.OnBeforeUpdateDescendants(var GLAccountCategory: Record "G/L Account Category"; var IsHandled: Boolean)(integration): Integration event that allows customization of descendant category updates. Subscribers can implement custom logic before updating child categories.OnBeforeUpdatePresentationOrder(var GLAccountCategory: Record "G/L Account Category"; var IsHandled: Boolean)(integration): Integration event that allows customization of presentation order updates. Subscribers can implement custom logic before updating category display order.OnBeforeValidateTotaling(var GLAccountCategory: Record "G/L Account Category"; NewTotaling: Text; var IsHandled: Boolean)(integration): Integration event that allows customization of totaling validation. Subscribers can implement custom validation logic before totaling field changes.OnGetBalanceOnAfterGetTotaling(var GLAccountCategory: Record "G/L Account Category"; TotalingStr: Text; var Balance: Decimal; var IsHandled: Boolean)(integration): Integration event that allows customization of balance calculation after totaling. Subscribers can modify the balance calculation based on totaling results.OnGetBalanceOnBeforeProcessChildren(var GLAccountCategory: Record "G/L Account Category"; var Balance: Decimal; var IsHandled: Boolean)(integration): Integration event that allows customization of balance calculation before processing child categories. Subscribers can modify the balance calculation before child category processing.
Procedures
UpdatePresentationOrder(): Updates the hierarchical presentation order and indentation level based on the category’s position in the tree structure. Calculates the sort order for proper display sequence in financial reports and user interfaces.InitializeDataSet(): Initializes the account category dataset with standard financial statement structure. Creates default categories for Assets, Liabilities, Equity, Income, Cost of Goods Sold, and Expenses.InsertRow(): Integer: Creates a new account category as a sibling of the current category with default settings. Returns the entry number of the newly created category for further processing.MoveUp(): Moves the current account category up one position in the sibling sequence within the same parent level. Updates presentation order and descendant categories accordingly.MoveDown(): Moves the current account category down one position in the sibling sequence within the same parent level. Updates presentation order and descendant categories accordingly.MakeChildOfPreviousSibling(): Changes the current category to become a child of its previous sibling category. Restructures the hierarchy by moving the category down one level in the tree.MakeSiblingOfParent(): Changes the current category to become a sibling of its parent category. Restructures the hierarchy by moving the category up one level in the tree.DeleteRow(): Deletes the current category and all its child categories from the hierarchy. Removes associated account assignments and updates related financial reports.MapAccounts(): Maps general ledger accounts to this category (placeholder for future implementation). Provides extension point for custom account mapping logic.ValidateTotaling(NewTotaling: Text): Validates and assigns a new totaling filter for general ledger accounts in this category. Updates account assignments and clears previous totaling assignments as needed.LookupTotaling(): Opens a lookup page to select G/L accounts for the Totaling field. Provides a filtered view based on the category’s Income/Balance setting.PositiveNormalBalance(): Boolean: Determines if the account category has a positive normal balance. Returns true for Expense, Assets, and Cost of Goods Sold categories.GetBalance(): Decimal: Calculates the total balance for this account category including all child categories. Processes both totaling accounts and hierarchical child categories.GetTotaling(): Text[250]: Gets the totaling filter string for this account category. Returns the account filter used for calculating category totals.ShowNotificationAccSchedUpdateNeeded(): Shows a notification that account schedules need to be updated when categories change. Helps maintain consistency between account categories and financial reporting.GetAccSchedUpdateNeededNotificationId(): Guid: Returns the unique identifier for the account schedule update needed notification. Used for notification management and user preferences.DontNotifyCurrentUserAgain(NotificationID: Guid): Disables the account schedule update notification for the current user. Allows users to opt out of future notifications about category updates.
Plus 5 local procedures.
Triggers
OnDelete
Relations
- Has Children: CalcFormula Table 570 “G/L Account Category”
Referenced by
9 fields in 6 objects relate to this table (TableRelation or CalcFormula).
- Table 15 “G/L Account”: Account Subcategory Descript., Account Subcategory Entry No.
- Table 36953 “Account Category”: G/L Acc. Category Entry No., Parent Acc. Category Entry No.
- Table 98 “General Ledger Setup”: Acc. Payables Category, Acc. Receivables Category
- Table 46862 “BC14 G/L Account”: Account Subcategory Entry No.
- Table 570 “G/L Account Category”: Has Children
- Table 85 “Acc. Schedule Line”: Totaling
Pages and codeunits on this table
- Page 790 “G/L Account Categories” (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 570 “G/L Account Category Mgt.” (2 calls:
InitializeDataSet → (object),InsertRow → AddCategory) - Codeunit 1511 “Notification Lifecycle Mgt.” (1 call:
ShowNotificationAccSchedUpdateNeeded → SendNotification) - Codeunit 46 “SelectionFilterManagement” (1 call:
GetTotaling → GetSelectionFilterForGLAccount)
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 Account Category"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.