A client overseas sends what they believe is the full invoice amount, and a Thai SME receives noticeably less, a frustratingly common experience, and one that traces directly back to how correspondent banking handles international wire transfers.
A traditional international wire often passes through one or more correspondent banks between the sender's bank and yours. Each of these intermediaries can deduct a handling fee before passing the payment along, fees your client typically doesn't see or control, and that you as the recipient often only discover once the reduced amount lands.
These are wire transfer fee-allocation codes that determine who pays intermediary fees: the sender, the receiver, or a shared split. Many international payments default to a setting that leaves the receiver absorbing unpredictable intermediary deductions, without either party realizing that's what's happening.
When a client pays into a named virtual account in their own local currency, a domestic-style USD account for a US client, for example, the payment often doesn't need to route through correspondent banks at all, because it's not technically an international wire in the traditional sense. It moves through local rails to your named account, arriving as the full amount your client actually sent.
Give clients your named account details clearly, framed as "pay this like you'd pay any other local business" rather than "here's my complicated international banking information." This reduces both the fee erosion problem and the friction of your client needing to understand unfamiliar international wire instructions.