Ariba, Inc. cxml 1.2: ANSI X PO Acknowledgment Implementation Guidelines 855 Purchase Order Acknowledgment

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines 855 Purchase Order Acknowledgment PR Functional Group ID= Int...
Author: Agnes Gardner
1 downloads 3 Views 312KB Size
Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

855 Purchase Order Acknowledgment PR

Functional Group ID=

Introduction: This Draft Standard for Trial Use contains the format and establishes the data contents of the Purchase Order Acknowledgment Transaction Set (855) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to provide for customary and established business and industry practice relative to a seller's acknowledgment of a buyer's purchase order. This transaction set can also be used as notification of a vendor generated order. This usage advises a buyer that a vendor has or will ship merchandise as prearranged in their partnership.

Notes: Ariba SN allows Suppliers to send Order Confirmations to Buyers in the form of the cXML ConfirmationRequest. As a service to Suppliers preferring to transact via EDI, Ariba SN accepts the ANSI X12 004010 855 Purchase Order Acknowledgment document. On receiving the 855 (documented here), Ariba SN validates the EDI content, returns a 997 to the Supplier, and converts it to the cXML ConfirmationRequest. The final cXML document is internally posted to process the actual order confirmation. If an error arises at the application level, an email notification is sent to the Supplier, advising the failure and the reason. Ariba SN does not currently implement the 824 Application Advice. All separator characters within the ANSI X12 domain are allowed. You do not need to use the same separators that you receive on your 850. The recommended separators are: Segment Terminator: Element Separator: Sub-Element Separator:

~ (tilde) * (asterisk) > (greater than)

* Note that different VANs have different separator char requirements. They are usually modified in transit. These three chars are always written to all inbound interchanges to Ariba SN by Sterling Commerce. Needless to say, these three chars must not occur within your data itself. On the returning 997, the following points should be noted. Summary 997's are implemented, returning AK2/AK5 segments. Detailed 997's with AK3 and AK4 segments are not supported at this time. Interchanges are not acknowledged. Do not expect a TA1 segment. ISA14 should be set to 0, and is ignored. AK5 acknowledgement codes: - Code "A" constitutes acceptance. A cXML ConfirmationRequest was successfully prepared for submission to Ariba SN. This only means that it cleared the EDI gateway -- not that it passed all business rules in Ariba SN. - Code "E" is an EDI Compliance error. If you receive this in an AK5, it means that the 810 was not converted and did not make it past our EDI gateway. - Code "R" represents total rejection. Ariba SN EDI does not currently implement this code. AK9 acknowledgement codes: Copyright (c) 2000 - 2004, Ariba, Inc.

1

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

- The above codes apply. Code "P" is possible if not all AK5's are code "A". In reading this Implementation Guide, the following usage codes are used: Status ----------------------Mandatory Must Use Recommended Dependant Not Recommended Not Used

Segment -----------M Must Use R D NR X

Element ----------M M (Required) R D NR X

Mandatory means that X12 says it is mandatory, so the guideline is bound by that rule. Must Use means that X12 says it is optional, but Ariba SN requires it. Recommended means that X12 says it is optional, and Ariba SN considers it optional, but recommends that it be used. Dependant means that X12 might have its usage dependant on other segments or elements, or by semantic notes, or that Ariba SN describes semantics on which its dependency lies. Not Recommended is the opposite of Recommended. The information may be technically allowed, but is probably ignored. Not Used segments and elements are not even shown in the guideline. In cases there they made need to be shown for consistency, they are marked with an X.

Heading: Page No. 4

Pos. No. 010

Seg. ID ST

5

020

BAK

8

040

9

050

10

080

Base Status M

Name Transaction Set Header

User Status M M

Max.Use 1

M

CUR

Beginning Segment for Purchase Order Acknowledgment Currency

O

1

REF

Reference

O

3

FOB

F.O.B. Related Instructions

O

1

Notes and Comments

1

LOOP ID - SAC

2

12

120

SAC

Service, Promotion, Allowance, or Charge Information

O

15

150

DTM

O

19

275

TXI

Date/Time Reference - Acknowledgement Date Tax Information

1 Must Use

O

1 99

LOOP ID - N9

1

24

280

N9

Reference Identification - Comments

O

1

26

290

MSG

Message Text

O

99

27

280

N9

Reference Identification - Extrinsic

O

1

29

290

MSG

Message Text

O

99

LOOP ID - N9

99

LOOP ID - N1

99

30

300

N1

Contact Information - Name

O

31

310

N2

Additional Name Information

O

2

32

320

N3

Address Information

O

2

33

330

N4

Geographic Location

O

1

Copyright (c) 2000 - 2004, Ariba, Inc.

Loop Repeat

2

Rec

1

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines 36

350

PER

Administrative Communications Contact

O

99

Detail: Page No.

Pos. No.

Seg. ID

Base Status

39

010

PO1

Baseline Item Data

O

41

040

CTP

Pricing Information

O

42

270

ACK

Line Item Acknowledgment

O

Must Use

1

44

280

DTM

Date/Time Reference

O

Rec

1

Name LOOP ID - PO1

User Status D

Max.Use

Loop Repeat 100000

1

Notes and Comments n1

1

LOOP ID - ACK

104

LOOP ID - N1

99

47

370

N1

Name

O

1

48

380

N2

Additional Name Information

O

2

49

390

N3

Address Information

O

2

50

400

N4

Geographic Location

O

1

51

420

PER

Administrative Communications Contact

O

3

Summary: Page No.

Pos. No.

Seg. ID

Base Status

52

010

CTT

Transaction Totals

O

53

020

AMT

Monetary Amount

O

54

030

SE

Transaction Set Trailer

M

Name LOOP ID - CTT

User Status Must Use

M

Max.Use

Loop Repeat 1

Notes and Comments

1

n2

1

n3

1

Transaction Set Notes 1. 2. 3.

PO102 is required. The number of line items (CTT01) is the accumulation of the number of PO1 segments. If used, hash total (CTT02) is the sum of the value of quantities ordered (PO102) for each PO1 segment. If AMT is used in the summary area, then AMT01 will = TT and AMT02 will indicate total transaction amount as calculated by the sender.

Copyright (c) 2000 - 2004, Ariba, Inc.

3

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

Segment: Position: Loop: Level: Usage: Max Use: Purpose: Syntax Notes: Semantic Notes: Comments: Notes:

ST Transaction Set Header 010 Heading Mandatory 1 To indicate the start of a transaction set and to assign a control number 1

The transaction set identifier (ST01) is used by the translation routines of the interchange partners to select the appropriate transaction set definition (e.g., 810 selects the Invoice Transaction Set).

Example: ST*855*0001~ produces... Data Element Summary

Ref. Des. ST01

Data Element 143

ST02

329

Base User Name Attributes Attributes Transaction Set Identifier Code M ID 3/3 M Code uniquely identifying a Transaction Set 855 Purchase Order Acknowledgment Transaction Set Control Number M AN 4/9 M Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set

Copyright (c) 2000 - 2004, Ariba, Inc.

4

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

Segment: Position: Loop: Level: Usage: Max Use: Purpose: Syntax Notes: Semantic Notes: Comments: Notes:

BAK Beginning Segment for Purchase Order Acknowledgment 020 Heading Mandatory 1 To indicate the beginning of the Purchase Order Acknowledgment Transaction Set and transmit identifying numbers and dates 1 2 3

BAK04 is the date assigned by the purchaser to purchase order. BAK08 is the seller's order number. BAK09 is the date assigned by the sender to the acknowledgment.

Example: BAK*00*AC*D-0115-1612h*20010111****ORDSP4125874*20010110~ produces... ... * The order number and order date supplied by BAK were combined with the buyer's id and cross-referenced in the AN database. The complete orderDate and payloadID were then retrieved and filled in. Mapping target: ...

Data Element Summary Ref. Des. BAK01

Data Element 353

Name Transaction Set Purpose Code Code identifying purpose of transaction set

Base Attributes M ID 2/2

User Attributes M

M

M

operation (new | update) 00 (Original) --> "new" 05 (Replace) --> "update"

BAK02

587

00 Original 05 Replace Acknowledgment Type Code specifying the type of acknowledgment

type (accept | detail | except | reject)

ID 2/2

#REQUIRED

"AC" --> "detail", "AE" --> "except", "AT" --> "accept", "RJ" --> "reject" Copyright (c) 2000 - 2004, Ariba, Inc.

5

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

AC

AE

Acknowledge - With Detail and Change type="detail" A separate line item (PO1 group) is required in the 855 to confirm each individual line item in the purchase order. Acknowledge - With Exception Detail Only type="except" Very useful for large purchase orders with few exceptions. You provide a PO1 group for each PO line item that is not accepted "as is". (i.e. backordered, rejected, etc.) Any PO line item not referenced with an 855 line item will be marked as "confirmed as is".

AT

Ack type AE with no line items is equivalent to ack type AT. Ack type AE with all line items is equivalent to ack type AC. Accepted type="accept" Sets the entire purchase order to confirmed "as is". Line items (PO1 groups) are allowed in the 855, but the only allowed status type is "accept" (ACK01="IA"). With this status type, you may still fill in the shipment and delivery dates for individual line items.

RJ

Every line item in the order will be set to confirmed, whether it has a PO1 group in the 855 or not. Rejected - No Detail type="reject" Total rejection of the entire purchase order. This is the opposite of ack type AT. No line item (PO1 groups) are allowed in the 855, and every line item in the PO will be marked as rejected.

BAK03

324

You may use the N9 group to provide comments as to the reason why, if you wish. Purchase Order Number M AN 1/22 M Identifying number for Purchase Order assigned by the orderer/purchaser Purchase Order Number, copied from the 850's BEG03 orderID %string;

BAK04

373

#IMPLIED

Date Date expressed as CCYYMMDD Purchase Order date, copied from the 850's BEG05 orderDate %datetime.tz;

M

DT 8/8

M

#IMPLIED

Note that only the date portion is available to be mapped.

BAK08

127

Reference Identification O AN 1/30 M Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier

Copyright (c) 2000 - 2004, Ariba, Inc.

6

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

Supplier's order number. This is used for the confirmation identifier. confirmID %string;

BAK09

373

#IMPLIED

Date O DT 8/8 O Date expressed as CCYYMMDD Order date is accepted, but is ignored. The required noticeDate for the acknowledgment is preferred from DTM*ACK at 1/150 to allow complete date/time/zone specification.

Copyright (c) 2000 - 2004, Ariba, Inc.

7

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

Segment: Position: Loop: Level: Usage: Max Use: Purpose: Syntax Notes:

Semantic Notes: Comments: Usage Notes: Notes:

CUR Currency 040 Heading Optional 1 To specify the currency (dollars, pounds, francs, etc.) used in a transaction 1 If CUR08 is present, then CUR07 is required. 2 If CUR09 is present, then CUR07 is required. 3 If CUR10 is present, then at least one of CUR11 or CUR12 is required. 4 If CUR11 is present, then CUR10 is required. 5 If CUR12 is present, then CUR10 is required. 6 If CUR13 is present, then at least one of CUR14 or CUR15 is required. 7 If CUR14 is present, then CUR13 is required. 8 If CUR15 is present, then CUR13 is required. 9 If CUR16 is present, then at least one of CUR17 or CUR18 is required. 10 If CUR17 is present, then CUR16 is required. 11 If CUR18 is present, then CUR16 is required. 12 If CUR19 is present, then at least one of CUR20 or CUR21 is required. 13 If CUR20 is present, then CUR19 is required. 14 If CUR21 is present, then CUR19 is required. 1 See Figures Appendix for examples detailing the use of the CUR segment. Used/Optional Example: CUR*BY*USD~ produces... Mapping target: currency %isoCurrencyCode;

#REQUIRED

Data Element Summary Ref. Des. CUR01

Data Element 98

CUR02

100

Base User Name Attributes Attributes Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BY Buying Party (Purchaser) Currency Code M ID 3/3 M Code (Standard ISO) for country in whose currency the charges are specified

Copyright (c) 2000 - 2004, Ariba, Inc.

8

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

Segment: Position: Loop: Level: Usage: Max Use: Purpose: Syntax Notes: Semantic Notes: Comments: Usage Notes: Notes:

REF Reference 050 Heading Optional 3 To specify identifying information 1 At least one of REF02 or REF03 is required. 2 If either C04003 or C04004 is present, then the other is required. 3 If either C04005 or C04006 is present, then the other is required. 1 REF04 contains data relating to the value cited in REF02. Used/Optional Example: REF*IL*1234567~ REF*IV*INV34572~ produces... * Note - REF*IL is used internally by the EDI system. It has no cXML counterpart. Mapping target:

Data Element Summary Ref. Des. REF01

Data Element 128

REF02

127

Base User Name Attributes Attributes Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification IL Internal Order Number Ariba SN Internal Order Number This is the internal order number used by Ariba SN. It positively and unambiguously identifies an order. A future version of the 850 will supply this number which suppliers can simply echo. IV Seller's Invoice Number If the supplier already has an invoice number assigned to the order, Reference Identification X AN 1/30 O Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier

Copyright (c) 2000 - 2004, Ariba, Inc.

9

Revision 7, March 2004

Ariba, Inc. cXML 1.2: ANSI X12 004010 855 PO Acknowledgment Implementation Guidelines

Segment: Position: Loop: Level: Usage: Max Use: Purpose: Syntax Notes:

Semantic Notes:

Comments: Usage Notes: Notes:

FOB F.O.B. Related Instructions 080 Heading Optional 1 To specify transportation instructions relating to shipment 1 If FOB03 is present, then FOB02 is required. 2 If FOB04 is present, then FOB05 is required. 3 If FOB07 is present, then FOB06 is required. 4 If FOB08 is present, then FOB09 is required. 1 FOB01 indicates which party will pay the carrier. 2 FOB02 is the code specifying transportation responsibility location. 3 FOB06 is the code specifying the title passage location. 4 FOB08 is the code specifying the point at which the risk of loss transfers. This may be different than the location specified in FOB02/FOB03 and FOB06/FOB07. Used/Optional Example: FOB*DE***01*CFR~ produces... Data Element Summary

Ref. Des. FOB01

Data Element 146

FOB04

334

FOB05

335

Base User Name Attributes Attributes Shipment Method of Payment M ID 2/2 M Code identifying payment terms for transportation charges DE Per Contract Destination with exceptions as agreed between buyer and seller Transportation Terms Qualifier Code O ID 2/2 M Code identifying the source of the transportation terms 01 Incoterms Transportation Terms Code X ID 3/3 M Code identifying the trade terms which apply to the shipment transportation responsibility The cXML incoTerms attribute requires that the code here be translated to lowercase. For example: incoTerms="cfr" where FOB05="CFR" Mapping target: