QlarifiReportV2 Field Reference
This document provides a comprehensive reference for all fields present in the LenderQlarifiReportV2 data structure as they appear in JSON format.
Overview
The LenderQlarifiReportV2 is a consumer financial report generated by Qlarifi for a specific lender, containing analytical data points about a consumer's BNPL (Buy Now, Pay Later) transaction history and patterns. The report is provided in JSON format with specific serialization formats for complex data types.
Top-Level Fields
Core Report Fields
| Field | JSON Type | Format/Example | Description |
|---|---|---|---|
QlarifiId | string | "12345678-1234-1234-1234-123456789012" | Unique ID set up by Qlarifi for a specific correlation of ConsumerIds |
SchemaVersion | string | "2.1.0" | Version of the report schema following semantic versioning (MAJOR.MINOR.PATCH). Pertains only to features included in the report |
ExecutableVersion | string | "1.0.4" | The version of the application that generated the report |
EffectiveTimestamp | string | "2024-03-31T23:00:00+00:00" | ISO 8601 timestamp for which the report was generated. All context is relative to this timestamp |
Metadata | object | {"key1": "value1", "key2": "value2"} | A set of key-value pairs that provide additional information about the generated report |
BnplReportFeatures | object | See BNPL section below | Data features for the consumer's BNPL transaction history across accounts/lenders |
BNPL Report Features
The BnplReportFeatures contains analytical data points about a consumer's BNPL transaction history and patterns.
BnplReportFeatures Structure
| Field | JSON Type | Format/Example | Description |
|---|---|---|---|
SnapshotFeatures | object | See snapshot fields below | Features that describe the current status of the consumer's BNPL transactions |
VelocityFeatures | object | {"30Days": {...}, "90Days": {...}} | Features about the consumer's BNPL transaction history over several time periods |
BnplSnapshotFeatures Fields
Current status features for BNPL transactions:
| Field | JSON Type | Format/Example | Description |
|---|---|---|---|
TotalTransactedLenders | number | 5 | Number of total lenders that the consumer has a transaction with |
CurrentActiveTransactions | number | 3 | Number of transactions that are awaiting repayment (not paid off, refunded, cancelled or written off) |
CurrentOutstandingInstallments | number | 8 | Number of installments that are awaiting repayment |
CurrentExposure | object | {"amount": 250.50, "currency": "USD"} | Total amount of money that the consumer currently owes across all active transactions |
AverageExposureProportions | object | {"30Days": 0.75, "90Days": 0.85} | Proportion of current exposure compared to average exposure over various time periods |
MaxExposureProportions | object | {"30Days": 0.60, "90Days": 0.70} | Proportion of current exposure compared to max exposure over various time periods |
DaysSinceLastPayment | number|null | 15 or null | Number of days since the consumer last made a payment on any active transactions (null if no payments made) |
CurrentLateTransactions | object | {"5DaysPastDue": 2, "30DaysPastDue": 1} | Number of transactions currently late, categorized by days late (cumulative categories) |
CurrentLateInstallments | object | {"5DaysPastDue": 3, "30DaysPastDue": 1} | Number of installments currently late, categorized by days late (cumulative categories) |
CurrentLateExposures | object | {"5DaysPastDue": {"amount": 150.00, "currency": "USD"}} | Amount of money currently owed for late transactions, categorized by days late |
CurrentLateTransactionProportions | object | {"5DaysPastDue": 0.67, "30DaysPastDue": 0.33} | Proportion of current late transactions compared to total active transactions |
CurrentLateInstallmentProportions | object | {"5DaysPastDue": 0.375, "30DaysPastDue": 0.125} | Proportion of current late installments compared to total open installments |
CurrentPostponedTransactions | number | 1 | Number of active transactions that have been postponed by the consumer |
CurrentPostponedInstallments | number | 2 | Number of installments that were postponed by the consumer |
FirstTransactionDate | string|null | "2023-01-15T10:30:00+00:00" or null | ISO 8601 date of the first transaction that the consumer has made with any lender |
LastTransactionDate | string|null | "2024-03-28T14:22:00+00:00" or null | ISO 8601 date of the last transaction that the consumer has made with any lender |
BnplVelocityPeriodFeatures Fields
Historical features over specific time periods:
| Field | JSON Type | Format/Example | Description |
|---|---|---|---|
TimeRangeDescription | string | "Last 30 days" | Textual description of the time range |
TimeRangeStart | string | "2024-03-01T00:00:00+00:00" | ISO 8601 start timestamp of the time range |
TimeRangeEnd | string | "2024-03-31T23:59:59+00:00" | ISO 8601 end timestamp of the time range |
TotalIssuedTransactions | number | 12 | Number of issued transactions in the period |
TotalIssuedInstallments | number | 48 | Number of issued installments in the period |
TotalIssuedTransactionsAmount | object | {"amount": 1250.75, "currency": "USD"} | Total amount of issued transactions in the period |
TotalActiveTransactions | number | 8 | Count of transactions that were active at some point in the period |
TotalPaidEarlyInstallments | object | {"5DaysEarly": 3, "10DaysEarly": 1} | Number of early installment paid off, categorized by days early |
TotalRefunds | number | 2 | Number of refunds in the period |
TotalRefundsAmount | object | {"amount": 200.00, "currency": "USD"} | Total amount of refunds in the period |
TotalPostponedTransactions | number | 1 | Number of transactions postponed by the consumer in the period |
TotalPostponedInstallments | number | 3 | Number of installments postponed by the consumer in the period |
TotalLateTransactions | object | {"5DaysPastDue": 4, "30DaysPastDue": 2} | Number of transactions that were late at some point in the period, categorized by days late |
TotalLateInstallments | object | {"5DaysPastDue": 6, "30DaysPastDue": 2} | Number of installments that were late in the period, categorized by days late |
LateTransactionProportions | object | {"5DaysPastDue": 0.33, "30DaysPastDue": 0.17} | Proportion of total issued transactions that were late, categorized by days late |
LateInstallmentProportions | object | {"5DaysPastDue": 0.125, "30DaysPastDue": 0.04} | Proportion of total issued installments that were late, categorized by days late |
TotalPaidOffLateTransactions | object | {"5DaysPastDue": 3, "30DaysPastDue": 1} | Number of transactions paid late at some point in the period, categorized by days late |
TotalPaidLateInstallments | object | {"5DaysPastDue": 4, "30DaysPastDue": 1} | Number of installments paid late in the period, categorized by days late |
PaidOffLateTransactionProportions | object | {"5DaysPastDue": 0.25, "30DaysPastDue": 0.08} | Proportion of total issued transactions that were paid late, categorized by days late |
PaidLateInstallmentProportions | object | {"5DaysPastDue": 0.08, "30DaysPastDue": 0.02} | Proportion of total issued installments that were paid late, categorized by days late |
TotalPaidOffTransactions | number | 10 | Number of transactions paid off in the period |
TotalPaidOffInstallments | number | 42 | Number of installments paid off in the period |
WorstLateInstallmentInDays | number | 45 | Maximum days late for any due installment observed in the period |
AverageDailyActiveTransactions | number | 3.5 | Daily number of active transactions averaged over the period |
AverageDailyConsumerExposure | object | {"amount": 325.50, "currency": "USD"} | Daily exposure of the consumer averaged over the period |
MaxDailyConsumerExposure | object | {"amount": 450.75, "currency": "USD"} | Maximum daily exposure of the consumer in the period |
JSON Data Types and Formats
Money Object
The Money type is serialized as a JSON object with the following structure:
{
"amount": 123.45,
"currency": "USD"
}
amount:number- The monetary amount as a decimal numbercurrency:string- The ISO 4217 currency code (e.g., "USD", "CAD", "EUR")
DateTimeOffset
All date/time fields are serialized as ISO 8601 formatted strings in UTC:
"2024-03-31T23:00:00+00:00"
TimeSpan (Duration)
Time spans are serialized using ISO 8601 duration format:
"P2Y3M15DT10H30M45S"
Where:
P= Period designatorY= YearsM= Months (after Y) or Minutes (after T)D= DaysT= Time designator (separates date and time components)H= HoursS= Seconds
Dictionary Types
Dictionary fields are serialized as JSON objects with string keys:
{
"30Days": 0.75,
"90Days": 0.85,
"180Days": 0.92
}
Important Notes
Categorization Logic
For late payment categorizations (e.g., 5DaysPastDue, 30DaysPastDue), the system uses cumulative categorization:
- A transaction that is 34 days late will be counted in both
5DaysPastDueand30DaysPastDuecategories - This approach maintains consistency if new categories are added in the future
Time Period Features
BNPL features include velocity period features that track metrics over different time ranges. The specific time periods are defined by the keys in the VelocityFeatures dictionary (e.g., "30Days", "90Days").
Nullable Fields
Several fields may be null in JSON, indicating they don't have values in certain scenarios:
DaysSinceLastPayment=nullwhen no payments have been madeFirstTransactionDate/LastTransactionDate=nullif no transactions exist
Sample JSON Structure
{
"QlarifiId": "12345678-1234-1234-1234-123456789012",
"SchemaVersion": "2.1.0",
"ExecutableVersion": "1.0.4",
"EffectiveTimestamp": "2024-03-31T23:00:00+00:00",
"Metadata": {
"requestId": "req-001",
"environment": "production"
},
"BnplReportFeatures": {
"SnapshotFeatures": {
"TotalTransactedLenders": 5,
"CurrentActiveTransactions": 3,
"CurrentExposure": {
"amount": 250.50,
"currency": "USD"
},
"DaysSinceLastPayment": 15,
"FirstTransactionDate": "2023-01-15T10:30:00+00:00"
},
"VelocityFeatures": {
"30Days": {
"TimeRangeDescription": "Last 30 days",
"TimeRangeStart": "2024-03-01T00:00:00+00:00",
"TimeRangeEnd": "2024-03-31T23:59:59+00:00",
"TotalIssuedTransactions": 12,
"TotalIssuedTransactionsAmount": {
"amount": 1250.75,
"currency": "USD"
}
}
}
}
}