IRIS Technical Guide

IRIS CSV Upload Template Guide

The IRIS Taxpayer Portal lets you skip XML entirely and upload a spreadsheet instead — but only if your CSV matches the IRS template exactly. This is the field-by-field guide to getting the columns, the formats, and the totals right the first time.

 Verified against IRIS schema TY2025 v1.4 & IRS Pub 5717–5719 · June 12, 2026
At a glance

The IRIS Taxpayer Portal accepts a CSV upload — a downloadable spreadsheet template, one per form type — so you can file without writing a single line of XML. The catch is that the template is unforgiving: the columns have to stay in the exact order the IRS shipped them, the header row can’t be edited, TINs are nine bare digits, and behind the scenes the IRS converts your rows into the very same XML it validates for A2A filers. That makes CSV the gentlest on-ramp for low-to-moderate volume, while the largest filers should plan to graduate to A2A. And if your deadline is close, a provider that already holds a TCC can import your spreadsheet and file today.

In this story

What the IRIS CSV Template Actually Is

The IRIS CSV upload is a way to file through the Taxpayer Portal by uploading a spreadsheet instead of keying every return by hand or hand-building XML. The IRS publishes a downloadable template for each supported form, and your only job is to fill the rows without disturbing the structure around them.

For many filers leaving the retiring FIRE system, that template is the gentlest possible on-ramp onto IRIS: there is no XML to author and no integration to stand up. If you are still planning that switch, our walkthrough on migrating from FIRE to IRIS shows exactly where the CSV path fits inside the larger move.

It helps to understand what the CSV really is, because the name undersells it. The spreadsheet is a convenience layer sitting on top of the same canonical format that powers IRIS underneath. When you upload a CSV, the Portal maps each column to a named XML element and then runs the file through the identical schema and business-rule checks that an A2A transmitter faces. The spreadsheet is friendlier to author, but it is not one bit more forgiving — a value the schema would reject as XML is rejected in exactly the same way when it arrives as a CSV cell.

Each form type has its own template with its own columns, and that distinction governs how you organize your work. You cannot mix 1099-NEC and 1099-MISC records in a single file, and you cannot quietly reuse last year’s template without first confirming the IRS hasn’t revised it for the current tax year. If you want the broader context of how all of this fits together with XML, the API, and the rule catalog, start with the IRIS technical guide.

Official sources Pub 5717

The Portal upload process, including the CSV templates and the formats it accepts, is documented in the IRS IRIS Taxpayer Portal User Guide, Publication 5717. Always pull the current template from inside your live IRIS Portal session at IRS e-Services / IRIS rather than reusing a saved copy — the IRS treats the published template as the single source of truth, and it can change between tax years.

CSV Upload vs A2A: Which Path Actually Fits You

Before you commit to the spreadsheet route, it is worth seeing how it compares with the machine-to-machine alternative. The CSV template lives inside the Portal and is something a person fills in and uploads; A2A is the application-to-application API that sends schema-valid XML directly, with no human in the loop. The decisive difference between them comes down to volume and automation rather than to how strictly the IRS checks your data.

DimensionCSV upload (Portal)A2A (API)
Format you authorSpreadsheet rows (IRS template)Schema-valid XML
CredentialIRIS TCC for the PortalIRIS A2A TCC + ATS pass
Best forLow-to-moderate volume, manual filingHigh volume, automated pipelines
ValidationSame schema + business rules, run on uploadSame schema + business rules, run on transmit
Per-file ceilingOne form type per file, sized for the PortalBuilt for bulk; scales to large batches

If you file a few hundred returns across one or two form types and would rather not build an integration, the CSV template is the pragmatic choice — it is exactly the route most small businesses filing on IRIS take. Once your volume climbs, or once you want filing to run unattended on a schedule, that is the signal to move from CSV uploads to bulk A2A filing.

The Column Layout: Don't Touch the Headers

The single most important rule of the IRIS CSV is that the template structure is fixed and not yours to improve. The header row names each column and, just as importantly, tells the Portal which XML element that column maps to. The moment you rename, reorder, add, or delete a column, the mapping breaks — and the whole file is rejected before a single data record is ever read.

A representative IRIS CSV groups its columns into the same logical blocks the XML uses: payer identity, payee identity, the dollar boxes for that particular form, and the combined federal/state fields. The exact column names always follow the IRS template for each form, so the values below are illustrative — the published template remains authoritative for the real headers and their order.

Payer TIN,Payer Name,Payee TIN,Payee First Name,Payee Last Name,Box 1 Amount,State Code,State Tax Withheld 123456789,ACME LLC,987654321,MARIA,RODRIGUEZ,1500.00,CA,75.00 123456789,ACME LLC,456789123,JAMES,OKONKWO,2200.00,,

Look closely at the two empty trailing cells on the second record. That payee has no state withholding, so the state columns are simply left blank — not deleted, and not padded with a zero unless the template explicitly asks for one. The columns themselves must still be present and in their original position; only the values inside them change from row to row.

The Formatting Rules That Trip People Up

Most CSV rejections are not conceptual mistakes about which box reports what — they are small formatting slips that a spreadsheet program introduces silently while you weren’t looking. Hold to the rules below and you clear the schema layer cleanly.

  • TINs are nine bare digits. No hyphens and no spaces — 12-3456789 fails where 123456789 passes. Watch in particular for a spreadsheet that strips a leading zero, and format the whole column as text to stop it.
  • Amounts are plain numbers. No dollar signs and no thousands commas, so $1,500.00 fails while 1500.00 passes.
  • State codes are two-letter USPS abbreviations. Use CA, never Calif. and never a numeric FIPS code.
  • One form type per file. A 1099-NEC template holds only 1099-NEC records; start a separate file for each form you file.
  • Keep the header row intact. Don’t delete it, don’t translate it, and don’t insert a title row above it.
  • Save as CSV, not XLSX. Export plain comma-separated values with UTF-8 encoding, then re-open the file in a text editor to confirm there are no stray quote marks or extra delimiters lurking in it.
The CSV is friendlier to fill, but it is not friendlier to fail — the IRS validates your spreadsheet against the exact same rules it would apply to hand-built XML.— The one thing to remember about IRIS CSV uploads

How to Upload, Step by Step

Once the file is filled and saved correctly, the Portal upload itself takes only a few minutes. Each step has its own characteristic failure mode, though, so it pays to move through them deliberately rather than racing to hit submit.

1

Download the current template

From inside your live IRIS Portal session, pull the CSV template for the specific form and tax year you are filing. Resist the urge to reuse a prior-year copy you saved to disk.

2 min
2

Fill the rows without altering structure

Enter one payee per row, leave the header row untouched, and keep every column in place — blank an unused cell rather than removing the column it sits in.

varies
3

Save as plain CSV and self-check

Export as comma-separated UTF-8, then open the result in a text editor and confirm that TINs are nine digits and amounts carry no symbols before you go any further.

3 min
4

Upload and review the validation result

Submit the file through the Portal. The system runs the same schema and business-rule checks an A2A filer faces and returns either an acceptance or a list of rejected records, each with a reason.

2 min
5

Fix rejects and re-upload only what failed

Correct the flagged rows and resubmit just those. Never re-upload records the IRS already accepted, or you invite a duplicate-filing rejection.

varies

Tired of fighting the template?

e1099f imports your spreadsheet as-is, maps every column to the right IRIS field, and validates both layers before it ever reaches the IRS.

See how it works

Common Rejection Reasons (and How to Avoid Them)

Because the Portal converts your CSV into the same validated XML an A2A filer sends, your rows have to run the full schema and business-rule gauntlet. These are the failures that catch most first-time CSV uploaders, ordered by how often they actually bite.

Altered or reordered header row most common

Cause: A renamed, deleted, added, or reordered column breaks the column-to-element mapping, so the entire file fails before any record is read. Fix: Start from a freshly downloaded template and edit only the data rows — never the header.

Bad TIN or amount format schema

Cause: A hyphenated TIN, a dropped leading zero, or an amount carrying a dollar sign or comma — almost always introduced by the spreadsheet program rather than typed by hand. Fix: Format the TIN and amount columns as text, strip every symbol, and verify the result in a plain-text editor before you upload.

Invalid or inconsistent state data business rule

Cause: A non-USPS state code, or state tax withheld entered without the matching state code — the combined federal/state fields are validated together as a set. Fix: Use two-letter USPS codes and fill the state columns as a group, leaving all of them blank when there is no state reporting at all.

Wrong form template or mixed forms schema

Cause: Records for two form types crammed into one file, or last year’s template used for a tax year the IRS has since revised. Fix: Use one current-year template per form type, and confirm the template version inside your live Portal session before you build the file.

Skip the Spreadsheet Wrangling: The e1099f Advantage

You can fill the IRS template by hand, fight your spreadsheet’s auto-formatting one cell at a time, and re-upload until the file finally clears — or you can hand the data over and let it be done for you. e1099f takes the file you already have and turns it into an accepted IRIS filing.

Import any spreadsheet

Bring your own columns and we map them to the right IRIS fields, so you never have to rebuild your data around the IRS template.

Both layers pre-checked

Schema and business rules are validated before submission, TIN and amount formats included, so you get an accepted filing instead of a reject.

State fields handled

The CF/SF state columns are emitted and cross-checked automatically, with no blank-cell guesswork left to you.

From your data to an accepted IRIS filing — without ever opening the IRS template.

Frequently Asked Questions

Where do I get the IRIS CSV template?
From inside your IRIS Taxpayer Portal session. The IRS publishes a separate template per form type, and the upload process is documented in Publication 5717. Download the current-year version rather than reusing a saved copy.
Can I file every 1099 form by CSV?
The Portal supports CSV upload for the form types it lists, and each has its own template. Confirm your specific form is available in your Portal session before you build the file, and use one template per form type.
Can I put more than one form type in a single file?
No. Each CSV holds records for a single form type, matching that form's template. Mixing forms breaks the column mapping and rejects the file.
How should I format TINs in the CSV?
Nine digits with no hyphens or spaces. Format the column as text so your spreadsheet doesn't strip a leading zero or reformat the value behind your back.
Why was my whole file rejected before any record processed?
Almost always an altered header row — a renamed, added, deleted, or reordered column. The Portal maps columns to XML elements by the header, so any change breaks the mapping for the entire file.
Do I need a TCC to upload a CSV?
Yes. You file through the IRIS Taxpayer Portal under an IRIS Transmitter Control Code. A FIRE TCC does not carry over to IRIS — you apply for a new one through IRIS.
Is the CSV validated less strictly than A2A XML?
No. The Portal converts your CSV into the same XML and runs the identical schema and business-rule checks. A value that would fail in XML fails the same way as a CSV cell.
When should I stop using CSV and switch to A2A?
When volume grows beyond comfortable manual uploads, or when you want filing to run automatically. A2A (Pub 5718) is built for bulk transmission and unattended pipelines; CSV is for low-to-moderate, hands-on filing.
How do I leave a box or state field empty?
Leave the cell blank but keep the column in place. Don't delete the column or insert a zero unless the template specifically calls for one. The CF/SF state columns are checked together, so blank all of them when there is no state reporting.
What happens if I re-upload records that were already accepted?
You risk a duplicate-filing rejection. After fixing rejects, upload only the corrected records, not the ones the IRS already accepted.
Does e1099f make me use the IRS CSV template?
No. e1099f imports your own spreadsheet, maps the columns to IRIS fields, and validates before filing — this guide is for filers who want to use the IRS template directly.
DM
Dariel Montesino
Founder, e1099f · Reviewed by a licensed CPA

Dariel writes e1099f’s technical coverage of the FIRE→IRIS migration, drawing on IRS Publications 5717–5719 and hands-on IRIS Portal and A2A filing work.

Not tax advice. This is general information about IRS IRIS procedures and may change as the IRS updates IRIS; the published CSV templates and Publications 5717–5719 are authoritative. Column names shown here are illustrative — verify the current template and consult a tax professional for your situation before filing.

Skip the template. Import a CSV and file in minutes.

Bring the spreadsheet you already have — e1099f maps it, validates both layers, and files to IRIS for you. Free to start, no credit card.

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.