Last reviewed October 6, 2026 by Effective Data's EDI specialists.
When the 947 is used, and which way it travels
Warehouses send it when on-hand reality diverges from the book: a pallet damaged in racking, a cycle count that found more or fewer than the system said, stock moved to hold or quarantine. Each adjustment carries a reason code, which is what separates an explained inventory position from an argument.
It completes the warehouse set Effective Data lists for 3PL operations: shipments out (940/945), transfers in (943/944), and the 947 for every change in between.
Also called the Inventory Adjustment. Same document, same number.
The segments, and what each one carries
The published X12 structure, minus the segments most partners never use. Each partner's implementation guide narrows this further: which qualifiers, which identifiers, how many decimals. That guide, not the standard, is what your file is validated against.
| Segment | Name | Part | What it carries |
|---|---|---|---|
| ST | Transaction Set Header | Header | Identifies the document as a 947 and opens the control number the trailer must match. |
| W15 | Warehouse Adjustment Identification | Header | The adjustment number, its date and its reason. |
| N1 | Party Identification | Header | The warehouse reporting and the stock owner. |
| W19 | Warehouse Adjustment Item Detail | Detail | The item, the quantity adjusted up or down, and the reason code for the change. |
| SE | Transaction Set Trailer | Summary | Closes the set. Segment count and control number must match the ST. |
- ST Transaction Set Header Header
- Identifies the document as a 947 and opens the control number the trailer must match.
- W15 Warehouse Adjustment Identification Header
- The adjustment number, its date and its reason.
- N1 Party Identification Header
- The warehouse reporting and the stock owner.
- W19 Warehouse Adjustment Item Detail Detail
- The item, the quantity adjusted up or down, and the reason code for the change.
- SE Transaction Set Trailer Summary
- Closes the set. Segment count and control number must match the ST.
Why yours is being rejected
Every EDI provider publishes what an 947 is. What matters in production is why one fails, and these are the failure modes we can put a source against today:
-
Adjustments without usable reasons. A 947 that moves quantity with a generic reason code reconciles the numbers and destroys the information; damage, count variance and status changes have different financial consequences for the stock owner, and the reason code is where that difference lives.
If one of these is happening to you right now, skip to the bottom of the page and describe it. Diagnosing rejected documents is most of what we do.
The documents the 947 travels with
Frequently asked
+ What is an EDI 947?
The Warehouse Inventory Adjustment Advice: the warehouse’s report of inventory changes that no inbound or outbound shipment accounts for, each with a reason code.
+ How does the 947 relate to the 846?
The 846 reports the inventory position; the 947 explains movements within it. A clean 3PL feed uses 947s for the deltas and periodic 846s as the position check.
+ Why does the 947 matter financially?
Because every downward adjustment is someone’s loss: damage, shrink or count error. The reason codes determine who absorbs it, which is why an owner should insist on specific codes rather than generic ones.
Is your 947 failing, or being mandated by a partner?
Describe the situation and a named EDI specialist will tell you what it takes, including when the answer is that you do not need us.
Or call 847.969.9300Answered by a named EDI specialist on the same business day. If we are not the right answer we will say so on the first call.