EDI 946 Explained: How It Compares to EDI 945 and 944

What Is EDI 946?
When a trading partner asks for an EDI 946, they almost always want a warehouse inventory status message: a document your facility sends to the depositor showing what stock is on hand. The catch is that the number itself is not what most people assume. The transaction set number dictates the segments, the functional group code and how the partner's translator validates your file, so confirm their expectation before building a map. The wrong structure under the right number earns a rejected 997.
This section covers where 946 stands in the X12 standard, identifies the two documents partners typically have in mind, walks through an annotated sample and lists the WMS events that should produce the message.
Is EDI 946 an Official X12 Transaction Set?
The published ASC X12 warehouse family includes the 940, 943, 944, 945 and 947, but no 946 appears in the standard list. That has three practical consequences. Commercial translators do not ship a 946 standard to validate against. A partner who insists on it may be using a proprietary format, a legacy internal label or a typo for 945 or 947. And you should request their written specification, a sample file and the GS01 code right away. Treat any partner-defined 946 as a custom map and record it that way in your trading-partner files.
What Partners Usually Mean: The 846 Inventory Advice and 947 Adjustment
Most requests resolve to one of two real documents:
- 846 Inventory Inquiry/Advice (GS01 = IB): a periodic snapshot of on-hand, available, allocated or damaged quantity by item, usually sent daily from warehouse to depositor.
- 947 Warehouse Inventory Adjustment Advice (GS01 = AW): an event-driven notice of changes outside normal receiving and shipping, such as cycle-count corrections, damage write-offs or status changes. Key segments include W15 (adjustment identification), N1 (parties) and W19 (quantity and weight adjustment).
One question separates them: does the partner want a full balance on a schedule, or a notice whenever quantity changes for a reason other than a receipt or shipment? Many depositors want both, reconciling the daily 846 against the running total of 944s, 945s and 947s.
Annotated Sample: Warehouse Inventory Status (846)
A simplified version 4010 file from a hypothetical 3PL to a brand:
ST*846*0001~transaction set headerBIA*00*SI*INV20240315*20240315~original (00), report type code per partner guide, report ID, report dateN1*WH*Northgate 3PL*9*0123456780000~warehouse party and identifierLIN**VN*SKU-1001*UP*012345678905~item by vendor part number and UPCPID*F****Ceramic Mug 12oz~free-form descriptionQTY*33*1200*EA~1,200 eaches availableCTT*1~line item countSE*8*0001~segment count and control number
Qualifiers in BIA02 and QTY01 vary from one trading partner to the next, so their implementation guide governs. If they label this document a 946, confirm whether they expect the 846 structure or a custom layout.
When Your WMS Should Trigger an Inventory Status Document
Each message should come from a defined, auditable WMS event, not a spreadsheet export. Common triggers:
- Scheduled snapshot: end of day, after the last wave closes and receipts are put away.
- Cycle count approval: a supervisor approves a variance, firing a 947-style adjustment.
- Status change: stock moves to quarantine, hold or damaged locations.
Timing matters too. Generate the snapshot only once every 944 and 945 for that business day has gone out, so the partner's reconciliation balances. A snapshot taken mid-shift, while a trailer is still being loaded, will show stock that has already been allocated and staged, and the depositor will spend the next morning chasing a variance that never really existed.

Seamless EDI & ERP Integration
Connect your ERP, WMS, and business systems with automated EDI processing that eliminates manual data entry and reduces errors.
Request a Call
EDI 946 vs EDI 945 vs EDI 944: The Complete Warehouse EDI Comparison
Every warehouse EDI document answers a single question. The 940 says what should ship. The 943 says what is coming in. The 944 reports what was received, and the 945 reports what actually left the dock. The 946 slot covers what is on hand, although in practice partners exchange an 846 or 947 for that purpose. Finally, the 997 tells the sender whether its file arrived.
Requests flow from the goods owner to the facility, and confirmations flow back. Once you remember that a 945 answers a 940 and a 944 answers a 943, the rest of the family is easy to place. The reference below is the one most teams wish they had when onboarding a new 3PL or retail partner. If you are mapping these transactions for the first time, our article on how to set up EDI walks through the process, and the formal transaction definitions are maintained by ASC X12.
Side-by-Side Table: 940, 943, 944, 945, 946 and 997
Each entry lists the document's name, direction, the WMS event behind it, its partner document, key segments and usual timing.
- 940, Warehouse Shipping Order. Travels from depositor to warehouse when an order is released in the ERP. The 945 answers it. Key segments: W05, N1, W66, LX, W01. Sent as orders release.
- 943, Warehouse Stock Transfer Shipment Advice. Also originates with the depositor, dispatched once an inbound load leaves the supplier or plant. The 944 answers it. Key segments: W06, N1, W27, W04. Should arrive before the truck does.
- 944, Stock Transfer Receipt Advice. Goes back to the depositor after a receipt is closed and verified, confirming the 943. Key segments: W17, N1, N9, W07, W13, W14. Expected the same day the receipt closes.
- 945, Warehouse Shipping Advice. Returned to the brand once the shipment is loaded and the BOL is closed, confirming the 940. Key segments: W06, N1, W27, LX, W12, W03. Due within hours of shipping, often before the carrier pulls away.
- 946 (non-standard), usually an 846 Inventory Advice or 947 Adjustment. Produced by the facility on a scheduled snapshot or an approved adjustment, and used to reconcile 944 and 945 activity. Key segments: BIA, LIN, QTY for the 846; W15, W19 for the 947. Sent daily or per event.
- 997, Functional Acknowledgment. Returned by whoever receives any file above, generated when the translator receives a functional group. Key segments: AK1, AK2, AK5, AK9. Typically back within 24 hours.
How the 945 Differs From the 856 ASN
The 945 travels from your facility to the brand that owns the inventory. The 856 Advance Ship Notice goes from the shipper to the end customer, such as a retailer. In a 3PL model, the warehouse sends its 945 to the brand, and then either the brand's ERP or the 3PL acting on its behalf sends the 856 downstream.
Structure differs too. The 856 uses a hierarchical HL layout (shipment, order, pack, item) tied to SSCC-18 carton labels, while the 945 relies on a flatter LX/W12 detail loop. Both draw on the same pick, pack and load records, so keeping one source of truth in your WMS prevents the two messages from contradicting each other.
Where the 997 and 999 Acknowledgments Fit
A 997 confirms that a functional group arrived and whether it passed syntax validation. It does not mean the trading partner accepted the business content. AK5 reports each transaction set's status (A for accepted, E for accepted with errors, R for rejected), and AK9 reports the status of the whole group.
The 999 Implementation Acknowledgment gives similar feedback with more detail on implementation guide compliance. It appears mainly in healthcare X12, and warehouse partners almost always expect a 997 instead. Watch every outbound 945 and 944 for a returned acknowledgment, and raise an alert when one is missing past your agreed window.

EDI 945 Warehouse Shipping Advice Explained
The 945 is how a warehouse tells the goods owner that an order has left the building: which items went out, in what quantities, with which carrier and under which tracking references.
For the depositor, this message sets several things in motion. It triggers the customer invoice, relieves inventory in the ERP and often supplies the data for the 856 ASN. No other document your warehouse transmits is more time-sensitive. When it arrives late or carries errors, invoicing stalls and retailer penalties can follow. For a deeper look at this single transaction, see our EDI 945 overview.
The 940-to-945 Order-to-Ship Cycle
- The depositor's ERP transmits a 940 Warehouse Shipping Order.
- Your warehouse replies with a 997 functional acknowledgment.
- The WMS imports the order, allocates stock and releases it to a wave.
- Associates pick, pack and load, scanning every carton.
- Once the load closes and the BOL is final, the WMS builds the 945.
- The depositor sends back its own 997, then invoices and issues the 856 where required.
For the ERP to match the two documents, the 945 must echo the depositor order number from the 940 (W0502 inbound, W0602 outbound).
EDI 945 Segment Breakdown
Segment definitions come from the ASC X12 standards body, though each trading partner publishes its own implementation rules.
- ISA/GS: interchange and functional group envelopes; GS01 is SW here.
- W06: reporting code (F = final), depositor order number, ship date, shipment ID and PO.
- N1 loop: ship-to (ST), ship-from (SF) and warehouse (WH), with N3/N4 addresses.
- N9: references, typically BM (bill of lading) and CN (the PRO, a carrier's tracking number for less-than-truckload freight).
- G62: dates, such as the actual ship date.
- W27: transportation method and Standard Carrier Alpha Code (SCAC).
- LX: line loop counter.
- W12: status (CC = complete, CP = partial), ordered, shipped and difference quantities, unit of measure and product IDs.
- MAN: carton marks, often SSCC-18 labels or parcel tracking numbers.
- W03: total units, weight and weight unit.
Annotated EDI 945 Sample File
All parties and the carrier code below are fictional placeholders.
ISA00 00 ZZNORTHGATE3PL ZZBRANDCO 2403151630U004010000001230P>~ GSSWNORTHGATE3PLBRANDCO202403151630123X004010~ ST9450001~ W06FSO-8841220240315SHP-55021PO-77310~ N1STRetail DC 14920014~ N9BMBOL0098123~ N9CNPRO44210987~ G621120240315~ W27MXXXX~ LX1~ MANGM00001234560000012345~ W12CC48480EAVNSKU-1001~ W0348612LB~ SE120001~ GE1123~ IEA1000000123~
- W06: final report for order SO-88412, shipped March 15, 2024, against PO-77310.
- N1*ST: destination Retail DC 14, using a buyer-assigned code.
- N9 lines: BOL and PRO references.
- G62*11: date shipped.
- W27MXXXX: motor carrier; substitute a real SCAC confirmed in the partner's guide.
- MAN*GM: SSCC-18 from the carton label.
- W12: 48 each ordered, 48 shipped, zero difference.
- W03: 48 units weighing 612 pounds.
Chargeback Risks From Late or Inaccurate 945s
A flawed 945 usually produces a flawed 856, and retailers charge back for ASN errors. Typical exposures:
- Late transmission: the ASN reaches the retailer after the truck, triggering a late-ASN fee.
- Quantity mismatch: the W12 shipped figure disagrees with dock scans.
- Missing BOL, PRO or tracking: the depositor cannot give its customer carrier visibility.
- Wrong SCAC: freight audit and routing compliance failures.
The safeguard is procedural: generate the 945 from closed-load scan data, never from original order quantities. Catching rejected or delayed transmissions quickly also matters, which is one area where AI-assisted EDI integration through MCP is starting to help.

EDI 944 Warehouse Stock Transfer Receipt Advice Explained
The EDI 944 is the message a warehouse sends to the inventory owner confirming exactly what came off an inbound truck, along with any overage, shortage or damage found during receiving.
For the depositor, this transaction turns physical stock into sellable inventory in the ERP, and it closes out supplier shipments or plant transfers. When it arrives late, product sits on your racks while the system still shows it as unavailable. Orders go unfilled, phantom backorders pile up and customer service ends up chasing stock that is already in the building.
The 943-to-944 Inbound Transfer-to-Receipt Cycle
- The depositor transmits a 943 shipment advice describing the expected load.
- The warehouse acknowledges that file with a 997.
- The WMS converts the 943 into an expected receipt.
- When the trailer arrives, associates scan cartons or pallets against that record and log any exceptions.
- Once the receipt is verified and closed, the WMS generates the 944.
- The depositor sends back its own 997 and updates on-hand balances.
Element W1704 should carry the shipment or transfer number from the original 943. Without it, the ERP has no reliable way to match what was promised against what showed up.
EDI 944 Segment Breakdown and Annotated Sample
The core segments are:
- W17 Warehouse Receipt Identification: reporting code, receipt date, warehouse receipt number and the depositor's order or transfer number
- N1: party names and identifiers
- N9: references such as the bill of lading or container number
- W07 Item Detail for Stock Receipt: quantity, unit of measure, product IDs and lot
- W13: item-level exception detail
- W14 Total Receipt Information: total units received
A simple sample, annotated:
ST*944*0001~
W17*F*20240318*RCV-30017*TR-5521~ final report, receipt date, receipt number, transfer number from 943
N1*WH*Northgate 3PL*9*0123456780000~
N9*BM*BOL0077410~ inbound bill of lading
W07*240*CA**VN*SKU-2002~ 240 cases in good condition
W07*118*CA**VN*SKU-2003~
W14*358~ total cases
SE*8*0001~
The GS01 functional identifier for this transaction is RE. Accounts payable teams also rely on the closed receipt when matching supplier invoices, which ties into the payment flows covered in our guide to EDI payments.
Reporting Overages, Shortages and Damages
Most trading partners want exceptions carried inside the 944 instead of buried in email threads. Your implementation guide sets the exact rules, but common approaches look like this:
- Shortage: report only what actually arrived in W07, and let the depositor compare it against the 943.
- Overage: send the full received count, plus a W13 line showing the excess if the partner requires one.
- Damage: put good units in W07 and damaged units in W13 using the partner's receiving condition code.
The underlying rule is straightforward: the receipt advice must reflect scanned, inspected counts at the moment the receipt closes. When a warehouse management system builds the 944 from the same scan data used at the receiving door, the numbers finance sees can match what associates counted, and nobody has to reconcile spreadsheets after the fact.
Implementing and Troubleshooting Warehouse EDI (946, 945, 944)
Most warehouse EDI projects go wrong for two reasons: nobody read the implementation guide closely, or the transmitted data drifted from what actually happened on the floor. The software is rarely the cause. A repeatable onboarding routine, version discipline, thorough testing and a known error playbook prevent most rejected 997s and chargebacks. Apply the steps below for every new depositor, retailer or 3PL, and whenever a partner requests an edi 946 or another transaction you have not built yet. For broader context on mapping and partner management, see this guide to EDI integration for distributors.
Trading-Partner Onboarding Steps
- Get the partner's guide for each transaction (940, 943, 944, 945 and inventory status) and confirm the X12 version.
- Exchange ISA/GS identifiers, qualifiers such as ZZ or 01, and test/production indicators.
- Agree on transport and acknowledgment windows.
- Map N1 entity codes, N9 reference codes, units of measure and product ID qualifiers (VN, UP, BP).
- Map ERP and WMS fields, including lot, serial and expiration data where required.
- Send test files, clear every 997 error and obtain written sign-off.
- Go live while monitoring control numbers and acknowledgments.
Keep the signed-off guide, the sample files and the agreed qualifiers in one place per partner. Six months later, when a retailer changes a requirement or a new analyst inherits the account, that record is what keeps the map from being rebuilt from memory.
4010 vs 5010 and Other Version Notes
Version 004010 is still the most common in warehouse and retail exchanges. Release 005010 and later versions add elements and code values. Check ISA12 and GS08 (00401 vs 00501), element lengths, new codes in W06, W07 and W12, and any newer segments the partner requires. Healthcare's move to 5010 says nothing about your depositor, so match their stated version exactly, including restrictions on optional segments.
It is also common to run more than one version at once. A brand might send 940s in 4010 while a large retailer downstream expects 856s in a later release. Store the version as a per-partner setting rather than a global default, so adding a newer partner never breaks an existing one.
Communication Methods: AS2, SFTP and VAN
- AS2: direct, encrypted HTTPS transfer with signed receipts (MDNs), common with large retailers.
- SFTP: simple and inexpensive. Files are pushed or polled on a schedule.
- VAN: a third-party mailbox that routes documents, usually billed by transaction or volume.
Pick based on partner requirements and volume. Log each transmission with its ISA control number so you can prove delivery. An AS2 MDN proves the file reached the partner's server, but it is not a substitute for the 997, which confirms the translator actually processed the group.
Testing Scenarios to Run Before Go-Live
The happy path rarely breaks in production. The exceptions do, so build test files for each of these:
- Complete ship (W12 status CC) and partial ship with backorder (CP), to confirm ordered, shipped and difference quantities calculate correctly
- Multi-carton parcel shipment with per-carton tracking, plus LTL with BOL and PRO, since the two populate MAN and N9 differently
- Receipts with shortage, overage and damage, each reported the way the partner's guide specifies
- Cancellation after the 940 arrives, to verify no 945 goes out for an order that never shipped
- Lot- or expiration-controlled items, where missing lot data is a frequent rejection cause
- A duplicate 940 from the partner, which the WMS should flag rather than pick twice
- An inventory snapshot after a cycle-count adjustment, to prove the 846 or 947 reflects the approved variance
Common Errors, Root Causes and Fixes
Each problem below lists the symptom you will see, the usual cause on the WMS side and the correction.
Duplicate control numbers. The partner returns a 997 rejection or flags a duplicate. Usually ISA13, GS06 or ST02 counters were reset after a system restore, or a single counter is shared across partners. Keep unique, persistent counters for each partner.
Quantity mismatch. Depositor inventory drifts away from the warehouse count. The 945 was built from ordered quantity instead of scanned quantity, or a unit of measure conversion went wrong. Generate from closed-load scans and validate EA/CA conversions.
Missing BOL, PRO or tracking. A chargeback lands or the ASN is rejected. The shipping advice fired before the load closed, or carrier data was entered afterward. Trigger only on BOL close and require a PRO for every LTL load.
Wrong qualifiers. The 997 comes back with AK5 = R and element errors. Hard-coded values ignore what the guide asks for. Make qualifiers configurable by partner.
Segment count errors. The file fails syntax validation. SE01 was not recalculated after someone changed the map. Compute counts at generation time instead of storing them.
Late 944. Stock shows as unavailable and backorders build. Receipts were left open overnight. Alert supervisors when a receipt stays open past a set threshold.
Automating EDI 946, 945 and 944 From Your WMS
Automation means the warehouse management system builds each EDI document from the physical event it describes. The file reflects what actually happened on the dock, not what someone remembered to type into a spreadsheet at the end of the shift.
Consider the difference in practice. A 945 assembled from scanned cartons on a closed load carries actual ship quantities, verified carrier references and the true departure date. A 944 created from an inspected, closed receipt reports the units that were counted, along with any overages, shortages or damage. Most quantity mismatches and missing reference numbers trace back to manual keying or exports pulled after the fact, so removing those steps removes the most common source of rejected files. A WMS designed around this model can let scanning, receiving and shipping transactions drive document creation directly.
Event-Driven Triggers: Scan, Receive, Ship
The cleanest setup ties each document to a single WMS event, so there is never a question about when a file should go out:
- Inbound 940 (shipping order): the import creates a pick order automatically, and a 997 acknowledgment returns as soon as the file is accepted.
- Inbound 943 (stock transfer shipment advice): the import creates an expected receipt, ready for the dock team to scan against.
- Outbound 944: closing a verified receipt generates the receipt advice, including exceptions.
- Outbound 945: closing a load with the BOL, PRO number and tracking captured produces the shipping confirmation.
- Outbound inventory status: scheduled snapshots and approved adjustments create the stock report that trading partners refer to as an EDI 946.
When these triggers sit on handheld scan and receiving transactions inside the WMS, the quantities in each outbound file can line up with floor counts. A load built this way cannot report cartons nobody scanned, and a receipt cannot confirm pallets nobody inspected. That alignment also shortens the gap between shipment and invoice, since the depositor gets accurate confirmation without waiting on someone to reconcile paperwork.
Native WMS EDI vs a Third-Party EDI Provider
Third-party EDI providers (often VANs or translation services) handle formatting and transmission well, but they can only work with the data your systems pass along. If a 945 leaves before the load is closed, the provider sends it exactly as received. They have no view of the floor.
A WMS that generates documents natively owns both the event and the file. That means fewer mapping handoffs between systems, and when a 997 comes back with a rejection, one team can see the transaction, the data and the outbound segment together instead of trading emails across vendors.
Whichever route you choose, evaluate it on four points:
- Event-driven triggers that fire on closed receipts, shipped loads and approved adjustments.
- Configurable qualifiers per partner, since two retailers rarely want identical segments.
- Control-number management that prevents duplicates and gaps in ISA and GS sequences.
- Acknowledgment monitoring with alerts, so a missing or rejected 997 surfaces the same day rather than at month-end.
If you are weighing how your warehouse should produce its 944, 945 and inventory status files, Request a Call with Comparatio.
Frequently Asked Questions
Is EDI 946 an official X12 transaction set?
No. The published ASC X12 warehouse family includes the 940, 943, 944, 945 and 947, but no 946 appears in the standard list. When a trading partner asks for one, request their written specification, a sample file and the GS01 code right away, and treat the document as a custom map in your trading-partner records.
What do trading partners usually mean when they ask for an EDI 946?
They usually want a warehouse inventory status message, which in practice is either the 846 Inventory Inquiry/Advice or the 947 Warehouse Inventory Adjustment Advice. The 846 (GS01 = IB) is a periodic snapshot of stock by item, often sent daily. The 947 (GS01 = AW) is event-driven, reporting changes like cycle-count corrections or damage write-offs.
What is the difference between EDI 945 and EDI 944?
The 945 shipping advice confirms what left the warehouse on an outbound load, while the 944 receipt advice confirms what was received on an inbound delivery. The 945 answers a 940 shipping order and uses GS01 code SW. The 944 answers a 943 shipment advice and uses GS01 code RE, and both are sent by the warehouse to the depositor.
How is an EDI 945 different from an 856 advance ship notice?
The 945 goes from the warehouse to the brand that owns the inventory, while the 856 goes from the shipper to the end customer, such as a retailer. The 856 uses a hierarchical HL layout tied to SSCC-18 carton labels, whereas the 945 relies on a flatter LX/W12 detail loop, though both come from the same picking and loading data.
Does a 997 acknowledgment mean my partner accepted the EDI document?
No. A 997 only confirms that a functional group arrived and whether it passed syntax validation, not that the partner agreed with the business content. The AK5 segment reports each transaction set as A (accepted), E (accepted with errors) or R (rejected), and AK9 gives the overall group status. Raise an alert when an acknowledgment is missing past your agreed window.
When should a WMS send an inventory status document?
Send the daily snapshot only after every 944 and 945 for that business day has gone out, so the partner's reconciliation balances. Typical triggers include an end-of-day schedule after the last wave closes and receipts are put away, a supervisor-approved cycle count variance, and stock moving into quarantine, hold or damaged locations.
Table of Contents
Subscribe to the Blog
Get the latest EDI insights delivered to your inbox.
Related Articles

October 1, 2026
EDI 945 Guide: Stop Chargebacks With Accurate Ship Advice
Learn how the EDI 945 warehouse shipping advice works, how it pairs with the 940 and 856, and how accurate ship confirmations prevent retailer chargebacks.
Read More →
February 10, 2026
EDI Warehouse Management: Integration & Benefits Guide
Discover how EDI transforms warehouse, supply chain, and inventory management for efficiency and success.
Read More →
December 11, 2025
17 Proven Warehouse Management Tips to Help You Scale Successfully
Warehouse management tips can help you streamline processes, optimize inventory, improve layout, boost employee performance, and leverage technology for scalable growth.
Read More →
Transform Your Supply Chain Today!
Ready to revolutionize your supply chain management? Our advanced software solutions are designed to streamline your operations, enhance efficiency, and boost your bottom line. Don't miss out on the opportunity to elevate your business.
Request a call