When you do an international funds transfer using SWIFT, there are 3 options on charges to be selected:
1) fees to be paid by sender
2) fees to be shared (sender picks up sending fees, receiver receiving banks fees)
3) fees to be paid by recipient
In addition the recipient bank my also decide to deduct fees as part of their service. This is usually around THB 400 in Thailand
Furthermore where banks don't have a clearing bank in a particular country, they may go thru a correspondent/ intermediary bank, who will also charge fees. This also varies depending on currency. The correspondent bank is the most annoying one, and the one you often don't find out what the fees are until after you have done the question. If you think about it the sending bank will not always know the fees all its correspondent banks in every country uses on every transaction level. So it can be somewhat trial and error
If you are crossing 2 different banks: The best solution is often to send from a bank "native" to the country you are in. eg in UK send from a UK bank, then in Thailand receive it in a Thai bank. The native banks usually have no need for a correspondent bank as they can do themselves. Also you can then look up their charges on their websites, and work out which is best, without worrying about a correspondent bank.
If you can keep within the same bank, that sometimes has advantages. eg I send from Stan Chart Singapore to Stan Chart Thailand, and they waive the fees as a priority banking customer.
Key is avoiding correspondent banks in the middle which are usually unknown for fees, and usually take liberties. Smile in UK give a reasonable explanation:
http://www.smile.co....d=1027951510531All that in mind, it looks unusual to me they took it 3 weeks later. That part in particular I would query with the people who deducted it