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

# Trial Balance Report

> Verify the accuracy of your business's accounting records

## Overview

A Trial Balance is a financial statement that shows the closing balance of each General Ledger (GL) account at a specific point in time. This report helps accountants perform a high-level audit of a business's books, ultimately ensuring everything is being tracked and accounted for accurately in the GL.

The Trial Balance displays the beginning balance, net debit or net credit, and ending balance of each GL account for the period. This report is primarily used to help the business owner ensure their debits and credits are accounted for properly in the GL and their books are balanced.

When viewing a Trial Balance, the bookkeeper can drill down into the report to see all of the transactions and journal entries contributing to the debit balance, credit balance, or ending balance for each specific GL account within the reporting period.

## Embedding the interactive Trial Balance

To initialize the Tight Embedded experience in your React project, follow the instructions on [Embedding Tight's white-labeled UI](/embeddable-ui/react/patterns/embedding).

Below is an example embedding of the Trial Balance:

```TSX TrialBalanceReport.tsx theme={null}
import { TrialBalance, Tight } from "@tight-embedded/react";
import "@tight-embedded/react/index.css";

function TrialBalanceReport({ accessToken }) {
    return (
      <Tight environment="SANDBOX" accessToken={accessToken} >
        <TrialBalance />
      </Tight>
    )
}
```

## Props

<ParamField body={"filters"}>
  <Expandable title={"filters"}>
    <ParamField body={"dimensionValues"}>
      Dimension value filter

      <Expandable title={"child attributes"}>
        <ParamField body={"id"} type={"object"}>
          Id filter - returns all entities with the following attachments.

          <Expandable title={"child attributes"}>
            <ParamField body={"in"} type={"string[]"}>
              List of values to include.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body={"dateRange"} type={"object"} post={["optional"]}>
      The date range for which to show the report.

      Passing in a value for this prop turns this into a controlled component. As such, you must also pass the
      `onChangeDateRange` prop to set the new value in the parent component.

      <Expandable title={"fields"}>
        <ParamField body={"start"} type={"string"}>
          The beginning of the range, inclusive.
        </ParamField>

        <ParamField body={"end"} type={"string"}>
          The end of the range, inclusive.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body={"grouping"} type={"string"} post={["optional"]}>
  The time period grouping of the report (e.g. for creating a month-over-month report).

  Available options: `NONE`, `MONTHLY`, `QUARTERLY`, `YEARLY`
</ParamField>

<ParamField body={"onChangeGrouping"} type={"function"} post={["optional"]}>
  A function that is called whenever the user changes the grouping from the dashboard.
  This function will only be invoked if the `grouping` prop is also provided. The callback takes a `grouping` as its single
  argument.
</ParamField>

<ParamField body={"onChangeFilters"} type={"function"} post={["optional"]}>
  A function that is called whenever the user changes the filters from the dashboard.
  This function will only be invoked if the `filters` prop is also provided. The callback takes `filters` as its single
  argument.
</ParamField>
