@if (!isVictim) {
@if (r.status === 'ASSESSED' || r.status === 'REQUESTED') {
1. Assessment (what the bank updates on MRM)
Restoration
@for (b of bases; track b.value) {
{{ b.label }}
}
@if (possible) {
Restorable amount (₹)
Pro-rata share
}
@if (proRata) {
Complaint (ack)
Disputed
Held
Pro-rata share
@for (h of proRata.holds; track h.id) {
{{ h.acknowledgement_no }}{{ h.id === r.hold_id ? ' (this one)' : '' }}
{{ h.disputed_amount | number: '1.2-2' }}
{{ h.amount_held | number: '1.2-2' }}
{{ h.share | number: '1.2-2' }}
}
₹{{ proRata.amount | number: '1.2-2' }} held on {{ proRata.accountNo }} split by disputed
amount (total ₹{{ proRata.totalDisputed | number: '1.2-2' }}).
}
Remarks{{ possible ? '' : ' (why not possible) *' }}
Save assessment
@if (r.status === 'ASSESSED' && !r.mrm_updated) {
Entered on MRM
}
}
@if (r.status === 'ASSESSED' || r.status === 'REQUESTED' || r.status === 'IN_POOL') {
}
@if (r.status === 'REQUESTED') {
3. Bank action (as on MRM)
Action
@for (a of bankActions; track a.value) {
{{ a.label }}
}
@if (action.action === 'REFER_BACK_LEA') {
Reason
@for (x of referBackReasons; track x.value) {
{{ x.label }}
}
} @else {
Remarks{{ action.action === 'COMPLIED' ? '' : ' *' }}
}
@if (action.action === 'COMPLIED') {
@if (papers.length) {
Still needed before compliance: {{ papers.join(', ') }}.
}
₹{{ r.restorable_amount | number: '1.2-2' }} goes to {{ r.victim_name }} ({{
r.victim_account_no
}}{{ r.victim_ifsc ? ', ' + r.victim_ifsc : ', this bank' }}) once a second officer approves.
@if (r.victim_ifsc && !r.outwardReady) {
Map the I4C_RESTORATION_PAYABLE and FUNDTRANSFER_OUTWARD_SUSPENSE GLs (Organisation >
Clearing GL Configuration) before an outward restoration can be approved.
}
@if (r.compliance_due_on) {
SOP: credit the victim by {{ r.compliance_due_on | date: 'dd MMM yyyy' }} (15 days from
the notice).
}
} @else if (action.action === 'NOT_COMPLIED' || action.action === 'REFER_BACK_LEA') {
MRM asks for the account's bank statement with this action; attach it on the Documents tab.
}
{{ action.action === 'COMPLIED' ? 'Raise restoration for approval' : 'Record bank action' }}
}
@if (r.status === 'AWAITING_APPROVAL') {
Restoration request #{{ r.action_request_id }} is waiting for a second officer on the Approvals
page. On approval ₹{{ r.restorable_amount | number: '1.2-2' }} leaves {{ r.hold_account_no }} at
once.
}
@if (r.status === 'IN_POOL') {
₹{{ r.restored_amount | number: '1.2-2' }} is held in the restoration payable
It left the suspect account on approval (Dr suspect, Cr I4C Restoration Payable). The outward
{{ r.transfer_channel }} to {{ r.victim_account_no }} / {{ r.victim_ifsc }} has not gone through
yet{{ r.transfer_error ? ': ' + r.transfer_error : '.' }}
Send to the victim's bank
}
@if (r.status === 'TRANSFER_PENDING') {
Outward transfer {{ r.fund_transfer_ref }} is {{ r.transfer_status }} (fund-transfer approval /
NEFT batch). The I4C Hold Review job marks it restored once it settles.
}
@if (r.status === 'RESTORED') {
Restored ₹{{ r.restored_amount | number: '1.2-2' }} on
{{ r.restored_at | date: 'dd MMM yyyy, HH:mm' }}
On MRM, choose "Compliance of restoration order" and enter amount ₹{{
r.restored_amount | number: '1.2-2'
}}, transaction id {{ r.utr }} and this date and time.
Entered on MRM (close)
}
@if ((r.status === 'RESTORED' || r.status === 'CLOSED') && r.restored_at) {
Suspect's challenge (SOP: within 15 days of the refund, until
{{ r.challenge_until | date: 'dd MMM yyyy' }})
@if (r.contested) {
Contested on {{ r.contested_on | date: 'dd MMM yyyy' }}: {{ r.contest_remarks }}. The
investigation continues; the bank and the account holder cooperate with the IO.
} @else {
Details
Record challenge
}
}
} @else {
@if (r.status !== 'CLOSED') {
Customer's claim on the bank (RBI customer protection in fraudulent EBTs)
@if (r.liability_category) {
{{
r.liability_regime === 'RBI_2026'
? 'RBI 2026 directions (RBI/2026-27/172)'
: 'RBI 2017 framework'
}}
· {{ label(liabilityCategories, r.liability_category) }} · transaction
{{ r.txn_date | date: 'dd MMM yyyy' }} · reported
{{ r.customer_reported_on | date: 'dd MMM yyyy'
}}{{ r.cross_border ? ' · cross-border' : '' }}
{{ r.liability_note }}
@if (r.shadow_credit_due_on) {
Shadow reversal due
{{ r.shadow_credit_due_on | date: 'dd MMM yyyy' }}
·
}
Resolve by
{{
r.resolution_due_on | date: 'dd MMM yyyy'
}}
({{
r.liability_regime === 'RBI_2026'
? (r.cross_border ? '60' : '45') + ' calendar days'
: '90 days'
}})
}
Caused by
@for (c of liabilityCategories; track c.value) {
{{ c.label }}
}
Gross loss (₹)
Recovered so far (₹)
Cross-border
Assess liability
@if (r.liability_category === 'CUSTOMER_NEGLIGENCE') {
Compensation (RBI 2026, para 65.1T):
@if (r.comp_eligible) {
₹{{ r.comp_amount | number: '1.2-2' }} ({{ r.comp_reason }}) · RBI ₹{{
r.comp_share_rbi | number: '1.2-2'
}}
· this bank ₹{{ r.comp_share_own | number: '1.2-2' }} · beneficiary bank ₹{{
r.comp_share_beneficiary | number: '1.2-2'
}}
} @else {
not eligible: {{ r.comp_reason }}
}
@if (r.comp_eligible && !r.comp_status) {
Customer applied (pay within 5 days)
} @else if (r.comp_status === 'APPLIED') {
Applied {{ r.comp_applied_on | date: 'dd MMM yyyy' }}; pay by
{{ r.comp_due_on | date: 'dd MMM yyyy' }}.
Pay compensation (checker)
Reject
} @else if (r.comp_status) {
Compensation {{ r.comp_status }} {{ r.comp_paid_on | date: 'dd MMM yyyy' }}
}
}
@if (r.liability_category && r.liability_category !== 'CUSTOMER_NEGLIGENCE') {
@if (!r.shadow_credit_status || r.shadow_credit_status === 'REJECTED') {
Shadow reversal (₹)
Request shadow reversal (maker)
A provisional credit the customer cannot use until the case is decided (a lien is placed on
it).
} @else if (r.shadow_credit_status === 'PENDING') {
Shadow reversal of ₹{{ r.shadow_credit_amount | number: '1.2-2' }} requested by
{{ r.shadow_credit_requested_by }}; a different officer approves it.
Approve and credit (checker)
Reject
} @else {
Shadow reversal ₹{{ r.shadow_credit_amount | number: '1.2-2' }} posted
{{ r.shadow_credited_at | date: 'dd MMM yyyy' }} by {{ r.shadow_credited_by }}
{{
r.shadow_finalised_at
? '· final ' + (r.shadow_finalised_at | date: 'dd MMM yyyy')
: '· provisional (lien on it)'
}}
@if (r.regularised_at) {
· regularised ₹{{ r.regularised_amount | number: '1.2-2' }} on
{{ r.regularised_at | date: 'dd MMM yyyy' }}
}
@if (!r.shadow_finalised_at && !r.regularised_at) {
Zero liability established: make final
}
@if (!r.regularised_at && r.received_amount) {
Recover it from the restored money
}
}
}
Or: why no (more) restoration is expected
Victim status
@for (v of victimStatuses; track v.value) {
{{ v.label }}
}
Justification *
Record and close
} @else {
Case closed{{ r.victim_status ? ': ' + label(victimStatuses, r.victim_status) : '' }}.
}
}
@if (!isVictim && r.status === 'CLOSED') {
Closed{{
r.bank_action === 'NOT_COMPLIED' ? ': order not complied (' + r.bank_action_reason + ')' : ''
}}.
}