# Snapshots Table column reference

The Snapshots Table is the daily, point-in-time summary of every loan available through [Peach Data Replica](/data-reporting/replica-database). It holds **one row per loan per reporting day**, capturing balances, payment history, delinquency, and status as of that day. The Snapshots Table is the upstream source for most [loan-tape](/data-reporting/loan-tape-reference) columns.

This page documents the table's **114 columns**, which correspond one-to-one to the fields of the `Snapshot` protocol-buffer message in Peach's `loansnap` service. Money values are stored in **minor units** (integer cents). Enum-valued columns are stored as integer codes; the description lists the code mapping where one applies.

Use Ctrl+F to find a column by name.

Column naming may differ from the proto
The replica/warehouse column names documented here are taken from the Peach data dictionary. For **17 columns** they differ from the underlying `Snapshot` proto field names by a single convention — the proto inserts an underscore before a digit (`times_overdue_15_days`) where the replica column does not (`times_overdue15_days`). The naming a given client queries can depend on the access path (replica database vs. Snowflake share). See [Column naming: replica vs. proto](#column-naming-replica-vs-proto) and confirm against your own delivered schema.

## How to read this reference

- **Replica column** — the column name as delivered in Peach Data Replica, per the data dictionary.
- **Proto field** — the corresponding `Snapshot` proto field name. It matches the replica column except for the 17 fields noted below.
- **Type** — the warehouse SQL type. Money amounts are `bigint` in minor units; rates are `numeric`; dates are stored as `bigint` epoch values or `date` / `timestamptz` depending on the column.
- **Description** — what the column means, and the loan-tape column it feeds where applicable.
- Columns whose proto field is read when Peach builds a loan tape note **"Surfaced in loan tapes as `…`"**. The loan tape reads 96 of the 114 snapshot fields; the rest are envelope, identity, or internal columns.


## Column naming: replica vs. proto

For these 17 columns, the replica column name drops the underscore the proto places before a digit. The data are identical; only the name differs.

| Replica column | Proto field |
|  --- | --- |
| `times_overdue15_days` | `times_overdue_15_days` |
| `times_overdue30_days` | `times_overdue_30_days` |
| `times_overdue60_days` | `times_overdue_60_days` |
| `times_overdue90_days` | `times_overdue_90_days` |
| `times_overdue120_days` | `times_overdue_120_days` |
| `overdue_over30_days_from_date` | `overdue_over_30_days_from_date` |
| `overdue_over30_days_balance_total_amount` | `overdue_over_30_days_balance_total_amount` |
| `overdue_over60_days_balance_total_amount` | `overdue_over_60_days_balance_total_amount` |
| `overdue_over90_days_balance_total_amount` | `overdue_over_90_days_balance_total_amount` |
| `overdue_over120_days_balance_total_amount` | `overdue_over_120_days_balance_total_amount` |
| `overdue_over150_days_balance_total_amount` | `overdue_over_150_days_balance_total_amount` |
| `overdue_over180_days_balance_total_amount` | `overdue_over_180_days_balance_total_amount` |
| `overdue_over60_days_from_date` | `overdue_over_60_days_from_date` |
| `overdue_over90_days_from_date` | `overdue_over_90_days_from_date` |
| `overdue_over120_days_from_date` | `overdue_over_120_days_from_date` |
| `overdue_over150_days_from_date` | `overdue_over_150_days_from_date` |
| `overdue_over180_days_from_date` | `overdue_over_180_days_from_date` |


Two further differences exist between the proto and the replica/data-dictionary view:

- **`deleted_at`** is present in the replica table (a soft-delete timestamp) but is **not** a `Snapshot` proto field.
- **`is_closed`** and the four `*_membership_fees_amount` columns are proto fields that are **absent from the source data dictionary**. The membership-fee columns are gated by a feature flag and may not appear in older replica snapshots.


## Snapshot fields

Fields are grouped by function. Within each group, the description notes the loan-tape column each value feeds, where one exists.

### Identity and envelope

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `id` | `id` | `bigint` | The identifier of this record. |
| `company_id` | `company_id` | `bigint` | The company internal identifier in Peach. |
| `loan_id` | `loan_id` | `bigint` | The account unique identifier in Peach. |
| `loan_external_id` | `loan_external_id` | `text` | The account unique external identifier. |
| `loan_type` | `loan_type` | `integer` | The account type (installment, lineOfCredit, draw). Stored as an integer code: 0 unknown, 1 installment, 2 line of credit, 3 draw. |
| `loan_type_id` | `loan_type_id` | `bigint` | The account type (also called asset policies) unique internal identifier in Peach. This is created specifically for each lender's credit product by Peach. |
| `currency` | `currency` | `char(3)` | The currency of the account. |
| `loan_status` | `loan_status` | `integer` | The current status of the account (pending, originated, declined, active, frozen, accelerated, chargedOff, paidOff, canceled). Stored as an integer code: 0 unknown, 1 active, 2 pending, 3 originated, 4 declined, 5 frozen, 6 accelerated, 7 charged off, 8 paid off, 9 canceled. Surfaced in loan tapes as `loanStatus`. |
| `is_closed` | `is_closed` | `boolean` | Whether the loan is closed. Not surfaced as a loan-tape column. |
| `created_at` | `created_at` | `timestamptz` | Timestamp when this record was created. |
| `updated_at` | `updated_at` | `timestamptz` | Timestamp when this record was updated. |
| `effective_date` | `effective_date` | `timestamptz` | The effective date of the information reported. The amounts and statuses are as of the `reportDate` end of day. |


### Terms and schedule

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `credit_limit` | `credit_limit` | `bigint` | The account credit limit. Relevant only to Line of Credit loans and Draws. Surfaced in loan tapes as `currentCreditLimit`. |
| `last_due_date` | `last_due_date` | `timestamptz` | The last due date of the account. The date might change if the account terms changed (e.g. a due date was deferred). Surfaced in loan tapes as `lastDueDate`. |
| `interest_rate` | `interest_rate` | `numeric` | The annual interest rate effective on the `reportDate`. Surfaced in loan tapes as `interestRate`. |
| `promo_rate` | `promo_rate` | `numeric` | The promo interest rate effective on the `reportDate`. Surfaced in loan tapes as `promoRate`. |
| `index_rate` | `index_rate` | `numeric` | The index rate. Surfaced in loan tapes as `indexRate`. |
| `interest_type` | `interest_type` | `text` | The type of interest used. Absolute interest or spread interest tied to a defined index interest rate type. Surfaced in loan tapes as `interestType`. |
| `contractual_recurring_amount` | `contractual_recurring_amount` | `bigint` | The recurring amount as communicated to the borrower in the agreement. Surfaced in loan tapes as `contractualRecurringAmount`. |
| `current_recurring_amount` | `current_recurring_amount` | `bigint` | The current recurring amount. |
| `amount_financed` | `amount_financed` | `bigint` | The amount financed. Surfaced in loan tapes as `amountFinanced`. |
| `principal_amount` | `principal_amount` | `bigint` | The principal amount Surfaced in loan tapes as `principalAmount`. |
| `origination_fee_amount` | `origination_fee_amount` | `bigint` | The origination fee amount. Surfaced in loan tapes as `originationFeeAmount`. |
| `first_due_date_expected_amount` | `first_due_date_expected_amount` | `bigint` | The amount that the borrower is or was expected to pay by the first due date. Surfaced in loan tapes as `firstDueDateExpectedAmount`. |
| `first_due_date_payment_amount_by_first_due_date` | `first_due_date_payment_amount_by_first_due_date` | `bigint` | The actual amount that the borrower paid by the first due date. Surfaced in loan tapes as `firstDueDatePaymentAmountByDueDate`. |
| `upcoming_due_date` | `upcoming_due_date` | `timestamptz` | The upcoming due date. Surfaced in loan tapes as `upcomingDueDate`. |
| `upcoming_due_date_expected_amount` | `upcoming_due_date_expected_amount` | `bigint` | The amount that the borrower is expected to pay by the upcoming due date. Surfaced in loan tapes as `upcomingDueDateExpectedAmount`. |
| `projected_payoff_date` | `projected_payoff_date` | `date` | The projected pay off date of the loan. Surfaced in loan tapes as `projectedPayoffDate`. |
| `remaining_duration` | `remaining_duration` | `bigint` | The remaining duration of the loan. Surfaced in loan tapes as `remainingDuration`. |
| `is_loan_modified` | `is_loan_modified` | `boolean` | Was the loan modified from its original terms. Surfaced in loan tapes as `isLoanModified`. |


### Balances and fee breakdowns

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `outstanding_balance_total_amount` | `outstanding_balance_total_amount` | `bigint` | The total outstanding balance sums outstanding principal, interest, and fees. Also called the account payoff amount. If the account status is `chargedOff`, the amount will be equal to `chargedOffPrincipalAmount`. Surfaced in loan tapes as `outstandingBalanceTotalAmount`. |
| `outstanding_balance_principal_amount` | `outstanding_balance_principal_amount` | `bigint` | The principal portion of the `outstandingBalanceTotalAmount`. Surfaced in loan tapes as `outstandingBalancePrincipalAmount`. |
| `outstanding_balance_interest_amount` | `outstanding_balance_interest_amount` | `bigint` | The interest portion of the `outstandingBalanceTotalAmount`. Surfaced in loan tapes as `outstandingBalanceInterestAmount`. |
| `outstanding_balance_fees_amount` | `outstanding_balance_fees_amount` | `bigint` | The fees portion of the `outstandingBalanceTotalAmount`. Surfaced in loan tapes as `outstandingBalanceFeesAmount`. |
| `due_balance_total_amount` | `due_balance_total_amount` | `bigint` | Due balances represent balances that are currently due. The total due balance sums due principal, interest, and fees. Surfaced in loan tapes as `dueBalanceTotalAmount`. |
| `due_balance_principal_amount` | `due_balance_principal_amount` | `bigint` | The principal portion of the `dueBalanceTotalAmount`. Surfaced in loan tapes as `dueBalancePrincipalAmount`. |
| `due_balance_interest_amount` | `due_balance_interest_amount` | `bigint` | The interest portion of the `dueBalanceTotalAmount`. Surfaced in loan tapes as `dueBalanceInterestAmount`. |
| `due_balance_fees_amount` | `due_balance_fees_amount` | `bigint` | The fees portion of the `dueBalanceTotalAmount`. Surfaced in loan tapes as `dueBalanceFeesAmount`. |
| `non_due_balance_total_amount` | `non_due_balance_total_amount` | `bigint` | Non due balances represent balances that are not yet due. The total non-due balance sums non-due principal, interest, and fees. Surfaced in loan tapes as `nonDueBalanceTotalAmount`. |
| `non_due_balance_principal_amount` | `non_due_balance_principal_amount` | `bigint` | The principal portion of the `nonDueBalanceTotalAmount`. Surfaced in loan tapes as `nonDueBalancePrincipalAmount`. |
| `non_due_balance_interest_amount` | `non_due_balance_interest_amount` | `bigint` | The interest portion of the `nonDueBalanceTotalAmount`. Surfaced in loan tapes as `nonDueBalanceInterestAmount`. |
| `non_due_balance_fees_amount` | `non_due_balance_fees_amount` | `bigint` | The fees portion of the `nonDueBalanceTotalAmount`. Surfaced in loan tapes as `nonDueBalanceFeesAmount`. |
| `overdue_number_days` | `overdue_number_days` | `bigint` | The number of days that the account is overdue. Surfaced in loan tapes as `overdueNumberDays`. |
| `overdue_balance_total_amount` | `overdue_balance_total_amount` | `bigint` | The account overdue balance. Surfaced in loan tapes as `overdueBalanceTotalAmount`. |
| `overdue_balance_principal_amount` | `overdue_balance_principal_amount` | `bigint` | The principal portion of the overdue balance. Surfaced in loan tapes as `overdueBalancePrincipalAmount`. |
| `overdue_balance_interest_amount` | `overdue_balance_interest_amount` | `bigint` | The interest portion of the overdue balance. Surfaced in loan tapes as `overdueBalanceInterestAmount`. |
| `overdue_balance_fees_amount` | `overdue_balance_fees_amount` | `bigint` | The fees portion of the overdue balance. Surfaced in loan tapes as `overdueBalanceFeesAmount`. |
| `overdue_over30_days_balance_total_amount` | `overdue_over_30_days_balance_total_amount` | `bigint` | The account balance that is over 30 days overdue. Surfaced in loan tapes as `overdueOver30DaysBalanceTotalAmount`. |
| `overdue_over60_days_balance_total_amount` | `overdue_over_60_days_balance_total_amount` | `bigint` | The overdue total amount that is overdue for over 60 days. Surfaced in loan tapes as `overdueOver60DaysBalanceTotalAmount`. |
| `overdue_over90_days_balance_total_amount` | `overdue_over_90_days_balance_total_amount` | `bigint` | The overdue total amount that is overdue for over 90 days. Surfaced in loan tapes as `overdueOver90DaysBalanceTotalAmount`. |
| `overdue_over120_days_balance_total_amount` | `overdue_over_120_days_balance_total_amount` | `bigint` | The overdue total amount that is overdue for over 120 days. Surfaced in loan tapes as `overdueOver120DaysBalanceTotalAmount`. |
| `overdue_over150_days_balance_total_amount` | `overdue_over_150_days_balance_total_amount` | `bigint` | The overdue total amount that is overdue for over 150 days. Surfaced in loan tapes as `overdueOver150DaysBalanceTotalAmount`. |
| `overdue_over180_days_balance_total_amount` | `overdue_over_180_days_balance_total_amount` | `bigint` | The overdue total amount that is overdue for over 180 days. Surfaced in loan tapes as `overdueOver180DaysBalanceTotalAmount`. |
| `overdue_over30_days_from_date` | `overdue_over_30_days_from_date` | `timestamptz` | The date since the account is overdue for over 30 days. |
| `overdue_over60_days_from_date` | `overdue_over_60_days_from_date` | `date` | The date from which the loan was over due for over 60 days. |
| `overdue_over90_days_from_date` | `overdue_over_90_days_from_date` | `date` | The date from which the loan was over due for over 90 days. |
| `overdue_over120_days_from_date` | `overdue_over_120_days_from_date` | `date` | The date from which the loan was over due for over 120 days. |
| `overdue_over150_days_from_date` | `overdue_over_150_days_from_date` | `date` | The date from which the loan was over due for over 150 days. |
| `overdue_over180_days_from_date` | `overdue_over_180_days_from_date` | `date` | The date from which the loan was over due for over 180 days. |
| `non_due_balance_origination_fees_amount` | `non_due_balance_origination_fees_amount` | `bigint` | The current non due amount of origination fees. Surfaced in loan tapes as `nonDueBalanceOriginationFeesAmount`. |
| `non_due_balance_draw_fees_amount` | `non_due_balance_draw_fees_amount` | `bigint` | The current non due amount of draw fees. Surfaced in loan tapes as `nonDueBalanceDrawFeesAmount`. |
| `non_due_balance_late_fees_amount` | `non_due_balance_late_fees_amount` | `bigint` | The current non due amount of late fees. Surfaced in loan tapes as `nonDueBalanceLateFeesAmount`. |
| `non_due_balance_modification_fees_amount` | `non_due_balance_modification_fees_amount` | `bigint` | The current non due amount of modification fees. Surfaced in loan tapes as `nonDueBalanceModificationFeesAmount`. |
| `due_balance_origination_fees_amount` | `due_balance_origination_fees_amount` | `bigint` | The current due amount of origination fees. Surfaced in loan tapes as `dueBalanceOriginationFeesAmount`. |
| `due_balance_draw_fees_amount` | `due_balance_draw_fees_amount` | `bigint` | The current due amount of draw fees. Surfaced in loan tapes as `dueBalanceDrawFeesAmount`. |
| `due_balance_late_fees_amount` | `due_balance_late_fees_amount` | `bigint` | The current due amount of late fees. Surfaced in loan tapes as `dueBalanceLateFeesAmount`. |
| `due_balance_modification_fees_amount` | `due_balance_modification_fees_amount` | `bigint` | The current due amount of modification fees. Surfaced in loan tapes as `dueBalanceModificationFeesAmount`. |
| `overdue_balance_origination_fees_amount` | `overdue_balance_origination_fees_amount` | `bigint` | The overdue amount of origination fees. Surfaced in loan tapes as `overdueBalanceOriginationFeesAmount`. |
| `overdue_balance_draw_fees_amount` | `overdue_balance_draw_fees_amount` | `bigint` | The overdue amount of draw fees. Surfaced in loan tapes as `overdueBalanceDrawFeesAmount`. |
| `overdue_balance_late_fees_amount` | `overdue_balance_late_fees_amount` | `bigint` | The overdue amount of late fees. Surfaced in loan tapes as `overdueBalanceLateFeesAmount`. |
| `overdue_balance_modification_fees_amount` | `overdue_balance_modification_fees_amount` | `bigint` | The overdue amount of modification fees. Surfaced in loan tapes as `overdueBalanceModificationFeesAmount`. |
| `outstanding_balance_origination_fees_amount` | `outstanding_balance_origination_fees_amount` | `bigint` | The outstanding amount of origination fees. Surfaced in loan tapes as `outstandingBalanceOriginationFeesAmount`. |
| `outstanding_balance_draw_fees_amount` | `outstanding_balance_draw_fees_amount` | `bigint` | The outstanding amount of draw fees. Surfaced in loan tapes as `outstandingBalanceDrawFeesAmount`. |
| `outstanding_balance_late_fees_amount` | `outstanding_balance_late_fees_amount` | `bigint` | The outstanding amount of late fees. Surfaced in loan tapes as `outstandingBalanceLateFeesAmount`. |
| `outstanding_balance_modification_fees_amount` | `outstanding_balance_modification_fees_amount` | `bigint` | The outstanding amount of modification fees. Surfaced in loan tapes as `outstandingBalanceModificationFeesAmount`. |
| `non_due_balance_membership_fees_amount` | `non_due_balance_membership_fees_amount` | `bigint` | The membership-fees portion of the non-due balance. Membership-fee feature; gated by a feature flag; absent from older replica snapshots. Surfaced in loan tapes as `nonDueBalanceMembershipFeesAmount`. |
| `due_balance_membership_fees_amount` | `due_balance_membership_fees_amount` | `bigint` | The membership-fees portion of the due balance. Membership-fee feature; gated by a feature flag; absent from older replica snapshots. Surfaced in loan tapes as `dueBalanceMembershipFeesAmount`. |
| `overdue_balance_membership_fees_amount` | `overdue_balance_membership_fees_amount` | `bigint` | The membership-fees portion of the overdue balance. Membership-fee feature; gated by a feature flag; absent from older replica snapshots. Surfaced in loan tapes as `overdueBalanceMembershipFeesAmount`. |
| `outstanding_balance_membership_fees_amount` | `outstanding_balance_membership_fees_amount` | `bigint` | The membership-fees portion of the outstanding balance. Membership-fee feature; gated by a feature flag; absent from older replica snapshots. Surfaced in loan tapes as `outstandingBalanceMembershipFeesAmount`. |


### Payments, credits, and autopay

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `credits_applied_total_amount` | `credits_applied_total_amount` | `bigint` | The total amount of service credits applied to the account from the account activation through `reportDate`. Surfaced in loan tapes as `creditsAppliedTotalAmount`. |
| `paid_total_amount` | `paid_total_amount` | `bigint` | The total amount of payments applied to the account from the account activation through `reportDate`. Surfaced in loan tapes as `paymentsMadeTotalAmount`. |
| `paid_principal_amount` | `paid_principal_amount` | `bigint` | The principal portion of payments and credits made (also called principal split). Surfaced in loan tapes as `paymentsMadePrincipalAmount`. |
| `paid_interest_amount` | `paid_interest_amount` | `bigint` | The interest portion of payments and credits made (also called interest split). Surfaced in loan tapes as `paymentsMadeInterestAmount`. |
| `paid_fees_amount` | `paid_fees_amount` | `bigint` | The fees portion of payments and credits made (also called fees split). Surfaced in loan tapes as `paymentsMadeFeesAmount`. |
| `paid_over_amount` | `paid_over_amount` | `bigint` | The amount over paid. Surfaced in loan tapes as `paymentsMadeOverAmount`. |
| `paid_reimbursements_amount` | `paid_reimbursements_amount` | `bigint` | The amount of reimbursements paid. Surfaced in loan tapes as `paymentsMadeReimbursementsAmount`. |
| `last_successful_payment_effective_date` | `last_successful_payment_effective_date` | `timestamptz` | The effective date of the most recent successful payment. Surfaced in loan tapes as `lastSuccessfulPaymentEffectiveDate`. |
| `last_successful_payment_total_amount` | `last_successful_payment_total_amount` | `bigint` | The amount of the most recent successful payment. Surfaced in loan tapes as `lastSuccessfulPaymentTotalAmount`. |
| `last_successful_payment_principal_amount` | `last_successful_payment_principal_amount` | `bigint` | The principal portion of the most recent successful payment amount (also called payment principal split). Surfaced in loan tapes as `lastSuccessfulPaymentPrincipalAmount`. |
| `last_successful_payment_interest_amount` | `last_successful_payment_interest_amount` | `bigint` | The interest portion of the most recent successful payment amount (also called payment interest split). Surfaced in loan tapes as `lastSuccessfulPaymentInterestAmount`. |
| `last_successful_payment_fees_amount` | `last_successful_payment_fees_amount` | `bigint` | The fees portion of the most recent successful payment amount (also called payment fees split). Surfaced in loan tapes as `lastSuccessfulPaymentFeesAmount`. |
| `is_autopay_on` | `is_autopay_on` | `boolean` | `true` if Autopay is enabled on the account. Surfaced in loan tapes as `isAutopayOn`. |
| `recent_autopay_authorization_date` | `recent_autopay_authorization_date` | `timestamptz` | The most recent date when Autopay was authorized/enabled on the account. Surfaced in loan tapes as `recentAutopayAuthorizationDate`. |
| `reimbursement_amount` | `reimbursement_amount` | `bigint` | The amount owed to the borrower. Surfaced in loan tapes as `reimbursementAmount`. |
| `refunded_amount` | `refunded_amount` | `bigint` | The total amount of refunds applied from account activation date through the `reportDate`. Surfaced in loan tapes as `refundedAmount`. |


### Delinquency counters

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `is_overdue` | `is_overdue` | `boolean` | `true` if the account is overdue. Surfaced in loan tapes as `isOverdue`. |
| `times_overdue15_days` | `times_overdue_15_days` | `bigint` | The number of times the account was overdue more than 15 days. Surfaced in loan tapes as `timesOverdue15Days`. |
| `times_overdue30_days` | `times_overdue_30_days` | `bigint` | The number of times the account was overdue more than 30 days. Surfaced in loan tapes as `timesOverdue30Days`. |
| `times_overdue60_days` | `times_overdue_60_days` | `bigint` | The number of times the account was overdue more than 60 days. Surfaced in loan tapes as `timesOverdue60Days`. |
| `times_overdue90_days` | `times_overdue_90_days` | `bigint` | The number of times the account was overdue more than 90 days. Surfaced in loan tapes as `timesOverdue90Days`. |
| `times_overdue120_days` | `times_overdue_120_days` | `bigint` | The number of times the account was overdue more than 120 days. Surfaced in loan tapes as `timesOverdue120Days`. |


### Charge-off

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `is_charged_off` | `is_charged_off` | `boolean` | `true` if the account was charged off. Surfaced in loan tapes as `isChargedOff`. |
| `charged_off_date` | `charged_off_date` | `timestamptz` | The date when the account was charged off. Surfaced in loan tapes as `chargedOffDate`. |
| `charged_off_principal_amount` | `charged_off_principal_amount` | `bigint` | The principal portion of the charged off balance. The balance can change if payments were applied after the account was charged off. Surfaced in loan tapes as `chargedOffPrincipalAmount`. |
| `charged_off_interest_amount` | `charged_off_interest_amount` | `bigint` | The interest portion of the charged off balance. The balance can change if payments were applied after the account was charged off. Surfaced in loan tapes as `chargedOffInterestAmount`. |
| `charged_off_fees_amount` | `charged_off_fees_amount` | `bigint` | The fees portion of the charged off balance. The balance can change if payments were applied after the account was charged off. Surfaced in loan tapes as `chargedOffFeesAmount`. |
| `charged_off_total_amount` | `charged_off_total_amount` | `bigint` | The account charged off balance. The balance can change if payments were applied after the account was charged off. Surfaced in loan tapes as `chargedOffTotalAmount`. |
| `charged_off_reason` | `charged_off_reason` | `integer` | The charge off reason (term, fraudulent, bankruptcy, legal). Stored as an integer code (term, fraudulent, bankruptcy, legal). Surfaced in loan tapes as `chargedOffReason`. |


### Interest accrual and discount

| Replica column | Proto field | Type | Description |
|  --- | --- | --- | --- |
| `interest_accrued_total_amount` | `interest_accrued_total_amount` | `bigint` | The net interest accrued on since the account activation date. Surfaced in loan tapes as `netInterestAccruedTotalAmount`. |
| `interest_discount_total_amount` | `interest_discount_total_amount` | `bigint` | The interest discount amount applied since the account activation date. Surfaced in loan tapes as `interestDiscountTotalAmount`. |
| `forgone_interest_cap_amount` | `forgone_interest_cap_amount` | `bigint` | The forgone interest amount because the total accued interest hit the interest cap that was set. Surfaced in loan tapes as `forgoneInterestCapAmount`. |
| `daily_interest_accrued_amount` | `daily_interest_accrued_amount` | `bigint` | The daily amount of accrued interest. Surfaced in loan tapes as `dailyInterestAccruedAmount`. |
| `daily_interest_discount_amount` | `daily_interest_discount_amount` | `bigint` | The daily amount of discounted interest. Surfaced in loan tapes as `dailyInterestDiscountAmount`. |
| `daily_forgone_interest_cap_amount` | `daily_forgone_interest_cap_amount` | `bigint` | The daily amount of forgot interest that was forgone due to a defined cap. Surfaced in loan tapes as `dailyForgoneInterestCapAmount`. |


## See also

- [Loan tape field reference](/data-reporting/loan-tape-reference) — The loan-tape and payment-tape columns these snapshot fields feed.
- [About Peach Data Replica](/data-reporting/replica-database) — How the Snapshots Table is delivered (GCS files, Snowflake share).
- [Data delivery setup](/data-reporting/data-delivery-setup) — Platform-specific setup for ingesting replica data.
- [Core concepts](/getting-started/core-concepts#loans) — How loans and their components are modeled in Peach.