Bens e Direitos codes in Brazil's IRPF: the right one per asset, automatically

On Brazil's annual income-tax return — the IRPF — every investment you list in the Bens e Direitos section (literally "Assets and Rights") needs a code. And it's not just any number. Brazil's federal tax authority uses a grupo.código (group.code) format, and the right code depends on the asset type: stocks, real-estate funds, ETFs, fixed income, and crypto all get different codes. Getting it wrong is easy, and it's the kind of mistake you don't want to find out about later. CaixaUnica picks the correct official code for each asset — automatically.
The format changed in 2022
If you've been declaring investments for a few years, you might remember the old two-digit code (31, 45, 73...). It's been retired. Since the 2022 return, assets are organized into groups, and within each group a specific code — the grupo.código format. Stocks sit in group 03, funds in 07, crypto in 08, and so on. It's more granular, which is good for declaring accurately, but it's also one more place to get confused.
CaixaUnica uses the current official codes and picks the right group and code by looking at each asset's type in your portfolio. No table to memorize, no manual to dig through.
Stocks, REITs, and ETFs: different groups, different codes
You might assume "everything on the exchange" shares one code. It doesn't. The tax authority separates them:
- Stocks (including exchange-listed shares) → 03.01.
- Real-estate funds (FIIs, Brazil's version of REITs) → 07.03.
- ETFs (market-index funds) → 07.09.
So a blue-chip stock and a real-estate fund don't share a code, and an ETF lands somewhere else again. CaixaUnica recognizes what each holding is and files it under the right code — you don't have to remember which is which.

Fixed income: exempt vs. taxable changes the code
Here's a detail that slips past a lot of people, and one the tax authority takes seriously: not all fixed income uses the same code. The split is by taxation:
- Taxable fixed income — Treasury bonds, CDBs, RDBs → 04.02.
- Tax-exempt fixed income — LCIs, LCAs, CRIs, CRAs → 04.03.
LCIs and LCAs (and the CRI/CRA credit notes) are exempt from income tax, so the tax authority separates them from taxable securities. CaixaUnica recognizes each holding's subtype and uses 04.03 for the exempt ones and 04.02 for the taxable ones. When the subtype can't be pinned down with certainty, it takes the conservative route and treats it as taxable (04.02) — the safest default.
Crypto: group 08, with sub-codes
Crypto got its own group, 08, and within it there are distinctions many people don't realize exist:
- Bitcoin (BTC) → 08.01.
- Stablecoins (USDT, USDC, DAI and the like, pegged to the dollar) → 08.03.
- All other cryptoassets (the remaining altcoins) → 08.02.
So a wallet holding BTC, some USDT, and a few altcoins spans three different codes — and CaixaUnica sorts each position into the right one, recognizing Bitcoin, identifying dollar-pegged stablecoins, and sending the rest to the "other cryptoassets" code.
The official group name shows up too
A bare number doesn't help much when you're double-checking. So next to each code, the report shows the tax authority's official description — "Ações (inclusive em bolsa)", "Fundo de Investimento Imobiliário (FII)", "Renda fixa isenta (LCI, LCA, CRI, CRA)", "Criptoativo Bitcoin (BTC)", and so on. (The descriptions stay in Portuguese because that's the language the return is filed in.) A glance is enough to confirm each asset landed in the group you expected.
Less lookup, more confidence
The idea is simple: take the tedious, error-prone job of finding the right code for each asset off your plate. You import your portfolio reports, generate the IRPF for the year, and every position already carries its official grupo.código and the matching description. It's the same foundation that feeds the rest of your investment declaration — for the full walkthrough of assets, income, and capital gains, read The IRPF for investments.
Income tax is stressful precisely because one wrong detail is expensive. Letting each asset's code run on autopilot is one less thing to worry about — and one more line you file with confidence.
Start your free 14-day account
Sources
- Manual MIR — Bens Financeiros (Receita Federal) — the tax authority's official asset taxonomy: crypto split into Bitcoin (BTC), altcoins and stablecoins; FII and ETF as distinct types under Fundos; and securities "sujeitos à Tributação" (taxable) kept apart from "Isentos de Tributação" (exempt).
- Lei 11.033/2004 — art. 3, II and IV exempt LCI, CRI, LCA and CRA from income tax, which is why exempt fixed income gets its own code.
- Lei 8.668/1993 (the FII law) — art. 1 creates the Fundo de Investimento Imobiliário, the category behind the FII code.