Enroll in IRIS by completing the online e-Services registration at IRS.gov and requesting A2A (application-to-application) access; receive a Transmitter Control Code (TCC)
Download the IRIS A2A XML schemas from the IRS developer resources; build an IRS Publication 1099 XML payload that includes the Transmitter, Payer, and Payee blocks per the schema
Submit the XML via the IRIS SOAP endpoint using the UploadPayrollFile operation; include the TCC and PIN in the SOAP header for authentication
Parse the synchronous SOAP response for the acknowledgment receipt ID; store this ID to poll for processing status
Poll the GetAcknowledgement operation with the receipt ID until the status transitions from 'Received' to 'Good', 'Errors', or 'Rejected'
For returns with errors, retrieve the error detail XML from the acknowledgment, correct the affected records, and resubmit only the corrected returns as a correction transmission
Known gotchas
IRIS A2A uses SOAP over HTTPS, not REST; standard REST HTTP client libraries need a SOAP wrapper and correct Content-Type: text/xml headers — JSON is not accepted
The FIRE system is being phased out and mandatory transition to IRIS begins for the 2026 tax year (filings due January 2027); test thoroughly in the IRIS sandbox before the deadline since FIRE credentials will not transfer
A single IRIS transmission is limited to a defined record count per submission; large filers must split transmissions and track each receipt ID independently
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp