Skip to content

Standard fields

View as MarkdownOpen in Claude(opens in a new tab)Open in ChatGPT(opens in a new tab)

A Standard field is a field whose meaning Vintage understands, such as Current Balance or Net Charge-Off Amount. When you map a column in your file to a Standard field, Vintage knows how to use it: to tie rows to a loan, to age the loan, or to measure credit loss and prepayment. Every other column is kept as a Custom attribute, under its own name, so you can still filter on it later. Nothing you upload is dropped.

The tables below are the full, fixed set of Standard fields. You cannot add to it, and you do not need to supply most of it. Loan ID is the only field every file must have. Every other field is your call, and the Review screen tells you what each missing field costs you before you finalize.

Each table below covers one group of fields, in the order Vintage groups them.

  • Field is the display name you see on the Column Mapping and Fields screens.
  • id is the field’s fixed key. It appears beside the display name on the Standard Fields tab of the Fields screen. You never need to use it as a column heading; Vintage matches your own headings.
  • Files names the file groups the field is recognized on: Origination, Snapshot, or Transaction. When you map a column, the field picker offers only the Standard fields that apply to that file’s group.
  • Type is the field’s value type: numeric, date, categorical, or text. A Standard field’s type is fixed.

These three fields are part of every modeling method. A loan cannot be modeled for anything without them, and every method also needs a term (see Payoff, closure, and term).

FieldidFilesTypeWhat it holds
Loan IDloan_idOrigination, Snapshot, Transactiontext (scrambled)Your identifier for the loan. The only key that ties rows to one loan, across files and across uploads.
Snapshot Monthsnapshot_monthSnapshotdateThe month a snapshot row describes.
Current Balancecurrent_balanceSnapshotnumericOutstanding principal balance at the snapshot.

Loan ID is a protected identifier: before your file leaves your browser, each value is replaced by a one-way scrambled stand-in called a protected ID. Vintage stores only that, which is enough to recognize the same loan next month. See Removing personal information.

FieldidFilesTypeWhat it holds
Tax IDtax_idOrigination, Snapshot, Transactiontext (scrambled)The borrower’s tax identifier (SSN, TIN, or EIN). Scrambled and stored; a fallback join key, never modeled.

Tax ID is scrambled the same way Loan ID is, and kept when you identify it. It serves as a fallback join key; Loan ID is the primary key that identifies a loan.

These fields are preferred, not required. When they are missing, Vintage estimates them for some loans and tells you so; see Origination and term.

FieldidFilesTypeWhat it holds
Origination Dateorigination_dateOrigination, SnapshotdateThe date the loan was originated.
Original Loan Amountoriginal_loan_amountOrigination, SnapshotnumericThe loan amount at origination.
FieldidFilesTypeWhat it holds
Transaction IDtransaction_idTransactiontextOptional. Used to deduplicate transactions when provided.
Transaction Datetransaction_dateTransactiondateThe date a transaction or event occurred. Used to time and deduplicate transaction events.
Net Charge-Off Amountnet_charge_off_amountSnapshot, TransactionnumericThe loss amount after recoveries.
Charge-Off Amountcharge_off_amountSnapshot, TransactionnumericThe gross amount charged off.
Recovery Amountrecovery_amountSnapshot, TransactionnumericThe amount recovered after a charge-off.
Charge-Off Flagcharge_off_flagSnapshot, TransactioncategoricalA marker that a charge-off happened. You classify which values mark the event.
Charge-Off Datecharge_off_dateSnapshotdateThe explicit date of the charge-off. The strongest timing evidence for a charge-off.

How each combination of these fields is used is listed on Modeling methods. How charge-offs and recoveries are booked is explained in Charge-offs and recoveries.

Many core systems export one ledger with a kind code on each row and a single amount column, rather than a separately named amount column for each kind. These two fields read that shape.

FieldidFilesTypeWhat it holds
Transaction Typetransaction_typeTransactioncategoricalThe kind of each ledger row. You classify each code as Charge-off, Recovery, Payoff, Partial prepayment, Regular payment, or Not a modeled event.
Transaction Amounttransaction_amountTransactionnumericThe single generic amount column. Its meaning comes from the row’s Transaction Type.

Each row’s amount is routed into the measure its classified kind names: a charge-off row’s amount is read as a charge-off amount, a recovery row’s as a recovery, a payoff row’s as a payoff amount, a partial prepayment row’s as a partial prepayment amount, and a regular payment row’s as an Actual Payment Amount. A row classified Not a modeled event, or not classified at all, contributes nothing. If the same row also carries a named column for the same quantity, such as a real Charge-Off Amount column, the named column wins. See Classifying values.

FieldidFilesTypeWhat it holds
Payoff Flagpayoff_flagSnapshotcategoricalA marker that the loan was paid off. You classify which values mark the event.
Prepayment Flagprepayment_flagSnapshotcategoricalA marker of a full prepayment. You classify which values mark the event.
Payoff Amountpayoff_amountSnapshot, TransactionnumericThe amount paid to retire the loan.
Payoff Datepayoff_dateSnapshotdateThe explicit date of the payoff. The twin of Charge-Off Date.
Loan Statusloan_statusSnapshotcategoricalThe loan’s lifecycle status. You classify each value as Open (still active), Paid off, Charged off, or Exited (other).
Closure Reasonclosure_reasonSnapshotcategoricalWhy the loan was closed. Classified with the same four meanings as Loan Status.
Closed Dateclosed_dateSnapshotdateThe date the loan closed. It times whichever ending the rest of the data proves; it never says which ending it was.
Term (Months)term_monthsOrigination, SnapshotnumericThe loan’s term in months.
Maturity Datematurity_dateOrigination, SnapshotdateThe scheduled maturity date.

Every modeling method needs a term: either Term (Months), or a Maturity Date from which Vintage derives the term as the calendar months from origination to maturity. A loan with neither cannot enter the modeling curves, because its lifetime is undefined and its runoff would be miscounted as prepayment. A maturity date is a term source and nothing more.

How these fields decide when and how a loan ended is explained in How a loan’s ending is decided and Payoffs and exits.

FieldidFilesTypeWhat it holds
Partial Prepayment Amountpartial_prepayment_amountSnapshot, TransactionnumericThe partial prepayment in the period.
Unscheduled Principal Amountunscheduled_principal_amountSnapshot, TransactionnumericPrincipal paid beyond the schedule.
Actual Principal Paidactual_principal_paidSnapshotnumericThe principal actually paid in the period.
Scheduled Principal Duescheduled_principal_dueSnapshotnumericThe scheduled principal due in the period.
Scheduled Principal Paidscheduled_principal_paidSnapshotnumericThe scheduled principal paid in the period.
Interest Rateinterest_rateOrigination, Snapshotnumeric (percent)The loan’s annual note rate.
Scheduled Payment Amountscheduled_payment_amountSnapshot, TransactionnumericThe scheduled total payment for the period.
Actual Payment Amountactual_payment_amountSnapshot, TransactionnumericThe total payment actually collected in the period.

Measuring a prepayment speed needs a reported schedule basis: Scheduled Principal Due or Scheduled Principal Paid, or a Scheduled Payment Amount paired with an Actual Payment Amount for the same month. A loan without one gets no speed. See Prepayment speeds.

Interest Rate is read as Percent points by default, so 8.36 means 8.36%. If your core exports rates as fractions (0.0836), you can change the field’s format to Decimal fraction. See Declaring formats.

These are recognized so your column lands somewhere named, but no modeled output reads them.

FieldidFilesTypeWhat it holds
FICO Scorefico_scoreOrigination, SnapshotnumericThe borrower’s FICO credit score.
Closed Snapshot Monthclosed_snapshot_monthSnapshotdateThe month a loan was observed closed. Stored, but feeds no measurement: Vintage takes an ending’s timing from the explicit event dates and marker months instead.

Term (Months), Maturity Date, and Interest Rate are the amortization inputs: they fix a loan’s term and note rate.

  • They feed the projections only: the pricing build-up, the month-by-month cash-flow projection, the projected tail of the credit-loss curve, and the WARM fallback. Those projections assume level payments and say so beside every figure.
  • No measurement amortizes with them. No curve Vintage measures from your own history reconstructs a payment schedule. In a measurement, the term has only two roles, both as a gate: a loan needs a term to be modeled at all, and the term marks the final three months within which a loan that vanishes from your file is treated as matured rather than as an inferred payoff.
  • Scheduled Payment Amount is not an amortization input. No projection reads it. Its one use is in the prepayment-speed measurement, as the scheduled half of the payment-totals pair.
  • An interest rate and a scheduled payment on their own are not a schedule basis for the prepayment speed.

Vintage recognizes a column by the field’s own name or a known synonym, so your headings do not need to match the display names exactly, and it pre-fills its suggestion on the Column Mapping screen. Recognition goes beyond this list, and every suggestion is yours to confirm or change. Some common synonyms:

FieldHeadings recognized include
Loan IDLoan Number, Loan No, Acct No, Account Number, Note ID, Note No
Tax IDSSN, TIN, EIN, Social Security Number, Federal Tax ID
Snapshot MonthAs Of Date, Statement Month, Reporting Month, Period End, Snapshot Date
Current BalanceUPB, Current Principal Balance, Principal Balance, Outstanding Balance, Curr Bal
Origination DateOrig Date, Note Date, Funding Date, Booked Date, Open Date
Original Loan AmountOrig Bal, Original Amount, Original Note Amount, Funded Amount
Transaction DateTxn Date, Posted Date, Effective Date
Transaction TypeTxn Type, Tran Code, Transaction Code, Entry Type
Transaction AmountAmount, Amt, Txn Amt, Posting Amount
Net Charge-Off AmountNCO Amount, Net Charge Off, Net Loss
Charge-Off AmountGross Charge Off, Charge Off Amt, CO Amount
Recovery AmountRecoveries, Recovery Amt
Charge-Off FlagCharged Off, CO Flag
Charge-Off DateCO Date, Charged Off Date, Write Off Date
Payoff FlagPaid In Full, PIF Flag, Is Paid Off
Payoff DatePaid Off Date, PIF Date, Paid In Full Date
Loan StatusStatus, Account Status
Closure ReasonClose Reason, Closed Reason
Closed DateClose Date
Term (Months)Term, Loan Term, Amortization Term
Maturity DateMaturity
Partial Prepayment AmountCurtailment, Curtailment Amount
Unscheduled Principal AmountUnscheduled Principal, Extra Principal
Actual Principal PaidActual Principal, Principal Paid
Interest RateRate, Int Rate, Note Rate, APR
Actual Payment AmountPayment Amount, PMT AMT, Actual Payment, Total Payment, Amount Paid
Scheduled Payment AmountScheduled Payment, Contractual Payment, Regular Payment
FICO ScoreFICO, Credit Score

Six Standard fields carry codes rather than amounts, and a code means something only because you say so. When you map a column to one of them, Vintage lists its distinct values and asks what each one means:

  • Loan Status and Closure Reason: Open (still active), Paid off, Charged off, or Exited (other).
  • Charge-Off Flag, Payoff Flag, and Prepayment Flag: which values mark the event and which do not. Vintage keeps no built-in list of values such as Y or 1.
  • Transaction Type: Charge-off, Recovery, Payoff, Partial prepayment, Regular payment, or Not a modeled event.

Your answers belong to your organization, so a later upload with the same values asks nothing. See Classifying values.

For the flow amounts (Charge-Off Amount, Net Charge-Off Amount, Recovery Amount, Actual Principal Paid, Actual Payment Amount, Scheduled Principal Due, Scheduled Principal Paid, and a ledger’s Transaction Amount), Vintage asks whether the column reports each month’s activity, a life-to-date running total, or a year-to-date total that resets each January. It pre-fills the answer as a suggestion when the column’s own history makes it clear, and asks you outright when it cannot tell. Vintage converts every such column to monthly amounts before any calculation. See Declaring formats.