Setting Up Walgreens EDI Compliance, Step by Step

How to onboard as a Walgreens EDI trading partner: AS2 setup, the 850/855/856/810 cycle, SupplierNet, ASN timing rules, and test-cycle fixes.

Share

If you've just cleared Walgreens' vendor approval process, you're probably staring at a stack of EDI specs wondering where to start. The good news: Walgreens EDI compliance follows a predictable sequence, even though the ASN timing requirement trips up more new suppliers than any other part of the setup. This walkthrough covers the exact connection choices, the document cycle, and the test cycle failure mode that sends the most suppliers back to square one.

What you need before you start

You can't touch EDI until vendor approval and item setup are done inside SupplierNet (suppliernet.walgreens.com), which holds policies, procedures, and supplier performance metrics for every active vendor. Once that's cleared, Walgreens issues your trading partner ID and EDI specs, and you move into protocol and document setup.

A few things to lock down before you touch a single mapping:

  • Item data synced through GDSN, since Walgreens trades EDI on ANSI X12 and manages suppliers through the SupplierNet portal, with item data synced via GDSN (1WorldSync).
  • Your connection protocol decision made early, because switching later means re-running certification.
  • Confirmation of which fulfillment model you're in, since that changes everything downstream.
  • If any of your stores are on Walgreens' SAP-live locations, know that SPS Commerce is required for SAP-live Walgreens stores, with SPS Commerce and TrueCommerce both approved alternatives if you'd rather manage EDI through a platform than build in-house.

Your fulfillment model matters more than most new suppliers expect. Walgreens routes vendors differently depending on how goods move: Retail/DC Fulfillment goes through standard EDI (X12 via AS2/VAN), drop-ship orders through Rithum, marketplace orders through LogicBroker, and Direct Store Delivery through the SPS Commerce Web Portal. Pick the wrong path and you'll build mappings for a document set you don't actually need.

Fulfillment modelPlatform/pathNotes
Retail / DCStandard X12 EDI via AS2 or VANFull document set: 850, 855, 856, 810, 997
Direct Store Delivery (DSD)SPS Commerce Web PortalSame document rules, separate onboarding flow
Drop-ship (Walgreens.com)RithumOrder and shipment confirmation through Rithum's network rather than point-to-point EDI
MarketplaceLogicBrokerSeparate setup from Walgreens' standard gateway, similar document logic

Step-by-step: connecting and onboarding

Here's the sequence, condensed from how Walgreens-approved integrators actually run it:

  1. Get approved as a Walgreens supplier and finish item setup in SupplierNet. No EDI access happens before this step clears.
  2. Confirm your fulfillment model, since Retail/DC, DSD, drop-ship, and marketplace each route through a different platform and change what you build next.
  3. Receive your EDI specs and trading partner ID from Walgreens' EDI team.
  4. Choose your connection protocol. Walgreens' stated order of preference is AS2 for speed and security, VAN if it meets specs, and FTP as a legacy fallback that's still allowed. If you go AS2, you'll exchange digital certificates and validate the connection before anything moves, the same certificate handshake required by Walmart's AS2 setup, where digital certificates are exchanged and validated by both parties before going live.
  5. Map your ERP output to the 850, 855, 856, 810, and 997, plus 820 remittance coming back from Walgreens.
  6. Run the mandatory test cycle: exchange EDI IDs, configure your system, and go through a mandatory test cycle where you receive and respond to a test 850, send a test 856, and send a test 810.
  7. Move to production once Walgreens confirms format, data accuracy, and ASN timing compliance on every test transaction.

That last step is where most delays happen, and it's worth dwelling on, because every EDI document is tested for format, timing, and accuracy, and the ASN specifically gets verified for arriving 4 hours ahead of delivery, not just for valid formatting. Fail here, and you're flagged before you go live.

The document cycle and what each transaction must contain

Walgreens runs a fixed control sequence: 850 → 855 → 856 → 810. Skip the 855 and you lose your own record of what Walgreens expects, which makes reconciliation a guessing game later when quantities don't match.

  • 850 Purchase Order (Walgreens → you). Starts the cycle.
  • 855 PO Acknowledgment (you → Walgreens). You confirm line status back to Walgreens before anything ships.
  • 856 Advance Ship Notice (you → Walgreens). Carton and pack details that must align exactly with your GS1-128 labels.
  • 810 Invoice (you → Walgreens). Matches PO and ASN in a three-way reconciliation.
  • 997 Functional Acknowledgment, required on every inbound transaction to close the technical loop.

The three-way match is non-negotiable. Walgreens enforces a three-way match between invoice, PO, and ASN, with specific ASN timing for both DC and direct-store-delivery shipments. A mismatch on quantity or price anywhere in that chain triggers a deduction, not a polite email.

The ASN timing rule, and the failure mode most suppliers hit

Your test 856 will get rejected for timing before it gets rejected for anything else. For DC deliveries, the ASN must arrive at Walgreens' system at least 4 hours before the truck; for store deliveries, at least 1 hour before. There's no grace period built in, and anything later and Walgreens may reject the shipment or fine you.

Quantity accuracy matters just as much as timing. ASN quantities must mirror physical truck quantities exactly, and discrepancies generate immediate chargebacks. Walgreens also has specific rules on how ASNs map to shipments: one ASN per freight bill or truck, multiple ASNs allowed per PO, and multiple POs allowed per ASN. Get that cardinality wrong in your mapping and reconciliation breaks even when the physical shipment was correct.

When a test ASN fails, check these in order:

  1. Carton count on the label versus carton count in the ASN. This is the most common mismatch and the fastest to fix.
  2. SSCC-18 accuracy, since SSCC-18 codes must be accurately recorded in the MAN Segment of the ASN, and a malformed segment here fails validation even if quantities are right.
  3. Item master sync. Any UPC or case-pack change made without notifying Walgreens will break subsequent ASNs, because every UPC, case pack, and dimension has to match their item master exactly, and a mid-stream case pack change without notifying Walgreens kills subsequent ASNs. Update the item master first, always.
  4. Re-run against a single-carton shipment before scaling to full truckloads. Isolating the failure on a small test load is faster than debugging a multi-pallet ASN.

You'll know it worked when Walgreens confirms format, data accuracy, and timing on the test cycle, since Walgreens checks format, data accuracy, and whether your ASN arrives within the required timing window. Production POs don't start flowing until that confirmation comes through.

Where a TMS closes the gap EDI alone can't

EDI handles the document exchange, but ASN timing depends on something EDI can't see: exactly when a carrier picks up and when it will deliver. That's a transport execution problem, not a mapping problem. If your warehouse is generating the 856 off a planned ship time instead of an actual carrier event, you're guessing, and guessing is how 4-hour windows get missed.

A multi-carrier TMS that captures real-time carrier status and feeds accurate pickup and arrival timestamps back into your ASN generation process closes that gap. Platforms like project44, FourKites, and Descartes are built for large-scale visibility, while multi-carrier connectivity tools such as Cargoson, ShippyPro, or Shipmondo sit closer to the booking-and-dispatch layer, so the 856 reflects what actually happened on the dock instead of what the warehouse team assumed would happen.

Common mistakes after go-live

Passing the test cycle isn't the finish line. Three things quietly break Walgreens compliance months after you've gone live:

  • Missing spec updates. Walgreens updates its EDI specs periodically, especially for the 856 ASN, and a new segment or validation rule can land with little warning.
  • Letting an AS2 certificate expire unmonitored. The connection goes down silently and you won't notice until POs stop arriving.
  • Treating the vendor scorecard as a one-time check instead of an ongoing metric. Walgreens tracks on-time delivery to DC appointments, case fill rate and line fill rate, ASN accuracy and timeliness, GS1-128 label scan performance, invoice match rate, and item data and expiration code accuracy continuously, and repeated misses compound into chargebacks.

Quick reference checklist

Before you call the setup done, confirm: protocol chosen and certified (AS2 preferred, VAN acceptable, FTP as fallback), full document set mapped (850, 855, 856, 810, 997, plus 820 inbound), ASN timing tested against both the 4-hour DC window and 1-hour store window, item master synced via GDSN before any case-pack change, and scorecard metrics monitored past go-live rather than just at certification.

From here, the next move is practical: get your SupplierNet credentials confirmed, decide whether you're building AS2 in-house or routing through SPS Commerce or TrueCommerce, and schedule your test cycle with enough buffer to fail the ASN timing check once and still fix it before your go-live date.