Developer CenterGuidesPayment History Profiles

    Payment History Profiles in Metro 2®

    The Payment History Profile is one of the most important fields in Metro 2® reporting. It provides a month-by-month record of payment behavior that directly influences credit scores.

    1. Structure Overview

    The Payment History Profile (Field 21) is a 24-character string representing 24 months of payment data. Position 1 is the most recent reporting month; position 24 is the oldest.

    Payment History Profile: "000000000000000000000000"
                             ^^^^^^^^^^^^^^^^^^^^^^^^
    Position:                 1         1         2   2
                              1234567890123456789012345
    
    Position 1  = Current reporting month (most recent)
    Position 2  = Previous month
    Position 3  = Two months ago
    ...
    Position 24 = 23 months ago (oldest)
    
    Direction: reads LEFT to RIGHT, newest to oldest

    Info

    Payment history must be updated every month, even if the account status has not changed. Each month, shift all values one position to the right and insert the new month's status at position 1.

    2. Status Codes

    Each position in the Payment History Profile uses one of these single-character codes:

    Current / Positive

    0Current (0-29 days past due date). This is the most common value for accounts in good standing.

    Delinquent

    130-59 days past due
    260-89 days past due
    390-119 days past due
    4120+ days past due

    Special Markers

    DDeferred payment / forbearance / bankruptcy stay
    ECollection account
    GCollection (government)
    LCharge-off
    BNo payment history available (before account open)
    (space) No payment history for this position

    3. Monthly Increment Rules

    Every reporting month, you must shift existing history one position to the right and insert the new status at position 1. The oldest value (position 24) drops off.

    // Monthly update algorithm
    function updatePaymentHistory(currentProfile, newMonthStatus) {
      // Shift right: drop position 24, insert new status at position 1
      const updated = newMonthStatus + currentProfile.substring(0, 23);
      return updated;
    }
    
    // Example: Account is current this month
    const before = "100000000000000000000000";
    //              ^ Position 1 was "1" (30 days late last month)
    
    const after = updatePaymentHistory(before, "0");
    // Result:    "010000000000000000000000"
    //             ^ Position 1 is now "0" (current this month)
    //              ^ Position 2 is now "1" (last month's 30-day late shifted right)
    
    // Example: Account goes from current to 30 days late
    const before2 = "000000000000000000000000";
    const after2 = updatePaymentHistory(before2, "1");
    // Result:     "100000000000000000000000"

    4. Special Markers in Detail

    D — Deferred / Forbearance

    Use "D" when payments are temporarily suspended due to a forbearance agreement, natural disaster relief, or bankruptcy automatic stay.

    // Account enters forbearance for 3 months
    Month 1: "D00000000000000000000000"  // Forbearance starts
    Month 2: "DD0000000000000000000000"  // Still in forbearance
    Month 3: "DDD000000000000000000000"  // Last month of forbearance
    Month 4: "0DDD00000000000000000000"  // Back to current payments

    E — Collection

    Use "E" when the account has been placed in collection. Continue reporting "E" each month until the collection is resolved or the account is closed.

    L — Charge-Off

    Use "L" starting the month the account is charged off. Continue reporting "L" each month until the balance reaches zero or the account is sold.

    // Account progresses to charge-off
    // Months 1-6: progressive delinquency
    "432100000000000000000000"  // Before charge-off (showing 4 months of escalation)
    
    // Month 7: charged off
    "L43210000000000000000000"  // Position 1 = L (charge-off)
    
    // Month 8: still charged off, no payment
    "LL4321000000000000000000"  // L continues monthly

    5. New Account Handling

    For accounts with fewer than 24 months of history, fill unused positions (right side) with spaces or "B" to indicate no history exists for those months.

    // Account opened 3 months ago (current every month)
    "000                     "
     ^^^
     |||______________________ Positions 4-24: spaces (no history)
     ||_______________________ Position 3: current (first month)
     |________________________ Position 2: current (second month)
     _________________________ Position 1: current (third month)
    
    // Account opened 1 month ago
    "0                       "
     ^
     |________________________ Position 1: current (only month)
                               Positions 2-24: spaces
    
    // After 24 months, the profile is fully populated
    "000000000000000000000000"  // 24 months of current payments

    Important Notes

    • • The number of populated positions should match the account age in months
    • • Never pre-fill future months with "0" — only report actual history
    • • Position 1 must always correspond to the current reporting period

    6. Example Scenarios

    These examples show how a Payment History Profile evolves over time for common scenarios.

    // Scenario A: Account goes delinquent and recovers
    // ──────────────────────────────────────────────
    // Month 1 (Jan): Account current
    "0                       "
    
    // Month 2 (Feb): Still current
    "00                      "
    
    // Month 3 (Mar): Misses payment — 30 days late
    "100                     "
    
    // Month 4 (Apr): Still hasn't paid — 60 days late
    "2100                    "
    
    // Month 5 (May): Pays everything, back to current
    "02100                   "
    
    // Month 6 (Jun): Stays current
    "002100                  "
    
    
    // Scenario B: Account enters forbearance
    // ──────────────────────────────────────
    // Before forbearance (6 months of current)
    "000000                  "
    
    // Enters forbearance for 3 months
    "D00000                  "
    "DD0000                  "
    "DDD000                  "
    
    // Exits forbearance, resumes payments
    "0DDD00                  "
    
    
    // Scenario C: Progressive delinquency to charge-off
    // ─────────────────────────────────────────────────
    "000000000000000000000000"  // 24 months current
    "100000000000000000000000"  // 30 days late
    "210000000000000000000000"  // 60 days late
    "321000000000000000000000"  // 90 days late
    "432100000000000000000000"  // 120 days late
    "L43210000000000000000000"  // Charged off

    Related Resources