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

# Reports

> Combined reports view

The reports view combines the three most common reports into a single page, including the P\&L, Balance Sheet, and Cash Flow Statement.
These are the tabular forms of these reports rather than interactive charts.

![Reports View](https://github.com/user-attachments/assets/a49308a5-0c08-4cc3-936a-be5f652d8690)

```tsx theme={null}
import { Reports } from '@layerfi/components'

<Reports
  stringOverrides={{
    title: 'My reports title',
    downloadButton: {
      downloadButtonText: 'Export',
    },
  }}
  enabledReports={['profitAndLoss']}
/>
```

### Properties

<ParamField body="enabledReports" type="ReportType[]">
  Array of reports to enable. Defaults to all three reports. Available values: `['profitAndLoss', 'balanceSheet', 'statementOfCashflow']`.
  If more than one report is enabled, view will include a tabbed interface to switch between reports.
</ParamField>

<ParamField body="profitAndLossConfig" type="object">
  <Expandable title="ProfitAndLossConfig properties">
    <ParamField body="defaultDatePickerMode" type="enum">
      Date picker mode for the Profit and Loss report. Defaults to 'monthPicker'.
      Available values: `['dayRangePicker', 'monthPicker']`.
    </ParamField>

    <ParamField body="allowedDatePickerModes" type="array">
      If more than one value is specified, users will be able to switch between them in the date picker.
      Available values: `['dayRangePicker', 'monthPicker']`.
    </ParamField>

    <ParamField body="customDateRanges" type="array">
      Custom date ranges to show in the date picker.

      <Expandable title="CustomDateRange properties">
        <ParamField body="label" type="string">
          Label to show in the date picker.
        </ParamField>

        <ParamField body="startDate" type="Date">
          Start date of the custom date range.
        </ParamField>

        <ParamField body="endDate" type="Date">
          End date of the custom date range.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="csvMoneyFormat" type="enum">
      Money format for CSV export. Defaults to "CENTS", which formats it an integer of cents.
      Available values: `['DOLLAR_STRING', 'DOLLAR_NUMBER', 'CENTS_NUMBER']`.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="statementOfCashFlowConfig" type="object">
  <Expandable title="StatementOfCashFlowConfig properties">
    <ParamField body="defaultDatePickerMode" type="enum">
      Date picker mode for the Profit and Loss report. Defaults to 'monthPicker'.
      Available values: `['dayRangePicker', 'monthPicker']`.
    </ParamField>

    <ParamField body="allowedDatePickerModes" type="array">
      If more than one value is specified, users will be able to switch between them in the date picker.
      Available values: `['dayRangePicker', 'monthPicker']`.
    </ParamField>

    <ParamField body="customDateRanges" type="array">
      Custom date ranges to show in the date picker.

      <Expandable title="CustomDateRange properties">
        <ParamField body="label" type="string">
          Label to show in the date picker.
        </ParamField>

        <ParamField body="startDate" type="Date">
          Start date of the custom date range.
        </ParamField>

        <ParamField body="endDate" type="Date">
          End date of the custom date range.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="stringOverrides" type="object">
  <Expandable title="ReportsStringOverrides properties">
    <ParamField body="title" type="string">
      Page title to place in the header.
    </ParamField>

    <ParamField body="downloadButton" type="object">
      <Expandable title="DownloadButtonStringOverrides properties">
        <ParamField body="downloadButtonText" type="string">
          Button text on download/export button. Defaults to "Download".
        </ParamField>

        <ParamField body="retryButtonText" type="string">
          Button text on download/export button, only shows upon download failure. Defaults to "Retry".
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="profitAndLoss" type="object">
      <Expandable title="ProfitAndLossStringOverrides properties">
        <ParamField body="detailedCharts" type="object">
          <Expandable title="ProfitAndLossDetailedChartsStringOverrides properties">
            <ParamField body="detailedTableStringOverrides" type="object">
              <Expandable title="DetailedTableStringOverrides properties">
                <ParamField body="categoryColumnHeader" type="string">
                  Table column header for the category column. Defaults to "Category".
                </ParamField>

                <ParamField body="typeColumnHeader" type="string">
                  Table column header for the account type column, e.g. Revenue, Expense. Defaults to "Type".
                </ParamField>

                <ParamField body="valueColumnHeader" type="string">
                  Value column header showing dollar amounts. Defaults to "Value".
                </ParamField>
              </Expandable>
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField body="table" type="object">
          <Expandable title="ProfitAndLossTableStringOverrides properties">
            <ParamField body="grossProfitLabel" type="string">
              Label for the "Gross Profit" row. Defaults to "Gross Profit".
            </ParamField>

            <ParamField body="profitBeforeTaxesLabel" type="string">
              Label for the "Profit before taxes" row. Defaults to "Profit before taxes".
            </ParamField>

            <ParamField body="netProfitLabel" type="string">
              Label for the "Net Profit" row. Defaults to "Net Profit".
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="balanceSheet" type="object">
      <Expandable title="ProfitAndLossTableStringOverrides properties">
        <ParamField body="balanceSheetTable" type="object">
          <Expandable title="BalanceSheetTableStringOverrides properties">
            <ParamField body="typeColumnHeader" type="string">
              Label for the "Type" column, indicating type of account on the balance sheet, e.g. `Liability`. Defaults to "Type".
            </ParamField>

            <ParamField body="totalColumnHeader" type="string">
              Label for the "Total" column, indicating the total value of the account. Defaults to "Total".
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="statementOfCashflow" type="object">
      <Expandable title="StatementOfCashFlowStringOverrides properties">
        <ParamField body="statementOfCashFlowTable" type="object">
          <Expandable title="StatementOfCashFlowTableStringOverrides  properties">
            <ParamField body="typeColumnHeader" type="string">
              Label for the "Type" column, indicating type of income line statement. Defaults to "Type".
            </ParamField>

            <ParamField body="totalColumnHeader" type="string">
              Label for the "Total" column, indicating the total value of the line item. Defaults to "Total".
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>
