# X12 855 Purchase Order Acknowledgment Generator

> Source: https://netray.co/tools/x12-855-purchase-order-acknowledgment-template-generator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Generate an 855 PO acknowledgment skeleton that accepts, changes or rejects a line, with matching envelope and control numbers.

## Category

supply-chain

## Audience

- EDI coordinator
- Customer service lead
- ERP integration developer

## Tool

**Kind:** template

**Output:** code

**Language:** edi

**Fields:**

#### ISA06 sender ID (15 chars, space padded)

**Key:** sender

**Type:** text

**Default:** NETRAYMFG      

#### ISA08 receiver ID (15 chars, space padded)

**Key:** receiver

**Type:** text

**Default:** ACMERETAIL     

#### GS02 application sender code

**Key:** sender_gs

**Type:** text

**Default:** NETRAYMFG

#### GS03 application receiver code

**Key:** receiver_gs

**Type:** text

**Default:** ACMERETAIL

#### Interchange date (YYMMDD)

**Key:** date6

**Type:** text

**Default:** 261020

#### Group date (CCYYMMDD)

**Key:** date8

**Type:** text

**Default:** 20261020

#### Time (HHMM)

**Key:** time

**Type:** text

**Default:** 1030

#### ISA13 interchange control number

**Key:** icn

**Type:** text

**Default:** 000000418

#### GS06 group control number

**Key:** gcn

**Type:** text

**Default:** 418

#### Customer PO number (BAK03)

**Key:** po_no

**Type:** text

**Default:** 4500219876

#### PO date (CCYYMMDD)

**Key:** po_date

**Type:** text

**Default:** 20261003

#### BAK02 acknowledgment type

**Key:** ack_type

**Type:** select

**Options:**

- AD
- AC
- AK
- RJ

**Default:** AC

**Help:** AD acknowledge with detail, no change. AC acknowledge with detail and change. AK acknowledge no detail. RJ rejected, no detail.

#### Ordered quantity (PO102)

**Key:** line_qty

**Type:** number

**Default:** 500

#### Unit of measure

**Key:** uom

**Type:** select

**Options:**

- EA
- CA
- PK
- LB
- FT

**Default:** EA

#### Unit price

**Key:** unit_price

**Type:** text

**Default:** 8.75

#### Buyer part number

**Key:** part_no

**Type:** text

**Default:** BRK-1001

#### ACK01 line status code

**Key:** line_status

**Type:** select

**Options:**

- IA
- IB
- IC
- IR

**Default:** IC

**Help:** IA item accepted. IB item backordered. IC item accepted, changed. IR item rejected.

#### Quantity acknowledged (ACK02)

**Key:** ack_qty

**Type:** number

**Default:** 400

#### Promised delivery date (CCYYMMDD)

**Key:** promise_date

**Type:** text

**Default:** 20261112

**Blocks:**

#### X12 855 Purchase Order Acknowledgment (version 004010)

**Body:** ISA*00*          *00*          *ZZ*{{sender}}*ZZ*{{receiver}}*{{date6}}*{{time}}*U*00401*{{icn}}*0*P*>~
GS*PR*{{sender_gs}}*{{receiver_gs}}*{{date8}}*{{time}}*{{gcn}}*X*004010~
ST*855*0001~
BAK*00*{{ack_type}}*{{po_no}}*{{po_date}}~
PO1*1*{{line_qty}}*{{uom}}*{{unit_price}}**BP*{{part_no}}~
ACK*{{line_status}}*{{ack_qty}}*{{uom}}*068*{{promise_date}}~
CTT*1~
SE*6*0001~
GE*1*{{gcn}}~
IEA*1*{{icn}}~

**Notes:** SE01 is 6 for this skeleton. Add one PO1 and one ACK per additional line and recount. The ACK04 qualifier 068 means current scheduled delivery date. Some partners require BAK08 (acknowledgment date), REF segments or SCH schedule lines. Treat this as a starting point and confirm with the partner guide.

## Content

**Intro:** The 855 tells your customer whether you accepted a purchase order, accepted it with changes, or rejected it. This generator produces a structurally valid 004010 skeleton so you can test your outbound map or send a partner a sample.

**Sections:**

#### How to use the generator

**Body:** Pick the BAK02 acknowledgment type that matches the business answer. AD means you accept every line as ordered, AC means you accept with detail and changes, AK is a header-level acknowledgment with no lines, and RJ rejects the order. Then enter the PO number and date exactly as the buyer sent them in the 850, the line values, and the line status. For changed lines, send the quantity or date you can actually commit to in ACK02 and ACK05.

**Bullets:**

- BAK03 must equal the PO number from the 850 character for character
- Return line numbers or buyer part numbers that match the PO
- Use IB for backorders and give a promise date
- Send the 855 inside the partner's allowed time window

#### Reading the key segments

**Body:** BAK is the beginning segment: BAK01 is the transaction purpose (00 original), BAK02 the acknowledgment type, BAK03 the PO number and BAK04 the PO date. PO1 repeats the original line so the buyer can match it. ACK carries the line-level answer: a status code, an acknowledged quantity with its unit of measure, and a date qualifier with date. CTT counts the PO1 lines. If the partner allows only price or quantity changes via the 865, an 855 with changes may be rejected, so check the guide.

#### Common mistakes and ERP notes

**Body:** Frequent problems include acknowledging at the wrong level (header only when the partner wants line detail), sending a different PO number format than the 850, and sending an 855 with changed prices that the buyer's system cannot accept automatically. In SAP the order confirmation can be output from the sales order as an ORDRSP IDoc; in Oracle EBS it uses the outbound PO acknowledgment flow; in Epicor, SyteLine and Dynamics it usually comes from the sales order or EDI module. Always log the 997 returned by the partner for every 855 you send.

**Cta:** If order acknowledgments are still keyed or exported by hand, we can help wire acknowledgments directly to confirmed order lines in your ERP.

**Faq:**

#### What is the 855 used for?

**Answer:** The 855 is the purchase order acknowledgment. The seller sends it after receiving an 850 to say whether each line is accepted, changed, backordered or rejected, usually with a promised ship or delivery date.

#### What is the difference between 855 and 865?

**Answer:** The 855 acknowledges an original purchase order from the buyer. The 865 is the purchase order change acknowledgment from the seller, used in response to a buyer's 860 change request. They use similar line-level patterns but answer different transactions.

#### Which GS01 code does the 855 use?

**Answer:** The functional identifier code for the 855 is PR, for purchase order acknowledgment. The 850 uses PO, the 856 uses SH, the 810 uses IN, and the 997 uses FA.

#### Is an 855 always required?

**Answer:** No. It depends on the trading partner. Many retailers and OEMs require it within a set number of hours, while others accept the ASN alone. Your onboarding documents will say whether the 855 is mandatory and what response time applies.

## Search terms

x12 855 example, edi 855 purchase order acknowledgment, 855 bak segment, edi 855 sample file, po acknowledgment edi format, 855 ack segment codes, edi 855 template

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
