What is Reconciliation?
Understanding the fundamental purpose
Reconciliation verifies that two sets of records match. For LendingPoint, CCB Coastal Community Bank (CCB) The bank of record for LendingPoint loans. CCB holds the underlying loan accounts while LendingPoint originates and services them. acts as the bank of record for consumer and commercial loans. LendingPoint originates and services the loans, but CCB holds the underlying accounts. Every day, payments flow between borrowers, LendingPoint, and CCB. Reconciliation ensures every dollar is accounted for.
💡 The Core Question
At the end of each day, does the cash in our settlement account Settlement Account Bank account 1600020521 where wire transfers are received and payments processed. This is the central clearing account for all LendingPoint transactions. Account: 1600020521 match what the transactions say should be there? If not, why not, and how do we fix it?
📥 Money Coming In
Wire transfers from LendingPoint containing borrower payments ( Principal Principal Payment The portion of a loan payment that reduces the outstanding loan balance. Pymt_File Column G: Principal , Interest Interest Payment The portion of a loan payment that covers the cost of borrowing. Pymt_File Column H: Interest , Fees Fee Payment Any additional fees charged on the loan (late fees, service fees, etc.). Pymt_File Column I: Fees )
📤 Money Going Out
Loan payments applied to accounts, refunds to borrowers, fees to service providers
⚖️ The Balance
After matching all ins and outs, the settlement account should balance to zero (or a known outstanding amount)
Two Reconciliation Streams
Different processes for different aspects
💵 Repayments Settlement (1600020521)
Tracks the daily wire transfers that settle borrower payments. File: DAILY LendingPoint Repayment workbook
📈 Purchase Parse (Macro Workbook)
Processes loan-level payment data, generates ATE Accounting Template Entry (ATE) A formatted journal entry ready for posting to the General Ledger. Contains account numbers, amounts, and transaction codes. entries, tracks charge-offs. File: Macro Purchase Parse workbook
🔗 How They Connect
Repayments reconciles the cash (did we get the right wire?), while Purchase Parse reconciles the details (which loans did payments apply to?). Both must agree.
Key Concepts
Essential terminology and definitions
📊 Day Tapes
Day1_Tape: Yesterday's loan snapshot (32,292 loans). Day2_Tape: Today's snapshot. Comparing reveals changes in loan balances, status, and delinquency.
🔢 Transaction Prefixes
LPT-
Loan Payment Transaction
Regular payments from borrowers. The most common transaction type.
Pymt_File Column A: Txn_ID
: Loan Payment Transaction
RTA-
Return Transaction
Payment reversals/returns when a payment bounces or fails (e.g., NSF check).
Pymt_File Column A: Txn_ID
: Return Transaction
ADJ-
Adjustment Transaction
Corrections, refunds, spread corrections, and other manual adjustments.
Pymt_File Column A: Txn_ID
: Adjustment
📦 Product Types
Consumer:
DTC
Direct-to-Consumer (DTC)
Personal loans originated directly to individual borrowers through LendingPoint's platform.
Pymt_File Column N: Loan_Product_Type
+
POS
Point of Sale (POS)
Consumer loans originated at retail point of sale for purchases.
Pymt_File Column N: Loan_Product_Type
Commercial: eBay + JOOR
⏱️ Days Past Due (DPD) Thresholds
120 DPD
120+ Days Past Due
CCB internal charge-off threshold. Loans enter the 120Subledger for tracking.
Day_Tape Column K: Days_Past_Due
: CCB internal charge-off
180 DPD
180+ Days Past Due
LendingPoint official charge-off. The Charge_Off_Date field gets populated.
Day_Tape Column T: Charge_Off_Date
: LendingPoint official charge-off
💰 Excess Payments
When a borrower pays more than the amount due. These overpayments Excess Payment Amount The amount by which a payment exceeds what was owed. Held in settlement until refunded to borrower. Pymt_File Column J: Excess are held in the settlement account until refunded.
📏 Out of Balance (OOB)
Penny rounding Out of Balance (OOB) Small discrepancy where Principal + Interest ≠ Total Transaction Amount due to rounding. Typically ±$0.01 per transaction. Maximum $0.09/payment. Pymt_File Column AA: OOB where Principal + Interest ≠ Total. Maximum $0.09/payment. Auto-adjusted via the OOB_Filter worksheet.
Daily Repayments Flow
How borrower payments move through settlement
Every business day, LendingPoint collects payments and sends a wire to CCB's settlement account (1600020521). The reconciliation verifies this wire matches expected payment amounts.
⚖️ The Fundamental Equation
Wire In (Credit) + Loan Payment (Debit) = ~$0.00
Any difference should be within rounding tolerance (typically less than $0.10 per day)
Wire Matching
How credits and debits balance
✓ Perfect Match
Wire + Payment = $0.00 - transactions clear immediately.
~ Rounding (OOB)
Small differences from Out of Balance Out of Balance (OOB) Penny discrepancies that accumulate. Tracked in OOB_Filter worksheet and auto-adjusted via Parse sheet row 25. Pymt_File Column AA: OOB penny allocations. Accumulated for monthly true-up.
✗ Large Variance
Significant differences require investigation. Check Parse!N16 and Parse!O16 for variance details.
Daily Reconciliation Steps
Workflow performed each business day
Download Transactions
Pull data from Horizon system, including prior day for backdated entries.
- Access Horizon or H360 extract
- Set date range (include prior day)
- Export to Horiz_Trx sheet
Import to Workbook
Append transactions applying conversion formulas.
Create Daily Sheet
Copy prior day's sheet, update Settlement Date and Horizon balance.
Match & Clear
Pair wires with payments, move matched pairs to "Cleared Items" section.
- Wire In + Loan Payment (Participation Agreement) = ~$0
- Wire In + Loan Payment (Purchased) = ~$0
- Group and border each cleared set
Record Adjustments
Enter Out of Balance (OOB) adjustments and wire differences.
Verify Balance
Final check: Horizon Balance + Uncleared Items must equal Zero.
General Ledger Account Reference
Complete listing by category
Settlement Accounts
Purchased Loan General Ledger Accounts
Program Loan General Ledger Accounts
Daily Accounting Template Entry (ATE) Process
Complete step-by-step workflow
Daily_1: Receive Data Sources
Download files from SFTP and Fed activity
- Incoming Wires from Fed
- NACHA Origination Credits
- Daily Settlement Files from LendingPoint SFTP
- Files go to: Y:\File Transfers\Lending Point\Incoming
Daily_2: Process Disbursements & Payments
Parse payment files and generate settlement entries
- Paste reports into Excel parse tools
- Parse by: Consumer (DTC/POS) vs Commercial (eBay/JOOR)
- Wire CREDITS Settlement Account 1600020521
- DEBIT Principal GL Accounts: 10226050 (Consumer), 10215050 (Commercial)
Daily_3: Calculate Accrued Interest
Delta calculation between Day1_Tape and Day2_Tape
DEBIT Accrued Interest GL (10426050, 10415050)
CREDIT Interest Income GL (40046050, 40025050)
Daily_4: Process Canceled Loans
Write-off loans that were canceled
- Delta Parse: Day2 (Canceled) not in Day1 (Canceled)
- Filter by: Loan_StatusLoan Status FieldCurrent status of the loan. "Canceled" indicates the loan was voided/rescinded.Day_Tape Column L: Loan_Status = "Canceled"
- DEBIT LendingPoint Operating Account 1600018566
- CREDIT Principal GL and Accrued Interest GL
Daily_5-6: Process 120 Days Past Due Charge-Offs
Internal charge-off at 120+ days past due
- Daily_5: PURCHASED portfolio
- Daily_6: PROGRAM portfolio
- Filter: Days_Past_DueDays Past Due (DPD)Number of days since payment was due. 120+ triggers CCB internal charge-off.Day_Tape Column K: Days_Past_Due > 119 AND Charge_Off_Date is blank
- DEBIT Reserve for Loan Loss GL 10290000
- CREDIT Principal Contra GL Accounts
Daily_7-8: Process 180 Days Past Due Charge-Offs
LendingPoint official charge-off processing
- Daily_7: PURCHASED Consumer & Commercial
- Daily_8: PROGRAM Consumer & Commercial
- Filter: Charge_Off_DateCharge-Off DateDate when LendingPoint officially charged off the loan (typically at 180 DPD).Day_Tape Column T: Charge_Off_Date is not blank
- DEBIT LendingPoint Cash Collateral 1600076143
- CREDIT Account Receivable GL 10807100
Complete ATE and Upload
Copy entries to ATE templates and upload to O-drive
- Validate: Total Debits = Total Credits
- Upload completed ATE to O-drive
Purchase Parse Workbook
Automated processing of loan-level data
The Macro Purchase Parse workbook processes daily loan data, generates journal entries (ATE), tracks charge-offs, and validates all transactions reconcile properly.
Transaction Categories
Types of transactions processed
LPT- (Loan Payment Transaction)
Regular payments: PrincipalPrincipal (Column G)The portion of payment that reduces the loan balance. + InterestInterest (Column H)The portion of payment for borrowing costs. + FeesFees (Column I)Any additional charges (late fees, etc.).
RTA- (Return Transaction)
Reversals when payments bounce or fail (e.g., insufficient funds, closed account)
ADJ- (Adjustment Transaction)
Corrections, refunds, spread corrections, SCRA adjustments
🏷️ Product Types (Loan_Product_Type - Column N)
Consumer: DTC (Direct-to-Consumer), POS (Point of Sale)
Commercial: eBay, JOOR
Each product type maps to different General Ledger accounts for proper categorization.
Key Formulas Explained
Parse sheet calculation logic with field names
Charge-Off Lifecycle
When loans become severely delinquent
When borrowers stop making payments, loans progress through stages of delinquency. The charge-off process ensures non-performing assets are properly tracked and written off according to regulatory requirements.
Active Loan Status
Loan is current - borrower making payments as scheduled. Loan_StatusLoan Status (Column L)Active status in Day_Tape indicates the loan is performing normally. shows "Active" or "Current".
Early Delinquency (30-89 Days Past Due)
Missed payments but not severely delinquent. Collections efforts begin. Days_Past_DueDays Past Due (Column K)The number of days since payment was due. Increases daily until payment received. is between 30-89.
120+ Days Past Due - CCB Internal Recognition
At 120 DPD, CCB recognizes impairment. Enters 120-ChargeOff sheet and 120Subledger for tracking.
Charge_Off_Date (Column T) is empty (not yet LP charged off)
Loan_Status (Column L) excludes Canceled and Closed statuses
LendingPoint Charge-Off (180 Days Past Due)
LendingPoint formally charges off the loan. The Charge_Off_DateCharge-Off Date (Column T)The date LendingPoint officially charged off the loan. Populated at ~180 DPD. field gets populated. Loan moves to 180-ChargeOff and 180Subledger.
Final Resolution
Loan reaches one of these endpoints:
- CO Sale Proceeds: Sold to debt buyers (Payment_Type = "CO Sale Proceeds")
- Settled: Borrower settles for less than full balance
- Obligations Met: Paid in full by borrower
5-Section Reconciliation
Tracking balance changes between Day1 and Day2
#1 New Loans
Loans entering the 120+ DPD bucket for the first time (in Day2 but not Day1)
#2 Balance Changes
Changes in Outstanding_PrincipalOutstanding Principal (Column M)Current loan principal balance in Day_Tape. / Accrued_InterestAccrued Interest (Column N)Unpaid interest that has accumulated on the loan. on existing loans
#3 Charged Off by LP
Loans moved to 180-ChargeOff (Charge_Off_Date now populated)
#4 Dropped - Not Charged Off
Left unexpectedly - requires investigation
#5 Obligations Met
Paid off in full by borrower (Loan_Status = "Closed - Obligations met")
📊 The Reconciliation Formula
Day2 Balance = Day1 Balance + New + Changes - Charged Off - Dropped - Paid Off
This 5-section breakdown explains every dollar of movement in the charge-off portfolio.
Settlement Account Reconciliation
Daily reconciliation of 1600020521
The Repayments Settlement Account receives daily wires and must reconcile to zero after all entries are posted.
Excess Payment Tracking
3,639 records | 465 unique loans | -$110,283 net outstanding
Excess payments from ExcessExcess Column (J)Amount by which payment exceeds loan balance. Tracked in Excess_Filter worksheet. column (J) in Pymt_File
Extract Loan ID
First 12 characters of description = LAI-XXXXXXXX
Month-End Certification
Bank Balance + Reconciling Items = $0.00
Validation Matrix
All checks that must pass
| # | Check Name | Location | Expected | Description | Status |
|---|---|---|---|---|---|
| 1 | Credits = Debits | Parse!N21 | Y | Total Credits must equal Total Debits (balanced journal) | ✓ Pass |
| 2 | Sub-entries Match Top Debit | Parse!N15 | Y | Sum of ATE sub-entries equals calculated wire total | ✓ Pass |
| 3 | Top Debit Match Wire | Parse!N16 | Y | Calculated total matches actual wire received | ✗ -$0.02 |
| 4 | Remitted Amount = Wire | Parse!N18 | Y | Sum of Remitted_Amount (Column R) equals wire | ✗ -$0.02 |
| 5 | Excess Entries Match | Parse!N25 | Y | ATE excess entries match Excess_Filter totals | ✓ Pass |
| 6 | Charge-Off Sold Entries Match | Parse!N32 | Y | CO Sale Proceeds in ATE match Pymt_File | ✓ Pass |
| 7 | Returns Match RTA | Parse!N34 | Y | Return entries match RTA transaction totals | ✓ Pass |
| 8 | 120-ChargeOff Principal Match | 120-CO!AE1 | Y | Principal delta matches calculated change | ✓ Pass |
| 9 | 120-ChargeOff Interest Match | 120-CO!AE2 | Y | Interest + Capitalized Interest delta matches | ✗ Fail |
| 10 | 120-CO Recon Principal | 120-CO!AE3 | Y | Reconciled principal matches Sub-ledger delta | ✓ Pass |
| 11 | 120-CO Recon Interest | 120-CO!AE4 | Y | Reconciled interest matches Sub-ledger delta | ✓ Pass |
| 12 | 180-ChargeOff Principal Match | 180-CO!AT20 | Y | 3-way validation of principal deltas | ✓ Pass |
| 13 | 180-ChargeOff Interest Match | 180-CO!AU20 | Y | 3-way validation of interest deltas | ✗ Fail |
| 14 | 180 TrueUp Principal | Parse!L7 | Y | 180-CO TrueUp principal matches 180-ChargeOff!AT18 | ✓ Pass |
| 15 | 180 TrueUp Interest | Parse!L8 | Y | 180-CO TrueUp interest matches 180-ChargeOff!AU18 | ✓ Pass |
| 16 | Canceled Principal Match | Parse!V13 | Y | Canceled loan principal matches validation total | ✗ Fail |
| 17 | Canceled Interest Match | Parse!W13 | Y | Canceled loan interest matches validation total | ✗ Fail |
Critical: Credits = Debits (N21)
MUST always pass. If it fails, journal is unbalanced and cannot be posted to the General Ledger.
Wire Variance (-$0.02)
Typically caused by Out of Balance (OOB) penny rounding. Auto-captured in Parse row 25 and adjusted monthly.
Known Problem Areas
Documented reconciliation issues requiring resolution
The following issues have been identified during the reconciliation process. Each issue includes source file references, specific locations within workbooks, and detailed context to support investigation and resolution efforts.
Issue #1: $1.3M Legacy Carry Over Balance
Critical - Unresolved since August 2023
Outstanding Amount
$1,332,205.21
Age of Issue
2+ Years
Status
Manually Excluded Daily
Description
In August 2023, LendingPoint migrated to a new servicing platform. During this migration, a balance of approximately $1.33 million was carried forward into the reconciliation that does not tie out to any identifiable transactions. This balance has remained unresolved and is manually excluded from daily reconciliation to allow processing to continue.
Source Files & References
| File/Location | Worksheet | Cell/Range | Description |
|---|---|---|---|
| DAILY LendingPoint Repayment.xlsx | Daily Settlement Sheet | Uncleared Items section | Legacy balance excluded from daily reconciliation |
| Macro Purchase Parse.xlsm | Parse | Row 24 (Historical) | Original migration adjustment entry |
| Historical Records | August 2023 files | Various | Pre-migration reconciliation records |
Root Cause Analysis
- Canceled Loans Not Reported: Loans that were canceled/rescinded prior to migration were not properly reported in the new system, leaving orphaned payment records.
- Excess Payments Not Refunded: Overpayments (Column J: Excess) from the legacy system were not refunded or properly transferred during the migration.
- Timing Differences: Transactions in-flight during the cutover were not properly reconciled between old and new systems.
- Data Mapping Issues: Some loan identifiers (LAI numbers) may not have mapped correctly between platforms.
Business Impact
- Audit Risk: External auditors have flagged this balance as a material reconciling item requiring documentation.
- Operational Overhead: Manual exclusion required every day, adding processing time and error risk.
- Obscures Other Issues: The large unresolved balance makes it difficult to identify newer, smaller discrepancies.
- Regulatory Concern: Potential questions from bank examiners regarding unreconciled balances.
Issue #2: Broken Certification Sheet Formulas
Critical - Prevents month-end validation
Description
The month-end certification worksheet, which is used to formally certify that the reconciliation is complete and accurate, contains multiple #REF! errors. These errors prevent the automated validation checks from functioning and require manual workarounds to complete the certification process.
Source Files & References
| File/Location | Worksheet | Affected Cells | Error Type |
|---|---|---|---|
| DAILY LendingPoint Repayment.xlsx | Certification | Bank Balance section | #REF! - Missing source reference |
| DAILY LendingPoint Repayment.xlsx | Certification | Reconciling Items | #REF! - Broken cell references |
| DAILY LendingPoint Repayment.xlsx | Certification | Final Certification | #REF! - Formula dependencies broken |
Root Cause Analysis
- Sheet Restructuring: Rows/columns were inserted or deleted in source sheets, breaking relative references.
- File Corruption: Possible file corruption during saves or transfers.
- Missing Named Ranges: Formulas may reference named ranges that were deleted or renamed.
- Cross-Workbook Links: External references to other files that have been moved or renamed.
Business Impact
- Month-End Delays: Cannot complete formal certification without manual calculations.
- Control Weakness: Automated validation controls are not functioning as designed.
- Documentation Gap: Certification sheets are key audit evidence; errors undermine their reliability.
Issue #3: Excess/Refund Matching Backlog
High Priority - Growing backlog of unmatched items
Total Records
3,600+
Net Outstanding
$110,283.81
Oldest Items
October 2024
Description
When borrowers overpay on their loans, the excess amount is recorded in the Pymt_File (Column J: Excess) and tracked in the Excess_Filter worksheet. These overpayments should be matched against corresponding refunds (RTA- transactions) or adjustments (ADJ- transactions). A significant backlog of unmatched excess payments has accumulated, with many items remaining open for months.
Source Files & References
| File/Location | Worksheet | Column/Field | Description |
|---|---|---|---|
| Macro Purchase Parse.xlsm | Pymt_File | Column J (Excess) | Source of excess payment amounts |
| Macro Purchase Parse.xlsm | Excess_Filter | Full worksheet | Filtered view of all excess transactions |
| Macro Purchase Parse.xlsm | Pymt_File | Column A (Txn_ID) | RTA- prefix indicates refund transactions |
| Macro Purchase Parse.xlsm | Parse | Row 25 | Net Excess amount for ATE entry |
Breakdown by Period
| Period | Outstanding Amount | Notes |
|---|---|---|
| October 2024 - June 2025 | -$83,796.58 | Older items, likely require research |
| July 2025 - Current | -$14,574.86 | More recent, may self-resolve |
| Other/Miscellaneous | -$11,912.37 | Various periods |
Business Impact
- Customer Impact: Borrowers may be owed refunds that have not been processed.
- Reconciliation Noise: Unmatched items create ongoing variances that must be tracked.
- Manual Effort: Current matching process is manual and time-consuming.
- Aging Risk: Older items become increasingly difficult to research and resolve.
Issue #4: SCRA Adjustments Pending Resolution
Medium Priority - Requires compliance guidance
Description
The Servicemembers Civil Relief Act (SCRA) provides protections for active-duty military members, including interest rate caps on pre-service debts. When a borrower qualifies for SCRA benefits, LendingPoint processes adjustments to reduce interest charges. These adjustments appear in the reconciliation as ADJ- transactions but there is no clear protocol for how CCB should handle them from a settlement perspective.
Source Files & References
| File/Location | Worksheet | Column/Field | Description |
|---|---|---|---|
| Macro Purchase Parse.xlsm | Pymt_File | Column A (Txn_ID) | ADJ- prefix with SCRA notation |
| Macro Purchase Parse.xlsm | Pymt_File | Column H (Interest) | Negative interest amount (credit to borrower) |
| Daily LendingPoint files | Various | Settlement entries | SCRA adjustments in daily wire |
Example Transactions
| Transaction ID | Amount | Type | Status |
|---|---|---|---|
ADJ-0106548647 | $3,583.44 | SCRA Interest Adjustment | Pending resolution |
ADJ-0106673829 | $263.63 | SCRA Interest Adjustment | Pending resolution |
Open Questions
- Refund to Borrower? Should the adjustment amount be refunded directly to the servicemember?
- Transfer to LendingPoint? Does LendingPoint absorb this as a cost of SCRA compliance?
- Write-Off? Should CCB write off the amount as a regulatory compliance cost?
- Documentation: What documentation is needed to support the disposition of these adjustments?
Business Impact
- Compliance Risk: SCRA is a federal regulation; improper handling could create regulatory issues.
- Accumulating Balance: Without clear guidance, SCRA adjustments continue to accumulate.
- Cross-Functional Dependency: Resolution requires input from Compliance, Legal, and LendingPoint.
Issue #5: Charge-Off Interest Reconciliation Discrepancy
Medium Priority - Affects validation checks #9 and #13
Failing Check #9
120-ChargeOff Interest Match
Location: 120-CO!AE2
Failing Check #13
180-ChargeOff Interest Match
Location: 180-CO!AU20
Status
Under Investigation
Description
The charge-off interest reconciliation fails for both 120-day and 180-day charge-off subledgers. While principal amounts reconcile correctly (checks #8 and #12 pass), the interest components including capitalized interest do not match between the subledger delta calculations and the validation totals.
Source Files & References
| File/Location | Worksheet | Cell/Range | Description |
|---|---|---|---|
| Macro Purchase Parse.xlsm | 120-ChargeOff | AE2 | 120-day interest + capitalized interest delta validation |
| Macro Purchase Parse.xlsm | 180-ChargeOff | AU20 | 180-day 3-way interest delta validation |
| Day_Tape (Daily) | ChargeOff records | Interest columns | Source interest amounts from LP |
| Horizon Subledger | 120/180 CO accounts | Interest balance | CCB's recorded interest balance |
Potential Root Causes
- Capitalized Interest Timing: Interest capitalization may occur at different times between LP and CCB systems.
- Accrual Method Differences: LP may use a different interest accrual methodology than CCB's subledger.
- Partial Payments Applied Differently: When partial payments are received on charged-off loans, the interest allocation may differ.
- Backdated Adjustments: Late adjustments to charge-off records may not flow through both systems consistently.
Business Impact
- Subledger Integrity: Charge-off subledgers may not accurately reflect interest recovery on bad debt.
- Financial Reporting: Interest income from charge-off recoveries may be misstated.
- Validation Reliability: Two of seventeen validation checks consistently failing reduces confidence in the overall reconciliation.
Issue #6: Canceled Loan Validation Failures
Medium Priority - Affects validation checks #16 and #17
Failing Check #16
Canceled Principal Match
Location: Parse!V13
Failing Check #17
Canceled Interest Match
Location: Parse!W13
Related To
Issue #1 (Legacy Balance)
Description
The canceled loan validation checks fail because canceled/rescinded loan transactions are not properly reconciling between the payment file totals and the validation worksheet calculations. This is directly related to Issue #1, where "Canceled Loans Not Reported" was identified as a root cause of the legacy carry-over balance.
Source Files & References
| File/Location | Worksheet | Cell/Range | Description |
|---|---|---|---|
| Macro Purchase Parse.xlsm | Parse | V13 | Canceled loan principal validation check |
| Macro Purchase Parse.xlsm | Parse | W13 | Canceled loan interest validation check |
| Macro Purchase Parse.xlsm | Pymt_File | Canceled transactions | CANC- prefixed transaction records |
| Daily LP Files | Various | Rescission records | Loan cancellation/rescission notifications |
Connection to Issue #1
The legacy carry-over balance (Issue #1) specifically identified "Canceled Loans Not Reported" as a primary factor. These validation failures confirm that the canceled loan reconciliation remains problematic:
- Historical Orphaned Records: Canceled loans from the August 2023 migration were never properly closed out.
- Ongoing Discrepancies: New canceled loans may also fail to reconcile if the same systemic issue persists.
- Manual Workaround Impact: The exclusion of the $1.33M balance may mask ongoing canceled loan issues.
Business Impact
- Rescission Compliance: Canceled/rescinded loans have regulatory timelines for fund returns.
- Settlement Account Accuracy: Unreconciled canceled loan amounts remain in the settlement account.
- Audit Trail: Inability to validate canceled loans creates documentation gaps for examiners.
Issue #7: Wire Variance from Penny Rounding
Low Priority - Accepted variance, documented for completeness
Current Variance
-$0.02
Maximum Expected
$0.09/payment
Status
Accepted / Auto-Adjusted
Description
Validation checks #3 (Top Debit Match Wire) and #4 (Remitted Amount = Wire) fail by $0.02 due to Out of Balance (OOB) penny rounding. This occurs when Principal + Interest does not exactly equal the Total Payment amount due to rounding at different precision levels. This is an expected and accepted variance that is auto-captured and adjusted.
Source Files & References
| File/Location | Worksheet | Cell/Range | Description |
|---|---|---|---|
| Macro Purchase Parse.xlsm | Parse | N16 | Check #3: Top Debit Match Wire validation |
| Macro Purchase Parse.xlsm | Parse | N18 | Check #4: Remitted Amount = Wire validation |
| Macro Purchase Parse.xlsm | Pymt_File | Column AA (OOB) | Out-of-Balance penny discrepancy per transaction |
| Macro Purchase Parse.xlsm | OOB_Filter | All rows | Filtered view of all OOB transactions |
| Macro Purchase Parse.xlsm | Parse | Row 25 | Net OOB adjustment captured in ATE |
Why This Is Accepted
- Industry Standard: Penny rounding variances are common in payment processing and typically immaterial.
- Auto-Captured: The OOB_Filter worksheet isolates all transactions where OOB ≠ 0, and Parse row 25 captures the net adjustment.
- Monthly True-Up: Accumulated OOB amounts are settled with LendingPoint during the monthly true-up process.
- Bounded Variance: Maximum OOB per payment is $0.09, making the risk of material accumulation minimal.
Monitoring Recommendation
- Alert Threshold: If wire variance exceeds $1.00, investigate for non-OOB causes.
- Monthly Review: Verify OOB adjustments are included in monthly true-up with LP.
- Documentation: This issue formalizes the accepted variance for audit trail purposes.
Terms & Definitions
Key terminology with column references
- ATE (Accounting Template Entry)
- Formatted journal entry for General Ledger posting. Generated by Parse sheet.
- CCB (Coastal Community Bank)
- Bank of record for LendingPoint loans. Holds underlying accounts.
- DPD (Days Past Due)
- Number of days since payment was due. Classifies delinquency severity.
- Excess Payment
- When borrower pays more than due. Held in settlement until refunded.
- Horizon
- CCB's core banking system (FIS Horizon/H360). Source of transaction data.
- LAI (Loan Account Identifier)
- Unique loan identifier in format LAI-XXXXXXXX.
- LP (LendingPoint)
- Partner that originates and services loans. Sends daily payment files.
- OOB (Out of Balance)
- Penny rounding where Principal + Interest ≠ Total. Max $0.09/payment.
- PA (Participation Agreement)
- Contractual arrangement for loan participation. CCB participates vs. owns.
- PURCH (Purchased)
- Loans CCB has purchased outright (vs. participated). Uses GL suffix 050.
- SCRA
- Servicemembers Civil Relief Act. Requires interest rate caps for military.
- Settlement Account
- Bank account 1600020521 where wires received and payments processed.
- Subledger
- Detailed subsidiary ledger tracking individual loans. 120/180 track charge-offs.
- True-Up
- Monthly adjustment to settle accumulated small differences with LP.
Transaction Codes
Horizon system codes
Code 30 - Debit
Outgoing payments, adjustments, excess. Money leaving settlement account.
Code 45 - Wire
Incoming wire transfers from LendingPoint. Primary inflow source.
Code 60 - Credit
Refunds, OOB adjustments, true-ups. Money entering settlement account.
Payment File Column Reference
Pymt_File structure (59,812 rows)
| Column | Field Name | Description |
|---|---|---|
| A | Txn_ID | Transaction ID with prefix (LPT-, RTA-, ADJ-, CHG-) |
| B | loan_number | Loan identifier (LAI-XXXXXXXX format) |
| C | Loan_Status | Current loan status |
| D | Created_Date | Transaction creation date |
| E | Date_remitted | Settlement/remittance date - KEY FILTER FIELD |
| F | Transaction_Amount | Total transaction amount |
| G | Principal | Principal portion of payment |
| H | Interest | Interest portion of payment |
| I | Fees | Fee portion of payment |
| J | Excess | Overpayment amount (triggers Excess_Filter) |
| K | Payment_Type | ACH, Debit Card, Check, Refinance, Excess, CO Sale Proceeds |
| N | Loan_Product_Type | DTC, POS, eBay, JOOR |
| Q | DMC_Fee | Debt Management Company fee |
| R | Remitted_Amount | Amount actually remitted |
| AA | OOB | Out-of-Balance amount (penny discrepancies) |