> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lendflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PrismData Cash Flow Analysis

## PrismData Cash Flow Analysis

The **PrismData Cash Flow Analysis** Workflow Builder block converts existing cash-flow data into one or more PrismData products. The current block represents `prism_data` and is available for business entities.

## Requirements

| Application field | Requirement | Notes |
| - | - | - |
| ArsenAI cash-flow data | Conditional | One supported source must be selected and contain stored accounts and transactions. |
| Ocrolus cash-flow data | Conditional | One supported source must be selected and contain stored accounts and transactions. |
| Plaid Transactions data | Conditional | One supported source must be selected and contain stored accounts and transactions from a completed connection. |
| Plaid Asset Report data | Conditional | One supported source must be selected and contain stored accounts and transactions from a completed report. |
| MoneyThumb cash-flow data | Conditional | One supported source must be selected and contain stored accounts and transactions from a completed run. |

## Execution flow

PrismData's required source and product context is configured in the Workflow Builder block. Run the source service before PrismData, then:

1. Add **PrismData Cash Flow Analysis** to a business underwriting stage.
2. Select at least one source service and at least one request option.
3. Place the selected source block before PrismData.
4. Publish the workflow.
5. Retrieve the result from [Get Commercial Data](/api-reference/workflow-management/get-commercial-data) with `services[]=prism_data`.

The public legacy business-credit enrichment request does not expose PrismData's required context. Use the current Workflow Builder execution flow instead of inventing `source_services` fields in that request.

## Data Orchestration availability and flow

The block is available in the **Cash Flow Analysis** group for business entities. It adapts stored data from each configured source into PrismData's account and transaction schema, sets the evaluation date, and requests the selected products. A missing or empty source result prevents a meaningful evaluation.

## What the service returns

| Result area | Response path | Meaning |
| - | - | - |
| Lifecycle | `data.statuses.prism_data` | Latest PrismData execution message. |
| Provider result | `data.commercial_data.prism_data.response` | Selected product results returned by PrismData. |
| Stored context | `data.request_data.prism_data` | Selected source services and request options. |

## Representative response

```json theme={"system"}
{
  "data": {
    "statuses": {"prism_data": "Success"},
    "commercial_data": {
      "prism_data": {
        "response": {
          "products": {
            "detect": {
              "result": {
                "score": 482,
                "reasons": ["CS04035", "CS04014"],
                "metadata": {"min_age": 15, "max_age": 360, "num_trxn_debit": 111}
              },
              "version": "4"
            }
          },
          "customer_id": "00000000-0000-4000-8000-000000000000",
          "prism_request_id": "00000000-0000-4000-8000-000000000001"
        }
      }
    }
  }
}
```

## Field meanings

| Field | Type | Meaning |
| - | - | - |
| `products` | Object | Results keyed by each requested PrismData product. Only requested and returned products appear. |
| `detect.result.score` | Number | PrismData Detect score. Interpret it using the provider's current product documentation and model version. |
| `detect.result.reasons` | Array of strings | Provider reason codes associated with the score. |
| `metadata` | Object | Product-specific coverage and transaction-count diagnostics. Its schema varies by product. |
| `version` | String | PrismData model or product version for that result. |
| `customer_id` | String | Lendflow application ID sent as PrismData's customer identifier. |
| `prism_request_id` | String | Opaque provider request identifier for support and traceability. |

Other products have provider-defined schemas. This guide does not generalize the Detect example to CashScore, Extend, Insights, or Income.

## Errors and statuses

| Signal | Meaning |
| - | - |
| Missing `sourceServices` or `requestOptions` | The block context is invalid. Configure both arrays. |
| Missing source data | The selected upstream service did not produce adaptable accounts and transactions. |
| Validation failure | An adapted account or transaction is missing a required ID, date, balance, amount, direction, or memo. |
| `Started` | PrismData is processing. |
| `Success` | Lendflow stored a provider result. |
| Failure message | Check credentials, selected sources, and the product-specific request before rerunning. |

## FAQ

<AccordionGroup>
  <Accordion title="Does PrismData collect bank data itself?">
    No. The block adapts data already stored by one or more configured source services.
  </Accordion>

  <Accordion title="Can I assume every product returns a score field?">
    No. Each requested product has its own provider-defined response. Only interpret fields present in that product's result.
  </Accordion>

  <Accordion title="Why must the source block run first?">
    PrismData requires accounts and transactions. The configured source must store that data before the adapter can build the evaluation payload.
  </Accordion>
</AccordionGroup>
