99testsStart a job

Test case library · Payments

Test cases for bank fund transfer: IMPS, NEFT and RTGS

This flow covers sending money from a banking app by IMPS, NEFT or RTGS: adding a beneficiary with an account number and IFSC, the name check, the cooling period, limits, OTP approval, scheduled transfers and the status and receipt afterwards. It fails in the field when an OTP SMS is late or goes to the other SIM, when a wrong or outdated IFSC is accepted, or when a transfer stuck in Pending looks like a failure and the user sends the money again.

40 test cases9 release-blocking (P1)12 need a real phoneUpdated 2026-10-29

From the reviews. 42 of the 317 malfunction reviews in our India App Quality Report describe a failed, stuck or double-debited payment. 34 of them are on apps other than UPI and banking apps, where paying is one step inside a booking, order, premium, top-up or repayment; 11 on travel apps alone.

category page · India App Quality Report

In scope

  • Adding a beneficiary with account number and IFSC, and the name lookup
  • The cooling period after adding a beneficiary
  • IMPS, NEFT and RTGS transfers within configured limits
  • OTP approval, scheduled transfers and status tracking
  • Receipts and alerts

Out of scope

  • UPI payments, covered on the UPI payment page
  • Transfers to accounts outside India

Before you start

  • Test bank accounts with known balances, and beneficiary accounts at another test bank
  • Test accounts set up to return, delay or reject credits
  • Real Android phones, including a 3–4 GB RAM dual-SIM phone with the registered number on a SIM
  • A list of valid, badly formed and merged-branch IFSCs for testing
Show
Add to a test plan

Happy path9

FT-01

Add a beneficiary with account number and IFSC

P1functionalreal phone
  1. Open Add beneficiary and enter the account number twice
  2. Enter the IFSC and check the bank and branch shown
  3. Enter a nickname, submit and enter the OTP sent by SMS

Expected: The beneficiary appears in the list with the bank-registered name and a masked account number. Its status shows whether it is active or still in the cooling period.

Why a real phone: The beneficiary OTP arrives by SMS over the carrier network to a real SIM.

FT-02

Check the name the bank returns before saving a beneficiary

P1functional
  1. Enter a valid test account number and IFSC
  2. Wait for the name lookup to finish
  3. Compare the returned name with the expected account holder

Expected: The account holder's name as the bank holds it appears before the user can save or send. Save stays disabled while the lookup is running.

FT-03

Show the cooling period after adding a beneficiary

P2functional
  1. Add a new beneficiary and confirm with the OTP
  2. Open the beneficiary list and the new beneficiary's details
  3. Start a transfer to it

Expected: The new beneficiary is marked as in its cooling period, with when it becomes fully active or the reduced limit that applies. The transfer screen shows the same information.

FT-04

Send money by IMPS to an active beneficiary

P1functional
  1. Pick an active beneficiary and enter ₹10
  2. Choose IMPS, review the confirmation screen and authorise as the app asks
  3. Open the result screen and the account balance

Expected: The result shows Success with a reference number and the IST time. The balance is ₹10 lower.

FT-05

Send money by NEFT and follow its status

P2functional
  1. Pick an active beneficiary and choose NEFT
  2. Send ₹10 and note the expected credit time shown
  3. Open the transaction's status page until it changes

Expected: The status moves from In process or Pending to Credited or Completed, and each change shows its time. The reference number stays the same throughout.

FT-06

Pick IMPS, NEFT or RTGS to suit the amount

P2functional
  1. Enter a small amount and open the transfer mode options
  2. Enter an amount the app marks as eligible for RTGS
  3. Send it by RTGS and open the receipt

Expected: The options list only the modes the bank allows for each amount, each with its expected credit time. The RTGS receipt shows the mode and its reference number.

FT-07

Approve a transfer with the OTP sent by SMS

P1functionalreal phone
  1. Start a transfer that the app protects with an OTP
  2. Wait for the SMS and enter the OTP
  3. Submit before the OTP timer ends

Expected: The OTP arrives on the registered number and the transfer completes with a reference number. The SMS names the amount or the beneficiary, so the user knows what they are approving.

Why a real phone: OTP delivery depends on the carrier network and a real SIM.

FT-08

Schedule a one-time future transfer and a monthly one

P2functional
  1. Set up a one-time transfer for a future date
  2. Set up a monthly transfer with an end date
  3. Open the scheduled transfers list

Expected: Both appear with the beneficiary, amount, frequency and next run date in IST. Each one runs on its date and appears in history with a reference number.

FT-09

Download and share a transfer receipt

P2functional
  1. Open a completed transfer from history
  2. Tap Download or Share and send it to a messaging app
  3. Open the shared file

Expected: The receipt shows the amount, mode, reference number, beneficiary name, masked account number, IFSC and IST date and time. The shared copy matches the screen.

Validation & negative9

FT-10

Reject a badly formed IFSC

P2negative
  1. Enter an IFSC with ten characters
  2. Enter an 11-character IFSC whose fifth character is a letter
  3. Enter one with a space or a symbol

Expected: Each one shows an inline format error and no bank or branch name. The beneficiary cannot be saved.

FT-11

Use the IFSC of a merged or closed branch

P2negative
  1. Enter a correctly formatted IFSC from a branch that has merged or closed
  2. Try to save the beneficiary

Expected: The app says the IFSC is not valid for transfers or points to the new branch. It does not save a beneficiary that will fail later.

FT-12

Re-entered account number does not match

P2negative
  1. Enter the account number, then re-enter it with one digit changed
  2. Fix the digit and continue

Expected: A mismatch error appears and Save stays disabled until both entries match.

FT-13

Name returned by the bank differs from the name entered

P1negative
  1. Enter a beneficiary name that differs from the account holder's
  2. Enter the account number and IFSC and wait for the lookup

Expected: The app shows the bank's name for the account next to what the user entered. It asks the user to confirm before saving or sending.

FT-14

Name lookup finds no account or a closed one

P2negative
  1. Enter a valid IFSC with an account number that does not exist
  2. Repeat with a test account that is closed or frozen

Expected: The app says the account could not be verified and does not let the user send money to it without a clear warning. No OTP is sent.

FT-15

Send more than the cooling period allows

P1negative
  1. Add a new beneficiary and stay within its cooling period
  2. Try sending an amount above what the app allows during that period

Expected: The app blocks the transfer before the OTP step and says when the full limit becomes available. No money moves.

FT-16

Send more than the configured limit

P2negative
  1. To an active beneficiary, enter an amount above the configured per-transfer limit
  2. Send transfers until the configured daily limit is used, then try one more

Expected: Each attempt above a limit is blocked before the OTP step, with the limit and the amount still available. No money moves.

FT-17

Send more than the account balance

P2negative
  1. Enter an amount higher than the available balance
  2. Tap Send

Expected: The app shows insufficient balance before or at the confirmation step, and no OTP is sent.

FT-18

Enter a wrong OTP for a transfer

P2negative
  1. Start a transfer and enter a wrong OTP
  2. Keep entering wrong OTPs until the app stops accepting attempts

Expected: Each wrong OTP shows an error, with the attempts left if the app shows them. After the last attempt the transfer is cancelled and no money moves.

Edge cases6

FT-19

Double-tap Confirm on a transfer

P1edge
  1. Fill in a transfer and reach the confirmation screen
  2. Tap Confirm twice very quickly
  3. Complete authorisation and open history

Expected: Only one OTP request or authorisation screen appears and only one transfer is made. History shows a single entry.

FT-20

IMPS stays pending at the beneficiary's bank

P1edge
  1. Use a test setup where the beneficiary's bank does not reply in time
  2. Send by IMPS and open the result screen
  3. Check the status again later

Expected: The result shows Pending with the reference number and advice not to send again. It later turns to Success, or to Failed with the money back in the account.

FT-21

NEFT is returned by the beneficiary's bank

P2edge
  1. Send by NEFT to a test account set up to return credits
  2. Open the transaction status after the return
  3. Check the account balance

Expected: The status shows Returned with a reason, and the amount is back in the account under the same reference. No second transfer is triggered.

FT-22

Scheduled transfer runs when the balance is short

P2edge
  1. Schedule a monthly transfer for a near date in the test environment
  2. Bring the balance below the amount before that date
  3. Check the scheduled list and notifications after the date

Expected: The run shows Failed with the insufficient balance reason, and the user is told. The next monthly run stays scheduled.

FT-23

Edit or cancel a scheduled transfer before it runs

P2edge
  1. Open a scheduled transfer and change its amount and date
  2. Cancel another scheduled transfer
  3. Let both dates pass

Expected: The edited transfer runs with the new amount on the new date, and the cancelled one does not run. The scheduled list shows both changes at once.

FT-24

Show large amounts in lakh and crore grouping and in words

P2edge
  1. Enter 100000, then 1000000, then 10000000 as the amount
  2. Look at the amount field and the confirmation screen

Expected: The amounts show as ₹1,00,000, ₹10,00,000 and ₹1,00,00,000. Where the app shows the amount in words, it reads one lakh, ten lakh and one crore.

Interruptions & network5

FT-25

Network drops after the transfer OTP is submitted

P1interruptionreal phone
  1. Submit the OTP for a transfer
  2. Turn on airplane mode within a second
  3. Turn the network back on and open the transaction status
  4. Repeat, submitting just as you walk into a lift or basement

Expected: The app shows Pending or Checking, not Failed, then the final status with the reference number. It does not offer to send again until the status is final.

Why a real phone: Real dead zones lose packets slowly; an emulator's network cut is instant and clean.

FT-26

OTP SMS arrives late and the user taps Resend

P2interruptionreal phone
  1. Start a transfer in a weak-signal area so the OTP SMS is delayed
  2. Tap Resend when the app allows it
  3. Enter the older OTP first, then the newer one

Expected: The older OTP is rejected or the app says which code to use, and the newer OTP completes the transfer. Only one transfer is made.

Why a real phone: SMS delay depends on weak coverage on a real carrier network.

FT-27

App killed while the user waits for the OTP

P2interruptionreal phone
  1. On a 3–4 GB RAM phone, start a transfer and reach the OTP screen
  2. Switch to the messages app, then open the camera and a game
  3. Return to the banking app

Expected: The app asks for login again or shows the transfer ready to restart. No transfer is made without a fresh OTP, and history shows no half-made entry.

Why a real phone: Low-RAM phones and OEM memory managers kill apps left in the background.

FT-28

Incoming call while entering the transfer OTP

P3interruptionreal phone
  1. Reach the OTP screen for a transfer and type two digits
  2. Answer an incoming call, then end it
  3. Return to the app

Expected: The OTP screen is still there with its timer, or the app says the OTP expired and offers Resend. No transfer is made without the full OTP.

Why a real phone: Needs a real incoming SIM call during the OTP screen.

FT-29

Switch from Wi-Fi to mobile data during the name lookup

P3interruptionreal phone
  1. On Wi-Fi, enter the account number and IFSC
  2. Turn Wi-Fi off while the name lookup is running
  3. Wait for the lookup on mobile data

Expected: The lookup finishes on mobile data or shows a retry, and Save stays disabled until a name is returned.

Why a real phone: Needs a real SIM on Jio, Airtel or Vi for the handover.

Device & OS4

FT-30

Get the OTP on the second SIM of a dual-SIM phone

P2compatibilityreal phone
  1. Keep the bank-registered number in SIM 2 and mobile data on SIM 1
  2. Add a beneficiary and wait for the OTP

Expected: The OTP arrives on SIM 2 and can be entered or auto-filled before it expires.

Why a real phone: Needs two physical SIMs receiving SMS on a real dual-SIM phone.

FT-31

Fill the transfer OTP by auto-read and by hand

P2compatibilityreal phone
  1. Start a transfer in an app that offers OTP auto-fill
  2. Allow the prompt to read the SMS
  3. Repeat, declining the prompt and typing the OTP

Expected: The allowed prompt fills the OTP field. When the prompt is declined, typing the OTP by hand still works.

Why a real phone: OTP auto-read depends on real SMS delivery and the phone's SMS handling.

FT-32

Receive transfer alerts on a phone with battery saving on

P3compatibilityreal phone
  1. On a Xiaomi, Vivo or Oppo phone, keep the default battery settings
  2. Make a transfer, then let a scheduled transfer run while the app is closed
  3. Check the SMS inbox and notifications

Expected: A debit SMS arrives for both transfers. The app notification for the scheduled run arrives, or appears when the app next opens.

Why a real phone: OEM battery savers on Xiaomi, Vivo and Oppo delay or drop app notifications.

FT-33

Read the confirmation screen on a small phone with a long beneficiary name

P3compatibility
  1. On a 5-inch phone, pick a beneficiary with a long name
  2. Enter an amount and open the confirmation screen

Expected: The full name, masked account number, IFSC, mode and amount are readable. The Confirm button can be reached without hiding any of them.

Security & privacy4

FT-34

Send an alert when a beneficiary is added

P2securityreal phone
  1. Add a beneficiary
  2. Check the SMS inbox and the email of the registered account

Expected: An alert arrives naming the new beneficiary or a masked account number, and says what to do if the user did not add it.

Why a real phone: Alert SMS delivery depends on the carrier network and a real SIM.

FT-35

Block screenshots on the OTP and confirmation screens

P2securityreal phone
  1. Open the transfer confirmation screen and try a screenshot
  2. Open the OTP screen and try the screenshot gesture and screen recording

Expected: Screenshots and recordings are blocked or come out blank on both screens.

Why a real phone: OEM screenshot gestures and recorders on Android skins must respect the secure flag.

FT-36

Mask account numbers in lists and receipts

P2security
  1. Open the beneficiary list
  2. Open a receipt and share a copy of it

Expected: The list and the shared receipt show only the last few digits of the beneficiary's account number.

FT-37

Session times out while adding a beneficiary

P2security
  1. Start adding a beneficiary and leave the app idle past the configured session timeout
  2. Return and tap Submit
  3. Log in again and open the beneficiary list

Expected: The app asks the user to log in again, and no beneficiary is saved from the expired session. The list shows no half-added entry.

Accessibility & language3

FT-38

Hear account numbers and IFSC read correctly with TalkBack

P2accessibility
  1. Turn on TalkBack and open the add beneficiary form
  2. Type an account number and IFSC, then move focus over each field
  3. Open the confirmation screen

Expected: Account numbers and the IFSC are read digit by digit or in groups, not as one large number. Every field has a spoken label.

FT-39

Add a beneficiary with the app in Hindi

P2localization
  1. Switch the app language to Hindi
  2. Add a beneficiary with a nickname typed on a Hindi keyboard
  3. Type the account number using the Hindi keyboard's own digits

Expected: Labels, errors and statuses appear in Hindi, and the Hindi nickname shows correctly in the list. Devanagari digits in the account number field are either accepted as the same number or rejected with a message.

FT-40

Use the transfer screens with the largest font and display size

P3accessibility
  1. Set font size and display size to the maximum
  2. Add a beneficiary and make a transfer

Expected: All labels, the amount and the Confirm button stay visible without cut-off text.

In the field

Where bank fund transfer (imps, neft, rtgs) breaks on real phones

  • Beneficiary OTPs arrive late on congested Jio, Airtel or Vi networks, or on the SIM without the bank-registered number, so the add-beneficiary step times out.
  • Old IFSCs from branches of merged banks still pass a format check, and transfers to them fail or come back days later.
  • IMPS transfers stuck in Pending at the beneficiary's bank look like failures, so users send the money again and pay twice once both settle.
  • Cooling period rules shown on the transfer screen differ from what the bank enforces, so users hit an unexplained block at the OTP step.
  • On 3–4 GB RAM phones the banking app is killed while the user reads the OTP in messages, and the transfer has to start again from login.
  • Amounts in lakh and crore are grouped wrongly or the amount in words is wrong, so users confirm a transfer ten times larger or smaller than they meant.

Run these 40 cases on real phones

They fit the Standard package: 10 × 45-minute sessions on 4 phones or browsers of your choice, up to ~50 cases, ₹18,999 + GST ($249), verified report in 3 business days. The 9 P1 cases alone fit Starter (₹9,999 + GST).

Download the CSV, pick the package at checkout and upload the file with your build. Testers run them on their own phones, on Jio, Airtel and Vi.

Questions

About testing bank fund transfer (imps, neft, rtgs)

What should be tested in a beneficiary cooling period?

Check that a newly added beneficiary is clearly marked as in its cooling period, with what it can receive and when that changes. Then try amounts below and above what the bank allows during that time and confirm the block happens before the OTP step. Avoid hard-coding a duration in test cases, since banks set and change their own rules.

How do IMPS, NEFT and RTGS differ for a tester?

IMPS is meant to credit almost at once, so test success, pending at the beneficiary's bank and the reversal of failed transfers. NEFT moves in batches, so test the status stages, the expected credit time shown and returned credits. RTGS is meant for larger amounts, so test that the app offers it only for amounts the bank allows and that the receipt shows its reference.

Why check the beneficiary name before sending money?

Account numbers are long and easy to mistype, and a wrong but valid account sends the money to a stranger. Showing the bank's name for the account before saving or sending lets the user catch the mistake. Test exact matches, mismatches, closed accounts and lookups that fail on a weak network.

Related flows

Test these next

Your AI wrote the test cases. Run them on real phones.

99tests runs your cases, AI-generated ones included, on the phones, laptops and browsers your users own. Every finding is verified, serious bugs come with a screen recording, and each case comes back pass, fail, blocked or not run.