Box 2a is an estimate on an IRA and a computation on a plan. For an employer plan the administrator knows what went in and can compute what comes out, so box 2a is usually right. For a traditional IRA the instructions tell the custodian the opposite: it is generally not required to compute the taxable amount or to identify any part of the distribution as a return of after-tax basis, so it reports the total distributed in box 2a, which will equal box 1, and checks the "taxable amount not determined" box. A custodian has no way of knowing about nondeductible contributions made years ago at a different firm. The correction happens on the taxpayer's own return, through Form 8606, and a taxpayer who copies box 2a onto the return without it pays tax twice on money that was already taxed once.
The distribution codes are the form. Box 7a takes one or two characters from a table the IRS publishes, and it drives the presumption of whether the 10% additional tax on an early distribution applies. Code 1 is an early distribution with no known exception. Code 2 is an early distribution where the payer knows an exception applies, which includes a Roth conversion under age 59 and a half, and a separation from service in or after the year the participant reached age 55. Code 3 is disability, code 4 is death, and code 7 is a normal distribution. Code G is a direct rollover, and code H is a direct rollover of a designated Roth account to a Roth IRA. Code J, Q and T are the Roth IRA codes, distinguishing an early distribution, a distribution the custodian knows is qualified, and one where the custodian does not know whether the five-year period has run. Code M marks a qualified plan loan offset and code L a loan treated as a deemed distribution, which are not the same event. Code 8 and code P mark corrective distributions of excess contributions, and which one applies decides which year the earnings are taxable in.
The code table's fourth column matters as much as its first. For each code the IRS lists which other codes it may be used with, and the pairings are not free. Code 1 may accompany 8, B, D, K, L, M or P. Code 7 may accompany A, B, D, K, L, M or Y. Code Q may not be combined with anything. A payer that puts an impossible pair in box 7a produces a return that no software can process correctly, and the fix runs through the payer rather than the IRS.
Two codes worth knowing because they are new or nearly invisible. Code Y marks a distribution paid directly from an IRA to a charity that the taxpayer intends to treat as a qualified charitable distribution, and it must be paired with code 4, 7 or K. The instructions note that using code Y is optional for tax year 2026, so an absent Y is not evidence that a distribution was not a qualified charitable distribution. Code 1 also has a counterintuitive instruction attached: it must be used even where the taxpayer is over 59 and a half, if they broke a series of substantially equal periodic payments before the end of the five-year period that started with the first payment.
A rollover generates a form, and this surprises people every year. Money moving out of an employer plan is a distribution, so the plan files a Form 1099-R even where the whole amount goes straight into an IRA. The instructions require box 2a to show zero for a direct rollover to another plan or a traditional IRA, and code G in box 7a. A transfer directly between two IRA custodians is a different legal event, produces no Form 1099-R at all, and is why one path leaves a paper trail and the other does not.
The other boxes, briefly. Box 3 reports capital gain included in box 2a, a legacy of pre-1974 plan participation. Box 4 is federal income tax withheld, which for an eligible rollover distribution paid to the participant is mandatory at 20% and for an IRA distribution defaults to withholding the taxpayer may waive. Box 5 is employee contributions, designated Roth contributions or insurance premiums, meaning the after-tax portion the payer does know about. Box 6 is net unrealized appreciation in employer securities. Box 7b is the IRA, SEP or SIMPLE checkbox, box 7c marks a Trump account and box 7d reports earnings on excess contributions. Boxes 8 and 9 deal with annuity contracts and percentages, box 10 with an amount allocable to an in-plan Roth rollover within five years, box 11 with the first year of a designated Roth five-year period, and boxes 14 through 19 with state and local reporting.
Roth accounts split their reporting across boxes. For a nonqualified distribution from a designated Roth account inside a plan, the payer reports the gross amount in box 1, the earnings portion in box 2a, the contribution basis in box 5, and code B in box 7a. For a Roth IRA the custodian reports the total in box 1 and generally leaves box 2a blank, using code J, Q or T. The difference reflects who holds the record of what went in.