Section 3 Composing IRS ACA Information Returns Transmission
Publication 5258 — Guide for Affordable Care Act (ACA) Information Returns (AIR) Submission Composition and Reference Guide · 2026-10-03 edition · updated 2026-10-04 · United States
An IRS transmission consist of two parts: The Manifest and the Form Data File.
The Manifest contains information about the transmitter, transmission and the payload
The Form Data File contains one or more submissions in XML format
A submission is either:
One Form 1094-B and one or more Form 1095-Bs or
One Form 1094-C and one or more Form 1095-Cs or
One Form 1094-C, Authoritative Transmittal, and zero Form 1095-Cs, whenever the Form 1094-C, Authoritative Transmittal, is marked as a correction (for a previously submitted 1094-C)
Each transmission will have either Forms 1094/1095-B or Forms 1094/1095-C. The transmission may not contain comingled B and C submissions. This section covers composing the Form Data File and namespace prefix. In the context of Forms 1095-B and 1095-C, the recipient is referred to as payee.
3.1 | Namespace and Prefix
XML namespaces are used for providing uniquely named elements and attributes in an XML document. An XML instance may contain element or attribute names from more than one XML vocabulary. If each vocabulary is given a namespace, the ambiguity between identically named elements or attributes can be resolved to avoid collisions that can occur when markup intended for another software package uses the same element name or attribute name.
The following table identifies the target namespace associated with the various prefixes for ACA Forms 1094/1095-B and Forms 1094/1095-C request and response messages.
Namespaces may change between versions of IRS-published schemas. The most recent IRS published schemas must always be used.
Note: Transmitters can assign their own prefix to each namespace, but should make sure that the usage matches the definition throughout the document. Namespaces and prefix must be declared at the beginning of the payload and manifest files in order for AIR to process the transmissions properly.
Guide for ACA Information Returns Submission Composition and Reference Guide 8
Composing IRS ACA Information Returns Transmission
Table 3-1: Prefix and Target Namespaces
| Namespace | Prefix | Uses |
|---|---|---|
| urn:us:gov:treasury:irs:srv:gettransmitterbulkrequest | acaSoapReq | SOAP message |
| urn:us:gov:treasury:irs:msg:irsacabulkrequesttransmitter | acaBodyReq | SOAP message |
| urn:us:gov:treasury:irs:msg:acabusinessheader | acaBusHeader | SOAP message |
| urn:us:gov:treasury:irs:msg:acasecurityheader | acaSec | SOAP message |
| urn:us:gov:treasury:irs:msg:irstransmitterstatusrequest | acaStsReq | SOAP message |
| urn:us:gov:treasury:irs:common | irs | SOAP message |
| urn:us:gov:treasury:irs:ext:aca:air:tyYY1 | Form | |
| urn:us:gov:treasury:irs:msg:form1094-1095BCtransmittermessage | form109495BC | Error Data File |
| urn:us:gov:treasury:irs:msg:form10941095Btransmitterupstream message |
form109495B | SOAP message |
| urn:us:gov:treasury:irs:msg:form10941095Ctransmitterupstream message |
form109495C | SOAP message |
1 To account for prior, current and for future Tax Year (TY) and Filing Season (FS) updates -Insert the associated “Tax Year (i.e. tyYY for example ty21) will have the associated Processing Year “22”
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 9
Composing IRS ACA Information Returns Transmission
3.2 | Guidelines for Composing IRS Form Data File
The content file or payload contains transmittals, (i.e. Form 1094) along with one or more associated Forms 1095. Below are general guidelines for composing the Form Data File which contains either Forms 1094/1095-B submissions or Forms 1094/1095-C submissions, but not both:
1. The Form Data File can only contain valid uncompressed and unencrypted XML
2. The Form Data File cannot exceed 100 MB in size
3. Only one IRS Form Data File is allowed as an attachment to a transmission
4. A submission structure consists of a Form 1094 (transmittal) and one or more associated Form 1095 records according to the following rules:
A Form 1094-B transmittal and at least one or more Form 1095-B
A Form 1094-C transmittal and at least one or more Form 1095-C (Exception – A Form 1094-C,
Authoritative Transmittal, can be submitted without including a Form 1095-C and still be considered a valid submission, only in the case where the Form 1094-C, Authoritative Transmittal, is a correction to a previously submitted and processed Form 1094-C. Corrected Forms 1094C, Authoritative Transmittal, must be submitted without including any Forms 1095-C)
5. A transmission will contain at least one submission or as many as the 100 MB maximum payload file size allows
6. A transmission cannot comingle Forms 1094/1095-B submissions and Forms 1094/1095-C submissions otherwise it will be rejected
7. The XML Schema requires two attributes that when missing cause a transmission to be rejected by IRS. The following attributes are defined in the XML Schema and must be present on each record in the Form Data File:
<xsd:attribute name=”recordType”** **type=”xsd:string”** **use=”required”/> <xsd:attribute name=”lineNum”** **type=”xsd:integer”** **use=”required”/>
For every record, recordType must be “String” (word) or “” and lineNum must be 0 (zero). The content files Root elements: must have the attributes as depicted and highlighted for the Form1094BUpstreamDetail:
<n1:Form109495BTransmittalUpstream**
**xmlns=”urn:us:gov:treasury:irs:ext:aca:air:tyYY”**
**xmlns:irs=”urn:us:gov:treasury:irs:common”**
**xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”**
**xmlns:n1=”urn:us:gov:treasury:irs:msg:form1094-1095Btransmitterupstreammessage”**
**xsi:schemaLocation=”urn:us:gov:treasury:irs:msg:form10941095Btransmi tterupstreammessage IRS-Form1094-**
**1095BTransmitterUpstreamMessage.xsd”>
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 10
Composing IRS ACA Information Returns Transmission
Each 1095 record must also have the attributes as depicted and highlighted for the Form1095CUpstreamDetail below:
3.3 | IRS Form Data File Naming Convention
The Form Data file naming convention defined in the efile AIRDocumentSystemFileNmType includes the Form Type, a static indicator (Request), the Transmitter Control Code (TCC), the date and Greenwich Mean Time (GMT) the transmitter submits the file. The name specifically includes the following components:
1094
For example: 1094B_Request_XXXXX_20140101T010102000Z.xml 1094C_Request_XXXXX_20140101T010102000Z.xml
(Note: Please use the timezone generated by your system and not the example provided here.)
The XML naming pattern to be used to create Form Data files is as follows:
<xsd:pattern value=”1094[B|C]_Request_[B-DF-HJ-NP-TV- Z]{2}[B-DF-HJ-NP-TV-Z0- 9]{3}_[1-9][0-9]{3}(0[1-** **9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])T(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])[0-9]{3}Z.xml”>
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 11
Composing IRS ACA Information Returns Transmission
3.4 | Structure of IRS Form Data File
Composing IRS ACA Information Returns Transmission
3.4.1 | Manifest Transmission XML Elements
The following table provides details of XML elements that the XML Schema requires in the Manifest Header of the SOAP message when transmitting information returns to IRS.
Table 3-2: Transmission Manifest XML Elements
| Element Name | eFile Type | eFile Type Definition | Required? | Min Occurs | Max Occurs | Description |
|---|---|---|---|---|---|---|
| PaymentYr | YearType | string pattern “[1-9] [0- 9]{3}” |
Yes | 1 | 1 | This is the tax year for which the information return is being reported. |
| PriorYear DataInd |
DigitBool eanType |
enumerated string value=”0” value=”1” |
Yes | 1 | 1 | “0” for current fling year “1” for prior fling year |
| EIN | EINType | string pattern “[0-9] {9}” |
Yes | 1 | 1 | Employer Identifcation Number belonging to the transmitter |
| Transmission TypeCd |
Transmission TypeCdType |
enumerated string value=”O” value=”C” value=”R” |
Yes | 1 | 1 | Type of records: “O” – Original “C” – Correction “R” - Replacement |
| TestFileCd | TestFile CdType |
string pattern “([TP])?” |
Yes | 1 | 1 | “T” – AATS “P” – Production |
| OriginalReceiptId | OriginalReceiptIdType | pattern [^\s].[^\s] {1,80} |
No | 0 | 1 | Reference to the |
| ReceiptId | ReceiptId Type | “[^\s].[^\s] {1,80}”/> maxLength value=”80” |
Receipt ID of the transmission for which replacement transmissions are submitted - Do not include XML tags on transmissions with original records |
|||
| Transmitter Foreign EntityInd |
DigitBoolean Type |
enumerated string value=”0” value=”1” |
No | 0 | 1 | “1” identifes the transmitter as a foreign entity, do not include XML tags or have “0” as an indicator if transmitter is not a foreign entity |
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 13
Composing IRS ACA Information Returns Transmission
| Element Name | eFile Type | eFile Type Definition | Required? | Min Occurs | Max Occurs | Description |
|---|---|---|---|---|---|---|
| Transmitter NameGrp |
Business NameType |
Complex Element | Yes | 1 | 1 | The transmitter’s name |
| Company Information Grp |
CompanyInfor mationGrpType |
Complex Element | Yes | 1 | 1 | The transmitter address, name of the company to contact, and phone number to call |
| VendorInfor mationGrp |
VendorInfor mationGrpType |
Complex Element | Yes | 1 | 1 | Identifes if software was developed by a vendor (V)or inhouse (I) as well as contact information regarding the software |
| TotalPayee RecordCnt |
TotalNumber Type |
nonNegativeInteger | Yes | 1 | 1 | The total number of Forms 1095 included in the entire transmission |
| TotalPayer RecordCnt |
TotalNumber Type |
positiveInteger | Yes | 1 | 1 | The total number of Forms 1094 included in the entire transmission |
| SoftwareId | SoftwareId Number Type |
“StringWithNoHashC haracterType” maxLength value=”10” |
Yes | 1 | 1 | The Software ID assigned to the software when the software was registered with IRS |
| FormTypeCd | FormName Type |
enumerated string value=”1094/1095B” value=”1094/1095C” |
Yes | 1 | 1 | Will contain “1094/1095B” if Forms 1094/1095-B are included in the transmission or “1094/1095C” if Forms 1094/1095-C are included in the transmission |
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 14
Composing IRS ACA Information Returns Transmission
| Element Name | eFile Type | eFile Type Definition | Required? | Min Occurs | Max Occurs | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BinaryFormCd | BinaryFormat CodeType |
enumerated string value=”application / xml” |
Yes | 1 | 1 | Will contain “application/ |
||||||||
| Checksum Augmentation Num |
SHA256Type | string pattern “[0-9A-Faf]{64}” |
Yes | 1 | 1 | The SHA256 Checksum computed on the Form Data File attached to thetransmission |
||||||||
| Attachment ByteSizeNum |
Attachment ByteSize NumType |
string “([1-9]{1}[0-9] {0,}) |
([0])”/>max Length = 12 |
Yes | 1 | 1 | The size in bytes of the Form Data File attached to the transmission |
|||||||
| Document System FileNm |
AIRDocument System FileNmType |
String **value=”1094[B |
C]** **Re quest[B-DF-HJ- NP-TV-Z]{2}[B-DF-HJ- NP-TV-Z0-9]{3}_[1- 9] [0-9]{3}(0[19] |
1[0-** **2])(0[1-9] |
[1-2] [0-9] |
3[0-1])T(0[0-** **9] |
1[0-9] | 2[0-3]) (0[0-9] |
[1-5][0-9]) (0[0-9] |
[1-5][0-9]) [0-9]{3}Z.xml”** |
Yes | 1 | 1 | The name of the Form Data File attached to the transmission |
3.4.2 | Uniquely Identifying Transmissions, Submissions, and Records
The XML Schemas for Forms 1094/1095-B and Forms 1094/1095-C include elements designed to uniquely identify ACA Information Returns transmission, submission within the transmission, and records within the submission. The transmitter that generates the Form Data File for transmissions to IRS must generate these IDs and maintain them along with their associated transmissions. Unique IDs are used to simplify and increase the precision of communications, corrections, and replacements.
The Transmitter will uniquely identify each transmission by the Unique Transmission Identifier (UTID) in the header.
The format for the UTID includes various fields separated by colons (:) is as follows:
- UUID – a universally unique identifier (UUID) is an identifier standard defined by the Internet
Engineering Task Force (IETF) in Request For Comments (RFC) 4122. The UUID consists of a 16-octet (128-bit) number. This is a mandatory field. In its canonical form, a UUID is represented by 32
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 15
Composing IRS ACA Information Returns Transmission
hexadecimal digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 digits and four hyphens). For example:
550e8400-e29b-41d4-a716-44665540000
Application ID – the Application ID will be SYS12 and is a mandatory field.
Transmitter Control Code (TCC) – Enter the TCC that IRS assigned when the Transmitter applied
to electronically file Forms 1094/1095-B and Forms 1094/1095-C. This is a mandatory five-character alphanumeric field. Note: TCCs do not include lower case characters.
Reserved – is an empty field
Request Type – the Request Type defines the types of request which must be “T” (Transactional) and is
mandatory
The UTID for the transmission will always be 51 bytes (see Figure 3-2: Unique Transmission Identifier below):
Figure 3-2: Unique Transmission Identifier (UTID)
A transmission will contain one or more Forms 1094/1095-B submissions (transmittals/payee records) or one or more Forms 1094/1095-C submissions (transmittals/payee records) or only one Form 1094-C, Authoritative Transmittal (when marked as a correction for a previously submitted Form 1094-C). A transmission may not contain comingled B and C submissions. The Submission Identifier (SID) construct is applicable to all submissions (Forms 1094) within a transmission whether that transmission contains B or C Information Returns. Each submission will include a SID that will start at one and increment by one for each subsequent submission in the transmission.
SID = 1,2,3,4,5...
A submission will contain one or more Form 1095 Information Returns along with its corresponding Transmittal Form 1094. A Corrected 1094-C submission may not have Form 1095-C information. The Record Identifier (RID) construct is applicable to all Form 1095 records within a submission, regardless of whether that Submission contains Forms 1095-B or Forms 1095-C Information Returns. Each Form 1095 record in a submission will include a RID that will start at one and increment by one for every subsequent record in the submission.
RID = 1,2,3,4..n (e.g. 2, 17, 31, 86, 1023,9842, …)
RECEIPTID = 1094B-20-00001234 RECEIPTID = 1094C-20-00044923 RECEIPTID = 1094C-20-00000385
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 16
Composing IRS ACA Information Returns Transmission
When IRS successfully receives a transmission for processing, a unique Receipt ID is generated by IRS which uniquely identifies the transmission. The Receipt ID is used by the transmitter to retrieve the processing status of the transmission after it is processed. In addition, IRS uses the Receipt ID along with the submission and record IDs to uniquely identify the records in a transmission.
Composing IRS ACA Information Returns Transmission
3.4.3 | Computing Checksum
All transmissions (Production and AATS) must use the SHA-256 Checksum algorithm. There are many algorithms readily available that can be used to calculate a SHA-256 Checksum:
- The algorithm that a transmitter uses will differ depending on their technology stack. For example, if the
transmitter is building the interface on Windows/.NET Framework, they will need to obtain a SHA-256 Checksum algorithm that runs on the Windows platform. If the transmitter is building their interface on Linux/Java, they will need to obtain a SHA- 256 Checksum that runs on the Linux platform.
- Element checksum at manifest - algorithm should be SHA-256 which will generate 64 characters. Every
transmission “Checksum” value should be 64 characters. Checksum will be used to identify duplicate transmissions “Accepted”, “Accepted with Errors” and “Partially Accepted”.
Guide for Electronically Filing ACA Information Returns for Software Developers and Transmitters 18
Composing IRS ACA Information Returns Transmission
Get a plain-English answer with a citation back to this text.
Ask AI about this code