General Ledger Account

General Ledger Account

Overview

General Ledger Accounts are the categories in your chart of accounts that classify financial transactions. Each account represents a specific type of asset, liability, equity, revenue, or expense. When transactions occur, they post to these accounts, and the account balances form the basis of your financial statements.

Accounts follow a hierarchical structure that organizes your financial data. Parent accounts group related child accounts - for example, a "Cash" parent might have child accounts for different bank accounts or payment processors. This hierarchy lets you report at summary levels (total cash) or drill down to detail (specific bank account), supporting both high-level financial analysis and detailed investigation.

The account type determines how an account behaves financially. Asset accounts have debit balances and increase with debits. Liability and equity accounts have credit balances and increase with credits. Revenue accounts have credit balances. Expense accounts have debit balances. The system uses these rules to automatically maintain correct balances as transactions post.

Account status controls whether an account can be used. Active accounts accept new transactions. Inactive accounts are retained for historical reporting but can't be used for new entries. This lets you phase out old accounts without losing historical data, keeping your chart of accounts clean while maintaining a complete financial history.

Some accounts have special designations for specific business purposes. You might designate a default account for inventory, another for cost of goods sold, another for accounts receivable. These designations help the system automatically choose the correct accounts when posting transactions, reducing the chance of errors and ensuring consistency.

The GraphQL API lets you query accounts to see their structure, balances, and activity. You can retrieve the full chart of accounts to display in reports or selection lists. You can look up specific accounts to verify their settings. You can analyze account balances over time to understand financial trends. These queries support both operational use (selecting accounts for transactions) and financial analysis (understanding where your money is).


GraphQL API

The generalLedgerAccount collection provides access to generalLedgerAccount data via the GraphQL API. All queries use the Relay connection specification with cursor-based pagination.

Query Name: generalLedgerAccountViewConnection

Available Features:

  • Cursor-based pagination (first/last/after/before)

Query Examples

Basic Query

The generalLedgerAccount collection is accessed via the generalLedgerAccountViewConnection query, which returns a Relay-style connection with pagination support.

query {
  generalLedgerAccountViewConnection(first: 10) {
    edges {
      node {
        account
        code
        glAccountUrl
        group
        name
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Pagination

Use cursor-based pagination to retrieve large datasets:

# First page
query {
  generalLedgerAccountViewConnection(first: 50) {
    edges {
      node { account }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

# Subsequent pages
query {
  generalLedgerAccountViewConnection(first: 50, after: "cursor-from-previous-page") {
    edges {
      node { account }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Summary and Aggregation

This collection supports metrics aggregation through the summary field. You can calculate totals, averages, counts, and other aggregate values across filtered data.

Note: This collection does not support groupBy dimensions. For dimensional analysis, use collections like product, order, or invoice.

For a comprehensive guide to using aggregations, see the Aggregation Concept Guide.

Query Structure

generalLedgerAccountViewConnection(filters...) {
  summary {
    errorCode
    errorMessage
    metrics {
      # Calculated metrics (see table below)
    }
  }
}

Available Metrics

This collection provides 1 metric that can be aggregated:

MetricParametersDescription
countNoneCount of items in the result set

Common Parameters:

  • operator - Aggregation function: sum, mean, min, max
  • transform - Mathematical transformation: abs
  • dateRange - Filter to specific date range
  • facilityUrlList - Filter to specific facilities

Examples

Example 1: Total generalLedgerAccount Metrics

Calculate aggregate metrics across all generalLedgerAccount records:

query {
  generalLedgerAccountViewConnection(first: 1) {
    summary {
      errorCode
      errorMessage
      metrics {
        totalCount: count
      }
    }
  }
}

Expected result structure:

{
  "data": {
    "generalLedgerAccountViewConnection": {
      "summary": {
        "errorCode": null,
        "errorMessage": null,
        "metrics": {
          "totalCount": [1523]
        }
      }
    }
  }
}

Fields

This collection has 7 fields:

  • 7 simple fields
  • 0 enum fields (with predefined values)
  • 0 parameterized fields (accept query options)

Note on Field Formatting: All scalar fields support the formatter argument to control output format. Available options: "html", "none", "abbreviated", "blank-zero". Some fields have a default formatter (shown below). See the Formatting guide for details.

Note on Sorting: Field sortability may vary depending on the UI context and query parameters used. Some parameter options explicitly disable sorting (marked with ⚠️ not sortable).

Simple Fields

These fields return values directly without additional options.

account

A formatted, user-friendly display field that combines the account code and name into a single readable string. This field presents the general ledger account information in the format "code · name" (for example, "A0900 · Accounts Receivable" or "A1000 · COGS Account"), making it easy to identify accounts at a glance.

Unlike the glAccountUrl field which stores the raw URL identifier, this field is specifically designed for display purposes in user interfaces, reports, and data exports. It provides immediate context by showing both the short account code that users commonly use for quick reference and the full descriptive name that clarifies the account's purpose.

This field is commonly used in transaction views (journal entries, consolidated items, invoices), where users need to quickly identify which accounts are being debited or credited. When a transaction involves multiple different accounts for the same account type, this field will display "Multiple accounts" instead of showing a specific account code and name.

Label: Account
Sortable: No


code

The unique account code identifier for the general ledger account, typically a numeric or alphanumeric string (e.g., 'A0900', 'A0901', '121'). This field is used to identify and reference accounts in financial reports and is often displayed alongside or instead of the account description. The code must be unique across all general ledger accounts in the system and is commonly used for lookup operations when importing transactions or matching accounts from external accounting systems.

Label: Code
Sortable: No


glAccountUrl

The unique identifier for a general ledger account, serving as the primary key for the account record. This field is automatically generated by the server and uniquely identifies each general ledger account in the system.

The glAccountUrl is used extensively throughout Finale as the primary reference for linking transactions, products, and other entities to their associated accounting accounts.

This identifier appears in multiple contexts: it's stored in product account lists to specify which accounts should be used for different transaction types (inventory, COGS, income), in system preferences to define default accounts, and in all accounting transactions (journal entries, consolidated items, invoices, payments) to track which accounts are debited or credited. This format allows the system to perform efficient lookups and maintain referential integrity across the entire accounting system.

IMPORTANT: Treat URL values as opaque strings supplied by the server. Do not attempt to parse, interpret, or construct URL values manually:

  • ID values embedded in URLs may differ from entity ID values
  • The URL structure is an internal implementation detail subject to change
  • Manually constructing URLs can lead to bugs and system errors
  • Always use URL values exactly as provided by the API

Label: Account URL
Sortable: No


group

The top-level account category in the general ledger account taxonomy hierarchy. Each account belongs to a specific type (such as "Accounts payable" or "Accounts receivable"), and each type belongs to one of the five primary account groups: Asset, Liability, Equity, Revenue, or Expense. The group represents the parent category in this two-level taxonomy structure, providing a high-level classification that determines how the account appears in financial statements and reports. This field is computed from the account's taxonomy relationship by looking up the parent of the account's assigned type in the taxonomy hierarchy.

Label: Group
Sortable: No


name

The descriptive name of the general ledger account, providing a human-readable label that explains the account's purpose (for example, "Accounts Receivable", "Inventory", "COGS account", "Sales taxes account"). This field helps users understand what the account is used for without needing to reference the account code.

Unlike the account field which combines both the code and name in a formatted display string (e.g., "A0900 · Accounts Receivable"), this field returns only the descriptive name portion. It is commonly used in reports and data exports where a full description is needed, or in user interfaces where the account name needs to be displayed separately from its code.

The name field is used extensively in pivot tables and reporting dimensions (labeled as "Account name") to allow users to group and filter general ledger data by the descriptive account name rather than by account code or URL.

Label: Name
Sortable: No


type

The account taxonomy classification that categorizes this general ledger account within the chart of accounts hierarchy. This field represents the specific account type from the GL account taxonomy, such as "Cost of goods sold," "Inventory," "Sales," "Accounts receivable," "Other expense," or "Other current liability."

The taxonomy structure has two levels: parent groups (like Asset, Liability, Revenue, and Expense) and more specific child types that accounts are assigned to. For example, "Cost of goods sold" is a child type under the "Expense" parent group, while "Inventory" is a child type under the "Asset" parent group. The type field returns the description of the specific child taxonomy classification for the account.

This classification is used throughout the system to filter and organize accounts by their accounting purpose. For instance, you can filter general ledger reports to show only accounts of type "Inventory" or group accounts by their parent taxonomy like "Expense" to see all expense-related accounts together.

Label: Type
Sortable: No


usage

A computed field that displays where and how the general ledger account is currently being used throughout the system. This field helps users understand which business processes or configurations are associated with each GL account.

The usage field aggregates multiple sources of account assignments, including default GL accounts from preferences (such as default COGS, accounts receivable, or inventory accounts), order type configurations (tracking COGS, income, sales clearing, and AR accounts for different sales channels), variance reason GL account assignments, product promotion debit and credit accounts, and product-specific account overrides where individual products use non-default GL accounts.

The field presents this information as a comma-separated list of usage labels. For example, an account might show "Default cost of goods sold, Online COGS, Other COGS" indicating it serves as the default COGS account and is used by multiple order types. This provides visibility into the scope and impact of changes to any GL account, helping users understand dependencies before modifying account configurations.

Label: Usage
Sortable: No


Relations

No relations available.

Filters

No filters available.