# statements > Monthly statements (revenue and streams per month), the balance and payouts. Clients: balance with HILLS and withdrawals. Tool `statements` · Read-only · Every account with MCP access · Role permission: `royalties.view`, `payouts.view` Monthly statements (revenue and streams per month), the balance and payouts. Clients: balance with HILLS and withdrawals. Artists/labels under a client: their share, what the client owes and has paid them. Staff: an account's statements by account_id (royalties.view; balance and payouts with payouts.view), or without it the recent store statement imports. ## Arguments | Argument | Type | Required | Description | | --- | --- | --- | --- | | `months` | integer (1–36) | No | How many months back (max 36). Default 12. | | `account_id` | integer | No | Staff only: the account to look at. | ## Example call Assistants make this call for you; this is what goes to `https://app.hillsmusic.com/mcp` over JSON-RPC. ```json { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "statements", "arguments": { "months": 12 } } } ``` ## Result A one-line summary as text, then the same data as JSON in `structuredContent`, with these fields: | Field | Type | Description | | --- | --- | --- | | `currency` | `USD` | | | `account` | object or null | | | `months` | array of object | | | `balance` | object or null | | | `payouts` | array of object | | | `imports` | array of object | | | `note` | string | | A refusal (no permission, not found, bad input) comes back as a tool error (`isError: true`) whose text says why. Source: https://developer.hillsmusic.com/mcp/statements/