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

# Reports introduction

> Build reports for your users

## Overview

You can use Teal to generate financial reports for your customers that look and behave the same regardless of their chosen accounting package.

Our reports include the standard accounting financial statements: cash flow report, income statement, balance sheet, and ledger statement.

* The **cash flow report** is a powerful way to transform a linear list of bank transactions into a view of the health and liquidity of a business, taking transaction data you already have and presenting it in a structured format that's very valuable to your users.
* An **income statement** is an excellent way to present a rolled-up view of the financial performance of a business over a specific period of time.
* The **balance sheet** shows a business' assets, liabilities, and equity at given point in time. An Instance needs a tier 2 subscription to use the balance sheet feature.
* A **ledger statement** is the next level of detail after the reports and displays all of the line entries that have been booked to a single ledger for a given time period.

## Common patterns

### Filtering by date

The most common dimension that your end users will want to filter their reports by is time period. This functionality is usually offered by providing a date picker interface component that allows a user to select a particular date range that they're interested in viewing.

In the context of financial reports, the most important thing to bear in mind when creating a date picker is that the most relevant time periods to understanding financial data are the traditional accounting intervals used in business, for example **Annual**, **Quarterly**, and **Monthly**. Ideally you'll want to provide a date picker that allows your users to select these intervals directly, rather than forcing them to manually select arbitrary start and end dates.

We recommend either choosing a date picker component that allows you to provide smart preset intervals to your users, or building your own date picker component so you can ensure that it's tailored to the context of financial reports.

Here is a prototype of a date picker component that we've built that allows users to select ranges from preset accounting intervals, you can use this as a starting point and a reference for creating the ideal date picker for your platform:

<Accordion title="Date picker example">
  <iframe src="https://codesandbox.io/embed/datepicker-my9s2k?fontsize=14&hidenavigation=1&theme=dark?autoresize=1&fontsize=14&hidenavigation=1&codemirror=1&hidedevtools=1&theme=dark&view=preview" title="Datepicker" height="800" width="100%" allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking" sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts" />
</Accordion>
