Minimizing loss during two-way currency transfers involving foreign entities
The solution was to get a foreign bank in each country we do business in. Get a credit card processor there, and simply make our money and keep our money in that country, and taking quarterly gains from those accounts and bringing them to the US account.
Because a wire transfer requires the individual bank to bank process, it is usually more expensive than an automated clearing house, which requires minimal involvement by individuals at financial institutions. Many ACH transactions come with only a small fee, or even no fee at all, since they are run with more efficiency. However, if you want a better guarantee that your money will arrive on time, it might be worth it to pay the wire transfer fee. With both cases, it is possible for errors to be made. However, since you often get to review the information before it is sent with a wire transfer, the method is a little more secure. Also, because identities are verified with wire transfers that take place between bank accounts, there is less chance of fraud. Wire transfers that take place between financial institutions are generally considered quite secure. from http://www.depositaccounts.com/blog/difference-between-wire-transfer-and-ach.html "In answer to the ""how I can perform withdrawal with the lower rate (having GBP)?"" part of your question, as Joe stated you need to use another bank or currency exchange company to convert the GBP to PLN.  Most of the UK banks charge similar amounts, and it's usually not possible to transfer the GBP to a foreign bank unless you have a GBP account with them. Some currency exchange firms are Transferwise, FairFX, CaxtonFX, a web search will show a fuller range. You could also use Paypal to do the transfer (if you have a paypal account) by transferring the GBP from Barclays to your paypal account and then from there to your PLN account." "Wikipedia has a list of countries which ban foreign exchange use by its citizens.  It's actually quite short but does include India and China. Sometimes economic collapse limits enforcement.  For example, after the collapse of the Zimbabwean dollar (and its government running out of sufficient foreign exchange to buy the paper necessary to print more), the state turned a blind eye as the US dollar and South African rand became de facto exchange. Practicality will limit the availability of foreign exchange even in free-market economies.  The average business can't afford to have a wide range of alternative currencies sitting around.  Businesses which cater to large numbers of addled tourists sometimes offer one or two alternative currencies in the hopes of charging usurous rates of exchange.  Even bureaux de change sometimes require you to order your ""rarer"" foreign exchange in advance. So, while it may be legal, it isn't always feasible." To transfer US$30,000 from the USA to Europe, ask your European banker for the SWIFT transfer instructions.  Typically in the USA the sending bank needs a SWIFT code and an account number, the name and address of the recipient, and the amount to transfer.  A change of currency can be made as part of the transfer.   The typical fee to do this is under US$100 and the time, under 2 days.  But you should ask (or have the sender ask) the bank in the USA about the fees.  In addition to the fee the bank may try to make a profit on the change of currency.  This might be 1-2%.    If you were going to do this many times, one way to go about it is to open an account at Interactive Brokers, which does business in various countries.  They have a foreign exchange facility whereby you can deposit various currencies into your account, and they stay in that currency.  You can then trade the currencies at market rates when you wish.  They are also a stock broker and you can also trade on the various exchanges in different countries.  I would say, though, they they mostly want customers already experienced with trading. I do not know if they will allow someone other than you to pay money into your account. Trading companies based in the USA do not like to be in the position of collecting on cheques owed to you, that is more the business of banks.  Large banks in the USA with physical locations charge monthly fees of $10/mo or more that might be waived if you leave money on deposit. Online banks have significantly lower fees.  All US banks are required to follow US anti-terrorist and anti-crime regulations and will tend to expect a USA address and identity documents to open an account with normal customers.   A good international bank in Europe can also do many of these same sorts of things for you. I've had an account with Fortis. They were ok, there were no monthly fees but there were fees for transactions.  In some countries I understand the post even runs a bank.  Paypal can be a possibility, but fees can be high ~3% for transfers, and even higher commissions for currency change.  On the other hand, it is probably one of the easiest and fastest ways to move amounts of $1000 or less, provided both people have paypal accounts. Banks in certain countries are offering such facility. However I am not aware of any Bank in Hungary offering this. So apart from maintaining a higher amount in HUF, there by reducing the costs [and taking the volatility risks]; there aren't many options. "If your friend is loaning you KRW which you are then converting to USD, then there are tax implications.  This would be a Section 988 transaction so ""gains"" or ""losses"" made during repayment (partial or complete) due to fluctuations in exchange rate would be treated as ordinary gains or losses. For example, imagine you borrow 100,000 KRW and, at the time you borrow it, this is worth exactly 100,000 USD.  At some future point, you repay 20,000 KRW.  If the exchange rate at that point is such that 20,000 KRW is worth 15,000 USD, then the IRS sees that you have ""gained"" 5,000 USD in ordinary income.  This is a particular concern if the loan is a mortgage and you refinance the mortgage at a moment in time with a more ""favorable"" exchange rate than the exchange rate when you first got the mortgage. See http://www.investopedia.com/terms/s/section-988.asp for some additional discussion." How can I calculate my currency risk exposure?  You own securities that are priced in dollars, so your currency risk is the amount (all else being equal) that your portfolio drops if the dollar depreciates relative to the Euro between now and the time that you plan to cash out your investments. Not all stocks, though, have a high correlation relative to the dollar.  Many US companies (e.g. Apple) do a lot of business in foreign countries and do not necessarily move in line with the Dollar.  Calculate the correlation (using Excel or other statistical programs) between the returns of your portfolio and the change in FX rate between the Dollar and Euro to see how well your portfolio correlated with that FX rate.  That would tell you how much risk you need to mitigate. how can I hedge against it?  There are various Currency ETFs that will track the USD/EUR exchange rate, so one option could be to buy some of those to offset your currency risk calculated above.  Note that ETFs do have fees associated with them, although they should be fairly small (one I looked at had a 0.4% fee, which isn't terrible but isn't nothing). Also note that there are ETFs that employ currency risk mitigation internally - including one on the Nasdaq 100 .   Note that this is NOT a recommendation for this ETF - just letting you know about alternative products that MIGHT meet your needs. "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!"