IRIS Technical Guide

IRIS ATS: Sandbox Testing Walkthrough

Before the IRS will let you file a single live return through the A2A channel, you have to pass Assurance Testing (ATS) — a sandbox dress rehearsal against a fixed set of IRS scenarios. This is the practical walkthrough: how the sandbox is set up, the test cases you have to clear, the failures that send people back to the start, and how you flip to production.

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

ATS is the IRS Assurance Testing System, a mandatory sandbox that every Application-to-Application (A2A) transmitter has to clear before it is allowed to file real returns. The idea is simple: you submit the IRS-provided test scenarios with the test indicator TestFileCd set to T, you poll for the acknowledgments, and you prove that your software produces submissions the IRS will accept. Only the A2A channel requires it — if you file through the IRIS Taxpayer Portal, there is no separate testing step. If your deadline is close and you are not yet ATS-approved, an already-authorized provider can file today.

In this story

What ATS Actually Is

Assurance Testing, almost always shortened to ATS, is the IRS’s controlled sandbox for IRIS. Before the IRS will accept production filings from your software over the A2A machine-to-machine channel, you have to transmit a set of IRS-defined test scenarios and have them accepted. It is a one-time gate per software package rather than a chore you repeat every season — but it is a gate you cannot route around.

The detail that trips people up first is who actually needs it. ATS is only required for A2A transmitters. If you file through the IRIS Taxpayer Portal or the portal’s CSV upload, there is no separate testing step at all, because the portal validates each return as you key it in. ATS exists precisely because A2A lets you send raw transmissions straight to the IRS with no human in the loop, so the IRS wants to confirm in advance that your software builds correct, schema-valid, rule-compliant submissions before it trusts those submissions in production. The scenarios and the procedures that govern them are published in the IRIS Assurance Testing package, Publication 5719.

Official sources Pub 5717 / 5718 / 5719

The ATS scenarios and the test schedule are defined in Publication 5719 (IRIS ATS). The A2A interface that those scenarios exercise is specified in Publication 5718 (A2A), while the portal path lives in Publication 5717 (Portal). You apply for the A2A role through your IRIS application on IRS e-Services. Treat the published packages as the source of truth, because they are updated each tax year.

Who Has to Pass ATS — and Who Doesn’t

Whether ATS applies to you comes down to how you transmit, not what you file. The deciding factor is the transmission method tied to your TCC, and the table below lays out the fork. Manual and CSV filers on the portal never see a sandbox; A2A filers always do.

Filing pathATS required?What you do instead / next
IRIS Taxpayer Portal (manual entry)NoThe portal validates each return as you key it; there is no sandbox step.
Portal CSV uploadNoThe portal checks the CSV on upload and surfaces errors before you file.
A2A (Application-to-Application)Yes — before any production filingPass the Pub 5719 ATS scenarios on the test (T) channel first; this is the most-missed prerequisite.

If you are building software, integrating an ERP, or transmitting in bulk machine-to-machine, you are on the A2A path and ATS is mandatory. It is also worth being clear that A2A is a distinct application choice rather than a setting you toggle later: you need a TCC issued for A2A before you can begin ATS, because a portal-only TCC will not unlock the test channel.

Before You Start: The Prerequisites

ATS is the last gate, not the first. Several things have to be true before you can attempt even one test transmission, and skipping ahead only means waiting on something upstream. Line all of these up before you point your client at the sandbox.

  • An approved IRIS application with the A2A transmission method. Your Responsible Officials must be identity-verified through ID.me, which the IRS uses for e-Services sign-in, and the application itself must clear the suitability review.
  • A TCC for A2A. This is the Transmitter Control Code the IRS issues on approval, and it goes in the Transmission manifest of every send. A FIRE TCC does not carry over to IRIS.
  • The 45-business-day review built into your timeline. The IRS suitability and application review can run up to 45 business days, and ATS can only begin once that review completes and your A2A role is active.
  • An A2A client implemented against Pub 5718. You need working code that can authenticate, send a transmission, and poll for the acknowledgment, because ATS tests that code rather than a user interface.
  • The current ATS scenario package from Pub 5719. Download the test scenarios for the tax year and the specific forms you intend to file in production.
Do the math backward from January 31

Application review can take up to 45 business days, and ATS sits after that review, not alongside it. If your first real deadline is the January 31 due date for 1099-NEC, count backward from there: roughly nine weeks of review plus the time to build and clear your test scenarios points to a fall start, not a January scramble.

Setting Up the Sandbox

The ATS environment is the IRS test endpoint for A2A, and it lives at a separate URL from production that is documented in Publications 5718 and 5719. Pointing your client at the right URL is only half the setup; the other half is a single field inside the transmission that decides whether the IRS reads your traffic as a rehearsal or as the real thing.

Every IRIS transmission carries a test-or-production indicator. In the manifest you set TestFileCd to T for ATS and P for live filing. Get this one character wrong and the consequences run in either direction: your test traffic can be treated as a genuine filing attempt, or your production return can be silently quarantined as a test that never counts. The skeleton below shows where the indicator sits relative to the TCC and the scenario payload — it is illustrative, and the published schema in Pub 5718 defines the real element names.

Transmission <!-- one per send --> ├─ TCC: 5-char A2A code <!-- issued on approval --> ├─ TestFileCd: T <!-- T = ATS sandbox, P = production --> └─ Submission <!-- the test scenario payload --> └─ form records <!-- exactly as the scenario specifies -->

You authenticate to the test endpoint exactly the way you will in production, following Pub 5718, then submit a transmission and receive a Receipt ID in response. After that you come back and poll for the acknowledgment. This is the part teams misjudge most: ATS is asynchronous, so a clean Receipt ID only means the IRS accepted the file for processing. The actual pass-or-fail verdict arrives later, in the acknowledgment you retrieve afterward.

The Test Scenarios You Must Clear

ATS is scenario-driven from start to finish. The IRS publishes a fixed set of test cases in Pub 5719, and you submit transmissions that match them for the form types you intend to file in production. You do not invent your own data here; you file what the scenario package tells you to file, and the IRS checks that your software’s output matches the result it already expects. The walkthrough below runs the loop end to end.

1

Pull the scenarios for your forms

From the Pub 5719 package, take only the scenarios that cover the form types in your production scope, such as 1099-NEC and 1099-MISC. You are not required to test forms you will not file.

~30 min
2

Build the test transmissions

Generate schema-valid XML for each scenario with TestFileCd set to T. Validate against the XSD on your own machine first, because clearing schema errors locally is free and instant.

varies
3

Transmit to the ATS endpoint

Authenticate and send each transmission to the IRS test URL, and capture the Receipt ID the IRS returns for each one — you will need it to retrieve the result.

~15 min
4

Poll for the acknowledgment

Because ATS is asynchronous, query the status with your Receipt ID until the acknowledgment is ready, then read whether the submission was Accepted or Rejected and, if rejected, the specific errors it cites.

minutes&ndash;hours
5

Fix, resubmit, and complete the set

Correct any rejects and resubmit. You pass when every required scenario for your forms returns an Accepted acknowledgment, at which point the IRS moves your software to production status.

iterate
A clean Receipt ID is not a pass. ATS is asynchronous — the verdict lives in the acknowledgment you poll for afterward, not in the response to your send.— &mdash; The number-one ATS misread

Common Rejection Reasons (and How to Avoid Them)

Most failed ATS attempts come down to a handful of repeat offenders, and each one costs you another round-trip, so it pays to eliminate them before your first send. They sort cleanly into the same two layers IRIS uses everywhere — the XML schema that checks structure, and the IRS business rules that check meaning — plus a couple of process traps that have nothing to do with your data at all.

Wrong test/production indicator most common

Cause: submitting ATS traffic with TestFileCd set to P, or sending to the production endpoint instead of the test URL. Fix: set the indicator to T and confirm your client is pointed at the IRS ATS endpoint before the first send, treating the two checks as a single pre-flight ritual you run every time.

Authentication or manifest rejected manifest

Cause: a bad or missing TCC in the manifest, or A2A credentials that have not been activated yet. Fix: verify that the A2A role is active on your application and that the exact issued TCC is present in the Transmission manifest, because the whole transmission is rejected at the manifest before anything inside it is read.

Schema-invalid XML schema

Cause: a missing required element, a TIN that still carries hyphens, or an amount with a currency symbol — any of which makes the document fail before the IRS even evaluates what the numbers mean. Fix: validate against the published XSD locally, since the schema names the exact missing or mistyped element for you.

Scenario data altered business rule

Cause: changing names, amounts, or TINs away from what the Pub 5719 scenario specifies, so your output no longer matches the result the IRS expects. Fix: file the scenario exactly as published, because ATS is checking that your software reproduces a known-good submission, not that it can carry your own data.

Treating the receipt as the result process

Cause: assuming that a successful Receipt ID means the scenario passed, then moving on. Fix: always poll for the acknowledgment with the Receipt ID and confirm an Accepted status before you count the scenario as cleared.

Don&rsquo;t want to build and pass ATS yourself?

e1099f is already an ATS-approved IRIS transmitter — the sandbox testing is done and maintained, so you can file without standing up your own A2A integration.

See how it works

From Sandbox to Production

Passing ATS is a status change, not a paperwork chase. Once every required scenario for your forms returns an Accepted acknowledgment, the IRS moves your software package to production status for those form types. From that point you flip TestFileCd from T to P, point your client at the production endpoint, and your real transmissions start being accepted.

Two things are worth keeping in mind on the way across. The first is that your production scope is bounded by what you actually tested: if you only cleared 1099-NEC scenarios, you are approved to file 1099-NEC, and adding a new form type later may mean testing those scenarios too. The second is that the same two-layer validation that ran in ATS still runs in production, so a transmission that would have failed the sandbox will also fail live. ATS does not make production lenient; it proves you will not need leniency.

You&rsquo;re production-approved when&hellip;

Every required Pub 5719 scenario for your form types returns an Accepted acknowledgment and the IRS marks your software production-ready. At that point you switch TestFileCd to P, move to the production endpoint, and file for real.

Skip the Sandbox Entirely: The e1099f Advantage

You can build an A2A client, implement Pub 5718, and grind through every Pub 5719 scenario yourself — or you can file through software that already did. e1099f is an authorized, ATS-approved IRIS transmitter, which means the entire sandbox phase is already behind us and maintained on your behalf.

Already ATS-approved

No A2A build, no scenario package, and no test-endpoint setup — the assurance testing is done and kept current for you.

File today, not next quarter

Skip the 45-day review-plus-testing runway when your deadline will not wait for your own approval to come through.

Both layers pre-checked

Schema and business rules are validated before submission, so you get a Receipt ID and an Accepted ack instead of a reject.

Production-ready IRIS filing — without ever touching the ATS sandbox.

Frequently Asked Questions

Do I have to pass ATS if I use the IRIS portal?
No. ATS is only required for the A2A (machine-to-machine) channel. If you file through the Taxpayer Portal or its CSV upload, the portal validates your returns as you go, so there is no separate sandbox test.
Where are the ATS test scenarios published?
In the IRIS Assurance Testing package, Publication 5719. The A2A interface those scenarios exercise is specified in Publication 5718.
Do I need a TCC before I can start ATS?
Yes. You need an approved IRIS application with the A2A transmission method and the TCC the IRS issues on approval. A portal-only TCC will not unlock the test channel, and a FIRE TCC does not transfer to IRIS.
How long does it take to get to ATS?
The application and suitability review can take up to 45 business days, and ATS comes after that. The testing itself can be quick if your software is correct — the long pole is the review, not the sandbox.
Is there a fee to use ATS?
The IRS does not charge a fee for IRIS e-filing or for Assurance Testing. The real cost is your engineering time to build and validate the A2A client.
Do I have to test every 1099 form?
No — only the form types you intend to file in production. Your production approval is scoped to what you tested, so add scenarios if you later add a new form type.
What sets ATS apart from validating my XML locally?
Local XSD validation only clears schema errors on your machine. ATS additionally exercises the IRS business-rule layer end-to-end over the real A2A channel and proves your software reproduces the IRS’s expected scenario results.
My ATS submission got a Receipt ID &mdash; did it pass?
Not necessarily. A Receipt ID only confirms the IRS accepted the file for processing. ATS is asynchronous, so poll for the acknowledgment with that Receipt ID and confirm an Accepted status before counting the scenario as cleared.
What do I change to go from ATS to live filing?
Once the IRS marks your software production-ready, switch TestFileCd from T to P and point your client at the production endpoint. The same schema and business-rule validation still applies.
Does e1099f make me run ATS at all?
No. e1099f is already an ATS-approved IRIS transmitter, so filing through it means the sandbox phase is done for you — this guide is for teams who want to understand or build the A2A path themselves.
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 A2A integration and Assurance Testing work.

Not tax advice. This is general information about IRS IRIS procedures and may change as the IRS updates IRIS, the ATS scenarios, and Publications 5717–5719 — those published packages are authoritative. Element names and indicators here follow IRS schema conventions and are illustrative; verify current requirements and consult a tax professional for your situation before building against them.

Skip the sandbox. File through a transmitter that already passed ATS.

No A2A build, no Pub 5719 scenarios, no 45-day runway — e1099f is an ATS-approved IRIS transmitter. 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.