Efficient International money transfer
Typical wire transfers are not with 4-5%; but it all depends on the bank that does the transfer. You can chose to send ('wire') the money in source currency or in US $; the former, the target bank in the US does the conversion (so pick one that adds no or little spread); the latter, the sending bank does the conversion (so ask about their fees/spreads). I have multiple times transferred money across the ocean (though not from Japan), and never paid more than 0.3% + ~40 $ flat. It should be possible to get te same range. Note that if you look around for current offers, you might be easily able to even make some money on it - some US banks are eager for new money, and offer 200+$ bonus if you open an account and bring (significant =15k$+) new money to them. Wiring is the best way to move large amounts of money from one country to another.  I am sure Japanese banks will allow you to exchange your Japanese Yen into USD and wire it to Canada.   I am not sure if they will be able to convert directly from JPY to CND and wire funds in CND.  If you can open a USD bank account in Canada, that might make things easier.
"This is not a problem. SWIFT does not need the Beneficiary Account Currency. The settlement account [or the Instruction amount] is of interest to the Banks. As I understand your agreement with client is they pay you ""X"" EUR. That is what would be specified on the SWIFT along with your details as beneficiary [Account Number etc]. Once the funds are received by your bank in Turkey, they will get EUR. When they apply these funds to your account in USD, they will convert using the standard rates. Unless you are a large customer and have special instructions [like do not credit if funds are received in NON-USD or give me a special rate or Call me and ask me what I want to do etc]. It typically takes 3-5 days for an international wire depending on the countries and currencies involved. Wait for few more days and then if not received, you have to ask your Client to mention to his Bank that Beneficiary is claiming non-receipt of funds. The Bank that initiated the transfer can track the wire not the your bank which is supposed to receive the funds." Generally in a SWIFT transaction, there are 4 Banks involved [at times 2 or 3 or at times even 6]. The 4 Banks are Sender [Originator of Payment]; Sender's correspondent, Receiver's Correspondent, Receiver [Or beneficiary Bank] All these 4 Banks charge for making a transfer. In SHA; the charges of Sender and Senders correspondent are levied to Customer [who initiates the payment] and the Receivers Correspondent and Receiver charges are to beneficiary. In OUR all the charges of 4 Banks are to the Customer and in BEN all the charges of 4 Banks are to the Beneficiary. Or am I wrong to assume that transaction costs would be covered by that 15USD and in reality the 15USD are on top of transaction costs? As explained above it is incorrect assumption. In this case, the charges will be more. So best is go with SHA. This gives a better view of charges. On a EUR to USD transactions, there would typically be only 3 Banks in the chain. And depending on the Bank, it could also be just 2 Banks involved. "For the purposes of report generation, I would recommend that you present the data in the currency of the user's home country. You could present another indicator, if needed, to indicate that a specific transaction was denominated in a foreign currency, where the amount represents the value of the foreign-denominated transaction in the user's home country Currency. For example: Airfare from USA to London: $1,000.00 Taxi from airport to hotel: $100.00 (in £) In terms of your database design, I would recommend not storing the data in any one denomination or reference currency. This would require you to do many more conversions between currencies that is likely to be necessary, and will create additional complexity where in some cases, you will need to do multiple conversions per transaction in and out of your reference currency. I think it will be easier for you to store multiple currencies as themselves, and not in a separate reference currency. I would recommend storing several pieces of information separately for each transaction: This way, you can create a calculated Amount for each transaction that is not in the user's ""home"" currency, whereas you would need to calculate this for all transactions if you used a universal reference currency. You could also get data from an external source if the user has forgotten the conversion rate. Remember that there are always fees and variations in the exchange rate that a user will get for their home country's currency, even if they change money at the same place at two different times on the same day. As a result, I would recommend building in a simple form that allows a user to enter how much they exchanged and how much they got back to calculate the exchange rate. So for example, let's say I have $ 200.00 USD and I exchanged $ 100.00 USD for £ 60.00, and there was a £ 3.00 fee for the exchange. The exchange rate would be 0.6, and when the user enters a currency conversion, your site could create three separate transactions such as: USD Converted to £: $100.00 £ Received from Exchange: £ 60.00 Exchange Fee: £ 3.00 So if the user exchanged currency and then ran a balance report by Currency, you could either show them that they now have $ 100.00 USD and £ 57.00, or you could alternatively choose to show the £ 57.00 that they have as $95.00 USD instead. If you were showing them a transaction report, you could also show the fee denominated in dollars as well. I would recommend storing your balances and transactions in their own currencies, as you will run into some very interesting problems otherwise. For example, let's say you used a reference currency tied to the dollar. So one day I exchange $ 100.00 USD for £ 60.00. In this system I would still have 100 of my reference currency. However, if the next day, the exchange rate falls and $ 1.00 USD is only worth £ 0.55, and I change my £ 60.00 back into USD, I will get approxiamately $ 109.09 USD back for my £ 60.00. If I then go and buy something for $ 100.00 USD, the balance of the reference currency would be at 0, but I will still have $ 9.09 USD in my pocket as a result of the fluctuating currency values! That is why I'd recommend storing currencies as themselves, and only showing them in another currency for convenience using calculations done ""on the fly"" at report runtime. Best of luck with your site!" Depending what country you are from, there may be better alternatives to transfer money internationally. Opening a bank account is complicated, costs money, and international bank transfers are remarkably expensive. The right answer to this question really depends on the size of the transfer.  For larger transfers ($10k and up) the exchange rate is the dominant factor, and you will get the best rates from Interactive Brokers (IB) as noted by Paul above, or OANDA (listed by user6714). Under $10k, CurrencyFair is probably your best bet; while the rates are not quite as good as IB or OANDA, they are much better than the banks, and the transaction fees are less.  If you don't need to exchange the currency immediately, you can put in your own bids and potentially get better rates from other CurrencyFair users. Below $1000, XE Trade (also listed by user6714) has exchange rates that are almost as good, but also offers EFT transfers in and out, which will save you wire transfer fees from your bank to send or receive money to/from your currency broker.  The bank wire transfer fees in the US can be $10-$30 (outgoing wires on the higher end) so for smaller transfers this is a significant consideration you need to look into; if you are receiving money in US, ING Direct and many brokerage accounts don't charge for incoming wires - but unless you have a commercial bank account with high balances, expect to spend $10-$20 minimum for outgoing.  European wire transfer fees are minimal or zero in most cases, making CurrencyFair more appealing if the money stays in Europe. Below $100, it's rarely worth the effort to use any of the above services; use PayPal or MoneyBookers, whatever is easiest. Update:  As of December 2013, CurrencyFair is temporarily suspending operations for US residents: Following our initial assessment of regulatory changes in the United States, including changes arising from the Dodd-Frank Act, CurrencyFair will temporarily withdraw services for US residents while we consider these requirements and how they impact our business model.  This was a difficult and very regretful decision but we are confident we will be able to resume services in the future. The exact date of re-activation has not yet been determined and may take some time. We appreciate your patience and will continue communicating our status and expected return. The website http://currencyfair.com/ provides a service which gives you both a decent exchange rate (about 1% off from mid-market rate) and a moderately low fee for the transfer: 4 USD for outgoing ACH in the US, 10 USD for same-day US wire. For the reverse (sending money from the US to EU) the fees are: 3 EUR for an ACH, 8 EUR for a same-day EUR wire. It has been online for quite a while, so I assume its legit, but I'd do a transfer for a smaller sum first, to see if there are any problems, and then a second transfer for the whole sum. It is not ! Of course you can transfer your monies to your account in another country.  Its a different story if you were doing it for someone else and if the the money was not legitimate - then it would shade off into money laundering. You could use paypal to transfer money. You can pay with paypal and your UK contact could transfer the money to his bank account through paypal. I just received money this way from the US and paid 9 EUR for this. Receiving the funds is as quickly as clicking a button on the paypal site. Transfering it (without costs) took 1-3 days). It is by far the easiest way. If you are uncomfortable using paypal, the other option would be through your own bank account, where you would transfer using IBAN/SWIFT. The SWIFT bank account is usually the IBAN code plus a branch code. Often it is difficult to find the branch code, in that case you can use the IBAN+XXX. In the latter things might be delayed, but I actually haven't noticed the delay yet, since international transfer always seem to take between 1 and 10 days. The international transfering of money costs, except if it is within the EU region. The way to transfer money through Internet banking differs, from bank to bank. They keywords you need to look for are: SEPA, SWIFT, IBAN or international transfer. Depending on how tech savvy your client is you could potentially use bitcoin. There is some take of indian regulators stopping bitcoin exchanges, meaning it might be hard to get your money out in your local country but the lack of fees to transfer and not getting killed on the exchange rate every time has a huge impact, especially if your individual transaction sizes are not huge. "I am not sure about transferwise and how they work, but generally when I had to transfer money across countries, I ended up using a foreign currency/transfer company who needed the destination account details i.e. a GBP account in the UK in your case, and money from the source account. Basically that means your father would need to open an EUR account, probably in an EU country (is this an option?) but may be in the UK is fine too depending on transfer fees. And a GBP account in the UK, perhaps see if there is a better business account than HSBC around, I have used them as well as Santander before. The only FX transaction done in this straightforward set up is the one performed by the specialised company (there are a few) - and their spread (difference between interbank i.e. ""official"" and your price) is likely to be around 1.0 - 1.5%. The other expenses are transfer fees to the FX company account, say a flat fee of $25 for the SWIFT payment. The full amount less the spread above then goes to your UK GBP account. There are still the running costs of both EUR and GBP accounts of course, but here the advice would be just to shop around for offers/free banking periods etc. Point being, given the saving in FX conversion, it might still be a better overall deal than just letting HSBC deal with it all." If I understand TransferWise’s Supported Countries page correctly, you could use their service. I believe it should be cheaper than having the bank convert. I've been very happy with the service and use it regularly. RoyalBank provides a no fee transfer service (no fee in the sense that there is no per transfer fee aside from the spread). There is monthly fee if you keep less than 1500 or so on the american side. http://www.rbcroyalbank.com/usbanking/cross-border-transfer.html I would certainly hope to make the transfer by wire - the prospect of   popping cross the border with several million dollars in the trunk   seems... ill fated. I suppose I'm asking what sort of taxes, duties,   fees, limits, &c. would apply Taxes - None. It is your money, and you can transfer it as you wish. You pay taxes on the income, not on the fact of having money. Reporting - yes, there's going to be reporting. You'll report the origin of the money, and whether all the applicable taxes have been paid. This is for the government to avoid money laundering. But you're going to pay all the taxes, so for transfer - you'll just need to report (and maybe, for such an amount, actually show the tax returns  to the bank). Fees - shop around. Fees differ, like any other product/service costs on the marketplace. I've done this for many years, and my method has always been to get a bank draft from my Canadian bank and mail it to my UK bank. The bank draft costs $7.50 flat fee and the mail a couple of dollars more. That's obviously quite a lot to pay on $100, so I do this only every six months or so and make the regular payments out of my UK account. It ends up being only a couple of percent in transaction costs, and the exchange rate is the bank rate. Several possibilities come to mind: Several online currency-exchange brokers (such as xe.com and HiFx) offer very good exchange rates and no wire transfer fees (beyond what your own bank might charge you).  Get French and American accounts at banks that are part of the Global ATM alliance: BNP Paribas in France and Bank of America in the USA.  This will eliminate the ATM fee. Get an account at a bank that has branches in both countries.  I've used HSBC for this purpose.