# Get Transaction Report in Graphql

---

This query returns calculated transaction report rows for a given date range.

[![Screenshot 2025-12-16 at 20.57.06.png](https://docs.finmars.com/uploads/images/gallery/2025-12/scaled-1680-/screenshot-2025-12-16-at-20-57-06.png)](https://docs.finmars.com/uploads/images/gallery/2025-12/screenshot-2025-12-16-at-20-57-06.png)

---

### GraphQL Query

```graphql
query GetTransactionReport {
  transaction_report(
    input: {
      begin_date: "2018-01-01"
      end_date: "2025-05-01"
    }
  ) {
    items {
      transaction_code
      transaction_class
      entry_item_name
      entry_amount
      cash_consideration
    }
  }
}
```

---

## Input Fields

### `<span class="editor-theme-code">begin_date</span>`

```graphql
begin_date: "2018-01-01"
```

- Report start date
- Optional in some setups
- ISO format

---

### `<span class="editor-theme-code">end_date</span>`

```graphql
end_date: "2025-05-01"
```

- Report end date
- Required
- ISO format

---

## Output Fields

Each item represents one report row.

- `<span class="editor-theme-code">transaction_code</span>`<span style="white-space: pre-wrap;"> — internal transaction identifier</span>
- `<span class="editor-theme-code">transaction_class</span>`<span style="white-space: pre-wrap;"> — transaction type</span>
- `<span class="editor-theme-code">entry_item_name</span>`<span style="white-space: pre-wrap;"> — report entry name</span>
- `<span class="editor-theme-code">entry_amount</span>`<span style="white-space: pre-wrap;"> — calculated amount</span>
- `<span class="editor-theme-code">cash_consideration</span>`<span style="white-space: pre-wrap;"> — cash movement value</span>

Only requested fields are returned.

---

## Python Example

```python
import requests

url = "https://<domain_name>/<realm_code>/<space_code>/graphql/"

headers = {
    "Authorization": "Bearer <access_token>",
    "Content-Type": "application/json"
}

payload = {
    "query": """
    query GetTransactionReport {
      transaction_report(
        input: {
          begin_date: "2018-01-01"
          end_date: "2025-05-01"
        }
      ) {
        items {
          transaction_code
          transaction_class
          entry_item_name
          entry_amount
          cash_consideration
        }
      }
    }
    """
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
```

---

## Notes

- <span style="white-space: pre-wrap;">This is a </span>**report query**, not a list endpoint
- No pagination
- <span style="white-space: pre-wrap;">Uses </span>`<span class="editor-theme-code">input</span>`<span style="white-space: pre-wrap;">, not </span>`<span class="editor-theme-code">filters</span>`
- Execution time depends on date range
- <span style="white-space: pre-wrap;">Add more fields to </span>`<span class="editor-theme-code">items</span>`<span style="white-space: pre-wrap;"> if needed</span>