# Transaction Consumer Reporting Agency (TACRA)
source: https://developer.mastercard.com/open-finance-us/documentation/products/lend/reports/tacra/index.md

## Overview {#overview}

Transactions CRA (TACRA) delivers categorized, normalized transaction history
suitable for FCRA-regulated lending decisions and downstream model building.
A single generate call returns the report; billing distinguishes TACRA (\<=6 months of returned data)
from TACRAH (\>6 months), and the dataset serves as a foundation for Lend analytics and verification products.

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}

* **Data History** : Up to 24 months of transaction data based on availability from the FI. Length of history is customizable using `fromDate` and defaults to 24 months

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

* **Connected Accounts Summary:** Includes information such as the financial institution (FI) name, last four digits of the account number, account type, and balance
* **FI Certification Type** : Transaction Aggregation (TA). Each 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 25 seconds
* **Report Refreshes:** This report can be refreshed with new data as long as the accounts are still connected, and consent is active. Refreshes are provided at no cost within 60 days after the first report is created. A report pulled after this period will incur a new charge.
* **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 Formats:** JSON and 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 Transaction CRA report is suitable for the following use cases:

* Auto Lending
* Credit Card Issuance
* Credit Line Management
* Customer / Portfolio Monitoring
* Debt Collection
* Personal Financial Management
* Personal Lending
* Servicing
* Small and Medium Business
* Tenant Screening

<br />

## 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 Transaction CRA {#generate-transaction-cra}

To generate or refresh this report, use the following endpoint:

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

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)).

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

* Use the `fromDate` parameter to customize the transaction history provided in the report. By default, 24 months of history will be aggregated as available.
* While there is a single endpoint to generate this report, it can be billed in two ways depending on the amount of data returned:
  * If 6 months or less of data is returned, it is billed as a Transactions CRA report (also called TACRA).
  * If more than 6 months of data is returned, the report will be billed as a Transactions CRA History report (also called TACRAH).
* Customize which accounts are included in the report using the `accountIds` parameter. By default, the report includes all supported account types connected by the customer.

<br />

### Get Transaction Reports {#get-transaction-reports}

Once the report is generated, retrieve the report using one of the Get
Report endpoints: [Get 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": "1000075473",
  "title": "Mastercard Open Banking Transactions Report",
  "customerType": "testing",
  "customerId": 1000018865,
  "consumerId": "a925b07c9e028c680ad9c1d18d2e7199",
  "consumerSsn": "6789",
  "disputeStatement": "Invalid data present.",
  "type": "transactions",
  "status": "success",
  "createdDate": 1594678007,
  "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": {
    "accountIds": [
      "1000075473"
    ],
    "fromDate": 1578952809,
    "toDate": 1594677609,
    "includePending": true,
    "reportCustomFields": [
      {
        "label": "loanID",
        "value": "12345",
        "shown": true
      },
      {
        "label": "trackingID",
        "value": "5555",
        "shown": true
      },
      {
        "label": "loanType",
        "value": "car",
        "shown": false
      },
      {
        "label": "vendorID",
        "value": "1613aa23",
        "shown": true
      },
      {
        "label": "vendorName",
        "value": "PSC Finance",
        "shown": false
      }
    ],
    "findTransaction": [
      {
        "findTransactionDescriptionMemo": "Payment to PSC Finance",
        "findTransactionAmountFrom": -100.01,
        "findTransactionAmountTo": 200,
        "findTransactionCategory": [
          "Payment",
          "Transfer"
        ]
      }
    ]
  },
  "startDate": 1579348800,
  "endDate": 1594382400,
  "days": 174,
  "seasoned": false,
  "portfolioId": "wqbh0r2kbv5g-4-port",
  "institutions": [
    {
      "id": 102105,
      "name": "FinBank Profiles - A",
      "urlHomeApp": "http://www.bank.example.com",
      "accounts": [
        {
          "id": 1000075473,
          "number": "5015",
          "name": "Super Checking",
          "type": "checking",
          "availableBalance": 1000,
          "aggregationStatusCode": 0,
          "balance": 1000,
          "balanceDate": 1594676289,
          "transactionsCount": 2,
          "transactions": [
            {
              "id": 100001490719,
              "amount": -99,
              "postedDate": 1594382400,
              "description": "ACH Withdrawal AMERICA FIRST CR",
              "normalizedPayee": "America First Cr",
              "institutionTransactionId": "0000000000",
              "category": "Transfer",
              "memo": "Payment to PSC Finance"
            },
            {
              "id": 100001490897,
              "amount": 199.7,
              "postedDate": 1594123200,
              "description": "Payment to PSC Finance",
              "normalizedPayee": "T-Mobile",
              "institutionTransactionId": "0000000000",
              "category": "Payment",
              "memo": "TMOBILE debit"
            }
          ]
        }
      ]
    }
  ]
}
```

A human-readable PDF version of the report is available which is great
for underwriters or any other manual viewing of the report.

Sample TACRA report:
[TACRA_Example_Report.pdf](https://static.developer.mastercard.com/content/open-finance-us/uploads/reports/lend/TACRA_Example_Report.pdf) (2MB)

## 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#bank-account-profiles).
