Amazon Edi 855

By Alexander Georges|Updated March 6, 2026
TL;DR: The Amazon EDI 855 is the Purchase Order Acknowledgement used to accept, reject, or partially accept POs from Amazon. This guide explains the 855 structure, common Amazon-specific pitfalls, example 855 payloads with line-by-line annotations, CSV mapping, conversion steps, common errors and fixes, and how PlainEDI validation prevents the most frequent failures.

What This Is

The X12 855 transaction set (Purchase Order Acknowledgement) communicates your acceptance, rejection, or proposed changes to a purchase order received from a trading partner — in this case, Amazon. An accurate 855 lets Amazon know whether you will fulfill each PO line, when you will ship, and whether any quantities, prices or delivery dates differ from the PO. For vendors selling via Amazon Vendor Central or Seller programs that require EDI, the 855 is critical to keep Amazon’s fulfillment flow and inventory planning correct.

This guide focuses on practical, actionable instructions for producing and validating Amazon 855 files, with real-world snippets, CSV mapping examples, step-by-step conversion and troubleshooting. You will learn which segments Amazon and your integration partners check most strictly, why certain acknowledgments fail validation, and how to use PlainEDI validation to catch those issues before sending the 855 to Amazon.

Who This Is For

This guide is for EDI developers, integration specialists, supplier operations and vendor EDI coordinators who are responsible for generating, validating, and troubleshooting Amazon 855 Purchase Order Acknowledgements and converting them into downstream formats (CSV, ERP imports, or internal reports).

Key Segments Explained

Below are the key X12 segments used in Amazon 855 implementations. Each segment description includes purpose, common element positions you must populate, and typical Amazon expectations.

  • ISA / GS / ST — Envelope and Transaction Header

    The ISA (Interchange Control Header), GS (Functional Group Header), and ST (Transaction Set Header) are the outer wrappers. Amazon validates control numbers, sender/receiver IDs, date/time, and element separators. Common failures are mismatched control numbers between ISA13 and interchange trailer or misconfigured ISA element separator (ISA16).

  • BAK — Beginning Segment for Purchase Order Acknowledgment

    BAK communicates the acknowledgement type and the PO number. Typical elements are transaction set purpose, acknowledgement type code, PO number and acknowledgement date. Amazon uses BAK to determine if the PO is accepted, rejected or if changes are proposed. Populate the PO number exactly as Amazon sent it (case and leading zeros).

  • N1 / N3 / N4 — Name and Address Loops

    These loops identify parties: bill-to, ship-to, and the receiving Amazon facility. Amazon enforces known location identifiers in N1*ST (Ship To) and may validate the N102 identifier code or N104 postal code against their expected values.

  • PO1 — Baseline Item Data (Line Item)

    PO1 is the core line-level segment containing quantity acknowledged, unit of measure, price, and product identifiers (UPC, GTIN, vendor SKU). For 855, your acknowledgement of a line’s quantity and any change reasons are encoded in PO1 or in adjacent segments. Amazon will compare the PO1 acknowledged quantity to the original PO quantity to compute expected inventory and potential chargebacks.

  • PID / CTP / SCH

    Optional segments: PID provides textual product descriptions, CTP pricing information when price differs, and SCH scheduling details when partial shipments are proposed. Use these to explain changes; Amazon’s systems read them to create expected receive windows.

  • CTT / SE

    CTT (Transaction Totals) and SE (Transaction Set Trailer) close the 855. CTT typically includes the total number of line items and aggregated quantities; incorrect CTT counts cause automated rejections.

Example EDI Snippet

ISA*00*          *00*          *ZZ*SENDERID      *ZZ*AMAZON        *231228*1234*U*00401*000000905*0*P*:~
GS*PR*SENDERID*AMAZON*20231228*1234*905*X*004010~
ST*855*0001~
BAK*00*AC*PO-00012345*20231228~
N1*ST*Amazon Fulfillment Center*92*AMZFC01~
N3*1234 Warehouse Way~
N4*Reno*NV*89502*US~
PO1*1*100*EA*12.50**IN*012345678905*VN*SKU-100~
PID*F****Blue widget, 10-pack~
PO1*2*50*EA*25.00**IN*012345678906*VN*SKU-200~
PID*F****Red widget, single~
CTT*2*150~
SE*13*0001~
GE*1*905~
IEA*1*000000905~

Line-by-line explanation:

  • ISA* — Interchange header. ISA06 is sender qualifier and ID, ISA08 is receiver qualifier and ID. Ensure ISA13 (interchange control number) matches the IEA trailer.
  • GS* — Functional group header. GS02 sender code and GS03 receiver code typically match trading partner IDs configured with Amazon.
  • ST*855*0001 — Transaction start with control number 0001.
  • BAK*00*AC*PO-00012345*20231228 — Acknowledgement header: BAK03 is the purchase order number exactly as received from Amazon, BAK05 is the acknowledgement date. The acknowledgment type code indicates acceptance.
  • N1 / N3 / N4 — Ship-to identification and address for the Amazon facility receiving the goods.
  • PO1* lines — Each line shows line item sequence, accepted quantity, UOM, and price. Product identifiers include GTIN (IN) and vendor SKU (VN).
  • PID* — Product description for human-readable confirmation and internal systems that do not parse identifiers.
  • CTT*2*150 — Two PO1 line items, total quantity 150. Incorrect totals here create reconciliation errors.
  • SE* — Transaction trailer with segment count and ST control number.

CSV Output Example

This table shows a typical CSV mapping for vendor systems converting an 855 to rows per PO line for import into ERP or inventory systems.

po_numberline_numberack_quantityuomunit_pricegtinvendor_skuship_to_idack_date
PO-000123451100EA12.50012345678905SKU-100AMZFC012023-12-28
PO-00012345250EA25.00012345678906SKU-200AMZFC012023-12-28

Step-by-Step Conversion Process

  1. Receive and validate the incoming PO (850)
    1. Confirm the PO number, line numbering, and GTINs match your catalog.
    2. Check required Amazon fields: ship-to location, PO date, requested dates.
  2. Decide acknowledgement strategy (accept / reject / propose change)
    1. Full acceptance when you can meet all quantities and dates.
    2. Partial acceptance when some lines or quantities are unavailable — record partial quantities per PO1.
    3. Reject only when you cannot fulfill or require PO cancellation confirmation.
  3. Build the 855 transaction set
    1. Populate ISA/GS/ST envelopes with correct control numbers and trading partner IDs.
    2. Create BAK with transaction purpose, acknowledgment type, PO number and date.
    3. Generate N1 loops for ship-to and bill-to using Amazon-provided identifiers.
    4. For each PO line use a PO1 segment listing acknowledged quantity (not the original PO quantity if different), unit of measure, price and product identifiers.
  4. Validate line and transaction totals
    1. Ensure CTT line count matches actual PO1 lines.
    2. Confirm SE has correct segment count from ST to SE inclusive.
  5. Run syntactic and semantic validations with PlainEDI before sending
    1. PlainEDI validation checks ISA/GS/SE counts, required segments, data types, and Amazon-specific rules (e.g., valid ship-to IDs).
    2. Fix errors reported by PlainEDI; re-run validation until clean.
  6. Transmit via your agreed transport (AS2, VAN, or SFTP)
    1. Ensure the envelope control numbers increment correctly per interchange.
    2. Save a copy of the sent file with control numbers and timestamps for troubleshooting.
  7. Monitor for functional acknowledgements (997 / TA1)
    1. Read Amazon 997 acknowledgements to confirm acceptance of the interchange and the 855 transaction set.
    2. If the 997 returns AK5/AK9 errors, fix and resend revised 855 if required.

Common Errors and Fixes

  • Error: ISA/IEA control number mismatch — Symptom: Amazon or your VAN rejects with control number mismatch error. Fix: Ensure ISA13 matches IEA02, and increment interchange numbers according to your AS2/VAN rules. Use PlainEDI validation to detect mismatches before sending.
  • Error: Incorrect segment terminator or element separators — Symptom: Parser errors like "unexpected character" or "invalid segment." Fix: Confirm ISA16 contains your component element separator and the file uses the declared delimiters; re-generate file with correct separators.
  • Error: BAK PO number does not match PO — Symptom: Automated reconciliation shows "unknown PO." Fix: Use the exact PO number from the original 850 including hyphens and leading zeros; validate by creating a lookup of incoming 850 PO numbers in your system before generating the 855.
  • Error: CTT line count mismatch — Symptom: Amazon returns error or downstream systems flag line count mismatch. Fix: Recount PO1 segments and set CTT01 to the number of PO1 segments; update SE segment segment count accordingly.
  • Error: PO1 acknowledged quantity differs without explanation — Symptom: Inventory and forecasting mismatch; potential chargebacks. Fix: If reducing quantity, include PID or SCH segments to explain schedule adjustments and use precise date codes in DTM segments. Also ensure your acknowledgement code in BAK correctly reflects partial acceptance.
  • Error: Missing or invalid ship-to N1 identifier — Symptom: Amazon cannot route the acknowledgement back to the correct fulfillment center. Fix: Use the exact ship-to ID Amazon sent in the 850 N1*ST loop; verify IDs in your Amazon Vendor Central mapping. PlainEDI will flag unknown ship-to codes if configured with Amazon ID lists.

Related Resources

Why These Errors Happen (and how PlainEDI helps)

Most Amazon 855 issues are not random — they come from three root causes:

  • Envelope and delimiter misconfiguration — if your ISA/GS/ST values or delimiters do not match your connector configuration, the recipient parser cannot reliably read segments. PlainEDI’s pre-send checks validate envelope consistency and delimiter declarations, preventing unavoidable parse-time rejections.
  • Semantic mismatches: PO number, ship-to, and GTIN values — if your acknowledgement uses a different PO number format (missing leading zeros, different hyphenation), Amazon’s reconciliation fails. PlainEDI supports lookups against inbound 850s and can flag mismatches before sending.
  • Counting and totals mistakes — CTT and SE counts that are off indicate buggy generation code. PlainEDI computes and verifies segment counts and transaction totals automatically.

Real-World Case Studies

Case Study 1 — Partial acceptance for seasonal stock: A supplier received a 6-line PO from Amazon for two SKUs where one SKU was only partially available. Their first 855 used the original PO quantities in PO1 instead of acknowledged quantities. Amazon’s systems treated the acknowledgement as full acceptance and created ASN mismatches later. Fix: The supplier re-generated the 855 replacing PO1 quantities with actual ack quantities and included a PID explaining backordered quantities and expected restock dates. They validated with PlainEDI which flagged the changed quantities and CTT count mismatch before transmission.

Case Study 2 — Repeated ISA control number collisions: A mid-size vendor sent multiple 855s using the same ISA13 number due to a clock-sync bug in their EDI engine. Amazon’s VAN rejected subsequent interchanges. Fix: Update the interchange control number generator to use a persistent incremented value and rely on PlainEDI validation to detect non-unique ISA13 values prior to sending.

Best Practices and Amazon-Specific Notes

  • Always echo Amazon’s PO number exactly, including formatting and dashes.
  • Use the ship-to identifier Amazon provided; store Amazon facility codes in your master data for quick lookup.
  • Include human-readable descriptions (PID) when you change quantities or ship dates — this reduces manual escalations.
  • Run a PlainEDI validation pass configured with Amazon-specific rules to catch ship-to mismatches, invalid GTINs, and CTT/SE count issues before transport.
  • Monitor functional acknowledgements (997) and resolve AK5/AK9 errors promptly; document every transmission attempt for dispute resolution.
  • Retailer penalties: Retailers, including Amazon, enforce compliance penalties for shipment and ASN accuracy and other program violations. Verify specific penalty rules on Amazon Vendor Central or Seller portals for the effective compliance program dates and details.

FAQ

Q: What is the difference between accepting and partially accepting a PO in the 855?

Acceptance vs partial acceptance is expressed by the acknowledgement type elements (BAK) and by the PO1 quantities. Full acceptance echoes the ordered quantities in acknowledged quantities; partial acceptance provides lower acknowledged quantities per PO1 and often includes explanatory PID and DTM schedule segments to indicate expected fulfillment timing.

Q: How do I indicate a cancelled PO line in an 855?

To indicate cancellation, set the PO1 acknowledged quantity to zero and include an explanatory PID or REF segment with a cancellation reason code recognized by Amazon. Also ensure that your BAK acknowledgement type correctly reflects the reason for not fulfilling lines. Validate with PlainEDI to ensure the cancellation is encoded in a format Amazon expects.

Q: Which segments cause the most rejections by Amazon?

Most rejections are caused by missing or malformed ISA/GS/ST envelopes, mismatched PO numbers in BAK03, invalid ship-to N1 codes, and incorrect CTT/SE counts. PlainEDI validation targets these high-impact segments to reduce rejections.

Q: How should I map 855 line-level data into my ERP CSV import?

Map each PO1 to a CSV row with columns for PO number, line number, acknowledged quantity, UOM, price, GTIN, vendor SKU, ship-to ID and ack date. Include a column for comments or reason codes when quantities differ so your ERP can route exceptions to purchasing.

Q: Do I need to send an 855 for every PO Amazon sends?

Amazon requires you to acknowledge POs according to your trading partner agreement. Best practice is to acknowledge every PO timely — full or partial — because an unacknowledged PO can affect receipt planning and may trigger chargebacks or manual intervention. Check your Amazon vendor portal for timelines and program requirements.

Q: What is the role of the 997 functional acknowledgment after sending an 855?

The 997 confirms whether the interchange and transaction sets were syntactically accepted by Amazon or the VAN. A 997 AK5/AK9 indicates semantic acceptance or rejection of the 855. When you receive AK5/AK9 errors in the 997, correct the flagged segments and re-send the corrected 855.

Q: How does PlainEDI help prevent Amazon 855 compliance issues?

PlainEDI validates envelope consistency (ISA/GS/ST), correct delimiter usage, segment presence, and Amazon-specific rules such as known ship-to IDs, PO number formatting, and CTT/SE counts. It prevents common rejections by allowing you to fix issues before transmission and keeps audit trails that support dispute resolution.

Q: What should I check if Amazon reports a mismatch between my 855 and subsequent ASN (856)?

Confirm that your 855 acknowledged quantities match the quantities shipped in the ASN (856). If you shipped based on a different plan, update inventory systems and re-acknowledge or send a corrected 855 or communication to Amazon. Use PlainEDI to compare 855 and 856 payloads for differences in quantities, GTINs, and ship-to IDs.

Final Notes and CTA

Producing accurate Amazon EDI 855 acknowledgements reduces manual interventions, prevents chargebacks, and keeps your replenishment flowing smoothly. For best results, integrate 855 generation into your EDI pipeline with strict pre-send validations. Use PlainEDI’s preflight checks to catch envelope, segment, and Amazon-specific business rule violations before transmission. Validate your 855 files with PlainEDI today to eliminate the most common EDI 855 failures and maintain Amazon compliance.

Need to upload an 855 for validation or conversion? Use PlainEDI to validate and convert EDI files to CSV for your ERP or accounting systems.