Use case #0003

Repayment posting: how GIRO / Direct Debit AI reconciles collections to loan accounts in real time

Every instalment collected via GIRO / Direct Debit generates a bank credit to the institution's collection account. That credit must be matched to the correct loan account, applied to interest first and then principal (or per the institution's amortisation schedule), and posted to the CBS — before the borrower's DPD count updates, before the provisioning calculation runs, and before the collections team contacts a borrower who has in fact already paid. The Repayment Agent AI reconciles every GIRO / Direct Debit credit in real time: from the GIRO settlement file to the CBS posting, every payment finds its account within the same business day.

Why repayment posting fails in manual operations — and the downstream consequences

In a manual or semi-automated posting process, the GIRO settlement file arrives daily at a designated time — typically the morning of the following business day — containing the results of all GIRO / Direct Debit presentations that were processed the previous day. The operations team downloads the file, matches each credit against the loan account register, and posts successful collections to the CBS. Late, partial, or failed postings create three categories of downstream failure. A borrower who paid via GIRO / Direct Debit and is still showing overdue in the CBS is called by the collections team the next morning — a call that damages the borrower relationship and wastes the agent's time. A provisioning system that runs on CBS data at month-end calculates provisions for accounts that have paid but not yet been posted — over-provisioning that inflates the institution's provisioning expense. And a monthly management report that includes instalment collection rates calculated from unposted CBS data understates the actual collection rate — potentially triggering unnecessary collections escalation for accounts that have already paid.

The Repayment Agent AI processes the GIRO settlement file the moment it is available, matches every entry to the correct loan account, applies each payment to the correct components (interest, principal, fees), and posts to the CBS — all before the operations team arrives for the morning shift. The collections team sees accurate CBS data. The provisioning runs on posted balances. The management report reflects actual collection rates.

"A borrower who paid via GIRO / Direct Debit at 11 PM on Tuesday and receives a collection call at 9 AM on Wednesday has not had a collections problem — the institution has had a posting problem."

The real-time posting reconciliation: today's GIRO / Direct Debit settlement

GIRO / Direct Debit Settlement Reconciliation — Nov 5, 2025 · All instalment Due Accounts
2,184 presentations made Nov 2 · Settlement file received Nov 5 07:18 · Processing complete 07:44
Presentations Nov 22,184
Successful debits2,041 (93.5%)
Failed returns143 (6.5%)
Auto-posted to CBS2,041 (100% of success)
Partial payments0
Processing time26 minutes
Account / Borrower Amount Mode Posting action Status
LA-2025-9841
Ananya Krishnamurthy
SGD42,800 GIRO / Direct Debit Interest SGD35,000 · Principal SGD7,800 · DPD reset to 0 Posted ✓
LA-2024-4821
Rajan Textiles
SGD18,400 GIRO / Direct Debit Interest SGD12,100 · Principal SGD6,300 · DPD reset to 0 Posted ✓
LA-2024-9010
Shanthi Devi
Bounce Return insufficient funds · Penal SGD500 accrued · Retry scheduled Nov 8 Unpaid ✗
LA-2025-1124
Prakash Tan
SGD9,100 GIRO / Direct Debit Interest SGD5,900 · Principal SGD3,200 · DPD reset to 0 Posted ✓
LA-2023-7221
Kavitha Suresh
SGD24,800 PayNow / PromptPay / DuitNow PayNow / PromptPay / DuitNow self-payment · Interest SGD18,400 · Principal SGD6,400 · DPD reset · Penal waived (first bounce, same-month payment) Posted ✓
LA-2024-2218
Geetha Constructions
SGD42,800 GIRO / Direct Debit ⚑ Amount matched mandate but excess vs current instalment — prepayment component SGD8,200 flagged for application instruction Flag ⚑
● 2,041 successful payments auto-posted 07:18–07:44 · CBS updated before business hours · 143 bounces: return codes logged, retry/escalation actions triggered · 0 manual postings required for standard transactions

The payment application rules: how each dollar (SGD) is allocated

Full instalment
exact amount
Standard · 95%+ of all GIRO / Direct Debit collections

instalment amount matches exactly — applied per amortisation schedule (interest first, then principal)

The GIRO / Direct Debit debit amount equals the current month's instalment exactly. The Repayment Agent AI applies the payment per the amortisation schedule for that specific instalment number: the interest component (as per the reducing balance calculation for that period) is posted first, then the principal component. The outstanding principal on the loan account reduces by the principal component. The instalment count advances by 1. DPD counter resets to zero.

→ Auto-posted · No manual action · DPD reset · instalment count advances
Amount above
current instalment
Requires instruction — borrower may have paid instalment + partial prepayment

Amount exceeds current instalment — excess must be applied to future instalment, penal waiver, or principal prepayment

When a GIRO / Direct Debit debit or PayNow / PromptPay / DuitNow payment exceeds the current instalment, the Repayment Agent AI flags the excess and applies a default rule pending explicit instruction: the excess is applied to the next instalment in advance (reducing the next month's GIRO / Direct Debit presentation by the same amount), unless the loan agreement specifies a different default application. Large excesses (above 3× the instalment) are flagged for the CBS team to confirm the intended application with the borrower before posting — an excess could be a prepayment, a full foreclosure initiation, or an input error.

→ Excess: default rule applies pending instruction · Large excess: CBS team confirms application
Partial payment
below instalment
Uncommon for GIRO / Direct Debit (mandate amount should prevent) · Common for manual payments

Amount below current instalment — applied to interest first, shortfall noted as partial overdue

A partial payment below the instalment amount is applied to the interest component first (since interest is the most time-sensitive obligation). If the partial amount covers the interest but not the full principal component, the principal shortfall remains as a partial overdue. If the partial amount does not even cover the full interest, the interest accrual continues on the unpaid interest balance. The CBS is updated with the partial payment, and the outstanding balance reflects the remaining overdue.

→ Interest first · Principal shortfall as partial overdue · DPD does not reset (full instalment not paid)
Penal charge
with instalment
Applicable when borrower pays current instalment + overdue penal from previous bounce

Penal charges applied after full current instalment is posted — not deducted before principal

When a borrower who had a previous bounce pays the current instalment amount plus the accrued penal charge, the payment is applied in order: current period interest, current period principal, then penal charge. Penal charges are never applied before the principal component — a posting order that applies penal first would understate the principal reduction and overstate the borrower's outstanding balance.

→ Application order: current interest → current principal → penal · DPD resets on full instalment receipt
PayNow / PromptPay / DuitNow or manual
payment
Self-payment via PayNow / PromptPay / DuitNow collect link or branch cash — same posting rules as GIRO / Direct Debit

PayNow / PromptPay / DuitNow and manual payments matched to loan account via UTR or reference — same same-day posting SLA

PayNow / PromptPay / DuitNow payments made via the self-payment link (sent in the bounce notification) are matched to the loan account via the UTR number embedded in the PayNow / PromptPay / DuitNow reference. Manual cash or NEFT payments are matched via the payment reference code the operations team provides to the borrower at the time of payment instruction. All non-GIRO / Direct Debit payments carry the same same-day CBS posting SLA as GIRO / Direct Debit collections — the channel is different but the posting obligation is identical.

→ UTR matching for PayNow / PromptPay / DuitNow · Same-day posting · Same posting rules as GIRO / Direct Debit
26 minSettlement file processing — 2,184 presentations, 2,041 successes auto-posted, 143 bounces processed with retry actions triggered
BeforeBusiness hours — settlement file processed by 07:44 · Collections team sees accurate CBS data when they arrive at 09:00
0Manual postings required for standard transactions — all 2,041 successful GIRO / Direct Debit collections posted automatically
Interest firstPayment application order — interest before principal before penal · Consistent per amortisation schedule for every account

The posting that happens before the collections team arrives is the posting that prevents unnecessary calls, over-provisioning, and understated collection rates

Three things happen before 9 AM on instalment due date morning that depend on the repayment posting being current: the collections team reviews the previous day's collections data and decides which accounts to call; the risk system updates DPD counts and identifies new overdue accounts; and the management dashboard's collection rate figure is computed. All three are wrong if the previous night's GIRO / Direct Debit settlements have not been posted. An operations team that has not yet processed the settlement file, a risk system counting paid accounts as overdue, and a management dashboard showing a collection rate 5 percentage points below the actual — all caused by a posting process that takes 26 minutes to run but has not run yet at 9 AM. The Repayment Agent AI runs the posting at the moment the settlement file arrives — which is always before anyone arrives at the office to need the data.

← Back to Repayment & GIRO / Direct Debit Agent AI