# Statement

URL: /business/nouns/statement · Id: `noun:statement`

> A Statement is a report computed from Entries for one Period under a Policy, such as a P&L, a balance sheet or a payout statement.

A Statement is a report computed from [Entries](/business/nouns/entry) for one [Period](/business/nouns/period) under a [Policy](/business/nouns/policy), such as a P&L, a balance sheet or a payout statement.

## Properties
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `kind` | `string` | Yes | Which report: `profitAndLoss`, `balanceSheet`, `cashFlow`, `payout` for a Supplier, or `capitalAccount` for a Fund investor. |
| `period` | [Period](/business/nouns/period) | Yes | The Period it reports. |
| `scope` | `string` | Yes | Whose books it covers: one Startup, one Company, or a whole Portfolio. |
| `lines` | `json` | Yes | The computed lines, with captive revenue from sibling Startups shown both in and out. |
| `party` | [Party](/business/nouns/party) | No | The Supplier, Partner or investor a `payout` or `capitalAccount` Statement is addressed to. |

## Object
```json
{
  "$id": "https://api.sb/shiftnote.app/statements/statement_1",
  "$type": "Statement",
  "kind": "profitAndLoss",
  "period": "period_1",
  "scope": "startup",
  "lines": {},
  "party": "party_1"
}
```

## Relationships
- <a id="rel-reports"></a>A Statement **reports** one [Period](/business/nouns/period): a Statement reports one [Period](/business/nouns/period); each closed Period carries its P&L, balance sheet and cash flow. `reports`, inverse [`statements`](/business/nouns/period#rel-statements).

## Verbs
| Verb | Description | Subject | Event | Class |
| --- | --- | --- | --- | --- |
| <a id="get"></a>[Statement.get](/business/nouns/statement/get) | Returns one Statement by id. Inherited from [Noun](/business/nouns/noun). | None. | None. | Read: `try`, `do` |
| <a id="list"></a>[Statement.list](/business/nouns/statement/list) | Returns Statements, newest first, one page at a time. Inherited from [Noun](/business/nouns/noun). | None. | None. | Read: `try`, `do` |

A Statement is kept forever and never edited: it has no `update` or `delete`.

## Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.

| Operation | `owner` | `admin` | `member` | `viewer` |
| --- | --- | --- | --- | --- |
| `Statement.get` | Yes | Yes | Yes | Yes |
| `Statement.list` | Yes | Yes | Yes | Yes |

## Call it

**Ask**

```text
Show me the latest statement.
```

**API**

```bash
curl https://api.sb/routewise.dev/statements/statement_1 \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
```

```json
{
  "api": "https://api.sb/routewise.dev",
  "$type": "Statement",
  "$id": "https://api.sb/routewise.dev/statements/statement_1",
  "statement": {
    "$id": "https://api.sb/routewise.dev/statements/statement_1",
    "$type": "Statement",
    "kind": "profitAndLoss",
    "period": "period_1",
    "scope": "startup",
    "lines": {}
  },
  "links": {
    "self": "https://api.sb/routewise.dev/statements/statement_1",
    "up": "https://api.sb/routewise.dev/statements"
  }
}
```

**SDK**

```ts
import { $ } from 'startup-builder'

const statement = await $.Statement.get({ id: 'statement_1' })
```

**CLI**

```bash
npx startup-builder do Statement.get --json '{"id":"statement_1"}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Statement.get({ id: 'statement_1' })"
  }
}
```

## Example
At a month's close a [Startup](/business/nouns/startup) gets a `profitAndLoss` Statement computed from its [Entries](/business/nouns/entry). Revenue from a sibling Startup shows as captive, both inside and outside the total.