IOF on Money Sent to Brazil: The Real Cost, Line by Line

You sent US$2,000 to Brazil. The confirmation said “no fees”. The account in Brazil was credited R$9,534, and the rate you had seen quoted online that morning was R$5.00.

Two thousand dollars at R$5.00 is R$10,000. So the transfer with no fees cost you R$466.

That gap is the whole subject of this post. The biggest line in a remittance to Brazil is almost never the one that is labelled, and until you can express the whole thing as a single percentage, you cannot compare two ways of sending money at all. Every rate and fee below is a clearly labelled example — check yours against your own confirmation.

The four lines, separated

Money arriving in Brazil passes through four charges. Two are shown to you and two are not, which is exactly backwards from their size.

  • The exchange rate spread. The gap between the reference rate you can look up and the rate you were actually given. Invisible, and usually the largest.
  • IOF — the Imposto sobre Operações Financeiras, a federal tax that applies to an FX operation. Real, documented, set by decree, and revised from time to time.
  • The sending fee, charged in your currency. Usually flat.
  • The receiving fee, charged by the Brazilian bank or broker crediting the money. Also usually flat, and often forgotten because it lands on the other side.

Here is that same US$2,000 laid out line by line. The reference rate, the quoted rate and the IOF percentage are all example figures.

LineExample figureCost in R$% of R$10,000
Amount sentUS$2,000——
Reference rate (example)R$5.00 per US$1value R$10,000—
Rate you were quoted (example)R$4.82 per US$1value R$9,640—
Exchange rate spreadR$0.18 per dollarR$360.003.60%
IOF on the FX operation (example 1.1%)1.1% of R$9,640R$106.041.06%
Advertised sending feenoneR$0.000.00%
Reais credited—R$9,533.96—
Total cost—R$466.044.66%

The spread was R$360 of a R$466 bill. Seventy-seven percent of what you paid was the line with no name on it, and it was collected by giving you a worse rate rather than by charging you anything.

One number, and now anything is comparable

You do not need to reverse-engineer anyone’s pricing. You need two numbers you already have: what left your account, and what arrived.

Effective cost = 1 − (reais credited ÷ (amount sent × reference rate))

For the table above: 9,533.96 ÷ 10,000 = 0.9534, so the cost was 4.66%. That single percentage is the only figure worth comparing, because it absorbs the spread, the tax and every fee on both ends at once.

Two cautions on the reference rate. Take it at roughly the moment you were quoted, because it moves all day, and take it from a neutral source — the Banco Central publishes official rates, and any mid-market quote will do for a sanity check. Do not use the rate the sender itself calls “the market rate”; that is the number under examination.

Why “zero fees” can be the expensive one

Now run a second set of example terms through the same formula. Option A is the table above: no fee, a rate of R$4.82. Option B charges a US$10 sending fee and a R$25 receiving fee, but quotes R$4.95.

US$2,000 transferOption A (example)Option B (example)
Quoted rateR$4.82R$4.95
Reais before chargesR$9,640.00R$9,900.00
Spread costR$360.00R$100.00
IOF (example 1.1%)R$106.04R$108.90
Sending feeR$0.00R$50.00
Receiving feeR$0.00R$25.00
Reais creditedR$9,533.96R$9,716.10
Effective cost4.66%2.84%

The option with two visible fees delivered R$182 more reais. The advertised price and the actual price point in opposite directions, and no amount of reading the marketing would have told you — only the arithmetic does.

To be explicit, since this is where these articles usually turn into advertising: I am not telling you which service to use, and there is no best one. A and B are made-up terms to demonstrate a method. Pricing changes, it differs by corridor and by amount, and the only version that matters is the one on your screen today.

The crossover: size decides which shape wins

Option A’s cost is entirely proportional, so its percentage never changes with size. Option B mixes a flat R$75 with a much thinner proportional cost, so its percentage falls as the transfer grows.

Amount sentOption A effective costOption B effective costCheaper
US$2004.66%9.59%A
US$5834.66%4.66%tie
US$1,0004.66%3.59%B
US$2,0004.66%2.84%B
US$5,0004.66%2.39%B

You can find your own crossover with one line of arithmetic. Option B’s proportional part is about 2.09%, Option A’s is 4.66%, so every real of value saves you 2.57 centavos; divide the flat R$75 by 0.0257 and you get about R$2,900 of value, which is roughly US$580 at the example rate.

That single number is more useful than any ranking. Below your crossover, flat fees dominate; above it, the spread does.

It also prices a habit. Send that US$2,000 as three transfers instead of one under Option B and the flat R$75 becomes R$225, pushing the cost from 2.84% to 4.34% — R$150 paid for the convenience of splitting. Frequency is a cost, which is why it belongs in the same decision as choosing when to convert a hard-currency salary into reais.

Two things this arithmetic does not cover

First, IOF is not one number. It is a tax on financial operations with different rates for different operation types, changed by decree, so the 1.1% above is a placeholder and nothing more. Look up the rate in force for your type of operation on the day you send, from an official source rather than a blog — including this one.

Second, and more important: none of this tells you what you owe or what has to be declared. IOF being withheld inside a transfer says nothing about income tax, reporting or residency. That set of questions belongs to a contador, a Brazilian accountant, and it is the one hour of professional time I would never skip.

One more trap, on the Brazilian side. Reais that arrive and then sit in a checking account quietly give back part of what you just paid to move them, which is the argument for understanding what Brazil’s interest rate is really worth on money waiting in reais. That is mechanism, not personalized investment advice — what suits you depends on facts an article cannot see.

Rebuild your last transfer tonight

Open your most recent confirmation and the credit on the Brazilian statement. Write down the amount sent, the reais credited, and the reference rate for that day. Run the one formula and you have your number.

Do it for the two or three routes you actually have access to, at the amount you actually send. If one of those routes is Pix, note that using Pix from outside Brazil does not remove the FX leg — it moves reais once they already are reais.

Then re-check it once a year, not once ever, because terms drift and the drift is silent. Where this fits among the other decisions of earning in one currency and owing in another is mapped in the guide to earning abroad with money and family in Brazil.

Leave a Comment

Your email address will not be published. Required fields are marked *