Yes, you can transfer money from a foreign bank to an NRO account, but the path depends on whether you use a correspondent bank, a money transfer service, or your own bank's international wire system

An NRO (Non-Resident Ordinary) account is a rupee account held by an Indian resident living abroad. Money moves into it the same way it moves into any Indian bank account — through international wire transfer, which means your foreign bank sends the funds through the global banking network to the Indian bank holding your NRO account.

The mechanics are straightforward: your foreign bank initiates an outgoing wire, the funds travel through one or more intermediary banks (called correspondent banks), and the receiving Indian bank credits your NRO account. The whole process typically takes three to five business days, though it can stretch longer if your foreign bank or the Indian bank is slow to process.

What varies is the cost, the speed, and how much paperwork your foreign bank requires. A wire from a major bank in the US, UK, or Australia is usually faster and cheaper than one from a smaller regional bank. Some foreign banks charge flat fees; others charge a percentage. Your Indian bank may also charge a receiving fee.

Key Takeaways

  • International wire transfers are the standard method — your foreign bank sends rupees directly to your NRO account through the SWIFT banking network.
  • You need your NRO account number, the Indian bank's SWIFT code, and the bank's address to give your foreign bank; the Indian bank can provide all three.
  • Transfers usually clear in three to five business days, but delays happen if either bank is slow or if the amount triggers additional compliance checks.
  • Your foreign bank may charge a wire fee (typically $15 to $50 USD), and your Indian bank may charge a receiving fee (typically ₹200 to ₹500).
  • Large transfers or frequent transfers may require you to provide proof of the source of funds to your foreign bank or Indian bank.

What information you need to provide your foreign bank

Your foreign bank will ask for the beneficiary details — that is, information about the NRO account receiving the money. You need to give them your account number, the name on the account exactly as it appears in the bank's records, and the Indian bank's SWIFT code.

The SWIFT code is a six to eight character code that identifies your Indian bank on the international network. Every major Indian bank has one: ICIC for ICICI Bank, HDFC for HDFC Bank, AXIS for Axis Bank, and so on. Your NRO account statement will show it, or you can call your Indian bank and ask for the SWIFT code for international transfers.

You will also need the Indian bank's address — usually the address of the branch where your NRO account is held. Your foreign bank uses this to route the wire correctly. Some foreign banks also ask for an IBAN (International Bank Account Number), but Indian banks do not issue IBANs; if your foreign bank insists on one, tell them you have a SWIFT code instead and they can proceed with that.

How long the transfer takes and what happens during that time

Once your foreign bank sends the wire, the money enters the SWIFT network. From there it travels to one or more correspondent banks — intermediary institutions that help route money between countries that do not have a direct banking relationship. A wire from the US to India, for example, might go through a bank in London or Singapore before reaching your Indian bank.

Each correspondent bank takes a small cut and adds a small delay. A wire from a major bank in a developed country usually clears in three to five business days. A wire from a smaller bank or from a country with less developed banking infrastructure can take seven to ten business days.

During this time, the money is in transit — it has left your foreign bank but has not yet arrived in your NRO account. You cannot track it in real time the way you can track a package. Your foreign bank will give you a reference number (called a SWIFT reference or transaction ID) when you send the wire; keep this number. If the money does not arrive after ten business days, you can give this number to your foreign bank and ask them to trace it.

Fees and exchange rates you will pay

Your foreign bank charges an outgoing wire fee, usually between $15 and $50 USD depending on the bank and the country. Some banks charge a flat fee; others charge a percentage of the amount sent. Ask your foreign bank what they charge before you send the wire.

Your Indian bank charges a receiving fee, usually between ₹200 and ₹500. This is deducted from the amount that arrives in your account, so if you send $1,000 and both banks charge fees, you will receive slightly less than the rupee equivalent of $1,000.

The exchange rate you receive is set by the SWIFT network at the time the money clears, not at the time you send it. This means the rupee amount you receive can be slightly different from what you expected if the exchange rate moves between the day you initiate the wire and the day it clears. You cannot lock in an exchange rate with a standard wire transfer.

When your foreign bank will ask for proof of the source of funds

If you are sending a large amount — typically more than $10,000 USD in a single transfer, though this varies by bank — your foreign bank may ask you to provide proof that the money is legitimate. This is part of anti-money-laundering compliance. They may ask for a bank statement showing the money in your account, a letter from your employer, or documentation of the sale of an asset.

Your Indian bank may also ask for proof, especially if you are receiving large or frequent transfers. NRO accounts are monitored because they are held by non-residents, and banks want to may support the money is not being used to evade taxes or move funds illegally. If your Indian bank asks, provide whatever documentation they request — usually a copy of your employment contract, a letter from your foreign employer, or a bank statement from your foreign account.

These requests are normal and do not mean anything is wrong. They straightforward mean the transfer is large enough to trigger standard compliance checks. Providing the documentation usually takes a few days, and then the transfer proceeds.

Alternatives if a wire transfer is too slow or too expensive

If you need the money faster or want to avoid wire fees, you can use a money transfer service like Wise (formerly TransferWise), OFX, or Remitly. These services often charge lower fees than banks and sometimes offer better exchange rates. The trade-off is that they may take the same amount of time or slightly longer, and they usually have lower limits on how much you can send in a single transfer.

Some money transfer services allow you to send money directly to an NRO account; others require you to send it to a regular savings account first and then transfer it to your NRO account yourself. Check with the service before you use it.

Another option is to ask your foreign bank whether they offer a correspondent banking relationship with your Indian bank. If they do, the wire may clear faster because it skips the intermediary banks. This is rare for individual customers, but it is worth asking if you send money regularly.

What to do if the money does not arrive on time

If more than ten business days have passed and the money has not arrived, contact your foreign bank first. Give them the SWIFT reference number and ask them to trace the wire. They can contact the correspondent banks and find out where the money is stuck.

If your foreign bank says the money has been sent and cleared on their end, contact your Indian bank. Give them the SWIFT reference number and the amount sent. Ask them to check whether the wire arrived but was held for compliance review or sent to a different account by mistake.

In rare cases, a wire can be lost in the correspondent banking network. If this happens, your foreign bank is responsible for recovering it. They can initiate a recall or reversal, though this can take several weeks. Do not send another wire while the first one is being traced — wait until you know what happened to the first one.

Frequently Asked Questions

Do I need to inform my Indian bank that I am receiving a wire transfer?

No, you do not need to inform them in advance. However, if you are receiving a large transfer for the first time, it is a good idea to call your Indian bank and let them know the amount and the date you expect it to arrive. This prevents the bank from flagging it as suspicious and holding it for review.

Can I send money from a joint account at my foreign bank to my NRO account?

Yes, as long as your name is on the joint account. The foreign bank will ask for the name of the account holder initiating the wire, which should match your name on the NRO account. If the names do not match exactly, the Indian bank may delay the transfer while they verify.

What happens if I give my foreign bank the wrong SWIFT code or account number?

The wire will either be rejected and returned to your foreign bank, or it will be sent to the wrong account. If it goes to the wrong account, recovery is difficult and can take weeks. Always double-check the SWIFT code and account number with your Indian bank before you send the wire.

Can I send money from a cryptocurrency exchange or online payment service to my NRO account?

Most cryptocurrency exchanges and online payment services do not allow direct transfers to Indian bank accounts. You would need to withdraw the money to a traditional bank account first, and then send a wire from there. Check with your service to confirm their policy.

Will the rupee amount I receive be the same as the exchange rate I see online?

No. The exchange rate you receive is set by the SWIFT network at the time the wire clears, not the rate you see online. It is usually slightly worse than the mid-market rate because the banks take a small margin. Money transfer services often offer better rates than banks.