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.
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.
| Dimension | CSV upload (Portal) | A2A (API) |
|---|---|---|
| Format you author | Spreadsheet rows (IRS template) | Schema-valid XML |
| Credential | IRIS TCC for the Portal | IRIS A2A TCC + ATS pass |
| Best for | Low-to-moderate volume, manual filing | High volume, automated pipelines |
| Validation | Same schema + business rules, run on upload | Same schema + business rules, run on transmit |
| Per-file ceiling | One form type per file, sized for the Portal | Built 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-3456789fails where123456789passes. 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.00fails while1500.00passes. - State codes are two-letter USPS abbreviations. Use
CA, neverCalif.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.
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.
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 minFill 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.
variesSave 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 minUpload 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 minFix 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.
variesTired 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.
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.
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.
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.
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.
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?
Can I file every 1099 form by CSV?
Can I put more than one form type in a single file?
How should I format TINs in the CSV?
Why was my whole file rejected before any record processed?
Do I need a TCC to upload a CSV?
Is the CSV validated less strictly than A2A XML?
When should I stop using CSV and switch to A2A?
How do I leave a box or state field empty?
What happens if I re-upload records that were already accepted?
Does e1099f make me use the IRS CSV template?
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.