Explore AIMS360's apparel business software
FREE DEMO

The EDI 846 inventory advice is how you tell a retailer what you actually have available to sell. It drives dropship, marketplace and VMI programs, and getting the cadence wrong is how brands oversell.

EDI 846

EDI 846: the number that decides if you oversell

The 846 inventory advice tells a retailer what you have available to sell. On dropship and marketplace programs it is the document that generates demand, which makes it the only EDI file where being slightly wrong costs you orders you then have to cancel. Cancellation rate is a scorecard metric at almost every retailer that uses one.

EDI 846 at a glance
Inventory Inquiry / Advice
You to retailer
Outbound, unsolicited
Daily minimum
Often hourly on dropship
BIA + LIN + QTY
Report type, item, quantity
Drives demand
Wrong number creates real orders
The short answer

What is the EDI 846 inventory inquiry and advice?

The EDI 846 is the transaction set used to report inventory availability by item, most often sent from a supplier to a retailer without being requested. It says, for each UPC or GTIN, how many units you have available to sell, and sometimes where they are and when more is expected.

On a bulk wholesale relationship the 846 is informational. The retailer already owns the units once they are received at the distribution center, so your availability is background. On dropship, vendor managed inventory and marketplace programs it is the opposite: the number you publish is what the retailer offers to shoppers, so the 846 does not describe demand, it creates it.

That inversion is why the 846 behaves unlike every other document in the cycle. An error in an 810 gets corrected. An error in an 846 gets sold.

Anatomy

What an EDI 846 file contains

A simplified inventory advice for two items.

ST*846*0001 / BIA*00*SI*INV20260812*20260812 / REF*IA*VENDOR123 / LIN**UP*012345678905 / QTY*33*412 / DTM*018*20260812 / LIN**UP*012345678912 / QTY*33*0 / QTY*72*250*EA / DTM*018*20260901 / CTT*2 / SE*11*0001
ST Opens the transaction set and names it as an 846.
BIA Beginning segment. Carries the transaction purpose, the report type, a reference number and the date the position was taken.
REF Reference identifiers such as your vendor number or the warehouse the position relates to.
LIN Item identification, normally a UPC or GTIN. One per item you are reporting.
QTY The quantity and what kind of quantity it is. Qualifier 33 is commonly quantity available, 72 is commonly a scheduled or expected quantity for a future date.
DTM The date the quantity applies to. On a future position this is the expected availability date.
CTT Transaction totals, a control check on the number of line items.
SE Closes the transaction set with a segment count.

In the example, the first item has 412 units available today. The second has zero available now but 250 expected on 1 September. Whether a retailer will actually merchandise that future position, and whether it will accept orders against it, is a program decision rather than a standards question. Some do. Most do not.

Cadence

How often the 846 has to go out

This is the part that varies most between accounts and the part brands most often get wrong by copying a setting from one retailer to another.

Bulk wholesale Often not required at all, or required weekly as background information. The retailer owns the units after receipt.
Dropship Daily at minimum. Many programs expect several times a day, and some expect near real time. Macy's Vendor Direct Fulfillment publishes once per business day unless the vendor is pre-approved for more, and notes that vendors may be required to send multiple updates per day during peak.
Marketplace Usually not an 846 at all. Mirakl and similar platforms take availability through their own API or feed, which means a brand running dropship and marketplace is publishing the same pool twice, through two different mechanisms, on two different clocks.
Vendor managed inventory Frequent, and paired with 852 product activity data so you can see sell through as well as report stock.
More frequent is not automatically better. An 846 published from a stale source at high frequency just distributes the wrong number faster. The variable that matters is not the interval, it is whether the position being published reflects commitments already made against those units.
The core problem

Why brands oversell on 846 programs

Almost every oversell has the same shape. The brand holds one physical pool of units and publishes availability into several channels that do not know about each other.

01

Nothing reserves across channels

An 846 to one retailer does not reduce the number you publish to another. A marketplace offer does not reserve against a dropship position. A bulk purchase order draws the same units down without telling either. Each channel believes it has the whole pool.

02

The feed is built from a snapshot

If the 846 is generated by exporting a warehouse report, the number is already historical when it is sent and does not account for orders taken since. On a daily cadence that gap is a full day of demand.

03

Multiple locations, one number

Units at your DC, at a 3PL and in a retail store are not equally shippable, but a single availability number implies they are. Publishing a total you cannot fulfil from one location produces cancellations that look like stock errors and are actually routing errors.

04

Safety stock as the only defense

The usual workaround is to hold back a buffer per channel. It works, and it costs you the buffer in every channel simultaneously. Brands running four channels can end up hiding a meaningful share of sellable inventory to avoid a problem that is really an architecture problem.

In AIMS360

One pool, derived positions

AIMS360 holds a single available to sell number across your own DC, your 3PL and your retail stores, net of what is already committed to open purchase orders, dropship orders and marketplace orders. Each channel's 846 or feed is derived from that number rather than from a separate export.

Commitments net out first

An accepted order reduces the pool before the next 846 goes out, so the position you publish is what is genuinely uncommitted.

Per retailer cadence and rules

Different accounts get different frequencies and different rounding or buffer rules without maintaining separate inventory records.

Marketplace on the same pool

Mirakl and similar feeds publish from the same number as the 846, so a marketplace offer and a dropship position cannot both claim the last unit.

No per document fees

846 volume is high by nature. AIMS360 charges no per document or per kilocharacter fees of its own, so a higher cadence does not cost more.

EDI 846 FAQ

Common questions

It reports inventory availability by item from a supplier to a retailer, usually without being asked. On bulk wholesale it is background information. On dropship, vendor managed inventory and similar programs it is the document the retailer merchandises from, so the quantity you publish is what shoppers can order. That makes it the one EDI document where an error generates real demand rather than just bad data.

It depends entirely on the program. Bulk wholesale often needs none, or weekly. Dropship generally needs daily at minimum and frequently several times a day. Macy's Vendor Direct Fulfillment, for example, publishes once per business day unless the vendor is pre-approved for more frequent updates, and notes vendors may be required to send multiple updates per day during peak. Confirm the requirement in the guideline issued to your account rather than reusing another retailer's setting.

The 846 is what you have. The 852 is what sold. The 846 flows from supplier to retailer and reports your availability. The 852 flows from retailer to supplier and reports product activity, typically sales and on hand by store or by DC. Vendor managed inventory programs usually use both: the 852 tells you what moved, the 846 tells them what you can replace it with.

The standard supports it. A quantity qualifier for a scheduled or expected quantity paired with a date lets you say zero available now, 250 expected on a given date. Whether a retailer merchandises that position or accepts orders against it is a program decision, and most do not. Treat future positions as useful planning information for the retailer rather than as sellable inventory unless your guideline says otherwise.

Almost always because the number being published is not net of commitments made elsewhere. Nothing in EDI reserves stock across channels: an 846 to one retailer does not reduce what another retailer sees, a marketplace offer does not reserve against a dropship position, and a bulk purchase order draws the same units down silently. Increasing frequency does not fix it, because the problem is what is being published rather than how often. One authoritative available to sell number upstream does fix it.

Usually not. Mirakl powered marketplaces, including those run by Macy's and Bloomingdale's, take availability through their own API or feed rather than through X12. That is worth planning for, because a brand running dropship and marketplace with the same retailer is publishing the same physical pool twice, through two different mechanisms, on two different clocks. Neither one reserves against the other.

It is the standard workaround and it does reduce cancellations. The cost is that the buffer is hidden in every channel at once, so a brand running four channels can end up making a meaningful share of sellable inventory invisible to all of them. Buffers are a reasonable tactic on top of a single authoritative position. They are an expensive substitute for one.

Related documents

The rest of the cycle

Last reviewed 7 August 2026 by the AIMS360 EDI team. Segment detail reflects the ANSI ASC X12 846 transaction set. Cadence requirements come from each retailer's own EDI guidelines, are stated here as commonly required rather than universal, and can change without notice. The Macy's cadence referenced is from the Macy's and Bloomingdale's Vendor Direct Standards dated April 2026.

Ready when you are

Publish a number you can actually ship

See AIMS360 hold one available to sell pool and derive every channel position from it, in a 30 minute demo.