# Verification of Employment - Transactions
source: https://developer.mastercard.com/open-finance-us/documentation/products/lend/reports/voe-transactions/index.md

## Overview {#overview}

The Verification of Employment -- Transactions (VOE - Transactions)
product provides insights into the consumer's income stream status with
no amounts or balance details so the client can focus on employment
verification. Often used as a verification of employment prior to
closing a loan, to confirm the consumer is still getting their direct
deposits on the expected cadence.

For more information about Mastercard's Employment products see
[Income \& Employment](https://developer.mastercard.com/open-finance-us/documentation/products/lend/product-solutions/index.md#income--employment).

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

* **Account Owner:** See the listed account owner name and address to assist in fraud reduction
* **Deposit Income Streams**: Provides the last 180 days of deposit history. No amounts are included so that no additional assets or income review is required. By default, this report includes Moderate and High confidence income streams, but can be adjusted to include Low confidence streams as well.

#### 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** : Verification of Income (VOI). 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 20 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
* **Supported Report Format:** 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 VOE -- Transactions product can be used for the following use cases:

* Auto
* Credit Card Issuance
* Credit Line Management
* Customer / 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)

### Generate VOE - Transactions Report {#generate-voe---transactions-report}

To generate or refresh a VOE -- Transactions report, use the following
endpoint:

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

The response will include the status of the report generation and a
report ID. A 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}

VOE - Transactions reports are often ordered as a pre-closing verification of employment after previously ordering a VOAI or VOI report. If the bank accounts are still connected, the VOE - Transactions report can be ordered without needing to re-engage the consumer. If accounts are not connected, you will get an error when generating the report and will need to send the consumer back into Mastercard Data Connect to reconnect their accounts.

* Use the `fromDate` parameter to customize the transaction history included in the report, up to 24 months maximum. By default, 180 days of history will be aggregated as available.
* Customize which accounts are included in the report using the `accountIds` parameter. By default, the report includes all supported account types. You can also ensure only the accounts from a prior report (such as VOAI or VOI) by using the `reportId` parameter.
* Customize the income streams returned in this report based on the confidence level. This input is called `incomeStreamConfidenceMinimum`. All income streams whose confidence level is greater than or equal to the number requested are provided. By default, the report will default to only include Moderate and High confidence income streams. Receiving all income streams may be desirable based on your implementation and use case.
  * High confidence levels correspond to `confidence` values of 75 and 100.
  * Moderate confidence levels correspond to a `confidence` value of 50.
  * Low confidence levels correspond to `confidence` values of 0 and 25.

### Get VOE - Transactions Report {#get-voe---transactions-report}

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 what a successful
JSON response could look like for this report. Examples are meant for
reference only and may lag production changes.

```json
{
  "id": "n1rndg1iz8yy-voetransactions",
  "portfolioId": "dyr6weqd2yhb-2-port",
  "customerType": "active",
  "customerId": 1000006677,
  "requestId": "sfb7x1we9w",
  "title": "Mastercard Open Banking Verification of Employment - Transactions",
  "consumerId": "ac39e237c7619a4ecf014b8d399c0696",
  "consumerSsn": "6789",
  "disputeStatement": "Invalid data present.",
  "requesterName": "Decisioning API",
  "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": {
    "reportId": "j7k8qbgwsa7d-voietxverify",
    "reportCustomFields": [
      {
        "label": "loanID",
        "value": "12345",
        "shown": true
      },
      {
        "label": "trackingID",
        "value": "5555",
        "shown": true
      }
    ],
    "incomeStreamConfidenceMinimum": 50
  },
  "type": "voeTransactions",
  "status": "success",
  "createdDate": 1588350269,
  "startDate": 1572625469,
  "endDate": 1588350269,
  "days": 120,
  "seasoned": true,
  "institutions": [
    {
      "id": 101732,
      "name": "FinBank",
      "urlHomeApp": "https://finbank.prod.fini.city/CCBankImageMFA/login.jsp",
      "accounts": [
        {
          "id": 1000023996,
          "number": "1111",
          "ownerName": "JOHN DOE",
          "ownerAddress": "924 GAINSVILLE HIGHWAY SUITE 130 BUFORD, GA 30518",
          "ownerAsOfDate": 1652114265,
          "name": "Checking",
          "type": "checking",
          "aggregationStatusCode": 0,
          "incomeStreams": [
            {
              "id": "u4hstnyak45g1",
              "name": "none",
              "status": "ACTIVE",
              "estimateInclusion": "MODERATE",
              "confidence": 70,
              "cadence": {
                "startDate": 1577986990,
                "stopDate": 1587986990,
                "days": 14
              },
              "daysSinceLastTransaction": 15,
              "nextExpectedTransactionDate": 1698788820,
              "incomeStreamMonths": 18,
              "transactions": [
                {
                  "id": 100000527471,
                  "postedDate": 1582286400,
                  "description": "FINICITY INC PAYROLL",
                  "normalizedPayee": "Finicity",
                  "institutionTransactionId": "100000000",
                  "category": "Paycheck"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

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

## Testing {#testing}

How to read a VOE -- Transactions report:
[VOE_Transactions_Report_HTR.pdf](https://static.developer.mastercard.com/content/open-finance-us/uploads/reports/lend/VOE_Transactions_Report_HTR.pdf) (1MB)

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

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