← All papers

Theo Palomo, Davi Bhering, Thiago Scot, Pierre Bachas, Luciana Barcarolo, Celso Campos, Javier Feinmann, Leonardo Moreira et al. · Working paper (International Tax Observatory report), August 2025

Tax Progressivity and Inequality in Brazil: Evidence from Integrated Administrative Data

15 problems found: 8 moderate · 7 minor

What the paper claims

Every problem found

1moderateconfirmed · newly identified here · data error

The paper's headline average tax rate of 42.5% includes some payments that are not taxes, such as contributions to private pension funds and bookkeeping entries for civil servants' pensions. On the official figures the paper itself cites, the average is about 38-39%. The rich still pay far less than average, but the gap is smaller than the headline suggests.

Technical detail and evidence

Why it matters, in detail. The non-tax items (R$226bn = 3.6% of NI) are paid by formal private and public employees in the middle and upper-middle of the distribution. Removing them pro rata to SSC lowers P80-P90 from ~50.1% to ~44.7% and P90-P95 from ~51.7% to ~46.2% (Auditor A's Fig. 10 digitisation), and leaves the top 0.01% at ~20.6%. Counting imputed contributions is internally balanced in national-accounts terms, but it contradicts the paper's claim to measure 'all tax payments' and its STN/OECD comparators. Comparator studies (PSZ; Bruil et al.) count only contributions paid to government, so Fig. 2 is also distorted.

Evidence. EN Table A.3: employee 249,060 + employer 677,987 = 927,047 = IBGE CEI 2019 D.61 (cell G39). Of this, 120,951 was received by financial corporations (N39 = D.611 22,830 + D.613/614 98,121); imputed contributions D.612 were 105,093 (O41); D.442 pension investment income was 84,273 (P34), and under SNA 2008 the supplements D.614 equal D.442. STN CTB 2019 Table 2: social contributions 630,071 (RGPS 395,874; RPPS 92,861; FGTS 128,710; PASEP 12,626); total 2,407,326. The p.30 revenue shares (SSC 34.5%, PIT 12.3%) imply T = R$2,687bn (the two shares agree within 0.02%) and NI = T/0.425 = R$6,323bn. A further R$70.9bn gap between government D.61 receipts excluding imputed contributions (701,003) and STN contributions is unexplained.

Why this severity. The average rate falls from 42.5% to <=38.9% when only the clearly non-tax items are removed, and to 37.8-38.1% on official totals. P80-P95 rates fall ~5-6 pp ('most Brazilians 45-50%' becomes ~40-46%). The top-0.01% rate barely moves. Regressivity at the top survives, but the headline gap shrinks from 21.9 to ~18.3 pp (-16%).

2moderateconfirmed · previously known · methodology

Most of the difference between what the rich and everyone else pay comes from sales taxes and payroll contributions, which ordinary workers pay heavily and the rich pay little of relative to their income. Counting only income taxes, the very richest actually pay a higher rate than the average Brazilian. Under the paper's definitions the system is regressive at the top, but how big the gap looks depends a lot on which payments are counted as taxes.

Technical detail and evidence

Why it matters, in detail. Brazil's revenue mix (consumption taxes ~40% and SSC ~26-35% of revenue) mechanically produces declining all-tax rates at the top, because consumption/income and labour/income fall with income. Uncapped employer INSS contributions are defensibly treated as taxes; FGTS is closer to forced saving. A lifetime-incidence view of consumption taxes would narrow the annual gap further. In the French debate the gap persisted under these alternatives (Zucman 2025: ~32% vs 26%); in Brazil it does not survive excluding both.

Evidence. Fig. 10 components (Auditor A's digitisation, validated against text): top 0.01% ~20.7% in total, of which indirect ~4.5%, SSC ~0.8%, PIT ~2.5%, business tax ~11.3%. Economy-wide (p.30 shares x 42.5%): indirect 16.9%, SSC 14.7%, PIT 5.2%, business tax 2.4%. Excluding all SSC: top 0.01% ~19.9% vs average ~27.8%. Personal plus business income taxes only: ~13.7% vs ~7.7%. FGTS (R$128.7bn) is deposited in workers' individual accounts. The French IPP comparator excludes VAT and contributory contributions (Note IPP 92, 2023).

Why this severity. Under the paper's stated convention (Saez-Zucman 2023; OECD/STN classify SSC as taxes) the regressivity statement is correct. But excluding contributory SSC cuts the gap from 21.9 to ~8 pp (by almost two-thirds), and also excluding consumption taxes reverses it. Only one convention is shown, so the size of the headline contrast is convention-driven.

The authors' response. For France, Zucman (Le Grand Continent, 2 Jul 2025) replied that the average stays above billionaires' 26% when pension contributions (~41%) and VAT (~32%) are excluded. No response specific to Brazil, where excluding both reverses the comparison.

3moderateconfirmed · newly identified here · methodology

The paper's poorest half includes some business owners whose companies lost money that year, which pulls the bottom half's income share down. That, not greater concentration at the top as the paper says, explains most of why its bottom-half share is lower than the earlier estimate.

Technical detail and evidence

Why it matters, in detail. Allocating negative retained earnings is a feature of registry data (as in Bruil et al. 2025), and negative incomes are standard in tax-based DINA. But DFM's survey-based bottom contains no business losses, so the bottom-50% comparison is not like-for-like. The 'bottom 50%' then includes affluent owners with transitory losses, which also distorts bottom-group tax rates (hence the omission of P0-P10).

Evidence. Fig. 9a (p.28): bottom 50% fiscal 10.1% vs economic 7.0%. If every owner's UP >= 0, the economic bottom-50% income level cannot be below the fiscal level. With the economic total R$5.566tn and fiscal totals of R$5.03-5.22tn, the economic bottom half must contain >=R$119-137bn of net negative UP (~R$125bn with the total consistent with the PT-edition UP). App. D (pp.58-59) describes keeping negative incomes; text on p.29.

Why this severity. Without these negative incomes the PNI bottom-50% share would be ~9.1-9.4%, so roughly 65-75% of the 2.7-pp gap with DFM reflects loss-making owners at the bottom rather than top concentration. Top shares are only slightly affected (+~0.5 pp via the denominator, a legitimate convention).

4moderateconfirmed · newly identified here · internal inconsistency

Two of the paper's own tables give numbers for income as reported on tax returns that cannot both be right. That makes the paper's step-by-step story impossible to check, although the likely correction would make retained profits look more important, not less.

Technical detail and evidence

Why it matters, in detail. Economic-income totals pass the same test, so the inconsistency is specific to the fiscal column or the Fig. 9a fiscal bars. Possible causes include a different ranking, sample or weighting, or an obsolete table, but none is documented. The Portuguese edition's Table A.1 matches the English one, so it is not a translation slip.

Evidence. N x mean-above / share (scripts/adjudicator_calculations.py): top 50% R$5.12tn, top 10% 5.03, top 1% 4.79, top 0.1% 4.59, top 0.01% 4.49, with non-overlapping rounding intervals; economic 5.56-5.57tn (5.59 for the top 50%). Table A.3 observed fiscal components R$5.217tn; plus PT UP 0.474tn = 5.691tn, vs 5.566tn. On the A.3 total, Table A.1 implies fiscal shares of top 1% 19.9%, top 10% 54.6% and bottom 50% 11.8%, against 21.7/56.6/10.1 in Fig. 9a.

Why this severity. This affects a secondary result: the fiscal->economic decomposition (C3), by up to ~1.8 pp of the 5.2-pp jump. It also leaves net UP (R$349-533bn) and the negative-income bound uncertain. Plausible corrections (fiscal top 1% ~19.9-20.4%) would enlarge rather than shrink the retained-earnings effect, so no core conclusion is weakened.

5moderatelikely · newly identified here · methodology

The paper's estimate of company profits kept inside firms on behalf of their owners is about a quarter higher than the national statistics the authors themselves use as a check. The paper keeps the higher figure, and the English version neither reports the gap nor describes the choice consistently. Using the authors' own check figure would lower the top 1%'s share from 27.4% to about 26.3% and raise the richest group's tax rate from 20.6% to about 22%. Brazil would still rank among the most unequal countries measured.

Technical detail and evidence

Why it matters, in detail. Spreading a negative micro-macro gap in proportion to personal income is, for shares, equivalent to inflating the national-income denominator by the gap. Top shares are then computed as if micro UP were exact, although they are net of accounting rather than economic depreciation and include imputed Simples profits, while the NI total embeds a WID-type CFC. With k = 382.0/473.7 = 0.806 and PNI-basis UP of R$479bn (top 1%), R$302bn (top 0.1%) and R$172bn (top 0.01%), ranks fixed and the freed income re-spread neutrally: top 1% -1.1 pp (26.3%), top 0.1% -0.7 pp (11.7%), top 0.01% -0.4 pp (5.7%); top-0.01% ETR +1.6 pp (taxes unchanged, smaller denominator). With household benchmarks of R$262-296bn: top 1% 24.9-25.3%, revision 4.6-5.0 pp, top-0.01% ETR ~24-25%. The authors' rationale (WID corporate CFC is imputed) is legitimate but is not applied to the NI denominator.

Evidence. PT edition Table A.3 (p.49): 'Lucros Não Distribuídos (famílias)' observed 473,748 vs NA 382,013 (factor 124.0); EN Table A.3 (p.45) lacks this row. EN Sec. 3.3.3 (p.13: 'we first rescale the components of economic income–labor income and pensions, mixed income, distributed capital income, and undistributed profits–to their respective national accounts aggregates') vs App. E fn 16 (p.62) and Table E.6 (p.63). Test (scripts/adjudicator_calculations.py): UP in PNI (Fig. 8, digitised, net of D.43/D.44) / UP in economic income (Fig. A.1 x Table A.1) = 1.008 (P99-P99.9), 1.000 (P99.9-P99.99), 1.014 (top 0.01%); rescaling would give 0.806. Text-only cross-check: top 0.001% UP = 55.5% of economic income (p.22) and 54.0% of PNI including D.43/D.44 (p.27). Fig. E.10 (p.65, pixel-measured): corporations ~7.2% of NNI (~R$455bn), so the benchmark implies an 84% household share of corporate retained earnings, against 62% of profits 'potentially attributable to households' in App. E.3.

Why this severity. Using the authors' own benchmark, the top-1% share falls from 27.4% to ~26.3% and the revision over DFM from 7.1 to ~6.0 pp (-15%). The top-0.01% tax rate rises from 20.6% to ~22.2%. Only under lower NA benchmarks (a 62-70% household share, as Auditor A assumed) does the effect reach -2.1 to -2.5 pp. No qualitative conclusion changes.

The authors' response. No response to this point. The paper's rationale (App. E fn 16) is that WID's corporate depreciation estimates 'are imputations based on other countries, which introduces substantial uncertainty'.

6moderatelikely · newly identified here · speculative assumption

About half of the 'retained profits' the paper adds to rich people's incomes come from small firms whose profits are not observed but estimated, using profit rates borrowed from a group of firms known to be unusually profitable. If those estimates are too high, the top 1%'s share is overstated by up to about one percentage point. The conclusion that the top is very rich does not depend on this.

Technical detail and evidence

Why it matters, in detail. Simples UP enter economic income one-for-one and are concentrated between P95 and P99.9. The margin assumption therefore mainly moves the top-1% and top-0.1% shares and the 21.7->26.9 jump, not the top-0.01% share. Donor-pool selection (firms opt into Presumptive when true margins exceed the presumed base, and profit is shifted into Presumptive vehicles) and the use of medians bias the imputed margin upward. Relabelling owner labour as profit (Smith-Yagan-Zidar-Zwick 2019) does not change total income but does affect the 'capital displaces labour at the top' narrative (Fig. 6a). Overstated profits also understate Simples firms' already low corporate ETR (3% -> ~6% if profits were halved).

Evidence. Table A.2 (p.44): Simples profits R$388bn on revenue R$947bn = 41.0%. Presumptive donors' aggregate margin is 29.5% including losses and 33.8% excluding them. Receita GN-IRPF AC2019 Table 21: Simples distributions R$120.51bn, so Simples UP ~R$267bn. Auditor A's Fig. A.1 digitisation: Simples = 47% of the top 20%'s gross UP and 33% (R$155bn) of the top 1%'s UP; Simples UP dominate P95-P99.9. App. C.3.2 (pp.56-57) and fn 13. RFB CIT tax-gap report 2015-19, p.35: the presumptive regime concentrates 'companies with the highest profitability rate' and profit-shifting structures (its Simples tax-base proxy is 3.4% of revenue, a different concept). LC 123/2006 art. 14 paras 1-2 caps exempt distributions for firms without bookkeeping, so the measured 'retention' (69%) is largely mechanical. This affects the retained/distributed label more than total owner income.

Why this severity. Halving the imputed margin lowers the top-1% share by ~0.5-1.0 pp. Setting Simples UP to zero (a lower bound) lowers it by ~1.2-1.3 pp and removes roughly a quarter of the 5.2-pp retained-earnings effect. The issue overlaps with F1: a margin ~25% lower would by itself close the gap with the NA benchmark. The top 0.01% is driven by Real/Presumptive firms and is little affected.

The authors' response. No response. The paper (App. C fn 13) says voluntary Simples statements are 'often unreliable, with many inconsistencies'.

7moderatelikely · newly identified here · overclaiming

The paper says its much higher top-income share comes mainly from tracing retained company profits to their owners. But even before adding those profits, its tax records already show the top 1% receiving about 43% more income than the earlier study found, so a large part of the 'revision' comes from better data on ordinary reported income. Both improvements are real; the headline explanation gives too much credit to one of them.

Technical detail and evidence

Why it matters, in detail. In levels, the paper's fiscal->PNI steps add ~R$694bn to the top 1%, while DFM's bfm->nat steps add ~R$728bn (larger NA scaling of other components plus R$177bn of imputed UP). The whole top-1% level gap (~R$279bn) is therefore already present at the fiscal stage; in shares, the UP/NA stages account for 31-56% of the 7.1 pp. The well-founded part is the very top: the paper's fiscal top-0.01% income alone is ~3x DFM's final top-0.01% income, which points to failure of DFM's tabulation-based tail correction.

Evidence. DFM public file (Jan 2024), Brazil 2019, equal-split adults. Survey+tax-corrected stage (bfm): top 1% 16.77% (~R$726bn), top 0.01% 0.44% (~R$19bn). Final (nat): 20.34% (~R$1,454bn) and 0.82% (~R$58bn); total ~R$7.15tn ~ GNI, against the paper's NNI-based R$6.32tn. Paper fiscal income (Table A.1): top 1% R$1,039bn (43% above DFM's pre-UP stage); top 0.01% R$175bn. Fiscal-stage share gap: 3.1-4.9 pp, i.e. 44-69% of the 7.1 pp, depending on the inconsistent fiscal baseline (F9). DFM distribute R$378bn of UP vs the paper's R$474bn, allocated by survey dividends plus employer income (DFM WP 2022/13, p.14). The paper (p.29) lists tabulations vs microdata among several divergence factors but gives no decomposition.

Why this severity. The paper's level is clearly higher, especially at the very top, so the direction of the revision stands. But like-for-like the revision is plausibly ~5-6 pp (F1, F7, F12), and roughly half or more of it reflects better measurement of distributed income rather than concentration of retained earnings. This weakens the causal attribution and the evidential basis for C6.

8moderateplausible · previously known · documentation gap

The paper says it splits couples' incomes equally, as international studies do, but explains how only for the small minority of couples who file jointly. If most couples were not actually split, the top 1% share would be overstated by up to about one percentage point.

Technical detail and evidence

Why it matters, in detail. Equal-splitting lowers top shares mechanically when top earners have lower-income spouses; in DFM's Brazilian data the individual-vs-equal-split difference is +1.25 pp at the top 1%. The paper's bottom-50% share (7.4%) resembles DFM's individual series, but that is confounded by F5. Disclosing the share of top filers matched to a spouse would resolve the issue.

Evidence. App. C.1 (p.50): 'Less than 10% of total declarations in 2019 were joint filings; in those cases, we assign an equal-split of income'. Pp.5 and 29 say couple composition at the top is 'directly observed'. In DIRPF the spouse-information sheet is required only for separate filers who declare common assets (G1, 13 Mar 2015). DFM 2019: individual vs equal-split top 1% 21.59% vs 20.34%; bottom 50% 7.80% vs 10.13%.

Why this severity. If high-income separate filers were not paired, the top-1% share would be overstated relative to a true equal-split series by up to ~1.3 pp (~5% of the level, ~18% of the revision). There is no direct evidence that pairing was omitted; the appendix is simply silent.

9minorconfirmed · newly identified here · selective presentation

The chart comparing countries mixes studies that count different taxes, so it is a rough comparison rather than an exact one. Brazil's 'million-dollar earners' are in fact the richest 0.01%, who earn roughly $1.7 million a year or more.

Technical detail and evidence

Why it matters, in detail. The figure contrasts each country's top rate with its own average rate. For France it compares a narrow tax concept at the top with a broad one for the average, which overstates the French gap; for Brazil the inflated average (F3) overstates the gap by ~3.6 pp.

Evidence. Note IPP 92 (Bach et al. 2023): 'nous n’incluons pas tous les impôts (ni la TVA, ni les impôts de production)' and 'nous ne considérons que les cotisations dites « non-contributives »'. It reports 46% at the top-0.1% threshold and 26% for billionaires; the 42% bar is not printed there. Table A.1: P99.99 economic-income threshold R$7.0m (~USD 1.74m at 4.03); USD 1m ~ top 0.022% (Auditor A, Pareto interpolation; implied rate ~20.9%). PSZ micro-file (Auditor A): >=$1m = top 0.37% at 35.1%, vs the top 0.2% at 36.1% as shown.

Why this severity. Supporting finding only. Differences are small except for France and the Brazilian average (F3); Brazil's top rate remains among the lowest shown.

10minorconfirmed · newly identified here · arithmetic or transcription

The paper contains a number of typos and small factual slips, such as the wrong count of tax filers and a wrong legal tax rate. They do not change its results.

Technical detail and evidence

Why it matters, in detail. None alters an estimate. Item (k) misstates the regime used to explain low presumptive-regime taxation, but liabilities are observed. Items (d), (e) and (j) blur which income concept or table a number refers to.

Evidence. Locations as listed; Receita GN-IRPF AC2019 (30,498,516 returns); Law 9,249/1995 art. 15 (Planalto consolidated text); DFM WP 2022/13 (updated Oct 2023), p.14; IBGE GNI 2019 R$7,190,749m.

Why this severity. These are presentation and description errors that do not enter the computations: CIT liabilities come from returns, and the filer count is correct in Table D.4.

The authors' response. Items (d) and (h) are corrected in the May 2026 EU Tax Observatory edition; (b) and (d) do not appear in the Portuguese edition; the others persist.

11minorconfirmed · previously known · documentation gap

Key national totals and assumptions are not published, so outsiders cannot fully check the headline numbers, even allowing for the fact that the underlying tax records are confidential.

Technical detail and evidence

Why it matters, in detail. With no replication package and confidential data, the published aggregates are the only external check, and several of them (UP gap, fiscal totals, SSC scope) proved consequential.

Evidence. Table A.3 (EN p.45 vs PT p.49); App. E.3 fn 16; App. B.2-B.3; E.4. The household CIT benchmark (R$127.8bn) is 4.76% of implied total taxes vs 5.7% in the text (p.31); the difference is plausibly scope-related but is not reconciled.

Why this severity. Documentation only: it blocks verification of headline levels and robustness but does not itself change any estimate. The most consequential omission (the UP benchmark) is graded separately in F1.

12minorlikely · newly identified here · internal inconsistency

Two small technical adjustments push some tax rates up a little in different parts of the distribution. They do not change the paper's conclusions.

Technical detail and evidence

Why it matters, in detail. Auditor A described both as conservative. The business-tax rescaling is, since it raises the top rate. The PIT excess is not purely conservative: it inflates upper-middle rates and the average more than the top rate, which slightly exaggerates the decline within the top decile.

Evidence. Table A.3; IBGE households' D.5 R$280.4bn vs PIT benchmark R$330.6bn (OECD individual income tax R$221.7bn per Auditor A); Fig. 10 note.

Why this severity. The excess PIT (~R$50bn) raises P90-P99.9 rates by ~1-1.6 pp, the average by ~0.8 pp and the top 0.01% by only ~0.4 pp. Business-tax rescaling raises top rates by up to ~1.5 pp. Net effects on the headline contrast are a few tenths of a point.

13minorlikely · previously known · methodology

The way the paper divides consumption taxes among people involves a large scaling-up and a step that may count informal shopping twice. This could shift tax burdens among poorer and middle-income groups, but it probably does not make the rich look more lightly taxed than they are.

Technical detail and evidence

Why it matters, in detail. Applying all-outlet effective rates to formal-only purchases changes product and household weights, and a single global rescaling does not undo this (codex's two-good example: true taxes 10/20 become 6/24 after rescaling). Households with more informal purchases (poorer) get too small a share. The allocation also embeds the annual-consumption incidence convention (F4).

Evidence. Table A.3 (indirect taxes 481,963 observed vs 1,079,369 NA); App. B.2 (pp.47-48). Silveira et al. (2022, IPEA TD 2823, ~p.24): the estimated effective rates “incorporam” informal production/consumption and 'consideram a informalidade, a evasão e a elisão fiscal'; Silveira Table 1 gives short- and long-run rates.

Why this severity. The economy-wide average is unaffected because indirect taxes are rescaled to the NA total. The double adjustment probably understates bottom burdens and overstates top burdens relative to a consistent method, which is conservative for the regressivity finding. Top consumption-tax rates are small (~4-6% of PNI); the magnitude cannot be quantified.

14minorlikely · newly identified here · methodology

An accounting entry for investment returns earned inside pension funds is added to the incomes of the rich but subtracted from the incomes of ordinary workers. That slightly inflates the top share, by less than one percentage point.

Technical detail and evidence

Why it matters, in detail. A coherent DINA treatment allocates D.442 and D.614 with the same key (pension wealth), so they net to roughly zero per person; PSZ allocate pension-fund investment income by pension wealth. This is not the US rollover problem (us-income-11) but belongs to the same family of pension-allocation mismatches.

Evidence. Table E.6 (p.63) and Fig. 8 note (p.26). IBGE CEI 2019: D.442 = 84,273 (P34) of household D.44 103,477 (P32). D.613/614 = 249,060, of which 98,121 was received by financial corporations (N42), consistent with D.614 ~ D.442 plus ~R$14bn of actual private contributions.

Why this severity. This shifts up to ~R$84bn toward capital-income holders. With the top 1% receiving ~55-60% of distributed capital income, that adds ~0.4-0.75 pp to the top-1% share, which is small relative to the 27.4% level.

15minorlikely · newly identified here · overclaiming

The paper suggests that inequality may be underestimated across developing countries, but its evidence comes from Brazil alone, so this is a reasonable hypothesis rather than a finding.

Technical detail and evidence

Why it matters, in detail. External validity rests on one case in which tabulation-based corrections (DFM) had particularly thin tails. It is not established that the registry effect generalises to other Global South countries with different retention incentives and data.

Evidence. Abstract; pp.5-6; Fig. 1 (p.6): Chile administrative ~26.5% vs WID ~27.0%; Norway administrative ~11% vs WID ~12.3%.

Why this severity. The claim is hedged ('may', 'suggests') and is not a quantitative result. The within-Brazil evidence that retained earnings raise measured inequality is real, although F1, F2 and F9 qualify its size.

Claims examined and rejected

Problems one auditor raised that did not survive checking.

Audit notes

What reproduced. Not reproducible from microdata: the RFB data are confidential and no code or replication package exists, so no distributional statistic could be recomputed. Reproduced from public sources and the paper's own exhibits: (i) the Table A.3 national-accounts column against IBGE CEI 2019 (exact for labour & pensions, mixed income, distributed capital income, D.12 and D.613/614; PIT and indirect taxes match STN within 0.3%; household business taxes = 61.6% of STN IRPJ+CSLL); (ii) the implied total taxes T = R$2,687bn from two independent revenue shares, and NI = R$6,323bn; (iii) the Fig. 10 group rates, which aggregate to the stated top-1% 26.2% and ~20.6% for the top 0.01%; (iv) the DFM comparator values; (v) consistency of the Table A.1 economic column with Fig. 9a; (vi) Fig. 8 band shares, validated against the text; (vii) IBGE household D.42 = IRPF dividends plus Simples distributions (exact). Discrepant: the Table A.1 fiscal column vs Fig. 9a vs Table A.3; T/GDP of 36.4% vs the paper's 33%; SSC at 34.5% of revenue vs 26.2% officially; UP not rescaled despite Sec. 3.3.3; and EN vs PT Table A.3 (UP row; three small differences). Computed sensitivities: average rate excluding non-tax items; top shares and the top ETR under NA-consistent UP; the bound on bottom-50% negative incomes; a stage-by-stage comparison with DFM; and alternative tax boundaries (scripts/adjudicator_calculations.py).

Limits of this audit. No access to the confidential RFB microdata or code, so every distributional figure is checked only through published exhibits, public aggregates and comparator datasets. Several inputs are digitised from 300-dpi renders: Fig. 8, Fig. E.10 and Auditor A's digitisations of Fig. A.1 and Fig. 10, validated against text values within ~0.1-1 pp. The Portuguese edition was obtained from a third-party mirror (joserobertoafonso.com.br, md5 0f61df30...) because the EU Tax Observatory URL returns 404. Its text, tables and headline numbers match the English edition, but provenance was not independently confirmed. How the NA benchmark (R$382bn) is built, including the household share and depreciation, is undocumented; alternative benchmarks rely on WID's imputed corporate CFC. IBGE does not publish the D.613/D.614 split. The UP sensitivities hold ranks fixed and re-spread freed income neutrally. The DFM stage comparison uses DFM's survey+tax stage, which differs in concept from the paper's fiscal income. Not checked: the Italy comparator, the French 42% top-group figure (not printed in Note IPP 92), firm-level Figs. 3-5 beyond Table A.2, novelty claims, and representativeness of the single year 2019.