The TA1 answers the first question in any EDI exchange: could the receiver open the envelope at all? Before a translator looks at a single purchase order or invoice, it reads the ISA header and IEA trailer. If the control numbers do not match, the receiver ID is unknown or the separators are wrong, nothing inside gets processed, and no 997 or 999 can follow. The TA1 is how the receiver tells you that, and which part of the envelope was at fault.
This guide covers what the TA1 is (and why it is not a transaction set), each of its five elements, the full TA105 note code list, how ISA14 requests it, two examples, and how the TA1 fits with the 997, 999 and 824.
What Is a TA1 Interchange Acknowledgment?
A TA1 is the Interchange Acknowledgment segment defined in X12.5, the X12 Interchange Control Structures standard, used by the receiver of an interchange to report the status of its ISA/IEA envelope. It is one of three basic interchange segments: X12 states, citing section 4.4.1 of X12.5, that "the basic interchange segments consist of the ISA, the IEA, and the TA1 segments."
That makes the TA1 different from the 997 and 999:
- It is a segment, not a transaction set. There is no ST, SE, GS or GE around it. It sits directly inside an ISA/IEA envelope, after the ISA and before any GS.
- It travels in its own interchange, or alongside groups. A receiver can send an interchange containing only TA1 segments, with
IEA01=0(no functional groups), or place TA1s at the start of an interchange that also carries 997s or other documents. - It must be enveloped. X12 has confirmed that a file containing only a bare TA1, with no ISA and IEA around it, is not correct, and that no GS should come before the TA1.
Authoritative references for TA1 work:
- X12's requests for interpretation on TA1 packaging and its connection to
ISA14, which point to X12.5 and the X12 Acknowledgment Reference Model - Microsoft's X12 TA1 reference, which maps each TA1 element to the ISA field it echoes and lists the TA105 note codes
- HIPAA companion guides, such as the Indiana Health Coverage Programs TA1/999 guide, which describe when a payer returns a TA1 in practice
Who sends it? The receiver of an interchange: your trading partner, its VAN, or a clearinghouse.
When is it sent? When the sender requests one with ISA14 = 1, or whenever the trading partner agreement says so. Many healthcare payers and clearinghouses send a TA1 only when the envelope has errors.
Why does it matter? A rejected envelope means nothing inside it was processed. If you are waiting for a 997 that never comes, a TA1 is often the explanation.
How the TA1 Is Requested: ISA14
ISA14 is the Acknowledgment Requested flag in your outbound ISA. In the X12 standard it has two values:
ISA14 | Meaning |
|---|---|
0 | No interchange acknowledgment requested |
1 | Interchange acknowledgment requested (a TA1) |
Setting ISA14 to 1 asks for a TA1. It does not ask for a 997 or 999, and setting it to 0 does not switch those off; functional and implementation acknowledgments are set by the trading partner agreement. Some partners also return TA1s for rejected interchanges whatever ISA14 says, and some EDI platforms add their own settings (for example, "send a TA1 only on errors") that are configuration choices, not X12 codes.
An interchange that carries only TA1s is normally sent with ISA14 = 0, so the acknowledgment does not itself ask to be acknowledged.
TA1 Examples
The TA1 is not a transaction set, so it is shown here as raw X12 rather than as an interactive sample. To decode a TA1 you received, paste it into the free EDI rejection explainer, which translates TA104 and TA105 and, with your original file, shows where the envelope problem is.
Accepted interchange
A grocery chain acknowledges a supplier's interchange 000000894, sent on November 3, 2026 at 06:12. The envelope was fine.
ISA*00* *00* *ZZ*HARBORGROCER *ZZ*SUMMITBEV *261103*0614*U*00401*000004512*0*P*:~
TA1*000000894*261103*0612*A*000~
IEA*0*000004512~
The TA1 travels in the grocer's own interchange, with its own control number (000004512). TA101 to TA103 echo the supplier's ISA13, ISA09 and ISA10. IEA01 is 0 because the interchange contains no functional groups.
Rejected interchange
The supplier's next interchange, 000000895, ended with an IEA whose control number did not match its ISA.
ISA*00* *00* *ZZ*HARBORGROCER *ZZ*SUMMITBEV *261103*0614*U*00401*000004513*0*P*:~
TA1*000000895*261103*0612*R*001~
IEA*0*000004513~
TA104 = R rejects the interchange, and TA105 = 001 says why: the interchange control number in the header and trailer do not match. Nothing inside was processed, so no 997 will follow for it. The fix is in the supplier's translator: correct the IEA and resend under a new interchange control number.
TA1 Structure
| Element | Name | Example | What it means |
|---|---|---|---|
| TA101 | Interchange Control Number | 000000895 | ISA13 of the interchange being acknowledged |
| TA102 | Interchange Date | 261103 | ISA09 of that interchange (YYMMDD) |
| TA103 | Interchange Time | 0612 | ISA10 of that interchange (HHMM) |
| TA104 | Interchange Acknowledgment Code | R | The verdict: A, E or R |
| TA105 | Interchange Note Code | 001 | Three-digit code for the condition found; 000 when there is no error |
The element layout is the same in 004010 and 005010. What changes between those releases is the ISA it reports on: in 004010, ISA11 is the interchange control standards identifier (U), while in 005010 it carries the repetition separator.
TA104: the verdict
| Code | Meaning | What to do |
|---|---|---|
| A | The interchange header and trailer were received and have no errors | Nothing at envelope level. Watch for the 997 or 999 |
| E | The header and trailer were received and accepted, but errors are noted | Do not resend the data. Fix the noted problem for future interchanges |
| R | The header and trailer were rejected because of errors | Fix the envelope and resend under a new control number |
Which conditions a receiver treats as E and which as R varies by translator. A duplicate control number, for example, is a rejection on some systems and accepted with a note on others.
TA105: interchange note codes
| Code | Condition |
|---|---|
| 000 | No error |
| 001 | The interchange control number in the header and trailer do not match |
| 002 | This standard as noted in the control standards identifier is not supported |
| 003 | This version of the controls is not supported |
| 004 | The segment terminator is invalid |
| 005 | Invalid interchange ID qualifier for sender |
| 006 | Invalid interchange sender ID |
| 007 | Invalid interchange ID qualifier for receiver |
| 008 | Invalid interchange receiver ID |
| 009 | Unknown interchange receiver ID |
| 010 | Invalid authorization information qualifier value |
| 011 | Invalid authorization information value |
| 012 | Invalid security information qualifier value |
| 013 | Invalid security information value |
| 014 | Invalid interchange date value |
| 015 | Invalid interchange time value |
| 016 | Invalid interchange standards identifier value |
| 017 | Invalid interchange version ID value |
| 018 | Invalid interchange control number value |
| 019 | Invalid acknowledgment requested value |
| 020 | Invalid test indicator value |
| 021 | Invalid number of included groups value |
| 022 | Invalid control structure |
| 023 | Improper (premature) end-of-file (transmission) |
| 024 | Invalid interchange content (for example, an invalid GS segment) |
| 025 | Duplicate interchange control number |
| 026 | Invalid data element separator |
| 027 | Invalid component element separator |
| 028 | Invalid delivery date in deferred delivery request |
| 029 | Invalid delivery time in deferred delivery request |
| 030 | Invalid delivery time code in deferred delivery request |
| 031 | Invalid grade of service code |
Later X12 releases add codes beyond 031. If you receive one, check the release in the acknowledging ISA and your partner's guide.
Fixing the Most Common TA1 Rejections
| TA105 | Usual cause | Fix |
|---|---|---|
| 001 | The IEA control number was not updated when the ISA was, often after a manual edit or a resend | Generate ISA13 and IEA02 together in the translator; never hand-edit one |
| 004, 026, 027 | The ISA is not fixed width, or separators clash with the data | Keep the ISA at exactly 106 characters with the terminator; choose separators that never appear in data |
| 005 to 009 | Qualifier and ID pair does not match what the partner has on file, or ID not padded to 15 characters | Confirm ISA05/ISA06 and ISA07/ISA08 with the partner; pad IDs with spaces |
| 014, 015 | Date or time in the wrong format | ISA09 is YYMMDD and ISA10 is HHMM |
| 017 | ISA12 version the partner does not accept | Use the version in the partner's guide, for example 00401 or 00501 |
| 019 | ISA14 is not 0 or 1 | Send 0 or 1 only |
| 020 | ISA15 is not P or T, or test data sent to production | Send T while testing and P in production, as agreed |
| 021 | IEA01 does not equal the number of GS groups | Count groups at build time, never key the count |
| 024 | The GS inside the envelope is invalid | Check GS02, GS03 and GS08 against the partner's guide |
| 025 | The interchange control number was already used | Increment ISA13 for every interchange, including resends |
The free EDI inspector checks the envelope of the interchange you sent: ISA width, ISA and IEA control numbers, the IEA group count and duplicate control numbers. Running the original file through it usually finds the cause of a TA1 rejection in seconds.
TA1 vs 997 vs 999 vs 824
The TA1 is the outermost of four acknowledgment layers. Each checks something different, and our 997 guide and 999 guide use the same breakdown.
| Acknowledgment | Checks | Requested by | Answers |
|---|---|---|---|
| TA1 Interchange Acknowledgment | The ISA/IEA envelope only | ISA14 = 1, or the partner agreement | Could the interchange be opened at all? |
| 997 Functional Acknowledgment | Each functional group and transaction set against the X12 standard | The trading partner agreement | Is each document valid X12? |
| 999 Implementation Acknowledgment | The same, plus the partner's implementation guide | The trading partner agreement | Is each document valid for this partner's guide? |
| 824 Application Advice | Business content | The partner's guide | Did the partner's application accept the data? |
How they interact in practice:
- TA1 rejected (
R). The receiver stopped at the envelope. No 997 or 999 will arrive for any group in that interchange. - TA1 accepted (
A) or accepted with errors (E). The receiver went on to the groups. A 997 or 999 follows if the agreement calls for one. - No TA1 at all. Either you did not request one, or the partner only sends TA1s on errors. Absence is not proof the envelope was fine; the 997 or 999 is.
- Healthcare. HIPAA trading partners commonly return a TA1 for envelope errors and a 999 for each functional group, then a business response such as a 277CA claim acknowledgment or 835.
The EDIFACT counterpart is the CONTRL message, which reports interchange-level results in its UCI segment and can also report on messages.
Common TA1 Mistakes
| Mistake | What happens | Prevention |
|---|---|---|
Expecting ISA14 = 1 to produce a 997 | You wait for a 997 that is not coming | Set up 997s or 999s through the partner agreement |
| Sending a bare TA1 with no ISA/IEA | The partner's translator rejects or ignores it | Always envelope TA1s, with IEA01 = 0 if there are no groups |
| Placing the TA1 after a GS | Envelope structure error | TA1 segments go after the ISA and before the first GS |
Resending after a TA1 E | Duplicate documents | E means accepted; fix the noted issue for the next interchange only |
Resending after a TA1 R with the same ISA13 | A second rejection for a duplicate control number | Resend under a new interchange control number |
| Not matching TA1s back to interchanges | Rejections go unnoticed | Reconcile TA101 against every outbound ISA13 |
TA1 Implementation Checklist
- Ask each partner whether it sends TA1s always, only on errors, or never, and whether it wants
ISA14=1 - Store every outbound
ISA13with its date, time and partner - Match inbound TA1s on
TA101, and alert on anyR - Alert when neither a TA1 nor a 997/999 arrives within the partner's window
- Decide whether you send TA1s for inbound interchanges, and configure your translator to match
- Never reuse an interchange control number, including for resends
- Test with an accepted interchange, a mismatched IEA, an unknown receiver ID and a duplicate control number
Where OrderSync Fits
Envelope errors are configuration problems: once the translator builds the ISA and IEA correctly, they stop. The errors that keep coming are in the documents themselves, and many of them start when an order is keyed by hand. OrderSync reads inbound orders in any format, from EDI 850s and 875s to emails, PDFs and spreadsheets, matches customers, items and units to your catalog, and outputs valid X12 or clean data for your ERP, sending a 997 for every inbound EDI transaction it receives.
Paste the interchange a TA1 rejected into the free EDI inspector to check its envelope and contents, decode the acknowledgment itself with the EDI rejection explainer, or book a 15-minute walkthrough to see your own orders processed.
Frequently Asked Questions
What is a TA1 in EDI?
A TA1 is the X12 Interchange Acknowledgment. It is a control segment, not a transaction set, that reports whether the ISA/IEA envelope of an interchange was received intact. It echoes the original interchange control number, date and time, gives a verdict of A, E or R, and gives a three-digit note code.
What is the difference between a TA1 and a 997?
A TA1 acknowledges the interchange envelope (ISA and IEA). A 997 acknowledges a functional group and reports on each transaction set's syntax. If the TA1 rejects the interchange, no 997 follows, because the receiver never processed the groups inside it.
What does ISA14 = 1 mean?
ISA14 is the Acknowledgment Requested flag. A value of 1 asks the receiver for an interchange acknowledgment, the TA1. A value of 0 asks for none. ISA14 does not control 997 or 999 acknowledgments, which are set by the trading partner agreement.
What does TA105 code 025 mean?
Code 025 means duplicate interchange control number: the receiver has already seen an interchange with that ISA13 from you. Increment the control number for every interchange, including resends of corrected files, and check that your translator's counter was not reset.
What does TA104 E mean?
E means the interchange header and trailer were received and accepted, but errors were noted. The data inside is processed, so do not resend it. Fix whatever TA105 names before your next interchange.
Can a TA1 be sent in the same interchange as a 997?
Yes. TA1 segments sit after the ISA and before the first GS, so a receiver can return TA1s and 997 or 999 groups in one interchange. An interchange with only TA1s has IEA01 set to 0.
Is the TA1 the same in 4010 and 5010?
The TA1 segment has the same five elements in both releases. The difference is in the ISA it reports on: in 5010, ISA11 carries the repetition separator, while in 4010 it is the control standards identifier U. Use the version your partner's guide specifies.
Do I need to send TA1 acknowledgments?
Only if your trading partners ask for them. Many retail partners rely on 997s alone, while healthcare clearinghouses and payers commonly expect TA1s for envelope errors. Your partner's implementation guide says which acknowledgments to send and when.