Filing Forms via IRIS

How to File 1099-R via IRIS

Form 1099-R reports retirement and pension distributions, and IRIS validates it line by line — distribution codes, taxable amounts, and totals all have to agree before the IRS will accept it. Here is how to file it cleanly, and how to fix the records that come back rejected.

At a glance

Form 1099-R reports distributions from pensions, annuities, retirement plans, and IRAs, and you can file it through the IRS Information Returns Intake System (IRIS) either by typing it into the web portal or by transmitting XML through the Automated Enrollment / Application-to-Application (A2A) channel. The form has its own validation rules on top of the shared ones: the taxable amount can never exceed the gross distribution, the distribution code in box 7 must be valid, and federal withholding cannot look excessive against what was paid out. The recipient copy is due January 31 and the electronic copy to the IRS is due March 31, so the filing window is wider than for 1099-NEC — but the rejections are subtler. If your deadline is close and you would rather not stand up your own A2A connection, a provider that already holds a Transmitter Control Code can transmit on your behalf today.

In this story

What 1099-R Actually Reports — and Why It Trips People Up

Form 1099-R is the information return for money leaving a retirement vehicle. Anyone who pays out $10 or more from a pension, an annuity, a profit-sharing or retirement plan, an IRA, or an insurance contract generally has to file one, and that single threshold is why payers who think of themselves as small still end up filing dozens of these forms every January.

The reason 1099-R is harder to get right than a straightforward payment form is that the boxes describe each other. Box 1 carries the gross distribution — the total amount that left the account. Box 2a carries the taxable amount, which is often less than the gross because part of the distribution was a return of after-tax basis. Box 7 carries one or more distribution codes that tell the IRS what kind of event this was: a normal distribution, an early withdrawal, a death benefit, a rollover, a Roth conversion, and so on. Because these fields are interdependent, IRIS does not just check that each box is formatted correctly; it checks that the story they tell is internally consistent. A taxable amount larger than the gross distribution, or a withholding figure that dwarfs the payout, is the kind of thing the system catches and pushes back.

In the IRIS XML schema the human box numbers map to named elements, and it is worth learning the names because every rejection message refers to them rather than to “box 1” or “box 7.” The gross distribution is GrossDistributionAmt, the taxable amount is TaxableAmt, the box 7 code is Form1099RDistributionCd, federal withholding is FederalIncomeTaxWithheldAmt, and the IRA/SEP/SIMPLE checkbox is IRASEPSIMPLEInd. When IRIS reports an error, it speaks in these element names, so matching them back to the boxes your software shows you is the first step to fixing anything.

Official source(s) Pub 5717

The intake mechanics for 1099-R follow the same A2A specification as every other IRIS form. The portal and bulk-upload paths are described in IRS Publication 5717, the A2A submission composition in Publication 5718, and you register for the credentials you need through IRS e-Services. The element names and rule numbers cited here come from the IRIS schema and business-rule catalog for tax year 2025 (v1.4).

Portal or A2A: Which Filing Path Fits Your Volume

IRIS gives you two genuinely different ways to file the same form, and choosing between them is the first real decision. The web portal lets you key a return in by hand or upload a CSV through your IRIS account, which is the right answer when you have a handful of 1099-R records and no appetite for building software. The A2A channel is a machine-to-machine pipe: you compose the return as XML, sign a transmission, and post it to the IRS, then poll for an acknowledgement. A2A is what you reach for at volume, but it requires a Transmitter Control Code and passing Assurance Testing before you can send a single live record.

DimensionIRIS portalIRIS A2A
Best forA few to a few hundred recordsHundreds to millions of records
How you submitType in, or upload a CSVSign and POST IRIS XML
Setup neededAn IRIS / IR accountTCC + passing ATS testing first
AcknowledgementOn-screen statusAsynchronous, polled after submit
You must hold a TCCNot for portal CSVYes — this is non-negotiable

Whichever path you pick, the validation that decides whether your 1099-R is accepted is identical. The portal runs the same business rules the A2A pipeline does; it just shows you the result on a screen instead of in an acknowledgement file. That means the rejection reasons later in this article apply no matter how you submit — the form has to be internally consistent before the IRS will take it either way.

The Fields Every 1099-R Must Carry

Before you worry about distribution codes, a 1099-R has to clear the same baseline every IRIS information return does. The recipient’s Taxpayer Identification Number must be present — rule SHAREDIRFORM023 rejects a record whose TIN in RecipientDetail is missing — and the recipient needs a mailing address, since SHAREDIRFORM016 requires a MailingAddressGrp that is either a U.S. or a foreign address. The payer (the “issuer” in IRIS terms) must supply its own name and TIN, and those have to match what the IRS has on file.

What it isIRIS elementNotes
Gross distribution (box 1)GrossDistributionAmtThe total paid out; the ceiling other amounts are checked against
Taxable amount (box 2a)TaxableAmtMust not exceed the gross distribution
Taxable amount not determined (box 2b)TxblAmountNotDeterminedIndInteracts with the IRA/SEP/SIMPLE flag
Federal tax withheld (box 4)FederalIncomeTaxWithheldAmtFlagged if excessive vs. the income reported
Distribution code(s) (box 7)Form1099RDistributionCdMust be a valid code or code combination
IRA/SEP/SIMPLE checkboxIRASEPSIMPLEIndChanges how the taxable amount is validated
State tax detailStateLocalTaxGrpNeeded when you file state amounts or elect CF/SF

The payee match is worth pausing on, because it is the most common way a perfectly formatted 1099-R still draws an error. Rule SHAREDIRFORM014 compares the recipient’s PersonName and TIN against the IRS database, and SHAREDIRFORM015 does the same for a business recipient’s BusinessName. These are reported as errors rather than hard rejections, but a name-and-TIN mismatch left unresolved is what later turns into a CP2100 notice and potential backup-withholding obligations, so it is worth running TIN matching before you file rather than after.

Distribution Codes and Taxable Amounts: Where the Logic Lives

The single most 1099-R-specific thing you have to get right is the relationship between the amounts. IRIS encodes this directly. Rule F1099R002 says that if TaxableAmt has a nonzero value, it must not be greater than GrossDistributionAmt — you cannot tell the IRS that more was taxable than was actually distributed. The same ceiling applies to the capital-gain figure under F1099R003 and to net unrealized appreciation under F1099R005_001: neither can exceed the gross distribution. These are reject-if-over-threshold rules, which means a few cents of rounding noise might be tolerated but a real inversion will stop the filing.

The distribution code in box 7 also carries downstream consequences. Rule F1099R006 captures one of the classic traps: if you mark the taxable amount as not determined by setting TxblAmountNotDeterminedInd to “1” while the IRA/SEP/SIMPLE indicator IRASEPSIMPLEInd is “0,” then TaxableAmt must not carry a value greater than zero. In plain terms, you cannot simultaneously claim you could not determine the taxable amount and report a positive taxable amount — the system treats that as a contradiction. Finally, withholding gets its own sanity check: F1099R001 flags a FederalIncomeTaxWithheldAmt that looks excessive relative to the income amounts reported, which catches the common data-entry slip of putting the gross distribution into the withholding box.

Reconcile the boxes before you transmit, not after

Every one of these checks is something you can run yourself before submission. Confirm that the taxable amount, capital gain, and net unrealized appreciation each sit at or below the gross distribution, that withholding is a believable fraction of the payout, and that the box 7 code is consistent with the “taxable amount not determined” flag. Doing that reconciliation up front turns a rejection cycle into a clean acceptance.

Filing a 1099-R Through IRIS, Step by Step

1

Confirm your access and method

Make sure you have an active IRIS account for the portal path, or a Transmitter Control Code and passing ATS results for A2A. You cannot transmit a live A2A submission without a TCC, so settle this before filing season, not during it.

before season
2

Assemble the recipient and payer data

Gather each recipient’s name, TIN, and mailing address, and your own issuer name and TIN, and run TIN matching so a mismatch surfaces now rather than as a notice in the spring.

1–2 hrs
3

Map the boxes to the IRIS elements

Place each amount in the right element — gross into GrossDistributionAmt, taxable into TaxableAmt, the box 7 code into Form1099RDistributionCd — and set the IRASEPSIMPLEInd flag correctly, because it changes how the taxable amount is validated.

varies
4

Pre-validate the amount logic

Check the relationships the form rules enforce: taxable, capital gain, and net unrealized appreciation each at or below the gross distribution, and withholding that is plausible against the payout. This is where most rejections are prevented.

15 min
5

Submit and capture the acknowledgement

Through the portal you submit and read the on-screen status; through A2A you sign and POST the transmission, then poll for the asynchronous acknowledgement that returns a Receipt ID and, later, the accepted-or-rejected status for each record.

minutes
6

Resolve any rejected records and resubmit

Read the rule code on each rejected record, fix the underlying data, and resubmit only the corrected records. A record that was never accepted is resent as an Original, not as a correction.

as needed

State Filing: The Combined Federal/State Trap

Many 1099-R filers can satisfy their state reporting in the same transmission through the Combined Federal/State Filing program, where the IRS forwards the record to the participating state for you. The mechanics are unforgiving in one specific way, and it is the most common state-related rejection on the platform. If you put a state into CFSFElectionStateCd on the record, rule SHAREDIRFORM020 requires that the CFSFElectionInd on the submission header be set to “1,” and rule SHAREDIRFORM022 requires at least one TotalByStateGrp to be present with the state totals. Elect a state on the record but forget the header flag or the state-totals group, and the election does not take.

There is also a fixed list of states that participate. Rule SHAREDIRFORM019_002 validates that any value in CFSFElectionStateCd is one of the program’s participating states, so electing a non-participating state simply errors out. If your recipient lives in a state that runs its own direct-filing program instead, CF/SF will not cover you, and you need to file with that state separately — the broader breakdown of which states accept CF/SF and which demand direct filing is its own topic.

Common Rejection Reasons (and How to Avoid Them)

Most 1099-R rejections come from a short list of internal inconsistencies. Each one is preventable with a check you can run before you transmit, so they are worth knowing by name.

Taxable amount exceeds the gross distribution most common

Cause: TaxableAmt carries a value larger than GrossDistributionAmt, which rule F1099R002 rejects once it crosses the threshold — usually a basis calculation that went the wrong way or a transposed figure. Fix: confirm the taxable amount is at or below the gross distribution; if the whole distribution is taxable, the two are equal, never inverted.

Withholding looks excessive against the payout

Cause: FederalIncomeTaxWithheldAmt is implausibly large relative to the income reported, which F1099R001 flags — almost always the gross distribution accidentally keyed into the withholding box. Fix: recheck box 4 against the actual amount withheld; for most distributions it is a fraction of the gross, not the whole thing.

“Taxable amount not determined” contradicts a positive taxable amount

Cause: TxblAmountNotDeterminedInd is set to “1” while IRASEPSIMPLEInd is “0” and TaxableAmt still carries a positive value, which rule F1099R006 treats as a contradiction. Fix: either clear the “not determined” indicator if you do have a taxable amount, or zero out the taxable amount if you genuinely could not determine it.

CF/SF state elected without the header flag or state totals

Cause: a state was placed in CFSFElectionStateCd but the submission header’s CFSFElectionInd was not set to “1” (SHAREDIRFORM020) or no TotalByStateGrp was supplied (SHAREDIRFORM022). Fix: set the election flag on the submission header and include the state-totals group whenever you elect a state on the record.

Recipient name and TIN do not match the IRS database

Cause: the recipient’s PersonName and TIN fail the match in rule SHAREDIRFORM014 (or SHAREDIRFORM015 for a business recipient) — a typo, a married-name change, or a wrong digit. Fix: run TIN matching before filing and correct the name or number; this is reported as an error, but left alone it becomes a CP2100 notice later.

When the Validation Logic Is Doing the Hard Part for You

Tired of reconciling box 1, box 2a, and box 7 by hand?

e1099f checks every 1099-R against the IRIS amount and distribution-code rules before it transmits, so you get a Receipt ID instead of a rule code.

See how it works

Skip the Reconciliation: The e1099f Advantage

Rules run first

Every 1099-R amount and distribution-code rule is checked before we submit, not after the IRS sends back a code.

Your data in

Import the spreadsheet you already keep; the fields map to the IRIS elements automatically.

CF/SF handled

The election flag and state-totals group are emitted together, so the state election actually takes.

A Receipt ID, not a rejection — even when box 1, 2a, and 7 have to agree.

Frequently Asked Questions

When is Form 1099-R due?
The recipient copy is due January 31. The electronic copy to the IRS through IRIS is due March 31, which gives you a wider window than 1099-NEC, where both deadlines fall on January 31.
Do I need a TCC to file 1099-R on IRIS?
It depends on the path. The IRIS web portal and CSV upload work from an IRIS/IR account without a Transmitter Control Code. The A2A machine-to-machine channel does require a TCC and passing Assurance Testing first.
Why was my 1099-R rejected when the formatting looked fine?
1099-R rejections are usually about consistency, not format. The most common is a TaxableAmt that exceeds GrossDistributionAmt (rule F1099R002), followed by withholding that looks excessive against the payout (F1099R001).
Can the taxable amount ever be more than the gross distribution?
No. Rule F1099R002 rejects any 1099-R where a nonzero TaxableAmt is greater than GrossDistributionAmt. If the entire distribution is taxable, the two are equal.
What does box 7 map to in the IRIS XML?
The box 7 distribution code maps to the Form1099RDistributionCd element. It must be a valid code or code combination, and it interacts with the taxable-amount flags — see rule F1099R006.
What is the IRA/SEP/SIMPLE checkbox in IRIS terms?
It is the IRASEPSIMPLEInd element. It matters because it changes how the taxable amount is validated: rule F1099R006 ties the “taxable amount not determined” indicator and a positive taxable amount to the value of this flag.
Can I file state amounts with my 1099-R on IRIS?
Yes, through the Combined Federal/State Filing program. If you set a state in CFSFElectionStateCd, you must also set CFSFElectionInd to “1” on the submission header (SHAREDIRFORM020) and include a TotalByStateGrp with state totals (SHAREDIRFORM022).
Which states accept 1099-R through CF/SF?
Only the states on the program’s participating list, which rule SHAREDIRFORM019_002 validates. A state running its own direct-filing program is not covered by CF/SF, so you would file with it separately.
How do I fix a 1099-R that was rejected?
A record that was never accepted is corrected at the data level and resubmitted as an Original, not as a correction. Corrections in IRIS apply only to records the IRS previously accepted.
What happens if the recipient name and TIN don't match?
Rule SHAREDIRFORM014 reports a name/TIN mismatch as an error rather than a hard reject, but an unresolved mismatch can lead to a CP2100 notice and backup-withholding obligations. Run TIN matching before you file.
Does e1099f require me to understand any of these rules?
No. e1099f validates each 1099-R against the IRIS amount, distribution-code, and CF/SF rules before transmitting, so you can file without learning the element names — though understanding them helps when you read an acknowledgement.
DM
Dariel Montesino
Founder, e1099f · Reviewed by a licensed CPA

Dariel writes e1099f’s coverage of filing the 1099 series through IRIS, drawing on IRS Publications 5717–5719, the IRIS schema and business-rule catalog, and hands-on A2A integration work.

Not tax advice. This is general information about IRS procedures for filing Form 1099-R through IRIS. Element names, rule numbers, and thresholds follow the IRIS schema and business-rule catalog and may change as the IRS updates IRIS; the published IRS publications are authoritative. Consult a tax professional for your situation.

File 1099-R on IRIS now. Start free — no credit card.

Import your distributions, clear the amount and distribution-code rules automatically, and transmit for a Receipt ID.

An unhandled error has occurred. Reload ×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.