Dados B3 › Reading the CVM files · Português
Every trap on this list bit us. The counts come from our own base, and several were found by external auditors checking what we publish — this is not a theoretical list of precautions, it is a defect log.
The ESCALA_MOEDA column says MIL (thousands) on the overwhelming majority of rows. Reading VL_CONTA directly is off by a factor of a thousand — and it goes unnoticed because ratios cancel the factor; only quantities break. Worse: the SAME company can file the same year with different scales across its two filings. When that happens we withhold the absolute figure and publish only the ratios, flagged.
Each file carries ÚLTIMO (the reference year) and PENÚLTIMO (the prior one, as reported now). Filtering without this column adds two years into one figure. And next year's PENÚLTIMO is this year's ÚLTIMO RESTATED — comparing them is how you discover the company redid its statements.
Same company code, same year, same ordering, same account — and two values, with nothing to tell them apart. Whoever takes the first row gets one; whoever takes the last gets the other; both believe they read the file correctly. We do not choose: we withhold, with a flag.
The statement of changes in equity has an extra dimension: the equity column. Filtering by company, ordering and account returns ONE row in the balance sheet, income and cash-flow statements — and several here. An external auditor found this in the coordinates we publish: six rows for one company-year. An ambiguous coordinate is worse than a missing one, because whoever picks in the dark finds a number that EXISTS.
The exchange's price file carries the price AS TRADED on the day. After a split the price halves without the company losing value — and an unadjusted series shows a 50% drop that never happened. Anyone computing returns straight from the file must adjust for these events.
Opening it as UTF-8 breaks on any accented character — and account names are full of them. The separator is a semicolon, not a comma, because the Brazilian decimal mark is a comma. Trivial mistakes that cost the first hour of anyone who tries.
We withhold and state the reason. The temptation is to pick a side and move on — and picking in the dark produces a figure that looks auditable and is not. The full list of what we do not publish, each with its reason, is on the data-quality page.
dados.cvm.gov.br · data quality · bank accounts · restatements
Numbers on this page are live. Data version 2026-09-01-supressao-declarada · page generated 2026-09-08 10:36 UTC. If this does not match /saude, you are reading a cached copy.
Home · Methodology · Transparency · Audit it