Methodology

Tax-character and after-tax math

How Ironlake computes after-tax yield by tax character - every category, the federal/state/NIIT treatment of each, the sources, and the limitations.

3 min read

Ironlake treats tax character as a first-class field on every income-producing holding, because the after-tax value of a dollar of income depends entirely on how it is taxed. A Treasury, an in-state muni, an out-of-state muni, and a REIT distribution can have the same headline yield and very different after-tax yields. This page documents how each character is treated and what the math does - and does not - account for.

The tax-character categories

Ironlake uses a granular taxonomy (the TaxCharacter field). Every category is treated explicitly:

  • Fully exempt - in-state municipal bonds and US-territory bonds. Exempt from federal AND your state income tax, and exempt from the net investment income tax.
  • Federally exempt, state taxable - out-of-state munis (and, importantly, in-state munis in IL, IA, OK, and WI, which tax their own residents' munis). Federal- and NIIT-exempt; your state rate applies.
  • State exempt, federally taxable - Treasuries, Treasury ETFs, and savings bonds. Taxed at your ordinary federal rate plus NIIT where applicable, but exempt from state tax.
  • Qualified dividend - taxed at the preferential federal qualified-dividend rate, plus your state rate, plus NIIT where applicable.
  • Ordinary income - BDC and REIT distributions, corporate-bond interest, and non-qualified dividends. Taxed at your ordinary federal rate, your state rate, and NIIT where applicable.
  • Capital gain - capital-gain distributions. Subject to NIIT where applicable. (The long-term vs short-term split is deferred - see limitations.)
  • Return of capital - not currently taxed as income; it reduces your cost basis and is deferred until sale.
  • None - non-income-producing assets (gold, passion assets). No income tax treatment.

This is why the taxonomy is not collapsed into a single "tax-exempt" bucket: doing so would overstate the after-tax yield of out-of-state munis or understate Treasuries by your full state rate.

The net investment income tax (NIIT)

For higher-income households the after-tax math is not just federal + state. Ironlake applies the 3.8% net investment income tax to the eligible characters - ordinary income, qualified dividends, capital-gain distributions, and Treasuries (state-exempt/federally-taxable). Munis (both fully-exempt and federally-exempt/state-taxable) are excluded from NIIT.

How the rate is resolved:

  • When you have entered an estimated AGI, Ironlake applies the IRS rule: NIIT is owed on the lesser of net investment income and the amount by which your MAGI exceeds the filing-status threshold ($250k married filing jointly, $200k single or head-of-household, $125k married filing separately), then pro-rated across the eligible income so the effective rate can be less than 3.8%.
  • When AGI is not set, it falls back to a heuristic: a federal ordinary rate at or above 32% is treated as "probably above the threshold" and the full 3.8% is applied. This can overstate NIIT for a household just above the threshold; the app surfaces this as an estimate and entering an AGI replaces the heuristic with the exact calculation.

Sources

State rates and rules come from the StateTaxProfile reference data, keyed by state, year, and filing status - including the in-state-muni exceptions for IL/IA/OK/WI. Federal brackets and the NIIT thresholds come from the federal reference data. These are curated datasets refreshed annually, not live feeds.

Limitations (read these)

  • The long-term vs short-term capital-gain split is deferred - capital-gain distributions are treated as a single character for now.
  • The NIIT heuristic without an AGI can overstate the surtax; enter an estimated AGI for the exact, pro-rated figure.
  • After-tax figures use your marginal federal and state rates as entered, not a full return calculation; they are decision-support estimates, not tax advice.
  • State coverage uses top-marginal and rule data from StateTaxProfile; per-state bracket schedules are not all seeded, so some state figures use the top rate as known.

See your income by tax character