---
title: "Using a general ledger profile to break down account activity in a trial balance"
slug: "using-a-general-ledger-profile-to-break-down-account-activity-in-a-trial-balance"
updated: 2025-09-10T10:14:00Z
published: 2025-09-10T10:14:00Z
canonical: "support.lusid.com/using-a-general-ledger-profile-to-break-down-account-activity-in-a-trial-balance"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Using a general ledger profile to break down account activity in a trial balance

By default, LUSID reports each general ledger account in a [trial balance](/v1/docs/what-is-a-trial-balance) on a single line, automatically aggregating all the debits and credits in that account.

Consider the following example, of a trial balance for a fund with four accounts and debits and credits aggregated separately for each:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-1726057989193.png)

You can [create a general ledger profile](/v1/docs/how-do-i-add-a-general-ledger-profile-with-mappings-to-a-chart-of-accounts) to break down one, some or all accounts into *levels* (or categories), to aggregate debits and credits in a more granular way. For example, you could break down all four accounts into their constituent asset classes (see the **level 1** column below). Debits and credits for accounts with multiple asset classes (`1-Investments` and `4-PnL`) are now aggregated separately; the totals, however, remain the same:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-1726058010299.png)

You could go further and break down the asset classes of just the `1-Investments` account by currency (see the **level 2** column below). Now, debits and credits are aggregated separately for GBP equities and USD equities:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-1726058064369.png)

You could go further still and break down the currencies of the `1-Investments` account by [economic bucket](/v1/docs/what-are-economic-buckets) (see the **level 3** column below), and so on:

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-1726058333201.png)

To enable breakdown of account activity in a trial balance in this way, you must:

1. [Add a general ledger profile](/v1/docs/how-do-i-add-a-general-ledger-profile-with-mappings-to-a-chart-of-accounts) to your chart of accounts, with an ordered set of mappings that LUSID uses to apply levels to journal entry lines matching the rules, and which then impact the trial balance. [Syntax of a mapping](/v1/docs/how-do-i-add-a-general-ledger-profile-with-mappings-to-a-chart-of-accounts#syntax-of-a-general-ledger-profile-mapping).
2. [Apply the general ledger profile](/v1/docs/what-is-a-trial-balance#using-a-general-ledger-profile-to-break-down-account-activity) when you create a trial balance.

For each [journal entry line](/v1/docs/how-does-lusid-generate-journal-entry-lines-from-economic-activity) generated in preparation for the trial balance, LUSID uses the **first matching mapping found** in the general ledger profile. For example, to implement the scenario above and break down all accounts by asset type, and further break down the `1-Investments` account by currency and then by economic bucket, your general ledger profile might look like this:

```json
{
  "chartOfAccountsId": {
    "scope": "Abor",
    "code": "DailyNAV"
  },
  "generalLedgerProfileCode": "DailyNAV",
  "displayName": "GL profile for daily NAV",
  "generalLedgerProfileMappings": [
    {
      "mappingFilter": "GeneralLedgerAccountCode eq '1-Investments'",
      "levels": [
        "Instrument.AssetClass",
        "DefaultCurrency",
        "EconomicBucket"
      ]
    },
    {
      "mappingFilter": "True",
      "levels": [
        "Instrument.AssetClass"
      ]
    }
  ],
  ...
}
```

For each generated journal entry line, LUSID:

1. Applies three levels if the journal entry line represents a debit or credit to the `1-Investments` account, in the following order: asset class, currency, economic bucket.
2. If the journal entry line represents a debit of credit to any other account, LUSID applies a single level of asset class.

In this example, mapping 2 is a ‘catch all' rule that applies levels to unmatched accounts. You could omit mapping 2, in which case accounts other than `1-Investments` would have a level of `No matching mapping`. Best practice might be to specify a final mapping that always evaluates with an empty set of levels for unmatched journal entry lines, for example:

```json
{
  "mappingFilter": "True",
  "levels": []
}
```
