Skip to content
SyncMyShop

EDI documents

EDI 864 Text Message

The EDI 864 carries free text from one trading partner to another inside the EDI channel: a notice, an explanation, a rejection written out in words. X12 meant it for people, not for computers. This page covers the BMG, MIT and MSG segments, a sample that explains a price deduction, the same message as an 824, the envelope, and how to make sure an 864 reaches someone who acts on it.

Updated

What is an EDI 864?

The EDI 864 is the X12 Text Message, functional group TX. It moves free-form text between trading partners over the same connection as their orders and invoices. The standard is explicit about its purpose: it provides "electronic communication (messages) for people, not for computer processing", and "the use of the transaction set to transmit quasi or unique transaction set standards is discouraged".

That makes the 864 the odd one out among the documents on these pages. A purchase order or an invoice becomes a record in an ERP. An 864 becomes a message in someone's inbox, or it becomes nothing because nobody reads the EDI channel. The pairing of X12 sets to EDIFACT messages is convention, and none is established for the 864.

Where the 864 sits next to the other documents

The 864 has no fixed place in the order-to-cash flow. It travels beside the documents it talks about.

Purpose Free text in an 864 Structured alternative
A file arrived and parsed Not used 997 functional acknowledgment, syntax only
A document's content was rejected or accepted with errors "Invoice held, price differs from PO" 824 application advice with OTI and TED codes
An order change "Cancel line 2" 860 purchase order change
A deduction "61.20 will be deducted" ADX in the 820 remittance advice
A notice with no transaction set Receiving hours, a holiday schedule, a new contact None

The last row is the 864's own ground. For the rows above it, an 864 repeats in words what a structured document can say in codes, and the words cannot be processed.

The segments of an 864

Segment Name What it carries What goes wrong
BMG Beginning Segment for Text Message BMG01 purpose, 00 original; BMG02 the subject, up to 80 characters; BMG03 transaction type A subject that does not name the document it is about
DTM Date/Time Reference Up to 10 dates, such as 097 transaction creation No date, so a reprinted message looks new
N1 loop Name, address, reference, contact FR message from, TO message to; up to 200 parties Messages addressed to a company, with no person or department
MIT Message Identification MIT01 message number, MIT02 subject, MIT03 page width (default 80), MIT04 page length (default 66) Text formatted for 132 columns shown in 80
N1 loop (detail) Parties for this message Up to 200 per message Different addressees per message, collapsed into one inbox
MSG Message Text MSG01 up to 264 characters per line; MSG02 printer carriage control, such as SS new line A line that contains the segment terminator or element separator
SE Transaction Set Trailer Segment count and control number A count mismatch rejects the set before anyone reads it

The MIT loop repeats more than once, so one 864 can carry several messages, and each MIT holds up to 100,000 MSG segments. In 004010 there is no escape character: an asterisk or tilde typed into a message splits it at the wrong place. Release 8010 added a repetition and escape element; retail guides on 004010 to 005010 do not have it.

A sample 864, with delimiters

Harbor Retail, the buyer from the 850 sample, explains a price difference on an older invoice before paying it. Invoice INV-20388 of 21 September billed 120 units at 10.30 against a PO price of 9.79.

ST*864*0001~
BMG*00*PRICE DIFFERENCE INV-20388~
DTM*097*20261008~
N1*FR*HARBOR RETAIL*92*0001~
N1*TO*NORTHFIELD SUPPLY*92*0412~
MIT*AP55120*PRICE DIFFERENCE INV-20388*80~
MSG*INVOICE INV-20388 DATED 20260921, PO 4500017950.~
MSG*LINE 1 BILLED 120 EA AT 10.30. PO PRICE IS 9.79.~
MSG*DIFFERENCE 120 X 0.51 = 61.20 WILL BE DEDUCTED FROM PAYMENT.~
MSG*QUESTIONS TO VENDOR DESK, REFERENCE AP55120.~
SE*11*0001~

Read it field by field. BMG02 and MIT02 hold the subject, MIT01 the buyer's message number, MIT03 the page width of 80. The longest MSG line is 60 characters, so nothing wraps. The arithmetic in the text is right: 120 times 10.30 is 1,236.00, 120 times 9.79 is 1,174.80, and the difference is 120 times 0.51, which is 61.20. That is exactly the ADX of minus 61.20 with reason 01 on the 820 page, paid on 12 October. There are 11 segments from ST to SE, so SE01 is 11.

The same information as an 824 application advice, which an integration can apply to the invoice:

ST*824*0001~
BGN*00*AP55120*20261008~
OTI*TE*IV*INV-20388~
TED*848*PRICE DIFFERS FROM PO 9.79*IT1*8*4*212*10.30~
SE*5*0001~

OTI01 TE is "transaction set accept with error", OTI02 IV and OTI03 name the invoice. TED01 848 is "incorrect data"; TED03 to TED07 point at the eighth segment of the invoice, its fourth element, data element 212 (unit price), and copy the bad value 10.30.

Where an 864 and an 824 about the same invoice end up Harbor Retail reports a price difference on invoice INV-20388. As an 864 the text goes to a person in accounts receivable; as an 824 with OTI and TED codes the integration marks invoice INV-20388 in the ERP with the expected deduction of 61.20. Harbor Retail accounts payable Integration reads ST01 AR clerk inbox or dashboard ERP INV-20388: 61.20 open Same buyer 824 variant 864 text MSG lines 824 through the integration: OTI*TE, TED price 10.30 keyed by hand
The 864 ends with a person. The 824 ends in the ERP record.

The envelope around it

ISA*00*          *00*          *01*123456789      *ZZ*NORTHFIELD     *261008*1105*U*00401*000001283*0*P*>~
GS*TX*123456789*NORTHFIELD*20261008*1105*1283*X*004010~
ST*864*0001~
SE*11*0001~
GE*1*1283~
IEA*1*000001283~

GS01 is TX. The control numbers follow the same rules as on every X12 document: ISA13 equals IEA02, GS06 equals GE02, ST02 equals SE02, and SE01 is the real count of 11. The buyer sends this interchange before the 820 of 12 October, whose control number is 1291 in the same sequence.

Who uses it, and what the public guides show

Three large buyers publish their EDI guides on open pages. None of them lists the 864; each reports content problems with an 824. All checked on 3 October 2026.

Buyer Published document set How content problems come back
Kroger 24 maps on its EDI portal, version 5010, no 864 824 with TA, TE or TR in OTI01 and error codes per document in TED
The Exchange (Army and Air Force Exchange Service) 850, 855, 860, 824, 856 and 810 mandatory, plus transport and catalog sets; no 864 824 application advice, error notification, 5010
Walmart, drop ship 850, 860, 855, 856, 846, 879, 824, 997; no 864 824 with the message in TED02, cut at 60 characters, and the detail in NTE

A buyer that sends 864s names them in its implementation guide, which for many retailers sits behind the supplier login. The guide then says what the messages are for and who should receive them. The Exchange's list is on its EDI information page; Kroger's is covered on Kroger EDI.

What goes wrong with text messages

  • Nobody reads them. The 864 arrives on the EDI connection, the translator acknowledges it, and the text sits in a log. A deduction announced on 8 October is then a surprise on 12 October.
  • Text used as data. A buyer that sends receiving hours as "MON-FRI 0600-1400 ET" in MSG expects the supplier to plan deliveries by them. No system reads that line; a person has to change the delivery windows, such as the ones in a 204 load tender.
  • Delimiters in the text. A message that quotes "PO*4500017950" contains the element separator. In 004010 there is no way to escape it, so the translator reads a new element.
  • Messages that answer nothing. A reply typed into an 864 by the supplier lands in the buyer's EDI channel, not with the person who wrote the original. The answer belongs in e-mail or the vendor portal.
  • Lost references. An 864 about INV-20388 that does not name the invoice in BMG02, MIT02 or the first MSG line cannot be linked to it afterwards.

Handling the 864 on the ERP side

There is no ERP record for an 864. The integration reads ST01, recognizes the text message and sends it to the person or team set for that partner and subject, with BMG02 as the subject line and the MSG lines as the body. Where the text names a document the integration knows, such as INV-20388 or PO 4500017950, the message is attached to that invoice or order, so it is still there when the payment arrives.

We build that routing into an EDI integration: 864s acknowledged and delivered to the right inbox or the dashboard, linked to the invoice or order they mention, and 824s applied to the documents they report on, so the deduction in the 820 matches a reason you already have. Tell us which partners send you text messages.

Frequently asked questions

What is an EDI 864 used for?

For one-time communication between people: a notice about receiving hours, an explanation of a deduction, a message that has no transaction set of its own. X12 calls it a way "to electronically move messages, contracts, explanations, and other one-time communications" and discourages using it to carry data meant for computer processing.

What is the difference between an EDI 864 and an 824?

The 864 carries free text in MSG segments. The 824 application advice carries coded results: OTI says which document was accepted, accepted with errors or rejected, and TED gives an error code, the segment and element position and the bad value. An ERP can act on an 824; an 864 has to be read.

Do I need to acknowledge an 864?

With a 997 when the partner asks for functional acknowledgments, like any other transaction set; the group code is TX. The 997 confirms the file parsed. The content of the message gets its answer outside EDI, by e-mail or phone, unless the partner's guide sets another route.

How long can an 864 message be?

One MSG segment holds up to 264 characters and one message up to 100,000 MSG segments. MIT03 sets the page width the receiver should expect, 80 characters by default, and MIT04 the page length, 66 lines by default.

Tell us what you need

Tell us which systems you use and what needs to work better. We reply personally within one working day. We help you define the work, then agree the price and timing before you commit.

  • You know the price and the timeline before you commit to anything
  • We work out the connection that takes the work off your hands
  • We handle the build, hosting, monitoring and maintenance
  • Your team has less information to retype and fewer discrepancies to chase

Suppliers, products, orders per day, a rough estimate is fine.

Or email directly: carsten@syncmyshop.com