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

# Chart of Accounts

> List of all accounts within the general ledger.

![Chart of Accounts](https://github.com/Layer-Fi/layer-react/assets/1592431/05405344-81de-4d76-b835-633e247cdeb9)

The chart of accounts gives direct read and write access into the double entry general ledger underlying Layer's data. It exposes the list of accounts and enables users to create new accounts.

```tsx theme={null}
<ChartOfAccounts asWidget withDateControl withExpandAllButton />
```

### Properties

<ParamField body="asWidget" type="boolean">
  Displays a more compact version.
</ParamField>

<ParamField body="withDateControl" type="boolean">
  Includes a date picker which determines the effective date of account balances displayed.
</ParamField>

<ParamField body="withExpandAllButton" type="boolean">
  Displays a button to expand and collapse all sub account lists.
</ParamField>

<ParamField body="stringOverrides" type="ChartOfAccountsStringOverrides">
  Overrides for default strings in the component.

  <Expandable title="ChartOfAccountsStringOverrides properties">
    <ParamField body="ledgerAccount" type="LedgerAccountStringOverrides">
      Overrides for the ledger account component.

      <Expandable title="LedgerAccountStringOverrides properties">
        <ParamField body="ledgerEntryDetail" type="LedgerAccountEntryDetailsStringOverrides">
          Overrides for the ledger entry detail component.

          <Expandable title="LedgerAccountEntryDetailsStringOverrides properties">
            <ParamField body="title" type="string">
              Override for the title. Defaults to "Ledger Entry Detail".
            </ParamField>

            <ParamField body="transactionSource" type="TransactionSourceStringOverrides">
              Overrides for the transaction source component.

              <Expandable title="TransactionSourceStringOverrides properties">
                <ParamField body="header" type="string">
                  Override for the header. Defaults to "Transaction Source".
                </ParamField>

                <ParamField body="dateLabel" type="string">
                  Override for the "Date" label. Defaults to "Date".
                </ParamField>

                <ParamField body="amountLabel" type="string">
                  Override for the "Amount" label. Defaults to "Amount".
                </ParamField>

                <ParamField body="directionLabel" type="string">
                  Override for the "Direction" label. Defaults to "Direction".
                </ParamField>

                <ParamField body="counterpartyLabel" type="string">
                  Override for the "Counterparty" label. Defaults to "Counterparty".
                </ParamField>

                <ParamField body="entityNameLabel" type="string">
                  Override for the "Entity Name" label. Defaults to "Entity Name".
                </ParamField>

                <ParamField body="displayDescriptionLabel" type="string">
                  Override for the "Display Description" label. Defaults to "Display Description".
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField body="journalEntry" type="JournalEntryStringOverrides">
              Overrides for the journal entry component.

              <Expandable title="JournalEntryStringOverrides properties">
                <ParamField body="header" type="string">
                  Override for the header. Defaults to "Journal Entry".
                </ParamField>

                <ParamField body="dateLabel" type="string">
                  Override for the "Date" label. Defaults to "Date".
                </ParamField>

                <ParamField body="creationDateLabel" type="string">
                  Override for the "Creation Date" label. Defaults to "Creation Date".
                </ParamField>

                <ParamField body="reversalLabel" type="string">
                  Override for the "Reversal" label. Defaults to "Reversal".
                </ParamField>
              </Expandable>
            </ParamField>

            <ParamField body="lineItemsTable" type="LineItemsTableStringOverrides">
              Overrides for the line items table.

              <Expandable title="LineItemsTableStringOverrides properties">
                <ParamField body="lineItemsColumnHeader" type="string">
                  Override for the "Line Items" column header. Defaults to "Line Items".
                </ParamField>

                <ParamField body="debitColumnHeader" type="string">
                  Override for the "Debit" column header. Defaults to "Debit".
                </ParamField>

                <ParamField body="creditColumnHeader" type="string">
                  Override for the "Credit" column header. Defaults to "Credit".
                </ParamField>

                <ParamField body="totalRowHeader" type="string">
                  Override for the "Total" row header. Defaults to "Total".
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="chartOfAccountsTable" type="ChartOfAccountsTableStringOverrides">
      Overrides for the chart of accounts table.

      <Expandable title="ChartOfAccountsTableStringOverrides properties">
        <ParamField body="headerText" type="string">
          Override for the table header text. Defaults to "Chart of Accounts".
        </ParamField>

        <ParamField body="addAccountButtonText" type="string">
          Override for the "Add Account" button text. Defaults to "Add Account".
        </ParamField>

        <ParamField body="csvDownloadButtonText" type="string">
          Override for the "Download CSV" button text. Defaults to "Download CSV".
        </ParamField>

        <ParamField body="nameColumnHeader" type="string">
          Override for the "Name" column header text. Defaults to "Name".
        </ParamField>

        <ParamField body="typeColumnHeader" type="string">
          Override for the "Type" column header text. Defaults to "Type".
        </ParamField>

        <ParamField body="balanceColumnHeader" type="string">
          Override for the "Balance" column header text. Defaults to "Balance".
        </ParamField>

        <ParamField body="subtypeColumnHeader" type="string">
          Override for the "Subtype" column header text. Defaults to "Subtype".
        </ParamField>

        <ParamField body="chartOfAccountsForm" type="ChartOfAccountsFormStringOverrides">
          Overrides for the chart of accounts form.

          <Expandable title="ChartOfAccountsFormStringOverrides properties">
            <ParamField body="editModeHeader" type="string">
              Override for the form header text when editing an account. Defaults to "Edit Account".
            </ParamField>

            <ParamField body="createModeHeader" type="string">
              Override for the form header text when creating a new account. Defaults to "Create Account".
            </ParamField>

            <ParamField body="cancelButton" type="string">
              Override for the "Cancel" button text. Defaults to "Cancel".
            </ParamField>

            <ParamField body="retryButton" type="string">
              Override for the "Retry" button text. Defaults to "Retry".
            </ParamField>

            <ParamField body="saveButton" type="string">
              Override for the "Save" button text. Defaults to "Save".
            </ParamField>

            <ParamField body="parentLabel" type="string">
              Override for the "Parent" label text. Defaults to "Parent".
            </ParamField>

            <ParamField body="nameLabel" type="string">
              Override for the "Name" label text. Defaults to "Name".
            </ParamField>

            <ParamField body="typeLabel" type="string">
              Override for the "Type" label text. Defaults to "Type".
            </ParamField>

            <ParamField body="subTypeLabel" type="string">
              Override for the "Subtype" label text. Defaults to "Subtype".
            </ParamField>

            <ParamField body="normalityLabel" type="string">
              Override for the "Normality" label text. Defaults to "Normality".
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="showAddAccountButton" type="boolean">
  Controls visibility of the add account button.
</ParamField>

<ParamField body="templateAccountsEditable" type="boolean">
  Controls whether template accounts can be edited. We recommend this only be true for advanced users.
</ParamField>

<ParamField body="showReversalEntries" type="boolean">
  Controls visibility of reversal entries.
</ParamField>
