# Affordability
source: https://developer.mastercard.com/open-finance-au/documentation/products/affordability/index.md

Tip: **Consent requirement:** Accessing and collecting customer account data (including transaction data) for the purpose of generating customer reports requires consent from the individual customer.

The Affordability report provides a view of a customer's income and expenses
identified from within account data shared by that customer. It includes the
income attributes available in a
[Verification of Income (VOI)](https://developer.mastercard.com/open-finance-au/documentation/products/voi/index.md)
report and adds expense attributes and associated insight attributes, where
these are available from the customer account data. These attributes can then
be verified against the information already made available to you by each
customer.

In order to generate the Affordability report, up to 12 months of transaction
history from the accounts is retrieved and included in the product.

## Participants and Interactions {#participants-and-interactions}

|          Participant          |                                           Description                                            |                           Example                            |
|-------------------------------|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------|
| Customer                      | A person who grants access to their financial accounts through Mastercard Data Connect.          | Bank account holder                                          |
| Data Holder                   | A financial institution or authorised deposit-taking institution that holds the customer's data. | Retail bank                                                  |
| Business Partner (Integrator) | An entity that requests an Affordability report and uses the report.                             | Financial institution, lender or technology service provider |
| Mastercard Platform           | The integration point for generating and retrieving Affordability reports.                       | Mastercard                                                   |

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

Diagram affordability

1. Subscribe to consent notifications.
2. Create a customer record.
3. Create a consumer record (optional).
4. Present a Mastercard Data Connect URL to the customer.
5. The customer links their accounts and authorises data sharing.
6. Request an Affordability report.


API Reference: `POST /decisioning/customers/{customerId}/affordability`

7. If you subscribe to Report Webhooks, you receive `inProgress` and `done` events as the report is generated.
8. Retrieve the report with either the customer ID and report ID, or the consumer ID and report ID.


API Reference: `GET /decisioning/v4/consumers/{consumerId}/reports/{reportId}`

Note: Affordability reports are available in JSON format. PDF reports are not currently supported. Use `application/json` for the Accept request header.

### Refreshing Reports {#refreshing-reports}

Follow the standard report refresh process when updated account and transaction
data is required.

## Reading an Affordability Report {#reading-an-affordability-report}

Affordability uses the same JSON report structure as VOI. The report provides
analytics for each account and aggregated analytics for the customer.

The Affordability report is a combination of the information available in a VOI
report (the
[VOI income attributes](https://developer.mastercard.com/open-finance-au/documentation/products/voi/index.md#verification-of-income-attributes)),
with the addition of the expense and insight attributes listed below. For
details about time intervals, aggregated periods, transaction IDs and streams,
refer to the guidance for
[reading a Verification of Income report](https://developer.mastercard.com/open-finance-au/documentation/products/voi/index.md#reading-a-verification-of-income-report).

### Expense Attributes {#expense-attributes}

The `EXPENSE` parent attribute aggregates transactions included in the expense
attributes below.

|              Attribute              |                             Description                              |
|-------------------------------------|----------------------------------------------------------------------|
| `EXPENSE_GROCERIES`                 | Grocery and wholesale club expenses.                                 |
| `EXPENSE_CHILDCARE`                 | Childcare and children's activity expenses.                          |
| `EXPENSE_EDUCATION`                 | Education and training expenses.                                     |
| `EXPENSE_CLOTHING_PERSONAL_CARE`    | Clothing, accessories and personal care expenses.                    |
| `EXPENSE_TELECOM_INTERNET_MEDIA`    | Telecommunications, internet, cable and streaming expenses.          |
| `EXPENSE_INSURANCE`                 | Insurance expenses, excluding loan insurance.                        |
| `EXPENSE_MEDICAL_HEALTH`            | Health care, optical, pharmacy and fitness expenses.                 |
| `EXPENSE_PET_CARE`                  | Veterinary, pet supply, grooming and boarding expenses.              |
| `EXPENSE_TRANSPORT`                 | Fuel, public transport, rideshare and vehicle rental expenses.       |
| `EXPENSE_RECREATION_ENTERTAINMENT`  | Recreation, events, cinema and entertainment expenses.               |
| `EXPENSE_RESIDENTIAL_PRIMARY`       | Mortgage, utility and home service expenses for a primary residence. |
| `EXPENSE_OTHER_HOUSEHOLD_AND_MISC`  | Home furnishing, home improvement and other household expenses.      |
| `EXPENSE_RENT_PRIMARY_RESIDENCE`    | Rent expenses for a primary residence.                               |
| `EXPENSE_CHILD_SPOUSAL_MAINTENANCE` | Child or spousal maintenance expenses.                               |
| `EXPENSE_PROFESSIONAL_SERVICES`     | Legal, financial and other professional service expenses.            |
| `EXPENSE_OTHER`                     | Other expenses that do not match a more specific expense attribute.  |

### Insight Attributes {#insight-attributes}

The `INSIGHT` parent attribute aggregates transactions included in the insight
attributes below.

|              Attribute               |                                 Description                                 |
|--------------------------------------|-----------------------------------------------------------------------------|
| `INSIGHT_GAMBLING`                   | Transactions associated with gambling activity.                             |
| `INSIGHT_CRYPTO_EXCHANGES`           | Transactions associated with cryptocurrency exchanges.                      |
| `INSIGHT_BNPL`                       | Transactions associated with buy now, pay later providers.                  |
| `INSIGHT_SHORT_TERM_CREDIT`          | Transactions associated with short-term credit providers.                   |
| `INSIGHT_CASH_WITHDRAWALS`           | Cash withdrawal transactions.                                               |
| `INSIGHT_ARREARS_SIGNALS`            | Transactions that may indicate insufficient funds, overdrafts or late fees. |
| `INSIGHT_NEW_LENDER_INDICATORS`      | Transactions that may indicate a new loan disbursement.                     |
| `INSIGHT_REPEATED_BALANCE_TRANSFERS` | Transactions that may indicate repeated balance transfers.                  |

## Resources {#resources}

* Set up [Report Webhooks](https://developer.mastercard.com/open-finance-au/documentation/connect/webhooks/index.md#report-webhooks) to receive report progress notifications.
* Review the [Reports Events List](https://developer.mastercard.com/open-finance-au/documentation/connect/webhooks/webhooks-event-report/index.md) for available report events.
