How to declare taxes as a Brazilian freelancer earning from abroad

Priscila Marotti

SHARE THIS POST

When I started earning from clients outside Brazil, I was thrilled. It’s an opportunity so many chase but few actually get. If you’re starting this path, I say be proud, work hard, and keep improving your language skills. At the same time, remember we’re still in Brazil and the bureaucracy is very real. That means learning how to declare your income so you can enjoy this moment without stress.

I’ve been through the headaches, the research rabbit holes, and the Receita Federal portal meltdowns, so I’ll do my best to walk you through each step in simple terms.

Step 1: Understand what Receita Federal expects

The reality is: for Receita, it doesn’t matter if your money comes from a Brazilian company or a client in the US, Europe, or Asia. If you’re a tax resident in Brazil, you need to declare your worldwide income. That means everything you earn.

At first, I thought, “But the money is from abroad, why would Brazil care?” Well, Receita does care, and they want their share.

Also read: Fastest way to receive US dollar payments in Brazil

Step 2: IRPF (Imposto de Renda Pessoa Física) declaration

Every year between March and April, you file your IRPF.

  • If you got paid in dollars, euros, or pounds, you must convert that income to reais (BRL).
  • Receita asks you to use the official exchange rate from the Brazilian Central Bank (BACEN) on the day you received the payment. Yes, that means if you got paid ten times in different months, you’ll have ten different rates.

In practice, I keep a simple spreadsheet: date, amount in foreign currency, BACEN rate, value in BRL. When tax season comes, I just copy everything into the IRPF form.

Step 3: Paying monthly tax with Carnê-Leão

Here’s the part nobody told me in the beginning (and I wish they had). Freelancers with income from abroad aren’t supposed to wait until April to pay taxes. Receita asks us to pay every month via Carnê-Leão.

  • It’s basically a monthly tax collection system for individuals earning without a CLT contract.
  • You calculate your earnings in BRL for each month, apply the progressive tax rates (up to 27.5%), and generate a DARF (tax slip) through the Carnê-Leão system.
  • Payment deadline: the last business day of the following month.

Example: if I earned $1,000 in July, I convert it to reais using the BACEN rate, calculate the tax in Carnê-Leão, and pay it in August.

When April arrives, the annual IRPF is just a summary of everything I already declared monthly.

You may also like: What do nota fiscal and invoice mean for Brazilians working internationally?

Step 4: Don’t forget about the Annual Assets Declaration

If you leave your money in platforms like PayPal, Grey, or a different foreign bank account, Receita also wants to know.

  • Any balance over R$140 in foreign accounts should be reported under “Assets and Rights” in IRPF.
  • If you use Grey, Wise, Payoneer, or others to receive, just add the balances you had on 31 December.

You won’t pay any extra tax. It’s just for transparency, but not declaring can raise red flags.

Step 5: IOF and money transfers

Another question I had at first: “Do I pay IOF (Tax on Financial Transactions/Operations) when bringing money from abroad?”

At least this one is good news: receiving freelance income via international transfers usually doesn’t charge IOF like card transactions do. But banks and platforms may charge service fees.

Personally, I started using Grey to receive payments in USD and EUR, since it cuts down on fees compared to traditional banks and gives me better exchange rates. That alone made a huge difference.

Also read: How to price your freelance services in dollars as a Brazilian

Step 6: What happens if you don’t declare?

Many freelancers think Receita won’t notice, but with cross-border payment data and digital platforms, it’s getting harder to “hide” income. Penalties can be:

  • Fines (starting at 20% of the owed tax).
  • Interest for late payments.
  • Trouble if you ever want to take out a loan, buy property, or prove income abroad.

Trust me, it’s better to sleep peacefully knowing everything is declared properly.

My personal routine to keep it simple

Here’s what works for me now (after some painful lessons):

  1. Spreadsheet with every payment in foreign currency + conversion to BRL using BACEN’s daily rate.
  2. Carnê-Leão Web every month: declare income, generate DARF, pay via bank app.
  3. Receita IRPF in April: import Carnê-Leão data, add asset balances, and submit.
  4. Grey account for receiving abroad, just because it’s cheaper, faster, and easier.

It feels like a lot in the beginning, but after a few months, it becomes routine.

Keep your freelance income compliant and stress-free

Declaring taxes as a Brazilian freelancer earning abroad may sound intimidating, but once you understand the steps, it’s manageable. The key is organisation. Don’t leave everything for April.

And remember: paying taxes might not be fun, but it also means you’re building a financial history that can help you in the future (like getting credit, visas, or investing abroad).

If you’re in the same situation I was a few years ago, take it one step at a time. Set up your system, and soon it will be just another part of freelancing life.

Also, I personally recommend signing up on Grey to make things easier when it comes to getting paid.

Open a free Grey account to get startedJoin 1 million digital nomads

Back to top