1099 season · checked against the IRS on

IRIS CSV template and upload errors

The IRS hands out the IRIS CSV templates inside the Taxpayer Portal (Upload CSV with Form Data); the formatting guidelines are public, and the newest are for tax year 2025, updated 14 January 2026. There is no tax-year-2026 template yet. Each file holds one form type and up to 100 records, the portal checks the header row, and an upload is refused for characters the guidelines do not allow (commas and periods in names, # in addresses), ZIP codes with a dash, and amounts a spreadsheet turned into scientific notation.

“Each CSV file holds up to 100 records, not including the header. You may submit an unlimited number of templates.”

Information Returns Intake System (IRIS) FAQs (PDF dated 10 Feb 2025; read 8 Oct 2026)

“The IRIS system validates the CSV column header descriptions. We recommend you download the newest templates to avoid errors when uploading CSV Files.”

Information Returns Intake System (IRIS) FAQs (PDF dated 10 Feb 2025; read 8 Oct 2026)

Prepared for your review, not tax advice.

Where the template is

In the IRIS Taxpayer Portal, select Upload CSV with Form Data; the template for each form is downloaded from there, and the template formatting guidelines are item 8 under FAQ on the right of that page. The guidelines are also posted publicly, one ZIP per tax year (E-file information returns with IRIS): on 8 October 2026 the newest was tax year 2025, updated 14 January 2026. The Taxpayer Portal itself needs an IRIS Transmitter Control Code (TCC).

No tax-year-2026 template yet

The forms for 2026 payments change: the December 2026 instructions add boxes 1b to 1d to the 1099-NEC (cash tips, the tipped occupation code, overtime) and 13a, 13b and 14 to the 1099-MISC, and box 1 of the 1099-NEC becomes box 1a. Expect the TY2026 template to differ from the TY2025 one, and use the template the portal gives you for the year you file.

The 1099-NEC columns, tax year 2025

ColumnsFieldsExample or allowed values
A–BForm Type, Tax Year1099-NEC, 2025
C–DPayer TIN Type, Payer Taxpayer ID NumberEIN as XX-XXXXXXX, SSN as XXX-XX-XXXX
E–KPayer Name Type, business name lines 1–2, or first/middle/last/suffixB or I
L–SPayer country, address lines, city, state, ZIP, phone type, phoneUS, TX, 12309
T–URecipient TIN Type, Recipient Taxpayer ID NumberSSN, EIN, ATIN, ITIN, QI-EIN or UND
V–ABRecipient Name Type and name fieldsB or I
AC–AHRecipient country, address lines, city, state, ZIPrequired
AI–AKOffice Code, Form Account Number, 2nd TIN NoticeY or N
ALBox 1 - Nonemployee Compensation1000 or 1000.50
AMBox 2 - direct sales of $5,000 or moreY or N
AN–AOBox 3 - Excess golden parachute payments; Box 4 - Federal income tax withheld
AP–BBCombined Federal/State Filing, then State 1 and State 2 fields"AL,CA"

The 1099-MISC template runs from A to BL: the same payer and recipient columns, then FATCA Filing Requirements, 2nd TIN Notice, boxes 1 to 12 and 15, the combined federal/state field and two states.

Upload errors and their fixes

What happensWhat to do
Nothing happens when you select Start, or the portal spins after Add AllThe IRS's own answer: refresh the page, go to the Taxpayer Portal dashboard, and open the Unsubmitted Forms tile to see whether the forms were uploaded before trying again.
The header row is refusedThe portal checks the column headers against its template. Download the current template from the portal for the form and year, and keep its header row exactly; do not rename, reorder or add columns.
A name, address or city is refusedNames allow letters, numbers, spaces and - # ( ) & ' only, 40 characters at most, so Acme, Inc. becomes Acme Inc. Addresses allow letters, numbers, spaces, - and / only, 35 characters, so Suite #3 becomes Suite 3. Cities allow letters and spaces. No leading, trailing or double spaces.
An amount is refusedDigits with at most one decimal point and two decimals, no $ or commas. A spreadsheet that shows 1.045E+5 has turned the amount into scientific notation; format the column as text or a plain number before saving.
A TIN or ZIP is refusedEINs as XX-XXXXXXX, SSNs, ITINs and ATINs as XXX-XX-XXXX. ZIP codes are 5, 9 or 12 digits with no dash.
More than one form, or more than 100 rowsOne form type per file, all the same tax year, and up to 100 records per file; upload as many files as you need.

The IRS said in August 2025 that “Beginning TY25/PY26 the record size will increase to 250”; its FAQ and its e-file page still say 100. Batches of 100 are accepted either way.

The command below writes the batches already cleaned to these rules, one file per form, and lists any row the portal would still reject (a missing TIN or address) before you upload. If the portal refuses its header row, download the template and pass it with --template; the files are then written under that exact header.

Check your own payees, on your machine: export your QuickBooks or Xero 1099 or vendor-payments report as CSV and run

npx --allow-git=root github:agentwares/iris-1099 vendor-payments.csv

It decides who needs a 1099-NEC or 1099-MISC and why, citing the IRS sentence for each, lists missing W-9s, and writes IRIS Taxpayer Portal CSVs in batches of 100. It makes no network request; TINs stay in the files on your disk and are shown as the last four digits. No file yet? npx --allow-git=root github:agentwares/iris-1099 --demo runs it on invented vendors. Source (MIT).

For bookkeepers: Keep every client's 1099 season — W-9 status, decisions, IRIS batch receipts — in one place.

Not built yet: $15 per client per season, $49 minimum, built only if enough bookkeepers ask by 1 December 2026.

Count me in ($15 per client per season, $49 minimum)

Sources

Other 1099 questions