# Statement Aggregation CRA (SACRA)
source: https://developer.mastercard.com/open-finance-us/documentation/products/lend/reports/statements/index.md

## Overview {#overview}

The Statement Aggregation CRA (SACRA) report provides a single account statement. The report includes the account statement document in a PDF report format with a cover page and report ID.

Learn more about Mastercard's [Transactions and Statements](https://developer.mastercard.com/open-finance-us/documentation/products/lend/product-solutions/index.md#transactions-and-statements) products.

### Key Product Features {#key-product-features}

* **Account PDF statement**: Statement provided directly from the FI without alteration

#### Additional Product Information {#additional-product-information}

* **FI Certification Type** : Statement Aggregation (SA). Each financial institution (FI) goes through a certification process to make sure the right data is consistently provided to make the product successful. See [the list of certified FIs](https://developer.mastercard.com/open-finance-us/documentation/financial-institution/supported-institutions/index.md) for this product.
* **Report Generation Time (median):** Less than 5 seconds
* **Supported Account Types**: Checking, Savings, Money Market, CD, Investment account types, Mortgage, Loan, Credit Card, Line Of Credit, Payroll, Student Loan, Education Savings, Health Savings Account
* **Supported Report Format:** PDF

Note: This report may ONLY be furnished for a Fair Credit Reporting Act (FCRA) purpose such as credit, insurance, or employment, and only pursuant to a permissible purpose certification by the report user. Provision and use of this report is subject to all applicable obligations of the FCRA.

### Use Cases {#use-cases}

The Statement Report product can be used for the following use cases:

* Auto
* Credit Card Issuance
* Credit Line Management
* Consumer/Portfolio Monitoring
* Debt Collection
* [Mortgage Lending](https://developer.mastercard.com/open-finance-us/documentation/usecases/mortgage-lending/index.md)
* Personal Financial Management
* Personal Lending
* Servicing
* Small and Medium Business
* Tenant Screening

## How it Works {#how-it-works}

### Prerequisites {#prerequisites}

This product is dependent on the customer linking their bank accounts via Data Connect. Refer to [Generating Reports](https://developer.mastercard.com/open-finance-us/documentation/products/lend/generating-reports/index.md) for more information.

* [Generate the required credentials](https://developer.mastercard.com/open-finance-us/documentation/quick-start-guide/index.md#generate-your-credentials)
* [Create Access Token](https://developer.mastercard.com/open-finance-us/documentation/quick-start-guide/index.md#step-1---create-access-token)
* [Create a customer record](https://developer.mastercard.com/open-finance-us/documentation/customer-records/index.md#active-customers)
* [Create a consumer record](https://developer.mastercard.com/open-finance-us/documentation/customer-records/index.md#consumers)
* [Generate a Data Connect URL](https://developer.mastercard.com/open-finance-us/documentation/connect/generate-2-connect-url-apis/index.md) and [link customer accounts](https://developer.mastercard.com/open-finance-us/documentation/connect/index.md#the-connect-flow)

<br />

### Generate Statement Report {#generate-statement-report}

To generate a statement report, use the following steps:

1. **Determine which account statement is desired**

   Identify the account ID of the account for which a statement report is desired. The [Mastercard Data Connect webhooks](https://developer.mastercard.com/open-finance-us/documentation/webhooks/webhooks-connect/index.md) response will contain the account ID, or you can use [Get Customer Accounts](https://developer.mastercard.com/open-finance-us/documentation/api-reference/index.md#get-customer-accounts).
2. **Check if the financial institution supports retrieving statements**

   You can use the [Get Certified Institutions](https://developer.mastercard.com/open-finance-us/documentation/api-reference/index.md#GetCertifiedInstitutions) endpoint to check if the FI supports retrieving statements using an FI name for the `search` parameter (for example, "finbank" for the test FI in Sandbox) and `stateAgg` as the `type` parameter. If retrieving statements is supported, the response has a `stateAgg` value of `true`.
3. **Generate the statement report**

   Use the account ID and `statementIndex` to generate the report for the statement desired with the following API:

   API Reference: `POST /decisioning/v2/customers/{customerId}/statement`

   The response includes the status of the report generation and a report ID. A webhook notification is sent when report generation is finished (see [Report Webhooks](https://developer.mastercard.com/open-finance-us/documentation/webhooks/webhooks-report/index.md)).

Tip: To retrieve a statement successfully, verify the account has aggregation status 0 before initiating statement retrieval. If the account has any other aggregation status code, the request will fail.

Confirm with the customer that they have the "paperless" option activated in their bank portal; otherwise, the FI won't have the statements available to retrieve and the request will fail.

#### Implementation Notes {#implementation-notes}

* Request a report for any of the last 24 statements, with the most recent having the index value of 1, the second most recent statement having the index value of 2, etc. See the [Get Customer Account Multiple Statement Details](https://developer.mastercard.com/open-finance-us/documentation/api-reference/index.md#GetCustomerAccountMultipleStatement) API.
* Each report will contain a single statement corresponding to the index value provided.

### Get Statement Report {#get-statement-report}

Once the report generation is finished, you can then retrieve the report. See [Getting Reports](https://developer.mastercard.com/open-finance-us/documentation/products/lend/get-reports/index.md).

#### Example Report {#example-report}

The Get Report APIs response contains different data depending on the
type of report requested. The following example shows a successful JSON
response for this report. Examples are meant for reference only and may
lag production changes.

```json
{
  "id": "38dknche83oh-statement",
  "customerType": "active",
  "customerId": 1000262464,
  "requestId": "nd4b55a4bg",
  "title": "Mastercard Open Banking Statement Report",
  "consumerId": "d15ff15ed0c8627eae61c452928d7fc3",
  "consumerSsn": "1111",
  "disputeStatement": "Invalid data present.",
  "requesterName": "Demo",
  "endUser": {
    "name": "ABC Apartments",
    "address": "123 Main St",
    "city": "Murray",
    "state": "UT",
    "zip": "84123",
    "phone": "555-2106",
    "email": "customerservice@example.com",
    "url": "example.com"
  },
  "constraints": {
    "statementReportData": {
      "accountId": 1000076901,
      "statementIndex": 1
    },
    "reportCustomFields": [
      {
        "label": "loanID",
        "value": "123456",
        "shown": true
      }
    ]
  },
  "type": "statement",
  "status": "success",
  "createdDate": 1586189339,
  "assetId": "aaaa3be2-6f1a-4aac-a360-4ad240aa652d"
}
```

For SACRA, we support a human-readable PDF version of the report.

Example SACRA report (PDF):
[SACRA_Example_Report.pdf](https://static.developer.mastercard.com/content/open-finance-us/uploads/reports/lend/SACRA_Example_Report.pdf) (466KB)

## Testing {#testing}

Refer to [Generating Reports -- Testing](https://developer.mastercard.com/open-finance-us/documentation/products/lend/generating-reports/index.md#testing).

Use a test profile that contains supported account types such as [Profile_03](https://developer.mastercard.com/open-finance-us/documentation/integration-and-testing/test-the-apis/index.md#oauth-connection-profiles).
