# Account Statements Tutorial
URL: https://www.quiltt.dev/get-started/tutorials/statements
Description: Step-by-step Guide for Account Statements on the Quiltt Platform.
Navigation: get-started → tutorials → statements
Tags: Tutorials, Statements

Fetch PDF bank statements via GraphQL. Query by date range, specific dates, or get the most recent statement per account.

**Time:** ~10 minutes

## Prerequisites

- [Quiltt Dashboard](https://dashboard.quiltt.dev) account ([sign up](https://dashboard.quiltt.dev/signup))
- Connector configured (Step 1 covers creating one)

## Step 1: Configure Connector

In the [Dashboard](https://dashboard.quiltt.dev):

1. Go to "Connectors"
2. Create or edit a Connector
3. Enable **Email OTP** authentication (for preview)
4. Enable the **ACCOUNT_STATEMENTS** product
5. Enable a provider (e.g., **Mock** for testing)

## Step 2: Connect an Account

1. Click "Preview Connector"
2. Complete the connection flow
3. Select a provider (use **Mock** in Sandbox for guaranteed statements)
4. Statements sync automatically in the background

**Note:** Providers may have different sandbox PDFs. Mock provider always generates test statements.

## Step 3: Query Statements

Use the GraphQL Explorer to test queries. In the Dashboard, go to **Profiles**, then click **Explore** on the Profile you want to query — the Explorer is always scoped to a single Profile.

### Get All Statements

```graphql
query Statements {
  statements {
    nodes {
      id
      url
      startOn
      endOn
      account {id}
    }
  }
}
```

### Most Recent Statement per Account

```graphql
query MostRecentAccountsStatements {
  accounts {
    id
    name
    mask
    statements(first: 1, sort: DATE_DESC) {
      nodes [id
        startOn
        endOn
        url]
    }
  }
}
```

### Filter by Date Range

Query statements covering a specific period:

```graphql
query ForADateRange {
  statements(filter: {
    for: [start: "2024-05-01",
      end: "2024-05-31"],
    accountIds: ["acct_12xBsJKrI455PNcaCkqpGh"]
  }) {
    nodes {
      id
      startOn
      url
      endOn
      account {id}
    }
  }
}
```

### Find Statement for Specific Date

Useful for verifying transactions on a particular day:

```graphql
query OnADate {
  statements(filter: [on: "2024-05-15",
    accountIds: ["acct_12xBsJKrI455PNcaCkqpGh"]]) {
    nodes {
      id
      startOn
      url
      endOn
      account {id}
    }
  }
}
```

## Step 4: Set Up Webhooks

Get notified when statements are ready:

1. Go to Dashboard → Webhooks
2. Create or edit a subscription
3. Subscribe to `statement.ready` event

**Payload example:**

```json
{
  "environment": ["id": "env_12x7tvznCY1sViGjIodYZG",
    "mode": "TEST",
    "name": "Demo",
    "metadata": null],
  "eventTypes": [
    "statement.ready"
  ],
  "events": [
    {
      "id": "evt_12xBw2z462GwN9789v9WOQ",
      "type": "statement.ready",
      "profile": ["id": "p_12xBsIaXKUM3DAZJ8ujQp7",
        "uuid": "0190db0c-0b7d-70fb-afff-dbb1b4fffa21",
        "metadata": null],
      "record": ["id": "stmt_12xBsK2UMUCC25KkCApg66",
        "accountId": "acct_12xBsJKrI455PNcaCkqpGh",
        "startOn": "2024-04-01",
        "endOn": "2024-04-30",
        "url": "https://cdn.quiltt.io/v1/private/.../statement.pdf"]
    }
  ]
}
```

## Next Steps

You've successfully set up Account Statements! This feature works with webhooks to notify you when statements are available.

**Related Tutorials:**

- [Authentication Tutorial](/get-started/tutorials/authentication) - Session token setup and management
- [Multi-Aggregator Connectors Tutorial](/get-started/tutorials/connectors) - Build a full connection flow
- [GraphQL Tooling Tutorial](/get-started/tutorials/graphql-tooling) - Set up type-safe GraphQL

**Reference Documentation:**

- [Statements API reference](/api/statements) - Complete statements documentation
- [Webhooks guide](/webhooks) - Real-time event notifications
- [Finicity integration](/integrations/connectivity/finicity) - Provider-specific configuration
- [Plaid integration](/integrations/connectivity/plaid) - Provider-specific configuration

**Questions?** [Contact support](mailto:support@quiltt.io)