> This page is for API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.spreadspace.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.spreadspace.app/_mcp/server.

# The Cash Flow Statement object

> The extracted cash flow statement record: operating, investing, and financing sections as the readers return them.

An extracted statement of cash flows.

The retrieve endpoint returns this object on its own. The list endpoint
returns one per document, wrapped as
`{ "borrower_id": …, "statements": [ { "extracted_document_id", "document_category", "report_data" } ] }`.

## Explore

[Retrieve a cash flow statement](/api/api-reference/cash-flow-statements/get-cash-flow-statement)

<path d="m9 18 6-6-6-6" />

GET`/api/borrowers/:borrower_id/extractions/:doc_id/cash-flow-statement`

[List all cash flow statements](/api/api-reference/cash-flow-statements/get-cash-flow-statements)

<path d="m9 18 6-6-6-6" />

GET`/api/borrowers/:borrower_id/extractions/cash-flow-statements`

`operating`, `investing` and `financing` carry the statement's rows by section
in print order, each with a `label` and per-period `values`, and
`beginning_cash`, `net_change` and `ending_cash` carry the cash reconciliation
at the foot of the statement. `reporting_unit` and `scale_multiplier` are set
when the document reports in thousands or another stated scale.

The documents behind this object carry `document_category` `cash_flow_statement`, `cash_flow`, `cash_flow_statement_platform`, `cash_flow_statement_excel`, `cash_flow_single`, `cash_flow_dual` or `cash_flow_multi`. Money keys are JSON strings with exactly two decimals (`"9200000.00"`, `"-1250.50"`). Date keys are as printed on the document unless a key's Type column states a format.

## Fields

| Key                       | Type                                   | Present when                                                                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `document_type`           | always `cash_flow_statement`           | Always                                                                                                                            | Which family of document this is.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `entity`                  | string, nullable                       | Always                                                                                                                            | The reporting entity's name as printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `entity_source`           | string                                 | When the document states it                                                                                                       | What names the entity when the statement's own page does not: the page image (`page_image`), the filing's cover page (`filing_cover`), or the opening pages of the financial statement packet the statement arrived in (`packet_text`); absent when the statement's own page names it.                                                                                                                                                                                                                                                                       |
| `entity_source_sheet`     | string                                 | On a spreadsheet upload whose own sheet does not name the company, when the workbook names exactly one company; absent otherwise. | The sheet of the uploaded workbook that names the company, when this statement's own sheet does not and the workbook names exactly one company; absent otherwise.                                                                                                                                                                                                                                                                                                                                                                                            |
| `title`                   | string, nullable                       | Always                                                                                                                            | The statement's printed title.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `cpa_engagement`          | integer                                | Always                                                                                                                            | The accountant's level of assurance: 0 unaudited, 1 compiled, 2 reviewed, 3 audited.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `cpa_engagement_label`    | string                                 | Always                                                                                                                            | The assurance level in words.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `presentation`            | string, one of `formal`, `free_form`   | On a profit and loss, balance sheet or cash flow statement (a spreadsheet upload reads free_form); absent on an older extraction. | How the statement is presented: `formal` when it is presented as issued financial statements (a CPA engagement stated, a reference to the notes to the financial statements, a per-share block, the supplemental cash flow disclosures, the preparation legend that no assurance is provided, a plural statement title such as balance sheets or statements of income, or a statement of changes in equity or plural statement titles in the packet it arrived in); `free_form` when it is a report out of the books (accounting software or a spreadsheet). |
| `periods`                 | array of objects                       | Always                                                                                                                            | The statement's figure columns, one entry per column.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `billing_years`           | integer                                | Always                                                                                                                            | Years of data billed: the distinct years among columns that print a non-zero figure; 0 when no column prints one (such a document is not billed).                                                                                                                                                                                                                                                                                                                                                                                                            |
| `billing_group`           | string                                 | When the document states it                                                                                                       | Present when one file carries several statements: an identifier shared by that file's statements.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `reporting_unit`          | string, nullable                       | Always                                                                                                                            | The unit the figures are printed in, such as ones or thousands.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `scale_multiplier`        | integer, nullable                      | Always                                                                                                                            | Scale of the printed figures: 1 for whole dollars, 1000 when the statement is stated in thousands, 1000000 when it is stated in millions.                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `unit_exceptions`         | array of string                        | On a profit and loss, balance sheet or cash flow statement; absent on an older extraction.                                        | The carve-outs the statement's unit declaration lists, such as per share amounts, whose lines and columns keep their printed figures; empty when it lists none.                                                                                                                                                                                                                                                                                                                                                                                              |
| `unit_source`             | string, one of `printed`, `none`       | On a profit and loss, balance sheet or cash flow statement; absent on an older extraction.                                        | Where the statement states its unit: `printed` when the statement header, a column header or a heading line prints it; `none` when nothing is printed and the figures are whole dollars as printed.                                                                                                                                                                                                                                                                                                                                                          |
| `operating`               | array of CashFlowLine                  | Always                                                                                                                            | The operating activities lines.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `investing`               | array of CashFlowLine                  | Always                                                                                                                            | The investing activities lines.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `financing`               | array of CashFlowLine                  | Always                                                                                                                            | The financing activities lines.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `reconciling`             | array of CashFlowLine                  | On a statement that prints rows between its last section total and the net change; absent otherwise.                              | The rows printed between the last section total and the net change in cash, such as a reclassification to held for sale or an intermediate net change, when the statement prints any.                                                                                                                                                                                                                                                                                                                                                                        |
| `operating_subtotal`      | object (CashFlowTotal), nullable       | Always                                                                                                                            | Net cash from operating activities, as printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `investing_subtotal`      | object (CashFlowTotal), nullable       | Always                                                                                                                            | Net cash from investing activities, as printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `financing_subtotal`      | object (CashFlowTotal), nullable       | Always                                                                                                                            | Net cash from financing activities, as printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `adjustments_subtotal`    | object (CashFlowTotal), nullable       | Always                                                                                                                            | Total adjustments to reconcile net income, when printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `beginning_cash`          | object (CashFlowTotal), nullable       | Always                                                                                                                            | Cash at the beginning of the period.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `ending_cash`             | object (CashFlowTotal), nullable       | Always                                                                                                                            | Cash at the end of the period.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `net_change`              | object (CashFlowTotal), nullable       | Always                                                                                                                            | Net change in cash.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `fx`                      | object (CashFlowTotal), nullable       | Always                                                                                                                            | Effect of exchange rate changes on cash, when printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `discontinued_operations` | object (CashFlowTotal), nullable       | Always                                                                                                                            | Cash flows of discontinued operations, when printed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `supplemental`            | array of CashFlowLine                  | Always                                                                                                                            | Supplemental disclosures such as cash paid for interest and for income taxes.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `discontinued`            | array of CashFlowLine                  | On a statement that prints its discontinued operations' cash flows outside the three sections; absent otherwise.                  | The cash flows of discontinued operations printed outside the three sections, one row each, when the statement prints any.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `consolidating`           | boolean                                | On a consolidating statement; absent otherwise.                                                                                   | True on a consolidating statement, whose columns are entities under one period; absent otherwise.                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `status`                  | string, one of `RECONCILED`, `FLAGGED` | When the document states it                                                                                                       | `RECONCILED` when the sections add up to the net change and beginning cash plus the net change equals ending cash in every period; `FLAGGED` otherwise.                                                                                                                                                                                                                                                                                                                                                                                                      |
| `signals`                 | array of objects                       | When the document states it                                                                                                       | Notes about the statement's reporting period, when any.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `period_source`           | string                                 | When the document states it                                                                                                       | Which part of the document dates the periods when the column headers state no date: the date the statement was printed on (`print_stamp`), the page image (`page_image`), the file's name (`filename`) or the file's own creation date (`file_metadata`); absent when the column headers date the periods.                                                                                                                                                                                                                                                   |
| `canonical`               | object                                 | When the document states it                                                                                                       | The printed lines mapped onto standard line names.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `packet`                  | object                                 | When the document states it                                                                                                       | Where the statement sat in the financial statement packet it arrived in, when it arrived in one.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

## `periods[]`

One figure column.

| Key                     | Type                                                           | Present when                                                  | Description                                                                                                                 |
| ----------------------- | -------------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `label`                 | string, nullable                                               | Always                                                        | The column header as printed.                                                                                               |
| `range`                 | string, nullable                                               | Always                                                        | The period as printed, when the header prints a range.                                                                      |
| `as_of`                 | string (as printed), nullable                                  | Always                                                        | The period's end date as printed.                                                                                           |
| `start`                 | string (YYYY-MM-DD), nullable                                  | When the document states it                                   | First day of the period, when the header states one.                                                                        |
| `end`                   | string (YYYY-MM-DD), nullable                                  | When the document states it                                   | Last day of the period, when the header states one.                                                                         |
| `column_role`           | string, one of `previously_reported`, `adjustment`, `restated` | On a column of a restatement table; absent otherwise.         | On a restatement table, which version of the figures the column carries: `previously_reported`, `adjustment` or `restated`. |
| `consolidating_columns` | integer                                                        | On the period of a consolidating statement; absent otherwise. | On a consolidating statement, the number of entity columns printed under the period.                                        |

## `signals[]`

A note about the statement's reporting period.

| Key        | Type                                                                                                                                                             | Present when | Description                                     |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------- |
| `severity` | string, one of `info`, `warn`                                                                                                                                    | Always       | How much weight the note carries: info or warn. |
| `code`     | string, one of `coverage_unreadable`, `no_reporting_period`, `year_from_file_metadata`, `year_from_filename`, `year_from_page_image`, `year_matches_print_stamp` | Always       | The note's identifier.                          |
| `detail`   | string                                                                                                                                                           | Always       | The note in words.                              |

## `canonical`

The printed lines mapped onto standard line names.

| Key              | Type             | Present when | Description                                                                       |
| ---------------- | ---------------- | ------------ | --------------------------------------------------------------------------------- |
| `schema_version` | string, nullable | Always       | Version of the standard line vocabulary the names come from.                      |
| `statement`      | string           | Always       | Which statement vocabulary applies: balance_sheet, income_statement or cash_flow. |
| `rows`           | array of objects | Always       | One entry per printed line, in print order.                                       |
| `blocks`         | array of objects | Always       | One entry per printed subtotal and the lines that foot into it.                   |
| `gates`          | object           | Always       | Summary verdicts over the whole statement.                                        |
| `entity_signal`  | string, nullable | Always       | A note about the entity the statement belongs to, when the line names carry one.  |

### `canonical.rows[]`

One printed line and the standard line name it corresponds to.

| Key                 | Type                                                                   | Present when | Description                                                                                                            |
| ------------------- | ---------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `key`               | string                                                                 | Always       | Address of the printed line within the statement.                                                                      |
| `raw_label`         | string, nullable                                                       | Always       | The line's label as printed.                                                                                           |
| `concept_id`        | string, nullable                                                       | Always       | The standard line name the printed label corresponds to, or null when it corresponds to none.                          |
| `method`            | string, one of `exact`, `fuzzy`, `keyword`, `structural`, `reconciled` | Always       | How closely the printed label matches the standard name: exact, fuzzy, structural, or reconciled when it matches none. |
| `block`             | string, nullable                                                       | Always       | The subtotal block the line belongs to, when it belongs to one.                                                        |
| `parent_concept_id` | string, nullable                                                       | Always       | The standard name of the subtotal the line foots into, when it foots into one.                                         |

### `canonical.blocks[]`

A printed subtotal and whether its lines foot into it.

| Key                 | Type             | Present when | Description                                                                      |
| ------------------- | ---------------- | ------------ | -------------------------------------------------------------------------------- |
| `id`                | string           | Always       | Address of the subtotal's printed line.                                          |
| `parent_concept_id` | string, nullable | Always       | The standard name of the subtotal, when it corresponds to one.                   |
| `footing`           | string           | Always       | Whether the lines above the subtotal add up to it: pass, fail or not_applicable. |

### `canonical.gates`

Summary verdicts over the whole statement.

| Key                  | Type    | Present when | Description                                                                                             |
| -------------------- | ------- | ------------ | ------------------------------------------------------------------------------------------------------- |
| `identity`           | string  | Always       | Whether total assets equal total liabilities plus equity on every column: pass, fail or not_applicable. |
| `classified_footing` | string  | Always       | Whether the current and noncurrent subtotals foot: pass, fail or not_applicable.                        |
| `blocks_failed`      | integer | Always       | Number of printed subtotals whose lines do not add up to them.                                          |

## `packet`

Where the statement sat in the financial statement packet it arrived in, when it arrived in one.

| Key             | Type                          | Present when                                                                         | Description                                                                                                                    |
| --------------- | ----------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `section_index` | integer                       | Always                                                                               | Position of the statement among the packet's statements, counting from zero.                                                   |
| `pages`         | array of integer              | Always                                                                               | First and last page of the statement within the packet, counting from one.                                                     |
| `letter_date`   | string (YYYY-MM-DD), nullable | Always                                                                               | Date of the accountant's letter that accompanied the packet, when the letter printed one.                                      |
| `letter_page`   | integer, nullable             | Always                                                                               | Page of the packet the accountant's letter is on, when the packet carries one.                                                 |
| `page_list`     | array of integer              | On a statement whose pages in the packet are not one unbroken run; absent otherwise. | Every page of the packet the statement is printed on, counting from one, when they are not one unbroken run; absent otherwise. |

## Shared objects

Object types that several keys above carry. The Type column names them.

### CashFlowLine

One printed line.

| Key        | Type                            | Present when                | Description                                                                                                                                                                                                     |
| ---------- | ------------------------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `label`    | string                          | Always                      | The line's label as printed.                                                                                                                                                                                    |
| `account`  | string, nullable                | Always                      | The account number printed beside the line, when any.                                                                                                                                                           |
| `subgroup` | string, nullable                | Always                      | The sub-heading the line sits under, when any.                                                                                                                                                                  |
| `values`   | array of string (money) or null | Always                      | The line's figure per column; null where the column is blank.                                                                                                                                                   |
| `subtotal` | boolean                         | When the document states it | True on a total printed among the lines that is not one of the amounts added: a group total inside its section, or a restated total or an intermediate net change among the reconciling rows. Absent otherwise. |
| `addend`   | boolean                         | When the document states it | On a discontinued operations row, true when the row is added to the net change in cash beside the discontinued operations total; absent on a row that total already stands for.                                 |

### CashFlowTotal

A printed total line.

| Key      | Type                            | Present when | Description                                                   |
| -------- | ------------------------------- | ------------ | ------------------------------------------------------------- |
| `label`  | string                          | Always       | The line's label as printed.                                  |
| `values` | array of string (money) or null | Always       | The line's figure per column; null where the column is blank. |