Use case #0002

Bounce handling: the retry logic Repayment AI applies after a failed GIRO / Direct Debit

A GIRO / Direct Debit bounce is not a default. It is a missed collection that may have a dozen innocent explanations — the borrower's salary arrived a day late, their account was temporarily frozen for a KYC / CDD update, they had an unrelated bank system downtime. The institution's response in the first 48 hours after a bounce determines whether the instalment is collected within the month or becomes an overdue. The Repayment Agent AI reads the GIRO return reason code from the bounce, classifies it, selects the optimal retry or resolution action, and executes — without any human intervention required for the majority of bounce types.

The GIRO network return reason taxonomy — and why it matters for retry logic

GIRO network provides a return reason code for every failed GIRO / Direct Debit debit. The codes are not all the same — and treating them all identically with a single retry schedule wastes retries on accounts where a retry will certainly fail, and fails to use the right resolution path for each bounce type. A insufficient funds (insufficient funds) is resolved by waiting for the borrower's next salary credit and retrying. A return code 05 (do not honour) is a broad decline that may indicate a fraud flag on the account — retrying immediately will fail again and may create additional bank charges for the borrower. A return code 10 (account closed) cannot be retried on this account at all — the mandate needs to be modified to the new account number. Each return reason requires a different response.

"A return code 10 (account closed) retried three times is not a diligent collection effort — it is three rejection notices and three penal charges on an account that cannot pay because it no longer exists. The Repayment AI reads the return code before deciding the response."

The return reason codes and the Repayment AI's response to each

GIRO network CodeReasonFrequencyRepayment AI ResponseRetry?
01 Insufficient funds Most common · ~55% of all bounces WhatsApp + SMS notification to borrower · Retry on Day 3 (after typical salary date) · Second retry on Day 7 if first fails Yes · Day 3 + Day 7
02 Account frozen / dormant ~8% Borrower notified to activate account · Retry on Day 5 · If second failure: escalate to tele-collections for alternate payment method Yes · Day 5 only
05 Do not honour (generic decline) ~12% No immediate retry · Borrower contacted for explanation · Tele-collections team assigned Day 2 · Retry only after borrower confirms account issue resolved After confirmation only
10 Account closed ~6% No retry on this account · Borrower contacted to provide new account details · Mandate modification request submitted once new account verified · Bridge payment via PayNow / PromptPay / DuitNow requested immediately No retry · Mandate modification
11 Account number incorrect / invalid ~3% Mandate data review triggered · If bank code / SWIFT BIC changed (bank merger or branch migration): auto-update bank code / SWIFT BIC and retry · If account number wrong: contact borrower for correction · Mandate modification required After correction only
17 Debit not permitted by user (borrower instructed bank to block debit) ~5% Escalate immediately — borrower has actively blocked the mandate · Tele-collections priority contact Day 1 · Legal team notified if pattern repeats · No retry until mandate reinstated No retry · Legal alert
21 Technical failure (bank or GIRO network system issue) ~8% Automatic retry next working day · No borrower notification required (technical failure, not borrower issue) · If second attempt also fails with code 21: GIRO network sponsor bank support ticket raised Auto-retry next day
25 Mandate not registered / eGIRO reference invalid ~3% Mandate status check triggered · If mandate pending: collection via bridge method, retry once mandate activates · If mandate cancelled: new mandate registration initiated After mandate check

The bounce resolution sequence: 7-day playbook for insufficient funds (insufficient funds)

Bounce Resolution Playbook — Return Code 01 (Insufficient Funds) · Account LA-2024-9010 · Shanthi Devi
instalment SGD9,200 · Due date Nov 5, 2025 · Bounce received Nov 5, 2025 · Return insufficient funds
Day 0
Nov 5
Immediate · On GIRO network return

Bounce received and classified — WhatsApp and SMS notifications sent

GIRO network insufficient funds received at 14:32. instalment marked as unpaid in CBS. Penal charge SGD500 accrued per the loan agreement. Borrower notified immediately via WhatsApp: "Your instalment of SGD9,200 due on November 5 could not be debited from your account — it looks like the account balance may have been insufficient. We'll try again in a few days. If you'd like to pay now, tap here: [PayNow / PromptPay / DuitNow link]." SMS sent as backup.

→ Notification: WhatsApp + SMS · PayNow / PromptPay / DuitNow self-payment link provided · DPD clock starts Day 1
Day 1–2
Nov 6–7
Monitoring · Self-payment window

Self-payment window — borrower can pay via PayNow / PromptPay / DuitNow link · No collection call yet

For insufficient funds, the first 48 hours are a self-resolution window. Many borrowers pay voluntarily via the PayNow / PromptPay / DuitNow link before any tele-collection is made — salary credits typically arrive in the first few days of the month for salaried borrowers. The Repayment Agent AI monitors for any incoming PayNow / PromptPay / DuitNow credit against this loan account. If payment received: instalment marked paid, penal waiver assessed per the institution's policy (first bounce = penal waived on same-month payment), DPD counter reset.

→ 28% of insufficient funds bounces self-resolve in this 48-hour window via PayNow / PromptPay / DuitNow
Day 3
Nov 8
First GIRO / Direct Debit retry · Submitted to the GIRO network

Retry 1 submitted — Day 3 after bounce, after typical salary credit window

Day 3 is the optimal first retry date for insufficient funds bounces: most salaried borrowers have received their November salary by this point, and the account balance is most likely to be sufficient. The Repayment Agent AI submits the GIRO / Direct Debit debit presentation for SGD9,200 (the instalment only — penal charge is not included in the GIRO / Direct Debit debit; it is accrued separately and collected in the next instalment or on prepayment). A "heads up" WhatsApp is sent the previous evening: "We'll try your instalment again tomorrow — please ensure your account has SGD9,200 available."

→ 54% of insufficient funds retries succeed on Day 3 · Pre-debit WhatsApp sent Day 2 evening
Day 4–5
Nov 9–10
Retry 1 result

If Retry 1 succeeds: instalment posted, DPD reset. If fails: tele-collections assigned, Retry 2 scheduled.

If Retry 1 succeeds: instalment posted to CBS, DPD counter reset, penal charge waived per first-bounce policy (if account is in good standing). Case closed. If Retry 1 fails with insufficient funds again: the borrower's account does not have funds on Day 3. Tele-collections is assigned the case with the bounce history. A tele-collections call is made to understand when funds will be available. Retry 2 is scheduled for Day 7 (or for the date the borrower commits to having funds available, whichever is earlier).

→ Retry 1 fail: tele-collections assigned · Borrower call Day 4 · Retry 2 scheduled per borrower commitment
Day 7
Nov 12
Second GIRO / Direct Debit retry (or borrower-committed date)

Retry 2 — final GIRO / Direct Debit retry · If fails, alternate payment method required

Retry 2 is the final automated GIRO / Direct Debit retry for a insufficient funds bounce. If Retry 2 also fails, the GIRO / Direct Debit track for this month's instalment is exhausted. The Repayment Agent AI triggers the Early Bucket Caller AI: the account enters the DPD 7 bucket with two failed GIRO / Direct Debit attempts and one unsuccessful tele-collections call. The Early Bucket Caller initiates the standard early-bucket contact sequence, with the outstanding instalment + penal charge flagged as the priority collection target.

→ Retry 2 fail: case passed to Early Bucket Caller AI · DPD 7 · Two GIRO / Direct Debit failures logged · Penal: SGD500 accrued
Day 8+
Escalation
Escalation to collections track

Early Bucket Caller takes over — GIRO / Direct Debit suspended until borrower confirms account availability

From Day 8, the repayment track shifts from automated GIRO / Direct Debit collection to the collections AI agents. A third GIRO / Direct Debit debit attempt is not made until the borrower explicitly confirms (via a call or WhatsApp response) that their account has sufficient funds. An unsolicited third retry that fails would add unnecessary bounce charges, worsen the borrower relationship, and provide no collection benefit. The Repayment Agent AI suspends further GIRO / Direct Debit presentations until the Early Bucket team secures a specific payment commitment.

→ No further GIRO / Direct Debit until borrower commitment confirmed · Early Bucket Caller owns the case from Day 8
8GIRO network return codes handled — each with a specific response protocol · Not a single generic retry schedule
28%Code 01 bounces self-resolve in the 48-hour PayNow / PromptPay / DuitNow window — before any collection call is made
54%Code 01 Day 3 retry success rate — timing the retry to after typical salary credit maximises first-retry recovery
ZeroCode 10 (account closed) retries — reading the return code prevents futile retries that generate charges without collecting

A bounce is a signal — and different signals require different responses

An institution that retries every bounce on the same schedule — Day 3 and Day 7, regardless of the reason code — is treating insufficient funds (insufficient funds, likely temporary) the same as code 17 (borrower blocked the mandate, likely intentional) and code 10 (account closed, definitely unresolvable by retry). The insufficient funds retry may succeed. The code 17 retry will fail and alert the borrower that the institution is not reading their signal. The code 10 retry will fail three times and generate three sets of bank charges on a closed account. The Repayment Agent AI reads the return code, selects the response protocol matched to that specific signal, and routes cases that cannot be resolved by GIRO / Direct Debit to the collections teams that can resolve them — rather than exhausting GIRO / Direct Debit attempts on accounts where a different approach is needed.

← Back to Repayment & GIRO / Direct Debit Agent AI