Auditing AI Payment Arrangement Calls for FDCPA Risk

On this page
Your voice agent just agreed a plan: "three payments of $150, starting the 15th." The loan system stored a start date of the 5th. Nobody noticed. The borrower will, when the debit hits early.
This post is for product and engineering teams at lending, BNPL and loan-servicing software companies that run a payment plan voice agent. It covers one moment: the payment arrangement. Broader topics like right-party contact and cease-and-desist live in our collections voice agent testing guide. We don't repeat them here.
This is not legal advice. Rules cited are current as of October 2026. Confirm how they apply to you with counsel.
Why the arrangement moment carries the most risk
A payment arrangement is not a conversation. It is a write to a ledger. The agent captures terms, calls a system, confirms, and writes back. Each step can fail silently.
Payment arrangement: an agreement, made on the call, to pay a set amount on set dates, often with a recurring debit. It is also called a promise to pay (PTP) when it covers one future payment.
Here is where each step breaks.
1. Capture. Speech-to-text hears "fifteenth" as "fifth." Phone audio is 8 kHz, and one-syllable number differences collapse. Error is uneven across speakers. One PNAS study found word error rates of 0.35 for Black speakers versus 0.19 for white speakers.
2. Reasoning. The LLM does date math. "Every other Friday" across a month end is easy to get wrong.
3. Tool call. The model fills API arguments. It can pass dollars where the API wants cents, or drop an installment.
4. Read-back. The agent may read the plan from its own memory, not the saved record. The caller then confirms terms that differ from what was stored.

The last failure matters most. The caller hears correct terms, and the ledger stores wrong ones. A transcript review shows a clean call. Only a diff against the system of record catches it. See transcript vs audio evaluation for why transcripts hide audio errors.
Who the FDCPA actually covers on these calls
Teams often assume an FDCPA AI voice agent rulebook applies to every collections-style call. It doesn't. The FDCPA and Regulation F cover the third-party debt collector. The statute, 15 U.S.C. 1692a(6), targets people who collect debts "owed or due another." Three carve-outs matter.
- Creditor's own staff. Excluded while "in the name of the creditor, collecting debts for such creditor."
- The false-name trap. A creditor using "any name other than his own" that suggests a third party is covered. An agent that says "Account Recovery Services" can change the analysis.
- Servicers. The (F)(iii) exclusion covers a debt "not in default at the time it was obtained." A servicer that took loans already in default is usually covered.
So a BNPL collections AI agent calling a lender's own customers, in its own name, is generally outside the FDCPA. It is not unregulated. CFPB Bulletin 2013-07 says "original creditors" collecting debt must avoid UDAAP under Dodd-Frank. Its examples read like an arrangement checklist: misstated amounts, unauthorized fees, misleading settlement terms.
State law can reach first-party lenders too. California's Rosenthal Act covers anyone collecting "on behalf of that person or others" (Civil Code 1788.2(c), per SB 187).

| Who places the call | FDCPA / Reg F | UDAAP (CFPA) | State collection law | Reg E for recurring debits |
|---|---|---|---|---|
| Third-party agency or debt buyer | Yes | Yes | Yes | Yes |
| Lender or BNPL provider, own name | Generally no | Yes | Often (e.g., Rosenthal) | Yes |
| Lender using a third-party-sounding name | Yes | Yes | Yes | Yes |
| Servicer, loan obtained before default | Generally no | Yes | Often | Yes |
| Servicer, loan obtained after default | Yes | Yes | Yes | Yes |
Build one rubric and tag each check with its law. A first-party lender can skip the mini-Miranda check. It cannot skip plan accuracy. A misstated plan is a UDAAP problem for everyone. Audit AI payment arrangement calls FDCPA-first only if you are a third-party collector.
The rules that touch the arrangement moment
Each rule maps to a spoken behavior and a record field. That pairing makes it auditable. This is where Regulation F AI calls differ from generic QA.
Misrepresenting the plan (12 CFR 1006.18)
Section 1006.18(b)(2)(i) bars falsely representing "the character, amount, or legal status of any debt." A wrong balance read aloud qualifies. So does a plan total with a silent fee. Audit by reconciling three numbers: the balance stated, the ledger balance, and the plan total.
Convenience and processing fees (12 CFR 1006.22(b))
Section 1006.22(b) bars collecting any amount not "expressly authorized by the agreement creating the debt or permitted by law." The CFPB's 2022 advisory opinion applies this to pay-to-pay fees. "Permitted by law" needs affirmative authorization; silence is not enough. A fee taken by the collector's payment processor still counts.
For a voice agent, this is a configuration risk. The fee often lives in the processor, not the prompt. The agent never says it, but the record shows it. Check both: did the agent disclose a fee, and did the ledger charge one? Then check it against a per-state allow list.
Recurring ACH authorization (Regulation E, 12 CFR 1005.10(b))
Most plans run on autopay. A preauthorized transfer recurs "at substantially regular intervals." 12 CFR 1005.10(b) requires a writing "signed or similarly authenticated by the consumer." The company "shall provide a copy to the consumer."
Phone consent can work. CFPB Compliance Bulletin 2015-06 says "oral recordings obtained over the phone may authorize preauthorized EFTs" under E-Sign. Three points get missed.
- The terms must be "clear and readily understandable."
- A copy only "available upon request" does not satisfy the rule. You must send it.
- Examiners faulted notices that left out "the recurring nature" of the debits and the amount and timing of payments.
Regulation E applies whether or not the FDCPA does. The evidence is three linked artifacts: authorization audio, the spoken terms, and proof the copy was sent.
Time-barred debt and settlement language
Section 1006.26(b) bars suing or threatening to sue on time-barred debt. The arrangement risk is subtler. The CFPB's 2020 supplemental proposal notes that in some states a partial payment "revives the debt collector's right to sue." Its testing found over 60 percent of respondents wrongly believed a collector could sue.
So a "small good-faith payment" on old debt can change the consumer's legal position. Flag every arrangement past its limitations date. Check the agent never implied a lawsuit. "Settled in full" and "paid in full" also differ. The 2013 bulletin calls misstating settlement effects a UDAAP risk.
Disputes raised mid-arrangement
"Wait, I already paid that" is a dispute signal. Under 1006.38(d)(2), a written dispute in the validation period stops collection until verification. Section 1006.38(b)(1) bars activity that overshadows dispute rights.
The audit question is narrow. After a dispute, does the agent stop closing the plan, log it, and explain how to submit it? Pushing for a first payment date after "that's not my debt" fails.
Spanish-language calls
Regulation F lets a validation notice offer a Spanish translation. Under 1006.34(e), a collector that offers one must send it "completely and accurately translated into Spanish." On calls, the risk is numeric. Code-switched callers mix English numbers into Spanish speech. Test read-backs in the caller's language, then diff the record. See testing multilingual handling.
Follow-up frequency (12 CFR 1006.14)
Plans create follow-ups. Section 1006.14(b)(2) sets the call frequency presumption: no "more than seven times within seven consecutive days" per debt. It also bars calls for seven days "after having had a telephone conversation." That day counts as day one.
The arrangement call is a conversation. So an automatic "confirm your plan" call two days later is presumed a violation. The exception: calls with "prior consent given directly to the debt collector," within seven days of it. If the caller says "call me Friday," log it with a timestamp. Each debt has its own counter.
Mini-Miranda on inbound and outbound calls
Teams ask: could a voice agent follow CFPB guidelines for debt collection disclosures on inbound calls? It can, and third-party collectors must. Section 1006.18(e)(1) applies "regardless of whether the debt collector or the consumer initiated the communication." A callback after a limited-content voicemail is the initial communication. Later calls need the shorter (e)(2) statement.
For first-party lenders, the mini-Miranda is not an FDCPA duty. Record which policy the agent follows, then test it.
The payment arrangement audit rubric
This is our AI payment arrangement calls FDCPA rubric. Each row is binary and names its evidence. A reviewer can verify it without replaying the whole call. It is the core of AI debt collection calls compliance for a plan.
| # | Check | Rule driver | Pass criterion | Evidence |
|---|---|---|---|---|
| 1 | Balance stated matches record | 1006.18(b)(2)(i); UDAAP | Spoken balance = ledger balance on call date | Audio span + ledger snapshot |
| 2 | Plan read back in full before commit | 1006.18; UDAAP | Every amount, date and count spoken before the write | Read-back audio span |
| 3 | Spoken plan = stored plan | 1006.18; UDAAP | Zero field mismatches (amount, date, count, frequency) | Diff output (code below) |
| 4 | Plan total reconciles | 1006.18; UDAAP | Sum of installments = agreed total; no hidden amounts | Diff output |
| 5 | No unauthorized fee | 1006.22(b); 2022 AO; state law | Fee is zero, or allowed for this state and agreement and disclosed | Processor log + allow list |
| 6 | Recurring debit authorized | Reg E 1005.10(b) | Recurring nature, amounts, dates and account spoken; caller assents | Authorization audio span |
| 7 | Authorization copy sent | Reg E 1005.10(b); Bulletin 2015-06 | Copy delivered, not just offered | Email/SMS delivery receipt |
| 8 | Time-barred handling | 1006.26(b); state revival law | Account flagged; no suit threat; approved script used | Account flag + transcript |
| 9 | Dispute stops the close | 1006.38; UDAAP | No plan commit after a dispute signal; dispute logged | Event log + audio span |
| 10 | Required disclosure given | 1006.18(e) (third party only) | (e)(1) on first contact, inbound or outbound; (e)(2) after | Audio span |
| 11 | Follow-up calls within limits | 1006.14(b) | Scheduled calls respect 7-in-7 and post-conversation rule, or logged consent | Dialer schedule + consent log |
| 12 | Language match | 1006.34(e); UDAAP | Read-back in caller's language; record matches | Audio span + diff |
Checks 3, 4 and 5 run automatically on every call. The rest need audio judgment or a log join. Track them as rates. They feed the scorecard in collections voice agent metrics.
Diffing the spoken plan against the system of record
Check 3 is the one teams skip, and the easiest to automate. Extract the plan the caller confirmed. Compare it field by field with what your servicing API stored.
One gotcha matters more than the code. Do not take the "spoken plan" from tool-call arguments. You would be diffing the record against itself. Take it from the read-back audio the caller agreed to.
# Simplified: diff the read-back plan against the servicing record.
from dataclasses import dataclass
from datetime import date
@dataclass(frozen=True)
class Plan:
agreed_total_cents: int
installments_cents: tuple[int, ...]
due_dates: tuple[date, ...]
fee_cents: int = 0
recurring_ach: bool = False
ach_auth_recording_id: str | None = None
def diff_plan(spoken: Plan, stored: Plan, fee_allowed: bool) -> list[str]:
issues = []
if len(spoken.installments_cents) != len(stored.installments_cents):
issues.append(f"count: said {len(spoken.installments_cents)}, "
f"stored {len(stored.installments_cents)}")
for i, (s, r) in enumerate(zip(spoken.installments_cents,
stored.installments_cents), 1):
if s != r:
issues.append(f"installment {i}: said {s}c, stored {r}c")
for i, (s, r) in enumerate(zip(spoken.due_dates, stored.due_dates), 1):
if s != r:
issues.append(f"due date {i}: said {s}, stored {r}")
if sum(stored.installments_cents) != spoken.agreed_total_cents:
issues.append("stored installments do not sum to the agreed total")
if list(stored.due_dates) != sorted(set(stored.due_dates)):
issues.append("stored due dates not strictly increasing")
if stored.fee_cents != spoken.fee_cents:
issues.append(f"fee: disclosed {spoken.fee_cents}c, stored {stored.fee_cents}c")
if stored.fee_cents and not fee_allowed:
issues.append("fee not authorized by agreement or state law")
if stored.recurring_ach and not stored.ach_auth_recording_id:
issues.append("recurring ACH stored without a linked authorization recording")
return issues
spoken = Plan(45000, (15000, 15000, 15000),
(date(2026, 11, 15), date(2026, 12, 15), date(2027, 1, 15)),
recurring_ach=True, ach_auth_recording_id="rec_81f2")
stored = Plan(45000, (15000, 15000, 15000),
(date(2026, 11, 5), date(2026, 12, 5), date(2027, 1, 5)),
fee_cents=495, recurring_ach=True, ach_auth_recording_id=None)
for issue in diff_plan(spoken, stored, fee_allowed=False):
print(issue)Output:
due date 1: said 2026-11-15, stored 2026-11-05
due date 2: said 2026-12-15, stored 2026-12-05
due date 3: said 2027-01-15, stored 2027-01-05
fee: disclosed 0c, stored 495c
fee not authorized by agreement or state law
recurring ACH stored without a linked authorization recordingThis is the opening scenario. The caller heard the 15th; the record says the 5th. A $4.95 fee was added silently. The autopay has no linked recording. A clean transcript hides all of it.
Store amounts in integer cents and dates as dates. Run this on every arrangement, not a sample. See tool call accuracy for voice agents for argument-level failures.
How small read-back errors compound
A 0.5% error rate sounds small. Across a month, it is not. This calculation is illustrative; the inputs are assumptions.
Assumptions: 40,000 arrangement calls a month across your lender customers. Four critical fields per plan: amount, first date, installment count, frequency. Each field has an independent 0.5% mismatch chance.
The chance a plan has at least one wrong field is:
P(plan wrong) = 1 − (1 − p)^k = 1 − 0.995^4 = 1.99%
Wrong plans per month = 40,000 × 0.0199 = about 794.
At six installments per plan, that is about 4,764 debits on terms the borrower never agreed to. At 1% per field, it is 1,576 plans and 9,457 debits.

Two lessons follow. Errors compound with field count, so complex plans fail more. And manual QA rarely hears them. At a 1.99% plan error rate, 50 random calls contain zero bad plans about 37% of the time. That is why check 3 runs on every call.
How to audit a payment arrangement voice agent
These steps run the AI payment arrangement calls FDCPA rubric as a release gate and a production monitor.
1. Classify legal posture per customer. Mark each lender as first-party, third-party, or a servicer that took loans after default. Rows 10 and 11 switch on or off by posture.
2. Write the plan schema first. Total, installments in cents, due dates, frequency, fee, ACH flag, authorization recording ID. Spoken extraction and API record both map to it.
3. Build arrangement scenarios. Cover a single promise to pay, multi-installment plans, biweekly dates across month ends, "the 30th" in February, mid-call changes, disputes after terms are agreed, time-barred accounts and fee states. Evalgent generates scenarios like these from your agent's prompt and flows.
4. Vary the caller. Change accent, pace, interruptions, background noise and language, including Spanish. Evalgent's caller profiles set these and reach the agent over PSTN, SIP or WebRTC, so tests use real phone audio.
5. Judge from audio, then diff. Score checks 1, 2, 6, 9 and 10 from the recording. Run the diff for 3, 4 and 5. Evalgent evaluates from the audio, not only the transcript, so "fifteenth" heard as "fifth" surfaces.
6. Size the sample. Zero failures in n calls gives a 95% upper bound near 3/n (the rule of three). To claim under 1% per plan, run 300 clean calls. To catch a 0.5% error with 95% odds, run ln(0.05) / ln(0.995), about 598 calls.
7. Gate every change. A prompt tweak that improves tone can break date math. See regression testing after model updates.
8. Monitor production. Run the diff on every live arrangement. Evalgent's production monitoring flags tool-call and policy failures with fix recommendations. Keep a per-call evidence bundle: audio span, diff, ledger snapshot, copy receipt. That is what a lender's compliance team or an examiner will ask for.
For proving compliance to customers, see the voice agent compliance audit guide and the lenders and insurers QA playbook.
Frequently asked questions
Could a voice agent follow CFPB guidelines for debt collection disclosures on inbound calls?
A voice agent can give Regulation F disclosures on inbound calls, and third-party collectors must. Under 12 CFR 1006.18(e)(1), the initial-communication disclosure applies regardless of who initiated the call. A consumer returning a limited-content voicemail is the initial communication. Later calls need the (e)(2) statement that the call is from a debt collector. Test both paths with scripted inbound calls.
Does the FDCPA apply to BNPL lenders?
The FDCPA generally does not apply to a BNPL lender collecting its own loans in its own name. It covers debt collectors collecting debts owed to another. BNPL lenders still face UDAAP rules under the Consumer Financial Protection Act and state laws such as California's Rosenthal Act. Using a third-party-sounding name can bring the lender inside the FDCPA.
Can an AI voice agent take recurring ACH authorization over the phone?
An AI voice agent can take recurring ACH authorization by phone if the process meets Regulation E and E-Sign. CFPB Compliance Bulletin 2015-06 says recorded oral authorizations may qualify. The terms must be clear, including the recurring nature, amounts and timing. The company must send the consumer a copy. Making it available on request is not enough.
Can a debt collector charge a convenience fee?
A debt collector can charge a convenience fee only if the debt agreement expressly authorizes it or a law affirmatively permits it. That is the CFPB's reading of 12 CFR 1006.22(b) in its 2022 advisory opinion. Silence in the law does not count. A fee collected by a third-party payment processor still counts as collected by the debt collector.
Do follow-up calls count toward the 7-in-7 rule?
Follow-up calls about a payment plan count toward Regulation F's call-frequency limits. A collector is presumed compliant at no more than seven calls in seven days per debt. It must also wait seven days after a telephone conversation. Calls placed with the consumer's prior direct consent, within seven days of that consent, are excluded. Log that consent with a timestamp.
Can an AI agent offer a settlement on time-barred debt?
An AI agent can discuss settling time-barred debt, but it must never threaten or imply a lawsuit under 12 CFR 1006.26(b). In some states a partial payment revives the right to sue. So agents need approved scripts for these accounts. Settlement terms must be accurate. "Settled in full" and "paid in full" differ, and misstating either is a UDAAP risk.
How do you test a payment plan voice agent?
Testing a payment plan voice agent means running arrangement scenarios with varied callers and diffing the result. Build cases for multi-installment plans, month-end dates, mid-call changes, disputes and fee states. Vary accent, noise, pace and language. Score disclosures and assent from audio. Then compare the read-back plan to the stored record, field by field, on every call.
What should a payment arrangement audit check?
A payment arrangement audit should check that the stated balance matches the ledger and the full plan was read back. It should confirm the stored plan matches the spoken one, fees are authorized and disclosed, and recurring debits have recorded authorization with a copy sent. It should also cover dispute handling, time-barred accounts, required disclosures and follow-up call limits.
The bottom line
The riskiest part of an AI collections call is not what the agent says but what it writes. Diff every spoken plan against the system of record, tag each check to the law that applies to you, and keep the audio evidence for every arrangement.
Related Articles

How to automate voice agent testing: synthetic callers vs manual QA
Learn how ai test automation replaces manual QA for voice agents. Compare synthetic callers vs human testers, with a 5-step framework to scale without hiring.
Read more
AI Agent Testing vs Voice Agent Testing: What General Tools Miss for Voice
AI agent testing measures text outputs. Voice agent testing measures behaviour through an acoustic pipeline. Five failure categories general tools miss.
Read more