Skip to content

Virtual accounts · collections guide

One account number per customer, and every transfer explains itself

Bank transfers are cheap and familiar, but they arrive with whatever the payer typed in the remarks. A virtual account number fixes that: the number a customer paid into says who they are.

Incoming bank transfers

Illustrative
  1. to PENX 0000 1042₹48,500from Shreeji Traders · NEFTMatched: Shreeji Traders, invoice 7781
  2. to PENX 0000 1187₹12,340from R. Menon · IMPSMatched: EMI for loan L-2231
  3. to PENX 0000 1042₹3,10,000from Shreeji Traders · RTGSMatched: same customer, second invoice
  4. to PENX 0000 9999₹7,000from Unknown sender · NEFTNo such virtual number: to exceptions

Customers, each with their own number

  • Shreeji Traders…1042
  • R. Menon (loan L-2231)…1187
  • Aarav Public School fees…1301
  • Exceptions: to investigate1

What arrives with each credit

Virtual number
who it's for
Amount
what they sent
Payer
name and account, where the bank passes them on
Rail
NEFT, RTGS, IMPS or UPI
Bank reference
the proof for both sides
Each customer pays to their own account number, so the number itself says who paid, whatever they typed in the remarks. Numbers shown are made up.

The problem with “please mention the invoice number”

When customers pay you by bank transfer into one account, your statement fills with credits like “NEFT · SHREEJI TRAD · 48500”. Someone then has to work out which customer that is, which invoice it pays, and what to do with the one that says only “payment”.

Asking payers to quote a reference helps a little. Many forget, some type it wrong, and a few banks cut the remarks short. At a few dozen payments a month it's a chore; at thousands it's a team.

One shared account

NEFT · SHREEJI TRAD · 48500 · “inv”

Who? Which invoice? Someone has to find out.

A virtual account per customer

to PENX 0000 1042 · ₹48,500

Number 1042 belongs to Shreeji Traders. Matched before anyone looks.

Illustrative statement lines.

What a virtual account is, and isn't

A virtual account number is issued by a bank. It looks and behaves like any account number: a payer adds it as a beneficiary with an IFSC and sends money to it. But no money sits in the virtual account itself. Credits are routed into an underlying account held with the issuing bank, and each one is tagged with the virtual number it was sent to.

Which bank issues the numbers, and whose account the money lands in, depends on how your setup is structured, and is agreed during onboarding. That matters for when and how the money reaches you, so ask about it early.

It is

A real account number and IFSC that any bank customer can pay into

It is

A label that tells you which customer or invoice a credit belongs to

It isn't

A separate pot of money with its own balance

It isn't

A way for customers to pay by card, or a checkout

How a transfer reaches you

  1. Step 1

    Share

    You give the customer their virtual account number and IFSC, on the invoice or in their account page.

  2. Step 2

    Pay

    The customer adds it as a beneficiary and transfers by NEFT, RTGS or IMPS from their own bank.

  3. Step 3

    Credit

    The issuing bank receives the transfer and credits the underlying account, recording the virtual number.

  4. Step 4

    Notify

    You're told: virtual number, amount, payer's name and account where available, rail and bank reference.

  5. Step 5

    Match

    Your rules match the credit to the customer and their open invoices, and mark them paid.

Which payer details are included in a notification varies by bank and rail. How notifications are delivered on Peneu is confirmed during onboarding.

One number per customer, per invoice or per order?

The most important design choice is what a number stands for. It decides how much matching work is left for your team, and how often customers have to add a new beneficiary.

How to assign virtual account numbers
Assign one per…Good forTrade-off
CustomerRepeat B2B buyers, loan borrowers paying EMIs, parents paying school feesOne payment can cover several invoices, so you still match to invoices by amount or oldest-first
InvoiceLarge one-off invoices, projects, property milestonesExact matching, but the customer adds a new beneficiary each time
Order or bookingHigh-value orders paid by bank transfer before dispatchMany numbers to create and close; unused numbers need expiring

Most businesses start with one per customer. How many numbers can be issued, and whether they can be closed or expired, is confirmed during onboarding.

Matching rules and the exceptions queue

The virtual number tells you who paid. It doesn't tell you what they meant to pay for. That's what matching rules are for, and the credits they can't place go to an exceptions queue for a person to decide.

A good queue is small and boring. If it isn't, the rules or the way numbers are assigned need changing, not more people.

What happens to each kind of credit
CreditTypical ruleNeeds a person?
Exact amount of one open invoiceMark that invoice paidNo
Covers several open invoicesSettle oldest first, or as the customer's remittance saysOnly if it doesn't add up
Less than what's duePart-pay the invoice; the rest stays openSometimes: a deduction may need explaining
More than what's dueHold as a credit on the customer, or refundYes, to decide which
To a number that doesn't exist or was closedExceptionYes: identify the payer or return it
From an account you don't recogniseException, if you only accept registered accountsYes

Checking a credit before it's accepted

Normally a virtual account accepts whatever is sent to it, and you deal with surprises afterwards. Some issuing banks can also check a credit before accepting it and send back anything that fails, for example:

  • Registered payer only

    Accept money only from bank accounts the customer registered with you, useful for loan repayments and regulated collections.

  • Expected amount only

    Accept only the exact amount due, useful for fixed fees or bookings.

  • Open numbers only

    Reject credits to numbers that were closed or have expired.

Whether validation before credit is available depends on the issuing bank and is confirmed during onboarding.

When the money arrives depends on the payer's rail

You don't choose the rail; the payer does, in their own banking app. So the same customer can pay you in seconds one month and in the next NEFT batch the next. What you control is how quickly you react once the credit lands.

Once credited, the money is in the underlying account. When it becomes available to you, if the underlying account isn't your own, follows your settlement terms. See the settlement guide.

Arrival time by rail
Payer sends byCredited
IMPSWithin seconds, any hour
NEFTIn the next half-hourly batch, any day
RTGS (₹2 lakh or more)Within about 30 minutes, any hour
UPI, where a UPI ID is linkedWithin seconds, any hour

NEFT and RTGS timings are from RBI's FAQs. IMPS and UPI limits are set by NPCI and the payer's bank.

Money you didn't expect

Once a credit is accepted, it can't be “rejected”. If someone paid the wrong number, paid twice, or paid when nothing was owed, the money is yours to hold until you return it, and you return it with a payout to the account it came from, keeping the original bank reference with the refund.

Record every such return against the original credit, and never send it to a different account because someone asked by email. That's the collections version of the bank-detail fraud described in the vendor payments guide.

What your customer sees, and why it matters

To your customer, a virtual account is a new beneficiary in their banking app. Before sending money to it, a careful customer, and every finance team, will check two things: that the details came from you, and that the beneficiary name their bank shows looks like you.

So put the details where customers already trust you: printed on the invoice, in their logged-in account page, or in the welcome letter for a loan. Never only in an email, which is the channel fraudsters copy. And tell them the beneficiary name to expect, because it may be yours, or it may include the issuing bank's or your provider's name depending on how the account is set up.

Invoice footer

Illustrative

Pay by bank transfer

Account number
PENX 0000 1042
IFSC
ABCD0000123
Beneficiary
Your business name, as the bank displays it

This number is only for Shreeji Traders. Use it for every payment to us. We never change it by email.

The account number, IFSC and names are made up.

Designing the numbering scheme

The issuing bank sets the length and usually a fixed prefix. What follows is often yours to decide, and a little thought here pays off for years.

Tying the number to a customer code you already use (“PENX 0000 1042” for customer 1042) makes it easy to read on a statement. The trade-off is that neighbouring numbers are guessable. That rarely matters for collections, since money paid to the wrong number still lands with you, but it matters if the number also appears in places where customers could confuse themselves with one another.

  • Stable

    A customer's number never changes, even if their name or plan does.

  • Never reused

    A closed number stays closed, so late payments can still be traced.

  • Readable

    Grouped in fours on invoices so it can be typed without mistakes.

  • Recorded before shared

    The number is in your system against the customer before it's on any invoice.

Closing each day

Collections by virtual account reconcile themselves most of the time, but “most” needs checking. A short daily close keeps the exceptions queue from growing quietly: the total credited to the underlying account should equal what was matched plus what's in exceptions. If it doesn't, a credit arrived without a notification, or a notification arrived without a credit, and both need finding the same day.

Then look at the queue itself. Every item should have an owner and an age. Anything older than a few days is either a payer to contact or a refund to make.

Moving customers onto virtual accounts

Switching existing customers from your one shared account to their own numbers is a small project. Customers who have paid the old account for years will keep doing so unless you make the change easy and give it time.

  1. Step 1

    Decide what a number means

    Per customer, per invoice or per order; this decides everything after.

  2. Step 2

    Issue and record

    Create the numbers and store each one against the customer in your own system before telling anyone.

  3. Step 3

    Tell customers where they trust you

    Invoices and account pages first, with a clear note that the old account is being retired.

  4. Step 4

    Run both for a while

    Keep matching payments to the old account by hand until they dwindle, then retire it with notice.

Mistakes that bring the matching work back

  • Reusing a number. Giving a closed customer's number to a new customer. Old payments and new ones get mixed up; keep numbers retired.

  • Sharing numbers between group companies. A distributor paying for three outlets through one number leaves you guessing which outlet paid.

  • Numbers only in email. Customers can't find them later, and fraudsters can imitate the email.

  • No owner for exceptions. An exceptions queue nobody clears becomes the old manual matching, just slower.

Where virtual accounts fit best

B2B receivables

Distributors and wholesalers collecting from hundreds of trade customers who pay by bank transfer.

Trade

Loan repayments

Lenders giving each borrower a number for EMIs and part-prepayments.

NBFC and lending

Fees

Schools and colleges giving each student a number for term fees.

Education

Property payments

Developers collecting milestone payments per unit or booking.

Real estate

Virtual accounts, payment links or QR?

Choosing a collection method
If your customer…UseWhy
Pays by bank transfer, often large amountsVirtual accountsFamiliar for businesses; no checkout needed; the number identifies them
Wants to pay by card or UPI from a messagePayment linksA checkout page with several methods, one link per amount
Pays in person or on a phone screenUPI QRScan and pay in seconds
Pays through your app or websiteCollection APICheckout built into your own flow

What your systems need to hold

Virtual accounts only remove manual matching if your own records are built for them. Three things matter: a table that maps each virtual number to a customer, a credit handler that can safely receive the same notification twice, and a matching job whose rules are written down, not buried in code.

Records for virtual account collections
RecordHoldsWhy
Number mapVirtual number, customer, date issued, status (open or closed)Every credit is matched through it; closed numbers stay for tracing
Credit logBank reference, virtual number, amount, payer details, rail, timeThe bank reference makes a repeated notification harmless
AllocationWhich invoices each credit settled, and any remainderAnswers “what did this payment cover?” months later
ExceptionsCredits not matched, owner, age, decisionKeeps the manual work visible and shrinking

Illustrative design. How Peneu delivers credit details is confirmed during onboarding.

Virtual account questions

Do virtual accounts replace my current account?

No. They sit on top of an account that actually holds the money. Virtual numbers identify who paid; the underlying account, and your settlement arrangement, decide where the money is and when you can use it.

Can customers pay a virtual account by cheque or cash?

Virtual accounts are designed for electronic transfers, where the account number travels with the payment. Whether cheques or cash deposits can be credited to a virtual account depends on the issuing bank.

Can one customer have more than one virtual account?

Yes, if it helps you. A distributor with several branches, or a borrower with two loans, can have a number for each, so every payment is attributed to the right branch or loan without anyone reading remarks.

What happens to money sent to a closed virtual account?

It depends on the issuing bank and your setup. It may be rejected back to the payer, or credited and flagged for you to return. Either way, a closed number should never be reissued to someone else.

What is a virtual account number?

A virtual account number is an account number issued by a bank that doesn't hold money on its own. Transfers sent to it are credited to an underlying account, tagged with the virtual number they were sent to. Because each customer or invoice gets its own number, the number tells you who paid.

Is a virtual account a real bank account?

It's a real account number that payers can add as a beneficiary and send money to by NEFT, RTGS or IMPS. But the money lands in an underlying account held with the issuing bank; the virtual number is a routing and identification layer on top of it.

How does my customer pay into a virtual account?

Exactly like paying any bank account: they add the virtual account number and IFSC as a beneficiary in their banking app or net banking, then transfer. Nothing needs to be installed and no card or UPI app is required.

What happens if a customer pays the wrong amount?

The money still arrives and is tagged to that customer's number. Your matching rules decide what happens next: a short payment leaves the invoice partly open, an excess stays as a credit or is refunded. Nothing is lost; it's an exception for your team to resolve.

Can I stop payments from people who aren't my customer?

Some banks can check an incoming credit before accepting it, for example against a list of the customer's registered accounts, and send back anything that doesn't fit. Whether that is available depends on the issuing bank and your setup, and is confirmed during onboarding.

How quickly will I know a payment arrived?

As soon as the underlying account is credited, which depends on the rail the payer used: seconds for IMPS, the next half-hourly batch for NEFT, around 30 minutes for RTGS. How you're notified, and how quickly, is confirmed during onboarding.

Can customers pay a virtual account by UPI?

In some setups a UPI ID is linked to the same virtual account, so customers can pay by UPI as well as bank transfer. Whether that's available on your Peneu setup is confirmed during onboarding.

Virtual accounts or payment links: which should I use?

Use virtual accounts when customers pay by bank transfer, especially larger or recurring B2B amounts. Use payment links or UPI QR when customers pay by card or UPI and you want a checkout experience. Many businesses offer both.

Stop matching bank transfers by hand

Tell us who pays you by bank transfer and how often. We'll walk through numbering, matching and notifications.

Official sources

Last reviewed . Examples, amounts and screens marked illustrative are not Peneu figures.