Money movement and financial logic
Lending and credit decisioning testing
Lending and credit decisioning testing checks that each applicant and borrower gets the decision, reasons, and terms that the credit rules define. Lenders, BNPL providers, and loan marketplaces receive a credit decisioning rule test matrix, repayment and early repayment scenarios, late fee and hardship rule checks, and a lead routing and partner handoff test report.
What lending and credit decisioning testing covers
A rule defect in a credit or servicing system repeats on every application or loan that takes the same path, as a lost loan, a fee refund, or a notice defect that an examiner or partner bank can cite. Clause references below were checked against the eCFR (current to 2026-09-14) on 2026-09-16.
Credit decisioning rules and adverse action reasons
Each cut-off in the credit policy is tested below, at, and above its value: score, debt-to-income ratio, verified income, loan amount, and state eligibility. Tests also cover rule precedence, where a knockout rule stops the application before scoring, and the rule version applied to applications submitted before a policy change. Under 12 CFR 1002.6(b)(2)(ii), a scoring system may use age only if an applicant aged 62 or older is not assigned a negative factor or value, so synthetic applicants on both sides of that age run through every scorecard.
A new rule that ships without a reason code makes the notice fall back to a generic reason. Regulation B requires specific principal reasons (1002.9(b)(2)), comment 9(b)(2)-7 takes them from the component of a combined system that the applicant failed, and comment 9(b)(2)-9 states that credit score key factors do not satisfy the requirement. The Regulation B page lists the full requirement table.
Credit bureau data parsing
Bureau response tests cover no-hit, frozen, thin, and multiple returned files, and missing or zero balances. A parser that drops the fraud alert indicator lets the engine approve without an identity step: a user of a report with an initial fraud alert or active duty alert may not establish a new credit plan or extension of credit, other than under an open-end credit plan, unless the user uses reasonable policies and procedures to form a reasonable belief that it knows the requester's identity (15 U.S.C. 1681c-1(h)(1)(B)(i)). A parser that discards tradelines on accounts shared with a spouse loses history that 1002.6(b)(6)(i) requires a creditor who considers credit history to consider.
Repayment schedules and early repayment
Scenarios move loans through scheduled, partial, missed, returned, and early payments, and regenerate the schedule under the contract's rule: shorter term or lower payment. Payoff quotes are tested for the good-through date and for a payment that posts after the quote. For consumer lending, payoff behaviour has to match the 1026.18(k) prepayment disclosure. For precomputed loans, 15 U.S.C. 1615 requires a prompt refund of unearned interest on prepayment in full, with no refund required below $1 (1615(a)), and a payoff statement before the end of the 5-day period that begins when the creditor receives the consumer's request (1615(c)(1)). The arithmetic behind each schedule is recalculated by financial calculation testing.
Late fee and hardship rules
Late fee tests cover grace periods, weekend due dates, payments returned after a fee, and fee caps per state or plan; BNPL plans add a check of the fee count per missed instalment. In collecting consumer credit debt, the FTC Credit Practices Rule makes it an unfair practice for a creditor to levy or collect a delinquency charge on a full payment made on its due date or within the grace period when the only delinquency comes from late fees on earlier instalments (16 CFR 444.4(a)). A payment waterfall that pays the old late fee first breaks that rule on every following cycle.
Hardship tests cover entry, exit, missed plan payments, fee suppression, and accrual during deferral. Under 12 CFR 1026.20(a)(4), a payment schedule change made because of default or delinquency is not a refinancing unless the rate is increased or the new amount financed exceeds the unpaid balance plus earned finance charge and premiums for insurance of the types in 1026.4(d). A refinancing requires new disclosures (1026.20(a)), so tests flag each hardship plan that meets either condition. Payment plans in collections run through the same checks.
Lead routing and partner handoff
Routing tests cover eligibility filters by state and credit tier, bid order, partner timeouts, duplicate leads, and funded-loan postbacks matched to the lead that earns the fee. When an application goes to more than one creditor and no credit is offered, or the applicant does not expressly accept or use the credit offered, each creditor taking adverse action must give notice directly or through a third party, and a third-party notice discloses each creditor's identity (1002.9(g)). A marketplace that regularly refers applicants to creditors is a creditor for 1002.4(a) and (b) (1002.2(l)), so routing filters are tested for prohibited-basis inputs. Partner payloads are tested for encryption in transit over external networks under the GLBA Safeguards Rule, 16 CFR 314.4(c)(3).
Related
Segments
Standards
Deliverables
Credit decisioning rule test matrix
A matrix that tests each credit rule below, at, and above its cut-off and traces each decline path to the adverse action reasons on the notice, for credit risk, compliance, and engineering leads.
Repayment schedule and early repayment scenarios
Scenarios that move test loans through scheduled, partial, missed, and early payments and compare each schedule, payoff quote, and interest refund with the loan contract and its disclosures.
Late fee and hardship rule checks
Checks that the fee engine charges a late fee only when the contract and fee rules allow it and that each hardship plan changes payments, fees, and accrual as the servicing policy states.
Lead routing and partner handoff test report
A report of each routing rule, partner eligibility filter, partner payload, and funded-loan postback tested, with the consent version per lead and the notice path when partner lenders decline, for marketplace and partner managers.
How lending tests fit your release process
Pull requests. The credit decisioning rule test matrix runs against the rules engine in your CI on each change to a rule, a scorecard, or a reason code table. A rule without a mapped reason fails the build.
Policy and configuration releases. Cut-offs, fee tables, state lists, and partner lender lists change without a code deploy. Each change triggers the pre-release suite, and a partner lender added to the routing table triggers the lead routing suite before any live lead reaches that partner.
Test environments and data. Applicants are synthetic identities with synthetic bureau responses, including fraud alerts, frozen files, and shared tradelines. No real applicant or borrower account data enters a test environment. Servicing tests run on a controlled clock, so one nightly run moves test loans through due dates, grace periods, hardship plans, month ends, and payoff.
Partner integrations. Contract tests check each partner API specification on every build. Sandbox runs confirm offers, declines, and postbacks before a partner goes live.
After release. A smoke run submits synthetic applications through each channel and checks the decision, the notice queue, the servicing schedule, and the partner postback.
Evidence. Each release carries the matrix, scenario results, and report for the policy version it shipped. Regulation B requires a creditor to keep applications, evaluation information, and notices for 25 months after notice for consumer credit (1002.12(b)(1)); test evidence is stored beside those records under the same version. The Regulation Z page lists the disclosure artifacts examiners request.
Handover. Suites, matrices, and synthetic data generators live in your repository. Your credit risk and compliance leads own the rules and reason text, and your engineers run every suite without us.
Sample deliverable
Sample, synthetic data
| ID | Flow | Defect | Severity and status | Financial impact (XTS) and basis | Rule touched |
|---|---|---|---|---|---|
| DEF-101 | Instalment loan interest accrual | Daily interest uses a 360-day year while the loan agreement and the APR disclosure use a 365-day year, so a 20.00% nominal loan accrues at about 20.28% | Critical; fixed, retest passed | 1.14 overcharged per affected loan per 30 days at 5,000.00 principal | 12 CFR 1026.22(a)(2): APR accurate within 1/8 of 1 percentage point |
| DEF-102 | Credit line repayment | App payments received after 16:00 on the due date are credited the next day and trigger a late fee | Critical; open | 25.00 late fee charged in error per affected account per billing cycle | 12 CFR 1026.10(b)(2)(ii): payment cut-off no earlier than 5 p.m. on the due date |
| DEF-103 | Instalment loan early payoff | Payoff quote adds a prepayment fee while the loan disclosure states that no prepayment charge applies | Major; fixed, retest passed | 50.00 charged in error per affected early payoff | 12 CFR 1026.18(k)(1): prepayment charge disclosure |
| DEF-104 | Loan application decisioning | Applications declined after a decision service timeout stay in pending status and no adverse action notice is sent | Major; open | 0.00 direct loss per affected applicant; the exposure is regulatory | 12 CFR 1002.9(a)(1)(i): notice of action within 30 days of a completed application |
| DEF-105 | BNPL merchant fee calculation | Merchant fee at 5.99% is calculated on the order total including shipping, while the merchant fee schedule excludes shipping | Major; fixed, retest passed | 0.90 overcharged per affected order with 15.00 shipping | No regulation clause; merchant fee schedule |
| DEF-106 | BNPL partial refund | A 40.00 partial refund reduces the last instalment instead of the next instalments, so the next instalment is collected in full | Minor; deferred to the next release with a manual adjustment procedure | 40.00 collected early per affected order until the final instalment date | No regulation clause; customer instalment agreement |
| DEF-107 | Wallet peer-to-peer transfer | A transfer retried after a client timeout is sent with a new idempotency key, so the wallet balance is debited twice | Blocker; fixed, retest passed | 60.00 debited in error per duplicated transfer in the test case | 12 CFR 1005.11(a)(1)(ii): incorrect electronic fund transfer |
| DEF-108 | Wallet dispute handling | The provisional credit job skips disputes received on a weekend, so the credit posts on business day 11 | Critical; open | 150.00 held one business day too long per affected dispute | 12 CFR 1005.11(c)(2)(i): provisional credit within 10 business days |
Amounts use XTS, the ISO 4217 code reserved for testing. Loans, orders, wallets, and disputes are generated test records with no customer data.
Questions
What is a loan origination system?
What is a prepayment penalty?
Is a late fee a finance charge?
What is a hardship program?
Scope your lending and credit testing
Send your credit policy, loan products, servicing rules, and partner lender list, and we return a test scope that maps the four deliverables to your release process.
Scope your testing