Skip to content
EDI 864 — EDI TransactionPublished Nov 4, 2026

EDI 864 Text Message: Implementation Guide

EDI 864 Text Message explained: BMG, MIT and MSG segments, vendor notice and invoice rejection examples, 864 vs 824, and how to make sure someone reads them.

The EDI 864 is email that travels over your EDI connection. A retailer tells you an invoice was not paid and why. A supplier announces a holiday shipping cutoff. A government buyer sends a clarification on a solicitation. None of these fit a coded document, so they arrive as an 864: a subject, a sender, and lines of plain text.

The risk is simple. Your translator accepts the 864, sends back a clean 997, and files it somewhere nobody looks. This guide covers what the 864 carries, its segments, two live examples (a retailer's invoice rejection and a supplier's shipping notice), how it compares to the 824, and how to make sure a person actually reads each one.

What Is an EDI 864?

An EDI 864 is the Text Message transaction set defined by the ASC X12 standards body. Its X12 purpose statement says it gives users a way to electronically move messages, contracts, explanations and other one-time communications, and that it is intended to provide messages for people, not for computer processing. The same statement discourages using the 864 to carry "quasi" or home-grown transaction formats. It travels in functional group TX.

Authoritative references for 864 work:

Who sends it? Either side. Retailers and manufacturers send notices to suppliers. Suppliers send notices to customers. Government agencies and their vendors exchange clarifications on solicitations and awards.

Who receives it? In theory, a person. In practice, your EDI translator, which then has to hand the text to a person.

When is it sent? Whenever there is something to say that no structured document covers: a rejected document explained in words, a schedule change, a new requirement, a contact change.

Why does it matter? Because the content is prose, no system will act on it for you. If an 864 tells you an invoice will not be paid until you correct it, the only way that gets fixed is if someone reads it.

What 864s Are Used For

UseTypical senderExample
Rejections explained in proseRetailer, buyer APAn invoice could not be matched to a PO, or duplicates one already received
Vendor noticesSupplierPlant closures, holiday shipping cutoffs, new remit-to details
Policy and requirement changesRetailer, manufacturerNew labeling rules, a change in routing contacts, a new EDI requirement date
ClarificationsBuyer or sellerQuestions and answers on a quote or award, such as an 843 quote response, referencing the related transaction
Production or schedule messagesManufacturerNotes that accompany planning or shipping schedules

Which of these your partners actually send is in their EDI requirements. Many retailers have moved notices to supplier portals and email, and use the 824 for document rejections. The 864 is still common in automotive, manufacturing, government and some retail relationships.

Interactive Example: Invoice Rejection Notice

A grocery retailer's accounts payable desk tells a food supplier why two invoices were not processed. BMG02 gives the overall subject. Two N1 loops name the sender (FR, message from, with a PER contact) and the recipient (TO, message to). Each problem gets its own MIT loop with a message number and subject, followed by MSG lines of text.

Use the Plain English tab for a readable summary, or click any segment to break it down element by element.

Live exampleGrocery Chain (Text Message)EDI 864

Grocery 864 Invoice Rejection Notice

A grocery retailer's accounts payable desk tells a supplier, in prose, why two invoices were not processed: a PO number not on file and a duplicate invoice number

Document
864 Text Message
From / to
HARBORGROCER → PINEHOLLOW
Segments
19
Interchange date
Nov 12, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*HARBORGROCER *ZZ*PINEHOLLOW *261112*0805*U*00401*000000864*0*P*:~
2
GS*TX*HARBORGROCER*PINEHOLLOW*20261112*0805*864*X*004010~
3
ST*864*0001~
4
BMG*00*INVOICE REJECTION NOTICE~
5
DTM*097*20261112*0805~
6
N1*FR*HARBOR GROCERY AP*1*069854900~
7
PER*IC*ACCOUNTS PAYABLE EDI DESK*TE*5035550100~
8
N1*TO*PINE HOLLOW FOODS*1*081234567~
9
MIT*001*INVOICE 30418 NOT PROCESSED*80~
10
MSG*YOUR INVOICE 30418 DATED 11/10/2026 COULD NOT BE MATCHED TO AN OPEN ORDER.~
11
MSG*PO NUMBER 4471982 ON THE INVOICE IS NOT ON FILE FOR VENDOR 081234567.~
12
MSG*PLEASE CONFIRM THE PO NUMBER AND SEND A CORRECTED INVOICE.~
13
MSG*THIS INVOICE WILL NOT BE PAID UNTIL A CORRECTED COPY IS RECEIVED.~
14
MIT*002*INVOICE 30422 NOT PROCESSED*80~
15
MSG*YOUR INVOICE 30422 DATED 11/10/2026 DUPLICATES INVOICE 30422 RECEIVED 11/03.~
16
MSG*NO ACTION IS NEEDED IF THIS WAS SENT IN ERROR.~
17
SE*15*0001~
18
GE*1*864~
19
IEA*1*000000864~

Human-Readable

Interchange

Sender ID(ZZ)HARBORGROCER
Receiver ID(ZZ)PINEHOLLOW
Date261112
Time0805
Standards IDU
Version00401
Control Number000000864
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDTXTX
SenderHARBORGROCER
ReceiverPINEHOLLOW
Date20261112
Time0805
Control Number864
Agency CodeX
Version004010
Transactions1
Reported Transaction Count (GE01)1

Transaction 864

Text Message
Transaction Type864
Control Number0001
Segments, ST to SE15
Count in SE0115 (matches)

Segment Detail

BMGBeginning Segment for Text Message
BMG01Transaction Set Purpose Code00
BMG02Message SubjectINVOICE REJECTION NOTICE
DTMDate/Time Reference
DTM01Date Qualifier097
DTM02Date20261112
DTM03Time0805
N1Party Identification
N101Entity CodeFR
N102NameHARBOR GROCERY AP
N103ID Qualifier1
N104ID Code069854900
PERAdministrative Communications Contact
PER01Contact FunctionIC
PER02NameACCOUNTS PAYABLE EDI DESK
PER03Comm QualifierTE
PER04Comm Number5035550100
N1Party Identification
N101Entity CodeTO
N102NamePINE HOLLOW FOODS
N103ID Qualifier1
N104ID Code081234567
MITMessage Identification
MIT01Message Number001
MIT02Message SubjectINVOICE 30418 NOT PROCESSED
MIT03Page Width80
MSGMessage Text
MSG01Message TextYOUR INVOICE 30418 DATED 11/10/2026 COULD NOT BE MATCHED TO AN OPEN ORDER.
MSGMessage Text
MSG01Message TextPO NUMBER 4471982 ON THE INVOICE IS NOT ON FILE FOR VENDOR 081234567.
MSGMessage Text
MSG01Message TextPLEASE CONFIRM THE PO NUMBER AND SEND A CORRECTED INVOICE.
MSGMessage Text
MSG01Message TextTHIS INVOICE WILL NOT BE PAID UNTIL A CORRECTED COPY IS RECEIVED.
MITMessage Identification
MIT01Message Number002
MIT02Message SubjectINVOICE 30422 NOT PROCESSED
MIT03Page Width80
MSGMessage Text
MSG01Message TextYOUR INVOICE 30422 DATED 11/10/2026 DUPLICATES INVOICE 30422 RECEIVED 11/03.
MSGMessage Text
MSG01Message TextNO ACTION IS NEEDED IF THIS WAS SENT IN ERROR.
1 functional group1 transactionControl #000000864Valid

Notice what the 864 does not give you: no invoice number in a coded field, no error code, no status a system can branch on. The invoice number is only in the text. That is the trade-off of a text message.

Interactive Example: Supplier Holiday Shipping Notice

Going the other way, the food supplier tells the grocery customer its plant will not ship over Thanksgiving, when the order cutoff is, and who to call. Two MIT loops separate the schedule from the contact details.

Live exampleGrocery Chain (Text Message)EDI 864

Supplier 864 Holiday Shipping Notice

A food manufacturer tells a grocery customer its plant will not ship over the Thanksgiving holiday, with the order cutoff and a contact, as two MIT messages

Document
864 Text Message
From / to
PINEHOLLOW → HARBORGROCER
Segments
17
Interchange date
Nov 16, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*PINEHOLLOW *ZZ*HARBORGROCER *261116*1430*U*00401*000000865*0*P*:~
2
GS*TX*PINEHOLLOW*HARBORGROCER*20261116*1430*865*X*004010~
3
ST*864*0001~
4
BMG*00*HOLIDAY SHIPPING SCHEDULE~
5
DTM*097*20261116*1430~
6
N1*FR*PINE HOLLOW FOODS*1*081234567~
7
PER*IC*D OKAFOR*TE*5035550142~
8
N1*TO*HARBOR GROCERY*1*069854900~
9
MIT*001*THANKSGIVING WEEK SHIPPING*80~
10
MSG*OUR PORTLAND PLANT WILL NOT SHIP ON THURSDAY 11/26 OR FRIDAY 11/27.~
11
MSG*ORDERS RECEIVED AFTER 12:00 PT ON TUESDAY 11/24 WILL SHIP MONDAY 11/30.~
12
MSG*PLEASE ADJUST REQUESTED DELIVERY DATES ON ORDERS FOR THAT WEEK.~
13
MIT*002*ORDER CONTACT*80~
14
MSG*QUESTIONS ABOUT AFFECTED ORDERS: D OKAFOR, 503-555-0142.~
15
SE*13*0001~
16
GE*1*865~
17
IEA*1*000000865~

Human-Readable

Interchange

Sender ID(ZZ)PINEHOLLOW
Receiver ID(ZZ)HARBORGROCER
Date261116
Time1430
Standards IDU
Version00401
Control Number000000865
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDTXTX
SenderPINEHOLLOW
ReceiverHARBORGROCER
Date20261116
Time1430
Control Number865
Agency CodeX
Version004010
Transactions1
Reported Transaction Count (GE01)1

Transaction 864

Text Message
Transaction Type864
Control Number0001
Segments, ST to SE13
Count in SE0113 (matches)

Segment Detail

BMGBeginning Segment for Text Message
BMG01Transaction Set Purpose Code00
BMG02Message SubjectHOLIDAY SHIPPING SCHEDULE
DTMDate/Time Reference
DTM01Date Qualifier097
DTM02Date20261116
DTM03Time1430
N1Party Identification
N101Entity CodeFR
N102NamePINE HOLLOW FOODS
N103ID Qualifier1
N104ID Code081234567
PERAdministrative Communications Contact
PER01Contact FunctionIC
PER02NameD OKAFOR
PER03Comm QualifierTE
PER04Comm Number5035550142
N1Party Identification
N101Entity CodeTO
N102NameHARBOR GROCERY
N103ID Qualifier1
N104ID Code069854900
MITMessage Identification
MIT01Message Number001
MIT02Message SubjectTHANKSGIVING WEEK SHIPPING
MIT03Page Width80
MSGMessage Text
MSG01Message TextOUR PORTLAND PLANT WILL NOT SHIP ON THURSDAY 11/26 OR FRIDAY 11/27.
MSGMessage Text
MSG01Message TextORDERS RECEIVED AFTER 12:00 PT ON TUESDAY 11/24 WILL SHIP MONDAY 11/30.
MSGMessage Text
MSG01Message TextPLEASE ADJUST REQUESTED DELIVERY DATES ON ORDERS FOR THAT WEEK.
MITMessage Identification
MIT01Message Number002
MIT02Message SubjectORDER CONTACT
MIT03Page Width80
MSGMessage Text
MSG01Message TextQUESTIONS ABOUT AFFECTED ORDERS: D OKAFOR, 503-555-0142.
1 functional group1 transactionControl #000000865Valid

864 Structure at a Glance

The 864 is one of the simplest X12 sets.

AreaSegmentNameUsageNotes
HeadingSTTransaction Set HeaderMandatoryST01 = 864
HeadingBMGBeginning Segment for Text MessageMandatoryPurpose code and overall subject
HeadingDTMDate/Time ReferenceOptional, up to 10Dates relevant to the message
Heading loopN1NameOptional loop, up to 200Sender, recipient and other parties
Heading loopN2, N3, N4Name and addressOptional
Heading loopREFReference IdentificationOptional, up to 12References to related documents
Heading loopPERAdministrative Communications ContactOptional, up to 3Who to contact
Detail loopMITMessage IdentificationMandatory, repeatsOpens each message: number and subject
Detail loopN1 loopName, address, REF, PEROptionalParties for this one message
Detail loopMSGMessage TextMandatory, up to 100,000 per messageOne line of text per segment
TrailerSETransaction Set TrailerMandatorySegment count and control number

In the envelope, GS01 is TX. Many partners use release 004010, and the version is set by their guide.

Key Segments Explained

BMG: Beginning Segment for Text Message

BMG*00*INVOICE REJECTION NOTICE~
ElementNameExampleWhat it means
BMG01Transaction Set Purpose Code0000 = original
BMG02DescriptionINVOICE REJECTION NOTICEThe subject of the whole transaction, up to 80 characters
BMG03Transaction Type CodeOptional code classifying the message. Its use and values are set by the partner's guide

BMG02 is the closest thing the 864 has to a routing key. If your partner uses consistent subjects, you can route on them. If not, route every 864 from that partner to a person.

DTM: Date/Time Reference

DTM*097*20261112*0805~

DTM01 is the date qualifier (097 = transaction creation), DTM02 the date and DTM03 the time. Partners use other qualifiers for effective dates or deadlines mentioned in the text.

N1, REF and PER: Who It Is From and To

N1*FR*HARBOR GROCERY AP*1*069854900~
PER*IC*ACCOUNTS PAYABLE EDI DESK*TE*5035550100~
N1*TO*PINE HOLLOW FOODS*1*081234567~

N101 codes FR (message from) and TO (message to) identify the two ends of the message, with an ID in N103/N104 (here 1 = DUNS). PER gives a contact with a name and number. A REF in the same loop can point to a related transaction. The DLA convention, for example, requires the reference number of the related transaction when an 864 accompanies another document.

MIT: Message Identification

MIT*001*INVOICE 30418 NOT PROCESSED*80~
ElementNameExampleWhat it means
MIT01Reference Identification001The message number within this 864
MIT02DescriptionINVOICE 30418 NOT PROCESSEDThe subject of this message, up to 80 characters
MIT03Page Width80Maximum characters per line. Defaults to 80
MIT04Page Length LinesMaximum lines per page. Defaults to 66

One 864 can hold many messages. Separate topics into separate MIT loops so each can be routed and answered on its own.

MSG: Message Text

MSG*YOUR INVOICE 30418 DATED 11/10/2026 COULD NOT BE MATCHED TO AN OPEN ORDER.~
ElementNameWhat it means
MSG01Free-Form Message TextOne line of text, up to 264 characters
MSG02Printer Carriage Control CodeOptional layout control, such as advancing lines or starting a new page
MSG03NumberLines to advance before printing. Requires MSG02

Each MSG is one line. Keep lines within the MIT03 page width and avoid the delimiter characters your interchange uses (*, ~ and the component separator), which will break the segment.

EDI 864 vs 824, 997 and Email

DocumentPurposeMachine-readable?Typical use
864 Text MessageFree-form messages for peopleNo. The content is proseNotices, explanations, rejections in words
824 Application AdviceReports accepted, rejected or errored documentsYes. Coded status in OTI, error codes in TEDBusiness-rule rejections of 810s, 856s and 850s
997 Functional AcknowledgmentConfirms receipt and syntax of a functional groupYesEvery transaction, including the 864 itself
EmailAnythingNoMost notices today

The short version: the 824 tells your system that a document failed and which one, so the fix can be tracked. The 864 tells a person, in words. When a partner rejects documents with 864s instead of 824s, you lose the automatic link between the rejection and the document, and have to rebuild it by reading the text.

How to Make Sure Someone Reads Your 864s

The most common 864 failure is not a mapping error. It is a message that was received, acknowledged and never seen.

  1. Route every 864 to a monitored inbox or queue. Convert the BMG, MIT and MSG content into an email or ticket, with the sender and date.
  2. Route by partner and subject where you can. An AP rejection from a retailer belongs with your billing team; a routing change belongs with shipping.
  3. Pull references out of the text. Invoice and PO numbers in MSG lines are just text. Matching them to your documents, even with a simple pattern search, turns an 864 into something you can act on.
  4. Keep the original. Store the raw 864 alongside the converted message, so you can show what the partner actually said.
  5. Answer through the channel the partner asks for. Many partners do not accept 864s back. Their guide or the message itself says how to respond.

Rejections that are never read turn into short-pays and EDI chargebacks weeks later. Pasting a raw 864 into the EDI inspector lays out the subject, parties and each message as readable text.

Common 864 Errors and How to Prevent Them

ErrorWhat happensPrevention
864 acknowledged but never readNotice ignored, problem repeatsRoute every 864 to a person, not just the archive
Delimiter characters inside message textSegment split or syntax error on the 997Strip or replace *, ~ and the component separator before sending
Lines longer than 264 charactersElement too long, syntax rejectionWrap text into multiple MSG segments
All topics in one MIT loopHard to route or answerOne MIT per topic, with a clear subject
No sender contactRecipient cannot follow upInclude PER with a name and number
Structured data sent as textReceiver cannot process it, against the X12 purposeUse the proper transaction set (824, 855, 865) when one exists
Missing reference to the related documentMessage cannot be matched to the order or invoiceUse REF where the partner's guide allows, and name the document in the text

864 Implementation Checklist

  • Ask each partner whether it sends or accepts 864s, and for what
  • Get its guide: which heading segments it uses, which N1 codes, and whether it uses BMG03
  • Decide where inbound 864s go: an inbox, a ticket queue, a named person per partner
  • Convert MIT and MSG content into readable text, keeping line breaks
  • Store the raw transaction with the converted message
  • If you send 864s, wrap text to the page width and strip delimiter characters
  • Confirm the 997 handling: an 864 needs a 997 like any other set

For the wider set of documents your partners may exchange, see the EDI document types reference and the EDI compliance guide.

Fewer Rejections Start With Clean Orders, With OrderSync

Many 864s are rejections, and many rejections trace back to order data: a PO number keyed wrong, an item the customer does not recognize, a unit that does not match. Orders arrive as EDI 850s, emails, PDFs and spreadsheets, and each one has to be matched correctly before it turns into an acknowledgment, a shipment and an invoice.

OrderSync reads inbound orders in any format, matches customers, items and units to your catalog, and outputs valid X12 or clean data to your ERP. Paste any 864 into the free EDI inspector to read it as plain text, or book a 15-minute walkthrough to see your own orders processed.

Frequently Asked Questions

What is an EDI 864 used for?

The EDI 864 Text Message carries free-form messages between trading partners over an EDI connection: notices, policy changes, explanations and rejections written in prose. X12 defines it for communication meant for people to read, not for systems to process.

What segments are in an EDI 864?

An 864 opens with BMG, which carries the purpose code and overall subject, plus optional DTM dates and N1 loops for the parties. Each message starts with an MIT segment holding a message number and subject, followed by one or more MSG segments, each holding one line of text.

What is the difference between EDI 864 and EDI 824?

The 824 Application Advice reports that a document was accepted, rejected or had errors, using coded status and error segments a system can process. The 864 carries the same kind of news, or anything else, as plain text for a person. An 824 can be tracked automatically; an 864 has to be read.

How long can an MSG line be in an EDI 864?

MSG01 holds up to 264 characters. MIT03 can set a page width, which defaults to 80 characters, so most senders keep each line within 80 characters and use as many MSG segments as the message needs.

Do I need to send a 997 for an EDI 864?

Usually yes. An 864 is a transaction set like any other, and partners that require 997s expect one for it. The 997 only confirms the 864 arrived and passed syntax checks. It says nothing about whether anyone read it.

What functional group does the EDI 864 use?

The 864 travels in functional group TX in GS01. The X12 release, commonly 004010, is set by each partner's implementation guide.

Can I reply to an EDI 864?

Only if the partner accepts inbound 864s. Many send them one way and expect replies by email, phone or portal. The partner's EDI guide, or the contact in the PER segment of the message, tells you how to respond.

James Darby
Last updated: 11/4/2026

Related Resources