Skip to content
EDI 895 — EDI TransactionPublished Nov 7, 2026

EDI 895 Delivery/Return Acknowledgment: DSD Guide

EDI 895 explained for direct store delivery: G87, G88, G89 and G84 segments, how stores accept or adjust an 894, a live adjustment example and common errors.

The EDI 895 tells a DSD supplier what the store actually agreed to receive. The route driver's 894 delivery/return base record is the supplier's version of the stop. The 895 is the store's version after the receiver has counted the product and the store system has checked every cost against its own file. Where the two differ, the 895 wins, because it is the figure the retailer pays against.

This guide covers what the 895 carries, how it pairs with the 894 at the back door (DEX) and over the network (NEX), every segment you will map, a live example that adjusts the delivery from our 894 guide, and how to post 895 adjustments so they stop turning into short-pays you cannot explain.

What Is an EDI 895?

An EDI 895 is the Delivery/Return Acknowledgment or Adjustment transaction set defined by the ASC X12 standards body, used in direct store delivery to acknowledge an 894 delivery or return record, or to communicate adjustments to it identified during check-in. Like the 894, it comes from the grocery Uniform Communication Standard (UCS), uses grocery "G" segments, and travels in a functional group with GS01 = DX. Retailer guides commonly label the version 004010UCS or a later UCS release.

Authoritative references for 895 work:

  • The X12 transaction set catalog defines the 894 and 895 pair
  • The Stedi 004010 895 reference lists the 895's segments: G87, G88, the LS/LE loop of G89 line adjustments, and the G84, G86 and G85 summary
  • Published retailer guides show it in use. The Harris Teeter 895 guideline on Kroger's EDI portal states that an 895 containing no changes is considered an acceptance of the preceding base record, and that the transaction carries only the detail data being changed
  • GS1 US governs the UPCs and case codes the 895 uses to identify adjusted items

Who sends it? Usually the retailer: the store's DSD receiving system at the back door, or the chain's head-office EDI system. The G87 segment also allows the supplier to be the initiator, for retailers whose process lets the supplier send a correction.

Who receives it? The DSD supplier, through the driver's handheld (DEX) or the supplier's EDI system (NEX), and from there the route accounting system.

When is it sent? After the store checks in an 894. With DEX, before the driver leaves the store. With NEX, later the same day or on the retailer's schedule.

Why does it matter? The 895 is the store's record of the stop. If you post the driver's 894 to AR and ignore the 895, your receivable is overstated by every adjustment, and the gap shows up later as a deduction on the retailer's payment.

How the 894 and 895 Work Together

StepWhoDocumentWhat happens
1Supplier894Driver's handheld builds the delivery or return record, with a G85 integrity check
2Store systemChecks UPCs and costs against the store's item and cost file
3Store receiverCounts the product and accepts or adjusts quantities and costs
4Store system895Sends an acknowledgment (no changes) or an adjustment (changed lines only), quoting the 894's integrity check
5SupplierPosts the accepted or adjusted figures to route accounting, inventory and AR
6RetailerPaymentPays against the reconciled figures, often with an 820 remittance

Two details from the standard drive the whole exchange:

  • The 895 identifies the record by its integrity check. G8704 must contain the G85 value from the base record (or previous adjustment) it responds to. If your driver edits the 894 after it was sent and does not recalculate G85, the store's 895 will not match the record your system holds.
  • Adjustments are numbered. G8705 starts at 1 and increases by one for each further adjustment to the same record, whichever party sends it. A second 895 for the same delivery is not a duplicate; it is adjustment 2.

DEX and NEX for the 895

The 895 follows the same channel as the 894 it answers.

DEX (Direct Exchange). The store's receiving system returns the 895 to the driver's handheld at the back door. The driver sees adjustments before leaving and can dispute a count while the product is still there. The handheld then uploads the 895 to route accounting with the rest of the day's records.

NEX (Network Exchange). The retailer sends the 895 over a normal EDI connection (VAN, AS2 or SFTP). There is no driver in the loop, so the 895 lands in your EDI system and has to be matched to the 894 by delivery number and integrity check before anyone sees it.

Interactive Example: Store Adjustment of a DSD Delivery (895)

This 895 answers the beverage delivery in our 894 guide: record DSD-118734 for 20 cases and $178.90, with integrity check 3C9A7F21. The store makes two changes. Line 1 (cola 12-packs) is accepted at the store's file cost of $8.75 per case instead of $8.95. Line 2 (lemon-lime 2L) is counted at 5 cases instead of 6. Line 3 is unchanged, so it is not repeated. G84 restates the record at 19 cases and $165.50:

  • Line 1: 10 cases at $8.75 = $87.50
  • Line 2: 5 cases at $11.40 = $57.00
  • Line 3: 4 cases at $5.25 = $21.00 (unchanged)

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

Live exampleGrocery Chain (DSD)EDI 895

Store Adjustment of a DSD Delivery (895)

The grocery store's 895 answer to the 894-dsd-delivery sample: G87 references delivery DSD-118734 and its G85 integrity check, the LS/LE loop carries two G89 adjustments (a cost correction on line 1 and a short quantity on line 2), and G84 restates the totals as 19 cases and $165.50.

Document
895 Delivery/Return Acknowledgment or Adjustment
From / to
HARBORGROCER → SUMMITBEV
Segments
15
Interchange date
Nov 3, 2026

Raw EDI (X12)

1
ISA*00* *00* *ZZ*HARBORGROCER *ZZ*SUMMITBEV *261103*0631*U*00401*000008951*0*P*:~
2
GS*DX*HARBORGROCER*SUMMITBEV*20261103*0631*8951*X*004010UCS~
3
ST*895*0001~
4
G87*R*D*DSD-118734*3C9A7F21*1*R0147-261103~
5
G88*20261103~
6
LS*0100~
7
G89*1**CA*614141001293****8.75~
8
G89*2*5*CA*614141002122~
9
LE*0100~
10
G84*19*16550~
11
G86*5D2E91C4*M ALVAREZ~
12
G85*A41F06B2~
13
SE*11*0001~
14
GE*1*8951~
15
IEA*1*000008951~

Human-Readable

Interchange

Sender ID(ZZ)HARBORGROCER
Receiver ID(ZZ)SUMMITBEV
Date261103
Time0631
Standards IDU
Version00401
Control Number000008951
Acknowledgment RequestedNo
UsageProduction
Included Groups (IEA01)1

Functional Group

Functional IDDXDX
SenderHARBORGROCER
ReceiverSUMMITBEV
Date20261103
Time0631
Control Number8951
Agency CodeX
Version004010UCS
Transactions1
Reported Transaction Count (GE01)1

Transaction 895

Delivery/Return Acknowledgment or Adjustment
Transaction Type895
Control Number0001
Segments, ST to SE11
Count in SE0111 (matches)

Segment Detail

G87Delivery/Return Adjustment Identification
G8701Initiator CodeR
G8702Credit/Debit Flag CodeD
G8703Supplier's Delivery/Return NumberDSD-118734
G8704Integrity Check Value (from the record being adjusted)3C9A7F21
G8705Adjustment Number1
G8706Receiver Delivery/Return NumberR0147-261103
G88Delivery/Return Identification Adjustment
G8801Physical Delivery or Return Date20261103
LSLoop Header
LS01Loop Identifier Code0100
G89Line Item Detail - Adjustment
G8901DSD Sequence Number1
G8903Unit of MeasureCA
G8904UPC (Consumer Package Code)614141001293
G8908Item List Cost8.75
G89Line Item Detail - Adjustment
G8901DSD Sequence Number2
G8902Quantity5
G8903Unit of MeasureCA
G8904UPC (Consumer Package Code)614141002122
LELoop Trailer
LE01Loop Identifier Code0100
G84Delivery/Return Record of Totals
G8401Total Quantity19
G8402Total Amount (implied 2 decimals)16550
G86Signature Identification
G8601Signature5D2E91C4
G8602Receiver NameM ALVAREZ
G85Record Integrity Check
G8501Integrity Check ValueA41F06B2
1 functional group1 transactionControl #000008951Valid

895 Structure at a Glance

PositionSegmentNameUsageNotes
HeaderSTTransaction Set HeaderMandatoryST01 = 895
HeaderG87Delivery/Return Adjustment IdentificationMandatoryInitiator, credit/debit flag, delivery number, integrity check, adjustment number
HeaderG88Delivery/Return Identification AdjustmentOptionalChanges to dates, PO or store location
DetailLSLoop HeaderOptionalLS*0100, sent once when any line adjustments follow
Detail loopG89Line Item Detail - AdjustmentRepeatsOne per changed line
Detail loopG22Pricing InformationOptionalReplacement shelf pricing for the line
Detail loopG72Allowance or ChargeOptionalChanged line-level allowances or charges
Detail loopG23Terms of SaleOptionalChanged line-level terms
DetailLELoop TrailerOptionalLE*0100, closes the line loop
SummaryG72Allowance or ChargeOptionalChanged record-level allowances or charges
SummaryG23Terms of SaleOptionalChanged record-level terms
SummaryG84Delivery/Return Record of TotalsOptionalAdjusted totals for the whole record
SummaryG86Signature IdentificationMandatoryElectronic signature of the party sending the 895
SummaryG85Record Integrity CheckMandatoryCheck value computed over this 895
SummarySETransaction Set TrailerMandatorySegment count and control number

An acknowledgment with no changes is the shortest possible 895: ST, G87, G86, G85 and SE. Retailer guides may require more, such as G84 on every 895.

Key Segments Explained

G87: Delivery/Return Adjustment Identification

G87*R*D*DSD-118734*3C9A7F21*1*R0147-261103~
ElementNameExampleWhat it means
G8701Initiator CodeRR = receiver (the store or retailer). S = supplier
G8702Credit/Debit Flag CodeDD = debit, C = credit. Retailer samples use D when answering a delivery; the guide says how returns are flagged
G8703Supplier's Delivery/Return NumberDSD-118734The G8202 number from your 894
G8704Integrity Check Value3C9A7F21The G85 value from the 894 (or previous adjustment) being answered
G8705Adjustment Number1Starts at 1, plus one for each further adjustment to the same record
G8706Receiver Delivery/Return NumberR0147-261103The retailer's own reference for the receipt

Match every 895 on G8703 and G8704 together. The delivery number alone can match a record that was edited after sending; the integrity check proves which version the store responded to.

G88: Delivery/Return Identification Adjustment

G88*20261103~
ElementNameWhat it means
G8801Physical Delivery or Return DateThe actual date of the delivery or pickup
G8802Product Ownership Transfer DateA date both parties agree on, such as when ownership passed
G8803Purchase Order NumberA corrected PO number
G8804Purchase Order DateA corrected PO date
G8805Receiver's Location NumberA corrected store number

G88 corrects header facts from the 894's G82. A changed store number in G8805 matters: it moves the delivery to a different store's books.

G89: Line Item Detail - Adjustment

G89*1**CA*614141001293****8.75~
G89*2*5*CA*614141002122~
ElementNameExample (line 1)What it means
G8901DSD Sequence Number1The G8301 line number on the 894, or a new number for an added line
G8902QuantityThe corrected quantity, when the quantity changed
G8903Unit of MeasureCACA case, EA each, and other codes the retailer allows
G8904UPC (Consumer Package Code)614141001293The item's consumer UPC
G8905Product/Service ID QualifierQualifier for G8906
G8906Product/Service IDAnother item identifier
G8907UPC Case CodeThe case-level code
G8908Item List Cost8.75The corrected cost, when the cost changed
G8909PackConsumer units per case
G8910Inner PackUnits per inner pack

The 895 carries only what changed. On line 1 the quantity element is empty and the cost is 8.75: the store accepted 10 cases but at its own file cost. On line 2 the quantity is 5 and the cost is empty: the cost stands, the count changed. The Harris Teeter guide's own sample uses the same pattern, with the quantity left empty on cost-only adjustments. The exact rules for which elements must be repeated on an adjusted line (for example, whether the UPC is always sent) are in each retailer's guide.

LS*0100 and LE*0100 wrap the whole set of adjusted lines once. They are not repeated per line, and they are not sent at all when there are no line adjustments.

G84: Delivery/Return Record of Totals

G84*19*16550~
ElementNameExampleWhat it means
G8401Quantity19Total quantity for the record after adjustment
G8402Total Invoice Amount16550Total amount after adjustment, with two implied decimals ($165.50)
G8403Total Deposit Dollar AmountTotal container deposits, where they apply

G84 restates the totals for the whole record, not just the changed lines. That makes it the easiest number to reconcile: the 894's G8402 minus the 895's G8402 is the dollar value of the store's adjustments ($178.90 minus $165.50 is $13.40 here: $2.00 of cost and $11.40 of quantity).

G86 and G85: Signature and Integrity Check

G86*5D2E91C4*M ALVAREZ~
G85*A41F06B2~

G86 carries the electronic signature of the party that generated the 895, produced the same way as in the base record. It is mandatory in the 895. G85 is a check value computed over this 895's content, using the algorithm in the retailer's guide. If a later adjustment follows, its G8704 will quote this value.

Acknowledgment vs Adjustment

AcknowledgmentAdjustment
MeaningThe store accepts the 894 as sentThe store changed one or more lines or header facts
G89 linesNone (no LS/LE)One per changed line
G84Optional; when sent, equals the 894 totalsAdjusted totals for the whole record
What you postThe 894 figuresThe 894 figures with the 895 changes applied
What to reviewNothing, beyond confirming you received itThe reason for each change: cost file, count, or damaged product

Posting 895 Adjustments

Most DSD money is lost between the 894 and the 895, and most of it is recoverable only if you see the pattern.

  1. Match. Find the 894 by G8703 and confirm G8704 equals its G85. Hold anything that does not match.
  2. Apply. For each G89, replace the quantity or cost on the matching G83 line. Leave lines without a G89 as sent.
  3. Check. Recompute the record total and compare it to G84. A mismatch means a line was missed or applied twice.
  4. Post. Update AR, route settlement and inventory with the adjusted figures, so the driver's truck count, the store's receipt and your invoice agree.
  5. Review. Report adjustments weekly by store, by item and by type. Repeated cost adjustments on one item mean your cost file and the retailer's disagree, usually because a price change was not loaded on both sides through 888 item maintenance or an 832 price catalog. Repeated count adjustments at one store point to a receiving or route problem.

EDI 895 vs 894, 861 and 824

DocumentSent byPurpose
894 Delivery/Return Base RecordSupplierRecords the items delivered to or returned from one store
895 Delivery/Return Acknowledgment or AdjustmentRetailer (or supplier)Accepts or adjusts an 894
861 Receiving AdviceRetailerReports what a warehouse received against an ASN
824 Application AdviceRetailerReports that a document failed business validation
997 Functional AcknowledgmentReceiverConfirms a transaction arrived and was structurally valid

The 895 does in DSD what the 861 does at a distribution center: it reports what was actually received. A 997 for your 894 only proves the file arrived. The 895 tells you what the store agreed to.

Common 895 Errors and How to Prevent Them

ErrorWhat happensPrevention
895 matched on delivery number onlyAdjustment applied to the wrong version of a recordMatch on G8703 and G8704 together
894 edited after sending without a new G85895 integrity check does not match any record you holdRecalculate G85 after every change, before transmitting
Second adjustment treated as a duplicateLater correction ignoredProcess adjustments in G8705 order
Empty G89 elements read as zeroQuantity or cost wiped out on a cost-only or count-only changeTreat empty elements as "unchanged"
LS/LE sent per lineStructural rejectionSend one LS*0100 before the first G89 and one LE*0100 after the last
G84 read as the change amountAR reduced by the full record valueG84 is the adjusted total for the whole record
895s not loaded into ARReceivable overstated; deductions look unexplainedPost every 895 before invoicing or reconciling payments
Cost adjustments never reviewedSame item adjusted on every stop for monthsWeekly adjustment report by item and store

Unresolved DSD adjustments usually show up later as retail chargebacks or short-pays on the remittance. The 895 is the earliest warning you get.

895 Implementation Checklist

  • Get the retailer's DSD 894/895 guide and confirm DEX, NEX or both
  • Confirm whether the retailer sends an 895 for every 894, or only when it adjusts
  • Confirm which G89 elements it sends on a changed line, and how it marks an added line
  • Confirm whether it sends G84 on every 895
  • Match on delivery number and integrity check; build a hold queue for mismatches
  • Apply adjustments line by line, then check against G84
  • Post adjusted figures to AR, route settlement and inventory
  • Set up a weekly review of adjustments by item, store and type
  • Test an acceptance, a cost adjustment, a quantity adjustment and a second adjustment to the same record

For the wider DSD picture, see grocery EDI requirements and the EDI document types reference.

Handling DSD Orders With OrderSync

DSD suppliers live on two streams: the route, and the orders that set it up. Store and head-office orders arrive as EDI 850s and 875s, emails, PDFs, spreadsheets and phone calls, and someone keys them in before the truck leaves.

OrderSync reads those orders in any format, matches stores, items and units to your catalog, and outputs clean data to your ERP or route system, so every stop starts from the right order. Paste any 895 into the free EDI inspector to see the delivery it adjusts and each changed line in plain English, read more about EDI for DSD distributors and beverage distribution, or book a 15-minute walkthrough to see your own orders processed.

Frequently Asked Questions

What is an EDI 895?

The EDI 895 is the X12 Delivery/Return Acknowledgment or Adjustment. In direct store delivery, the retailer sends it after checking in a supplier's 894 to accept the delivery or return as sent, or to report the quantity and cost changes the store made.

What is the difference between the EDI 894 and the EDI 895?

The supplier sends the 894 to record a delivery or return at a store. The retailer answers with the 895, which either accepts the 894 or lists the changed lines and the adjusted totals. The retailer pays against the reconciled figures.

Does an 895 list every line of the delivery?

No. An adjustment carries only the lines that changed, each in a G89 segment identified by the 894 line number. An 895 with no G89 lines accepts the record as sent.

What is the G87 segment in an EDI 895?

G87 identifies what the 895 responds to. G8701 says who initiated it (R receiver or S supplier), G8702 is the credit or debit flag, G8703 is the supplier's delivery number, G8704 is the integrity check from the record being answered, and G8705 is the adjustment number.

Why does the 895 carry the 894's integrity check?

So both sides know exactly which version of the record the store responded to. G8704 must equal the G85 value of the base record or previous adjustment. If the 894 was changed after sending, the values will not match.

What does an empty quantity in G89 mean?

On an adjustment line, an empty quantity means the quantity was not changed. A cost-only adjustment sends the line number and the corrected cost in G8908 and leaves G8902 empty. Check the retailer's guide for its exact rules.

Is the 895 the same as a 997?

No. A 997 only confirms that your 894 arrived and was structurally valid. The 895 is a business response that says what the store accepted, and it is the record the retailer pays against.

James Darby
Last updated: 11/7/2026

Related Resources