SupportedCanonical map

EDI 997 Data Map and Field Reference

This page documents the current 58-field Smart Mapping layout for supported EDI 997 files.

Field order, values, sections, collections, sensitivity, and release applicability are rendered directly from the frozen repository map authority.

Download the 997 Data Map

CSV/Excel mapping of 58 ordered fields and 15 metadata columns.

Complete Field Reference

7 sections ยท source order preserved
ColumnOutput OrderData TypeSectionApplicabilityScopeEDI SourceSource SegmentDerivationFallbackProvenanceField ClassificationApplicable VersionsCollection ContractRelease Notes
Identity
RecordType1CODEIdentityALLRECORDPhysical AK2 or bounded AK2-less 997 transactionAK2|AK9|AK1|ST|CONVERTEREmit TRANSACTION_ACK for every physical AK2 in source order; emit exactly one GROUP_SUMMARY only when the bounded 997 contains no AK2; never regroup by status and never create AK3, AK4, AK5, or AK9 rowsNo other row type; malformed recovery retains the research-defined physical ownerRow SourceIndex and the bounded STDERIVED_ROW_ID004010|004030|005010SCALARExact values TRANSACTION_ACK|GROUP_SUMMARY; grain AK2_TRANSACTION_ACK_ROWS_WITH_GROUP_SUMMARY_FALLBACK
TransactionType2CODEIdentityALLTRANSACTIONST01STUse exact extracted ST01 only after the exact ST01 === 997 bounded-transaction gateNo AK1, AK9, filename, extension, MIME type, or acknowledgment-text inferenceST sourceIndex via the bounded transactionSOURCE_SCALAR004010|004030|005010SCALARExact supported value 997
IsTransactionAnchor3BOOLEANIdentityALLRECORDCanonical physical row orderCONVERTERTRUE only on the first TRANSACTION_ACK row; otherwise TRUE on the sole GROUP_SUMMARY; exactly one TRUE per bounded STFALSE on every later TRANSACTION_ACK rowDeterministic within the bounded STDERIVED_CONTEXT004010|004030|005010SCALARControls one-time GroupSyntaxError projection; does not change AK9 ownership
Functional Group Context
AcknowledgedFunctionalIdentifierCode4CODEFunctional Group ContextALLFUNCTIONAL_GROUP_ACKAK101AK1Repeat exact lexical AK101 acknowledged GS01 context on every canonical row; it does not detect the 997 familyBlank when AK1 or AK101 is missing; no GS01 substitution from the containing 997 groupAK1Owner and AK1SourceIndexSOURCE_SCALAR004010|004030|005010SCALARAK1 is required once; future validation only
AcknowledgedGroupControlNumber5IDENTIFIERFunctional Group ContextALLFUNCTIONAL_GROUP_ACKAK102AK1Repeat exact lexical AK102 acknowledged GS06 control on every canonical rowBlank when AK1 or AK102 is missing; never match owners by this visible valueAK1Owner and AK1SourceIndexSOURCE_SCALAR004010|004030|005010SCALARLeading zeros and duplicate visible values remain lexical evidence
AcknowledgedGroupVersion6STRINGFunctional Group ContextALLFUNCTIONAL_GROUP_ACKAK103AK1Repeat exact lexical AK103 acknowledged GS08 only when resolved 005010 makes the element structurally availableBlank in 004010 and 004030 and when absent in 005010; never infer from containing GS08 or ST03AK1Owner and AK1SourceIndexSOURCE_SCALAR005010SCALAR005010-only among tested releases; X230 source remains lexical; X231/X231A1 are not 997 conventions
AK1Owner7STRINGFunctional Group ContextALLFUNCTIONAL_GROUP_ACKAK1 owner tokenAK1Format FUNCTIONAL_GROUP_ACK@<AK1SourceIndex>; repeat on every canonical rowBlank only when AK1 is recoverably missing; never construct identity from AK101 or AK102AK1SourceIndex disambiguates blank and duplicate controlsDERIVED_PROVENANCE004010|004030|005010SCALARClosed owner vocabulary token FUNCTIONAL_GROUP_ACK
AK1SourceIndex8INTEGERFunctional Group ContextALLFUNCTIONAL_GROUP_ACKAK1 physical indexAK1Repeat the zero-based full-file envelope-inclusive AK1 sourceIndex on every canonical rowBlank only when AK1 is recoverably missingSelf-provenance; never resets per STSOURCE_PROVENANCE004010|004030|005010SCALARAK1 requiredness is future 997_STRUCTURAL validation
Transaction Set Context
AcknowledgedTransactionSetIdentifierCode9CODETransaction Set ContextTRANSACTION_ACKTRANSACTION_ACKAK201AK2Use exact lexical AK201 on its own physical TRANSACTION_ACK row onlyBlank on GROUP_SUMMARY or when AK201 is absent; no sibling or AK1 fallbackAK2Owner and AK2SourceIndexSOURCE_SCALAR004010|004030|005010SCALARAcknowledged ST01 evidence; not a business-document outcome
AcknowledgedTransactionSetControlNumber10IDENTIFIERTransaction Set ContextTRANSACTION_ACKTRANSACTION_ACKAK202AK2Use exact lexical AK202 on its own physical TRANSACTION_ACK row onlyBlank on GROUP_SUMMARY or when AK202 is absent; never dedupe or match by this visible valueAK2Owner and AK2SourceIndexSOURCE_SCALAR004010|004030|005010SCALARLeading zeros and duplicate controls remain distinct physical evidence
AcknowledgedImplementationReference11STRINGTransaction Set ContextTRANSACTION_ACKTRANSACTION_ACKAK203AK2Use exact lexical AK203 acknowledged ST03 only when resolved 005010 makes the element structurally availableBlank in 004010 and 004030, on GROUP_SUMMARY, or when absent in 005010; never infer from containing ST03AK2Owner and AK2SourceIndexSOURCE_SCALAR005010SCALAR005010-only among tested releases; preserve X230 convention text; X231/X231A1 remain 999-only
AK2Owner12STRINGTransaction Set ContextTRANSACTION_ACKTRANSACTION_ACKAK2 owner tokenAK2Format TRANSACTION_ACK@<AK2SourceIndex> for the physical row-owning AK2Blank on GROUP_SUMMARY; never construct identity from AK201 or AK202AK2SourceIndex disambiguates blank and duplicate visible valuesDERIVED_PROVENANCE004010|004030|005010SCALARClosed owner vocabulary token TRANSACTION_ACK
AK2SourceIndex13INTEGERTransaction Set ContextTRANSACTION_ACKTRANSACTION_ACKAK2 physical indexAK2Use the row-owning zero-based full-file envelope-inclusive AK2 sourceIndexBlank on GROUP_SUMMARY; never borrow another AK2Self-provenance; never resets per STSOURCE_PROVENANCE004010|004030|005010SCALARPhysical AK2 order is canonical row order
Segment / Element Errors
SegmentErrorCount14INTEGERSegment / Element ErrorsTRANSACTION_ACKTRANSACTION_ACKPhysical AK3 occurrences owned by row AK2AK3Serialize the SegmentErrorOccurrences array length; each physical AK3 increments once regardless of AK4 children0 on GROUP_SUMMARY or when the owning AK2 has no AK3; never inheritAK2Owner plus SegmentErrorOccurrencesDERIVED_COUNT004010|004030|005010SCALARCount is a canonical integer derived from physical occurrence-array length
ElementErrorCount15INTEGERSegment / Element ErrorsTRANSACTION_ACKTRANSACTION_ACKPhysical AK4 occurrences nested beneath row-owned AK3 occurrencesAK4Serialize the sum of every nested elementErrors array length in this row exactly once during the source-linear pass0 on GROUP_SUMMARY or with no nested AK4; no detached top-level ElementErrorOccurrences fieldSegmentErrorOccurrences.elementErrorCount and elementErrorsDERIVED_COUNT004010|004030|005010SCALAR_SUMMARY_OF_NESTEDAggregate nested count only; nested arrays retain every AK3-to-AK4 parent
SegmentErrorOccurrences16JSON_ARRAYSegment / Element ErrorsTRANSACTION_ACKTRANSACTION_ACKAK301-AK304 with physically subordinate AK4 occurrencesAK3|AK4Serialize one source-ordered occurrence per physical AK3 owned by this AK2; nest only that AK3's AK4 records; collections never inherit or clone; occurrence is 1..n per AK2 owner[] on GROUP_SUMMARY or with no AK3; orphan AK3/AK4 remains outside canonical ownership and is future structural validation evidenceEvery AK3 and nested AK4 retains its own zero-based full-file sourceIndex and exact elementsSOURCE_COLLECTION004010|004030|005010Array keys in order: segment,scope,owner,occurrence,sourceIndex,elements,segmentId,segmentPosition,loopIdentifier,syntaxErrorCode,syntaxErrorDescription,elementErrorCount,elementErrors. elementErrors keys in order: segment,scope,owner,occurrence,sourceIndex,elements,segmentErrorOccurrence,segmentErrorSourceIndex,elementPosition,componentPosition,repetitionPosition,dataElementReferenceNumber,syntaxErrorCode,syntaxErrorDescription,badDataElementValue. [] when empty; compact RFC 8259 JSON; elements is the exact lexical source element arrayAK304 all tested: 1=Unrecognized segment ID; 2=Unexpected segment; 3=Mandatory segment missing; 4=Loop occurs over maximum times; 5=Segment exceeds maximum use; 6=Segment not in defined transaction set; 7=Segment not in proper sequence; 8=Segment has data element errors. Exclude 999 I codes. AK403 all tested: 1=Mandatory data element missing; 2=Conditional required data element missing; 3=Too many data elements; 4=Data element too short; 5=Data element too long; 6=Invalid character in data element; 7=Invalid code value; 8=Invalid date; 9=Invalid time; 10=Exclusion condition violated. Codes 12=Too many repetitions and 13=Too many components only in 004030|005010; code 11 is not valid. AK401-3 repetitionPosition exists only in 005010. AK404 badDataElementValue is protected potentially sensitive source evidence: canonical detail allowed; never raw-echo in summary, validation messages, logs, telemetry, URLs, server requests, or HTML; render text-only/escaped and apply CSV/XLSX/XML formula defenses
Transaction Set Status
TransactionAcknowledgmentCode17CODETransaction Set StatusTRANSACTION_ACKTRANSACTION_STATUSAK501AK5Use exact lexical AK501 from the AK5 physically closing this AK2; preserve unknown codeBlank on GROUP_SUMMARY or missing AK5; never borrow another AK5 and never derive from error presenceAK5Owner and AK5SourceIndexSOURCE_SCALAR004010|004030|005010SCALARX12 transaction-set acknowledgment only; valid A|E|M|R|W|X; P is not a transaction-level AK5 code
TransactionAcknowledgmentDescription18STRINGTransaction Set StatusTRANSACTION_ACKTRANSACTION_STATUSAK501 release-aware code lookupAK5Describe exact AK501 only: A=Accepted; E=Accepted, but errors were noted; M=Rejected; message authentication code failed; R=Rejected; W=Rejected; assurance failed validity tests; X=Rejected; content after decryption could not be analyzedBlank when code is blank; bounded Unknown (<code>) for unknown source code; never reject or drop the rowTransactionAcknowledgmentCode plus resolved releaseSEMANTIC_DESCRIPTION004010|004030|005010SCALARNever describe business acceptance, order approval, invoice payment, shipment success, delivery, partner compliance, or downstream success
AK5Owner19STRINGTransaction Set StatusTRANSACTION_ACKTRANSACTION_STATUSAK5 owner tokenAK5Format TRANSACTION_STATUS@<AK5SourceIndex> for the AK5 physically closing this AK2Blank on GROUP_SUMMARY or missing AK5; no sibling fallbackAK5SourceIndex plus physical AK2 intervalDERIVED_PROVENANCE004010|004030|005010SCALARClosed owner vocabulary token TRANSACTION_STATUS
AK5SourceIndex20INTEGERTransaction Set StatusTRANSACTION_ACKTRANSACTION_STATUSAK5 physical indexAK5Use the zero-based full-file envelope-inclusive sourceIndex of this AK2's closing AK5Blank on GROUP_SUMMARY or missing AK5; never borrow another ownerSelf-provenance; never resets per STSOURCE_PROVENANCE004010|004030|005010SCALARAK5 is required exactly once per present AK2; future 997_STRUCTURAL validation
TransactionSyntaxErrorCount21INTEGERTransaction Set StatusTRANSACTION_ACKTRANSACTION_STATUSPopulated AK502-AK506 physical slotsAK5Serialize the TransactionSyntaxErrorOccurrences array length; each physically populated slot increments independently, including duplicate codes0 on GROUP_SUMMARY or missing/blank AK5 error slots; never infer from AK501AK5Owner and occurrence arrayDERIVED_COUNT004010|004030|005010SCALARCount is populated physical slot count, not distinct code count
TransactionSyntaxErrorOccurrences22JSON_ARRAYTransaction Set StatusTRANSACTION_ACKTRANSACTION_STATUSAK502|AK503|AK504|AK505|AK506AK5Serialize one occurrence per populated AK5 element position in slot order; occurrence is compact 1..n while slotOrdinal remains exact source element position 2..6; preserve duplicates and unknown codes[] on GROUP_SUMMARY, missing AK5, or no populated error slots; never clone or inheritAK5Owner and AK5SourceIndex identify the physical segment and elements retain the full lexical AK5 arraySOURCE_COLLECTION004010|004030|005010Array keys in order: segment,scope,owner,occurrence,sourceIndex,elements,slotOrdinal,code,description. [] when empty; compact RFC 8259 JSON; elements is the exact lexical source element array004030|005010 codes: 1=Transaction set not supported; 2=Transaction set trailer missing; 3=Transaction set control number in header and trailer do not match; 4=Number of included segments does not match actual count; 5=One or more segments in error; 6=Missing or invalid transaction set identifier; 7=Missing or invalid transaction set control number; 8=Authentication key name unknown; 9=Encryption key name unknown; 10=Requested authentication or encryption service not available; 11=Unknown security recipient; 12=Incorrect message length, encryption only; 13=Message authentication code failed; 15=Unknown security originator; 16=Syntax error in decrypted text; 17=Security not supported; 18=Transaction set not in functional group; 19=Invalid transaction set implementation convention reference; 23=Transaction set control number not unique within functional group; 24=S3E security end missing for S3S start; 25=S3S security start missing for S3E end; 26=S4E security end missing for S4S start; 27=S4S security start missing for S4E end. In 004010, 1-13,15-17,23-27 retain their researched meanings while 19=S1E missing for S1S; 20=S1S missing for S1E; 21=S2E missing for S2S; 22=S2S missing for S2E; later 18/19 meanings do not apply. Unknown code is preserved with bounded Unknown (<code>) description; no mapper rejection
Functional Group Status
GroupAcknowledgmentCode23CODEFunctional Group StatusALLGROUP_STATUSAK901AK9Repeat exact lexical AK901 on every canonical row; preserve unknown source codeBlank when AK9 or AK901 is missing; never derive from AK5 rows or countsAK9Owner and AK9SourceIndexSOURCE_SCALAR004010|004030|005010SCALARX12 functional-group acknowledgment only; valid A|E|M|P|R|W|X
GroupAcknowledgmentDescription24STRINGFunctional Group StatusALLGROUP_STATUSAK901 release-aware code lookupAK9Describe exact AK901 only: A=Accepted; E=Accepted, but errors were noted; M=Rejected; message authentication code failed; P=Partially accepted; at least one transaction set was rejected; R=Rejected; W=Rejected; assurance failed validity tests; X=Rejected; content after decryption could not be analyzedBlank when code is blank; bounded Unknown (<code>) for unknown source code; never reject or drop a rowGroupAcknowledgmentCode plus resolved releaseSEMANTIC_DESCRIPTION004010|004030|005010SCALARNever convert acknowledgment status into business acceptance, partner performance, compliance, or certification
IncludedTransactionSetCount25STRINGFunctional Group StatusALLGROUP_STATUSAK902AK9Repeat exact lexical source-reported Number of Transaction Sets Included on every canonical rowBlank when AK9 or AK902 is missing; no physical AK2 count fallbackAK9Owner and AK9SourceIndexSOURCE_SCALAR004010|004030|005010SCALARSource-reported control count; never numerically normalize or cross-file sum by default
ReceivedTransactionSetCount26STRINGFunctional Group StatusALLGROUP_STATUSAK903AK9Repeat exact lexical source-reported Number of Received Transaction Sets on every canonical rowBlank when AK9 or AK903 is missing; no physical AK2 count fallbackAK9Owner and AK9SourceIndexSOURCE_SCALAR004010|004030|005010SCALARFuture validator may compare AK904 <= AK903 only when both are valid exact nonnegative integers
AcceptedTransactionSetCount27STRINGFunctional Group StatusALLGROUP_STATUSAK904AK9Repeat exact lexical source-reported Number of Accepted Transaction Sets on every canonical rowBlank when AK9 or AK904 is missing; never derive by subtraction or physical AK2 reconciliationAK9Owner and AK9SourceIndexSOURCE_SCALAR004010|004030|005010SCALARFuture validator may compare AK904 <= AK903 only; no CalculatedAK2Count, mismatch, or reconciled count
AK9Owner28STRINGFunctional Group StatusALLGROUP_STATUSAK9 owner tokenAK9Format GROUP_STATUS@<AK9SourceIndex>; repeat on every canonical row while its collection remains anchor-onlyBlank only when AK9 is recoverably missing; never construct from AK901 or countsAK9SourceIndex disambiguates blank and duplicate visible valuesDERIVED_PROVENANCE004010|004030|005010SCALARClosed owner vocabulary token GROUP_STATUS
AK9SourceIndex29INTEGERFunctional Group StatusALLGROUP_STATUSAK9 physical indexAK9Repeat the zero-based full-file envelope-inclusive AK9 sourceIndex on every canonical rowBlank when AK9 is missing; never borrow another ST's AK9Self-provenance; never resets per STSOURCE_PROVENANCE004010|004030|005010SCALARAK9 required exactly once; future 997_STRUCTURAL validation
GroupSyntaxErrorCount30INTEGERFunctional Group StatusALLGROUP_STATUSPopulated AK905-AK909 physical slotsAK9On IsTransactionAnchor serialize the GroupSyntaxErrorOccurrences array length; each physically populated slot increments independently, including duplicate codes0 on non-anchor rows, missing AK9, or no populated group error slots; collection and count never cloneAK9Owner and anchor-projected occurrence arrayDERIVED_COUNT004010|004030|005010SCALARAnchor-only count matches anchor-only collection; group scalar status/count context may repeat
GroupSyntaxErrorOccurrences31JSON_ARRAYFunctional Group StatusALLGROUP_STATUSAK905|AK906|AK907|AK908|AK909AK9Project only on IsTransactionAnchor; serialize one occurrence per populated AK9 position in slot order; occurrence is compact 1..n while slotOrdinal remains exact source element position 5..9; preserve duplicates and unknowns[] on non-anchor rows, missing AK9, or no populated slots; never clone across TRANSACTION_ACK rowsAK9Owner and AK9SourceIndex identify the physical segment and elements retain the full lexical AK9 arraySOURCE_COLLECTION004010|004030|005010Array keys in order: segment,scope,owner,occurrence,sourceIndex,elements,slotOrdinal,code,description. [] when empty; compact RFC 8259 JSON; elements is the exact lexical source element array004030|005010 codes: 1=Functional group not supported; 2=Functional group version not supported; 3=Functional group trailer missing; 4=Group control number in header and trailer do not agree; 5=Number of included transaction sets does not match actual count; 6=Group control number violates syntax; 10=Authentication key name unknown; 11=Encryption key name unknown; 12=Requested authentication or encryption service not available; 13=Unknown security recipient; 14=Unknown security originator; 15=Syntax error in decrypted text; 16=Security not supported; 17=Incorrect message length, encryption only; 18=Message authentication code failed; 19=Functional group control number not unique within interchange; 23=S3E security end missing for S3S start; 24=S3S security start missing for S3E end; 25=S4E security end missing for S4S start; 26=S4S security start missing for S4E end. In 004010, 1-6 and 10-18 retain their researched meanings while 19=S1E missing for S1S; 20=S1S missing for S1E; 21=S2E missing for S2S; 22=S2S missing for S2E; 23-26 retain S3/S4 meanings. Unknown code is preserved with bounded Unknown (<code>) description; no mapper rejection
Technical Provenance
FileName32STRINGTechnical ProvenanceALLFILEFileNameFILEUse exact source file name supplied to conversion and repeat on every canonical rowBlank only when caller supplies no file name; never infer from contentFile identityTECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
FileOrdinal33INTEGERTechnical ProvenanceALLFILEFileOrdinalFILEUse zero-based input-file ordinal and repeat on every canonical row0 for single-file input when repository caller establishes that ordinalInput batch positionTECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
InterchangeOrdinal34INTEGERTechnical ProvenanceALLINTERCHANGEInterchangeOrdinalISAUse one-based physical ISA interchange ordinal within the fileBlank only when no bounded interchange existsPhysical ISA orderTECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
FunctionalGroupOrdinal35INTEGERTechnical ProvenanceALLGROUPFunctionalGroupOrdinalGSUse one-based physical GS functional-group ordinal within the interchangeBlank only when no bounded group existsPhysical GS orderTECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
TransactionOrdinal36INTEGERTechnical ProvenanceALLTRANSACTIONTransactionOrdinalSTUse one-based physical ST transaction ordinal within the functional groupBlank only when no bounded transaction existsPhysical ST orderTECHNICAL_PROVENANCE004010|004030|005010SCALAROwnership resets per ST while SourceIndex does not
SourceIndex37INTEGERTechnical ProvenanceALLRECORDCanonical row owner sourceIndexAK2|AK9|AK1|STTRANSACTION_ACK uses physical AK2 sourceIndex; GROUP_SUMMARY uses AK9 sourceIndex, else AK1, else ST; zero-based, full-file, envelope-inclusive, and never resets per STNever use AK3, AK4, AK5, a visible control, or another transaction as row SourceIndexPhysical canonical row ownerTECHNICAL_PROVENANCE004010|004030|005010SCALARExact mature repository SourceIndex convention
InterchangeSenderQualifier38CODETechnical ProvenanceALLINTERCHANGEISA05ISAUse exact lexical ISA05Blank when source is absent or truncatedPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
InterchangeSenderID39IDENTIFIERTechnical ProvenanceALLINTERCHANGEISA06ISAUse exact lexical ISA06 including meaningful source padding policyBlank when source is absent or truncatedPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARNo numeric normalization
InterchangeReceiverQualifier40CODETechnical ProvenanceALLINTERCHANGEISA07ISAUse exact lexical ISA07Blank when source is absent or truncatedPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
InterchangeReceiverID41IDENTIFIERTechnical ProvenanceALLINTERCHANGEISA08ISAUse exact lexical ISA08 including meaningful source padding policyBlank when source is absent or truncatedPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARNo numeric normalization
InterchangeControlVersion42STRINGTechnical ProvenanceALLINTERCHANGEISA12ISAUse exact lexical ISA12 as interchange-envelope context only; never choose the 997 grammar from itBlank when source is absent or truncated; no release fallbackPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARISA12 is context only
InterchangeControlNumber43IDENTIFIERTechnical ProvenanceALLINTERCHANGEISA13ISAUse exact lexical ISA13Blank when source is absent or truncatedPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARLeading zeros remain lexical
FunctionalGroupSenderCode44IDENTIFIERTechnical ProvenanceALLGROUPGS02GSUse exact lexical GS02Blank when source is absent or truncatedPhysical GSTECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
FunctionalGroupReceiverCode45IDENTIFIERTechnical ProvenanceALLGROUPGS03GSUse exact lexical GS03Blank when source is absent or truncatedPhysical GSTECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
FunctionalGroupControlNumber46IDENTIFIERTechnical ProvenanceALLGROUPGS06GSUse exact lexical GS06 of the containing 997 groupBlank when source is absent or truncated; never substitute acknowledged AK102Physical containing GSTECHNICAL_PROVENANCE004010|004030|005010SCALARDistinct from AcknowledgedGroupControlNumber
GroupVersion47STRINGTechnical ProvenanceALLGROUPGS08GSUse exact raw GS08 including implementation suffix; structurally valid GS08 is primary base-release authorityBlank when source is absent; never replace stored raw value with normalized VersionPhysical containing GSTECHNICAL_PROVENANCE004010|004030|005010SCALAR005010X230 is a 997 convention; X231/X231A1 is foreign 999 authority
TransactionSetControlNumber48IDENTIFIERTechnical ProvenanceALLTRANSACTIONST02STUse exact lexical ST02 of the containing 997 transactionBlank when source is absent or truncated; never substitute acknowledged AK202Physical STTECHNICAL_PROVENANCE004010|004030|005010SCALARDistinct from AcknowledgedTransactionSetControlNumber
ImplementationReference49STRINGTechnical ProvenanceALLTRANSACTIONST03STUse exact raw ST03 only where structurally available: optional in 004030 and 005010; structurally absent in 004010Blank in 004010 and when absent later; never read an extra 004010 element as ST03Physical STTECHNICAL_PROVENANCE004030|005010SCALARST03 may select convention and is fallback only when GS08 is missing or malformed; meaningful GS08/ST03 conflict fails ambiguous
Version50STRINGTechnical ProvenanceALLTRANSACTIONResolved leading six release digitsGS|STResolve 004010, 004030, or 005010 with structurally valid GS08 primary and structurally useful ST03 fallback; preserve raw controls separatelyBlank for ambiguous, missing, unsupported release, or foreign 999 guide; never guess from ISA12 or contentVersionResolutionStatus and VersionAuthoritySourceDERIVED_CONTEXT004010|004030|005010SCALARX230 resolves to 005010; X231/X231A1 yields UNSUPPORTED_IMPLEMENTATION for 997
VersionResolutionStatus51CODETechnical ProvenanceALLTRANSACTIONFrozen 997 resolver resultGS|STEmit RESOLVED, AMBIGUOUS_RELEASE, MISSING_RELEASE, UNSUPPORTED_RELEASE, or UNSUPPORTED_IMPLEMENTATION from the frozen 997 authorityNever coerce conflict, absence, unsupported base, or foreign guide to a tested releaseRaw GS08/ST03 and normalized candidatesDERIVED_CONTEXT004010|004030|005010SCALARClosed exact 997 status vocabulary; this data map does not implement the resolver
VersionAuthoritySource52CODETechnical ProvenanceALLTRANSACTIONChosen base-release authorityGS|STEmit GS08 or ST03 only when that physical control selected Version; ST03 cannot select 004010Blank when no release is resolvedRaw selected authority and sourceIndexDERIVED_CONTEXT004010|004030|005010SCALARGS08 primary; ST03 fallback; disagreement fails closed
UsageIndicator53CODETechnical ProvenanceALLINTERCHANGEISA15ISAUse exact lexical ISA15Blank when source is absent or truncatedPhysical ISATECHNICAL_PROVENANCE004010|004030|005010SCALARSame technical meaning across tested releases
ElementSeparator54STRINGTechnical ProvenanceALLINTERCHANGEISA fixed-position element separatorISAUse exact parsed element separatorBlank only when delimiter extraction failsPhysical interchange syntaxTECHNICAL_PROVENANCE004010|004030|005010SCALARNever hard-code asterisk
ComponentSeparator55STRINGTechnical ProvenanceALLINTERCHANGEISA16ISAUse exact parsed component separatorBlank only when delimiter extraction failsPhysical interchange syntaxTECHNICAL_PROVENANCE004010|004030|005010SCALARNever hard-code colon
RepetitionSeparator56STRINGTechnical ProvenanceALLINTERCHANGEISA11ISAUse exact ISA11 only as repetition separator for resolved 004030 and 005010Blank for 004010 because ISA11 is the Interchange Control Standards Identifier; never reinterpret U as repetitionResolved release plus physical ISA11TECHNICAL_PROVENANCE004030|005010SCALAR004010 ISA11=standards identifier; 004030|005010 ISA11=repetition separator
SegmentTerminator57STRINGTechnical ProvenanceALLINTERCHANGEParsed segment terminatorISAUse exact parsed segment terminatorBlank only when delimiter extraction failsPhysical interchange syntaxTECHNICAL_PROVENANCE004010|004030|005010SCALARNever hard-code tilde
SupportStatus58CODETechnical ProvenanceALLTRANSACTION997 support boundary and complete disposition inventoryGS|ST|ISAExact value CANONICAL_ONLY only after exact ST01 and unambiguous tested-release resolution; this map alone enables no runtime or public supportNo KEY_FIELDS or ALL_FIELDS; unresolved, ambiguous, unsupported, wrong-family, and release-invalid evidence stays outside Smart MappingExact transaction identity, selected release, and frozen disposition inventoryDERIVED_CONTEXT004010|004030|005010SCALARPROMOTED_SCALAR: ST/AK1/AK2/AK5/AK9 identity status counts. CANONICAL_COLLECTION: AK3/AK4 and populated AK5/AK9 error positions. RAW_ONLY: proprietary NTE/REF/ZZ/private segments inside 997 and security structures outside the tested 997 table, except envelope authority remains SHARED_X12. OUT_OF_SCOPE_RELEASE_INVALID: CTX/IK3/IK4/IK5 in 997; AK103/AK203 in 004010|004030; AK401-3 before 005010; any release-invalid segment or element. Raw Mode remains the physical parsed segment sequence. No schema, resolver, mapper, adapter, validator, summary, corpus, registry, route, page, UI, or public 997 support is created

Authority and interpretation notes

  • The downloadable CSV is the repository-shipped map authority; the page and Excel workbook are generated from that same ordered matrix.
  • This data dictionary documents the product's canonical projection, not every possible X12 implementation or trading-partner companion guide.
  • Source and classification metadata remain authoritative; blank cells are preserved and no map semantics are rewritten for display.
  • No inventory arithmetic, availability inference, financial reconciliation, fulfillment inference, or other business fact is added by this documentation page.
  • The page performs no inventory arithmetic and makes no availability inference.
Parse an EDI 997 into structured fields.
Browse the other Client-Side EDI data maps and tutorials.