Now, suppliers can also select EDI as a method for receiving Change and Cancel Orders.



Similar documents
810 Invoice ANSI ASC X12 Version 4010

850 Purchase Order. X12/V4030/850: 850 Purchase Order. Version: 1.0 Draft

Portland General Electric Implementation Standard

ANSI X12 version Text Message

ANSI X12 version Advance Ship Notice

BORGWARNER IMPLEMENTATION GUIDELINE FOR V PLANNING SCHEDULE

810 Invoice Revised 01/26/15

CVS/Caremark. Implementation Guide. 810 RX DC Invoice. Version X

Implementation Guidelines: ANSI X12 Transaction Set 850 Purchase Order (Suppliers) DOCUMENT NUMBER: ICS S Supplier

ADOBE ANSI X Version: 1.0

Electronic Data Interchange

ANSI X12 version Remittance Advice

EDI 210 Invoice. Motor Freight 210 Invoice with Stop Offs. Version: 1.0 ANSI X Draft

Receiving Advice/Acceptance Certificate - SERVICE PARTS ONLY

Customer EDI Guidelines United States 810 Invoice

Pos. Seg. Req. Loop No. ID Name Des. Max.Use Repeat LOOP ID IT IT1 Baseline Item Data M PID Product / Item Description M

EDI GUIDELINES. Motor Carrier Load Tender 204 VERSION

ANSI X Product Transfer and Resale Report

Because the 810 implementation ultimately maps to an InvoiceDetailRequest, it must conform to its rules.

3/31/08 ALTRA INDUSTRIAL MOTION Invoice Inbound 810 X Page 1 Created by Ralph Lenoir

810 Invoice. Version: 2.3 Final. X12/V4010/810 : 810 Invoice. Advance Auto Parts. Publication: 3/17/2014 Trading Partner: Notes:

EDI GUIDELINES INVOICE 810 VERSION 4010

214 Transportation Carrier Shipment Status Message

Electronic Data Interchange (EDI) Standards 810 Invoice Version 4010

RANDOM HOUSE. EDI Implementation Guide. 850 Purchase Order X12 Version 4010

810 Invoice. Introduction: Heading: Functional Group ID=IN

RANDOM HOUSE. EDI Implementation Guide Invoice X12 Version 4010

As a service to Suppliers preferring to transact via EDI, Ariba SN accepts the ANSI X Ship Notice / Manifest document.

ANSI X12 version Planning Schedule with Release Capability

84 LUMBER ELECTRONIC DATA INTERCHANGE VENDOR IMPLEMENTATION PROGRAM INFORMATION PACKAGE 810 INVOICES VERSION August 21, 2007

ANSI ASC X.12 Standard Version 4010 Transaction Set 214 Transportation Carrier Shipment Status Message

860 Purchase Order Change Request Buyer Initiated

Invoice. Transaction Set (810) (Outbound from TI)

VERSION: ANSI X

Electronic Data Interchange

ACE HARDWARE 810 INVOICE (FOR CREDIT MEMO ONLY) ANSI X PLEASE DO NOT TRANSMIT WAREHOUSE OR REBATE CREDIT MEMOS.

Bill of Lading Number REF Reference Identification M AN 1/30 MustUse

Eaton Corporation Electronic Data Interchange (EDI) Standards Application Advice (824) Version 4010

944 Warehouse Stock Transfer Receipt Advice. X12/V4030/944: 944 Warehouse Stock Transfer Receipt Advice

Dart Container Corporation. EDI 810 Outbound Invoice Version 4010

824 Application Advice

X12 Implementation Guidelines For Outbound Receiving Advice v (861O)

997 Functional Acknowledgment

LOOP ID - N N9 Reference Identification O MSG Message Text O 1000

The EDI 810 specification is separated into logically distinct groups, which are composed of particular segment types.

810 - Invoice. Set Number Set Name - Invoice Functional Group - IN

856 Advance Ship Notice Supplier Implementation Guide November 2015

Implementation Guideline

BIG LOTS STORES INC. IMPLEMENTATION SPECIFICATIONS ASC X12 INVOICE TRANSACTION SET 810 VERSION 5010

997 MUST be sent to Safeway to confirm receipt of 824 transmission. This is unrelated to EDI syntax errors as reported on 997.

810 Invoice ANSI X.12 Version 5010

EDI IMPLEMENTATION GUIDE. 856 ANSI X12 V4010 Ship Notice/Manifest Regular (Non Steel)

HIPAA EDI Companion Guide for 835 Electronic Remittance Advice

867 Product Transfer and Resale Report Ver/Rel Electronic Data I nterchange. Utility Industry Group Implementation Guideline.

Mazda North American Operations EDI Supplier Documentation October 20, 2015

EDI 214 ANSI X12 Version 4010 Transportation Carrier Shipment Status Message

X12 Implementation. Guidelines. For. Transfer Version (996o)

IMPLEMENTATION GUIDELINES FOR ANSI ASC X12 EDI CONVENTIONS APPLICATION ADVICE (824) TRANSACTION SET

S.2.2 CHARACTER SETS AND SERVICE STRING ADVICE: THE UNA SEGMENT

VOLVO Dealer Programs 810 Invoice EDI Guideline

To indicate the beginning of an invoice transaction set and to transmit identifying numbers and dates. BIG^ ^12345^ ^ ^

DoD Transportation Electronic Data Interchange (EDI) Convention

EDI GUIDELINES PURCHASE ORDER 850 VERSION 4010

Note: The following information is required on all Merchandise Invoices:

Transaction Set Application Advice

Adobe - EDIFACT D97.A ORDERS

214 Transportation Carrier Shipment Status Message - LTL

Ultramar Ltd IMPLEMENTATION GUIDE

IMPLEMENTATION GUIDELINES FOR ANSI ASC X12 EDI CONVENTIONS FILE TRANSFER (996) TRANSACTION SET

EDI Specifications Invoice (Supplier v4010)

Supply Chain Merchandise Logistics E-Commerce Purchase Order

EDI Services Guide December 2010

999 Implementation Acknowledgment. Version: 1.0 Draft

Staples Supplier Electronic Data Interchange Implementation Guide

ASN. HDMA Electronic Data Interchange (EDI) Guidelines for the 856 Advance Ship Notice to Support Implementation of DSCSA

856 Ship Notice/Manifest - R US CANADA

Electronic Data Interchange- Inbound Payments EDI 820/EFT Specifications for Duke Energy

Toyota Boshoku America EDI Implementation Manual Version 1 for: TBA o TBIN o TBMS o TBCA - Woodstock o TBCA - Elmira

820 Payroll Deducted and Other Group Premium Payment for Insurance Products

THE INVOIC MESSAGE EANCOM97/EDIFACT D.96A

CVS/Caremark. Implementation Guide. 852 Product Activity Data Warehouse Movement. Version X

Implementation Guidelines For ANSI X12 Interchange Control Structures Inbound & outbound. (v2002)

VDP Program Vendor Guidelines

Produce Traceability Initiative Why and How to Use EDI 856 Advance Ship Notice/Manifest Transaction Set (ASN)

945 Warehouse Shipping Advice

Purchase Orders Message ORDERS (EDIFACT D97A)

CSX EDI 824 Application Advice Version:

R.2 STRUCTURE OF AN EDIFACT TRANSMISSION

Implementation Guidelines: ANSI X12 Transaction Set 824 Application Advice DOCUMENT NUMBER: ICS S

856 Advanced Shipping Notices (ASN)

Electronic Document Interchange Standards Version 5050

EDI Specifications Advance Ship Notice (Supplier v4010)

PARTY INFORMATION MESSAGE. PARTIN Version 1.0. agreed-upon by EDI Working Group of ECR Poland

810 Invoice. Introduction. Reference. General Notes. Page 2

PURCHASE ORDER RESPONSE

DLMS Supplement to Federal IC 996H GENCOMM / XML ADC 416 DoD M

Ariba SN Getting Started with Ariba EDI. April 2004

MAINE FREQUENTLY ASKED QUESTIONS (FAQ) SUPPLIER TECHNICAL WORKSHOP

Transcription:

850 Purchase Order Functional Group ID=PO Introduction: This Draft Standard for Trial Use contains the format and establishes the data contents of the Purchase Order Transaction Set (850) 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 the placement of purchase orders for goods and services. This transaction set should not be used to convey purchase order changes or purchase order acknowledgment information. Notes: Ariba Supplier Network (SN) receives Purchase Orders from Ariba Buyer in the form of cxml OrderRequest documents. Suppliers are able to select their preferred method of receiving Purchase Orders. As a service to Suppliers preferring to transact via EDI, Ariba SN maps to the ANSI X12 004010 850 Purchase Order document. Suppliers can select EDI as their prefered method for receiving Purchase Orders. Now, suppliers can also select EDI as a method for receiving Change and Cancel Orders. The separator characters normally used are: Segment Terminator: ~ (tilde) Element Separator: { (left brace) Sub-Element Separator: } (right brace) Suppliers can contact Ariba SN Technical Support to request standard separators if they prefer. Ariba Supplier Network does not require or accept interchange acknowledgements (TA1), but does require a 997 to be returned for each functional group received (other than type FA). On returning a 997, the following points should be noted: - Sending AK1/AK9 only is not supported at this time. You MUST send an AK2/AK5 group for each transaction set received within the group. - Detailed 997s are not required, but are accepted. You can send AK3/AK4 within an AK2 group if you wish. - ISA14 is set to 0, so do not send a TA1. It is not supported and will cause an error. AK5 acknowledgement codes: - Code "A" constitutes acceptance. The Purchase Order will be marked as Acknowledged and visible to your customer. - Code "E" is an EDI Compliance error. This is accepted with errors noted. Currently it will update the Purchase Order status to Acknowledged, similar to code A. - Code "R" represents rejection. Currently, this is the only AK5 acknowledgement code that will mark the Purchase Order as Failed. AK9 acknowledgement codes: - 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: Copyright (c) 2000-2003 Ariba, Inc. 1 Revision 6, June 2003

Status Segment Element ----------------------- ------------ ----------- Mandatory M M Must Use Must Use M (Required) Recommended A A (Advised) Dependant D D Not Recommended NR NR Not Used X 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 has 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 might 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 Pos. Seg. Base User Loop Notes and No. No. ID Name Status Status Max.Use Repeat Comments 5 010 ST Transaction Set Header M M 1 6 020 BEG Beginning Segment for Purchase Order M M 1 8 040 CUR Currency O Must Use 1 9 050 REF Reference Identification O >1 10 060 PER Administrative Communications Contact O 3 12 110 CSH Sales Requirements O 1 LOOP ID - SAC 1 13 120 SAC Shipping Charges O 1 15 125 CUR Currency O 1 16 285 TXI Tax Information O 1 LOOP ID - N9 1 17 295 N9 Reference Identification - Payment of O 1 Purchase Order 18 297 DTM Date/Time Reference O Must Use 1 LOOP ID - N9 1 19 295 N9 Reference Identification - Comments O 1 20 300 MSG Message Text O Must Use 1000 LOOP ID - N9 998 21 295 N9 Reference Identification - Extrinsics O 1 22 300 MSG Message Text O 1000 LOOP ID - N1 1 23 310 N1 Bill-To Name O 1 24 320 N2 Additional Name Information O 2 25 330 N3 Address Information O 2 26 340 N4 Geographic Location O 1 Copyright (c) 2000-2003 Ariba, Inc. 2 Revision 6, June 2003

27 360 PER Administrative Communications Contact O >1 LOOP ID - N1 1 29 310 N1 Ship-To Name O 1 30 320 N2 Additional Name Information O 2 31 330 N3 Address Information O 2 32 340 N4 Geographic Location O 1 33 360 PER Administrative Communications Contact O >1 LOOP ID - N1 10 35 310 N1 Detailed Contact Information - Name O 1 37 320 N2 Additional Name Information O 2 38 330 N3 Address Information O 2 39 340 N4 Geographic Location O 1 40 360 PER Administrative Communications Contact O >1 Detail: Page Pos. Seg. Base User Loop Notes and No. No. ID Name Status Status Max.Use Repeat Comments LOOP ID - PO1 100000 42 010 PO1 Baseline Item Data M M 1 n1 44 020 CUR Currency of Unit Price O 1 LOOP ID - PID 1000 45 050 PID Product/Item Description O 1 LOOP ID - PID 1000 47 050 PID Product/Item Description - Classification O 1 Details 49 100 REF Reference Identification - Requisition ID O 1 50 100 REF Reference Identification - Supplier ID O 1 51 110 PER Administrative Communications Contact O 3 LOOP ID - SAC 1 53 130 SAC Shipping Charge O 1 55 135 CUR Currency O Must Use 1 LOOP ID - SAC 20 56 130 SAC Account Distribution O 1 58 135 CUR Currency O 1 59 210 DTM Requested Delivery Date O 1 60 291 TXI Tax Information O 1 LOOP ID - N9 1 61 330 N9 Reference Identification - URL O 1 62 340 MSG Message Text O 1000 LOOP ID - N9 999 63 330 N9 Reference Identification - Comments O 1 64 340 MSG Message Text O 1000 LOOP ID - N9 999 65 330 N9 Reference Identification - Extrinsics O 1 66 340 MSG Message Text O Must Use 1000 LOOP ID - N1 1 67 350 N1 Ship-To Name O 1 68 360 N2 Additional Name Information O 2 Copyright (c) 2000-2003 Ariba, Inc. 3 Revision 6, June 2003

69 370 N3 Address Information O 2 70 380 N4 Geographic Location O 1 71 400 PER Administrative Communications Contact O 3 LOOP ID - N1 10 73 350 N1 Name - Detailed Contact Information O 1 75 360 N2 Additional Name Information O 2 76 370 N3 Address Information O 2 77 380 N4 Geographic Location O 1 78 400 PER Administrative Communications Contact O 3 Summary: Page Pos. Seg. Base User Loop Notes and No. No. ID Name Status Status Max.Use Repeat Comments LOOP ID - CTT 1 80 010 CTT Transaction Totals O 1 n2 81 020 AMT Monetary Amount O Must Use 1 n3 82 030 SE Transaction Set Trailer M M 1 Transaction Set Notes 1. PO102 is required. 2. 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. 3. 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-2003 Ariba, Inc. 4 Revision 6, June 2003

Segment: ST Transaction Set Header Position: 010 Loop: Level: Heading Usage: Mandatory Max Use: 1 Purpose: To indicate the start of a transaction set and to assign a control number Syntax Notes: Semantic Notes: 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). Comments: Notes: Example: ST*850*0065~ ST01 143 Transaction Set Identifier Code M ID 3/3 M Code uniquely identifying a Transaction Set 850 Purchase Order ST02 329 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-2003 Ariba, Inc. 5 Revision 6, June 2003

Segment: BEG Beginning Segment for Purchase Order Position: 020 Loop: Level: Heading Usage: Mandatory Max Use: 1 Purpose: To indicate the beginning of the Purchase Order Transaction Set and transmit identifying numbers and dates Syntax Notes: Semantic Notes: 1 BEG05 is the date assigned by the purchaser to purchase order. Comments: Notes: Examples: BEG*00*NE*DO364**20000415~ (new order) BEG*05*KN*ERP64390-V2**20020928~ (change order) BEG*05*IN*ERP64390-V3**20020928~ (change order - internal) BEG*03*KN*R159116**20020719~ (cancel order) <OrderRequest> <OrderRequestHeader> BEG01 353 Transaction Set Purpose Code M ID 2/2 M Code identifying purpose of transaction set Ariba sends purchase orders as either "new", "update", or "delete". Orders being updated are replacing a previous order. Some updates are marked as information only (BEG02='IN'). <OrderRequest> <OrderRequestHeader> type (new update delete) "new" 00 Original type="new" 03 Delete type="delete" 05 Replace type="update" This is available only if EDI is selected for routing "Change/Cancel Orders". If the customer sends a "Cancel Order" from Ariba Buyer, then BEG01='03' and BEG03 contains the order number to be deleted. REF*PO (1/050) contains another copy of the purchase order number, supporting up to 30 characters. Code 03 for Delete is chosen to parallel the cxml type attribute value "delete". This is available only if EDI is selected for routing "Change/Cancel Orders". If the customer submits a change order through Ariba Buyer, the effect is to copy all of the data and line items from an existing order and then to create a new order having the amendments. Copyright (c) 2000-2003 Ariba, Inc. 6 Revision 6, June 2003

The "Change Order" is not a manifest listing of changes, but is rather a complete replacement of an earlier order. Typically the new order number will be the original order number with something like '-V2' appended. BEG01='05' to attest to this fact. The original order number being replaced is found in REF*PW (1/050). Ariba Buyer does not at this time send a revision number. Note that BEG03 contains an order number up to 22 characters in length. Some orders from Ariba Buyer have had longer order numbers. When BEG01='05' or '03', REF*PO (1/050) is populated with a second copy of the order number with up to 30 characters. Although the cxml type attribute value is "update", code 05 for Replace is used to better represent the action being taken. It is necessary to completely replace an order previously received. BEG02 92 Purchase Order Type Code M ID 2/2 M Code specifying the type of Purchase Order Determines the purchase order type from Ariba. An order update has a version number and can be marked as internal by the customer. Internal orders are identified with BEG02='IN'. <OrderRequestHeader> type="new" IN KN NE Information Copy Used with BEG01=05 only to indicate that this order update is for information only. The buyer has made some internal changes to their PO. Such a PO update is sent for version number accountability only. There are no changes affecting fulfillment. OrderRequestHeader isinternalversion (yes) #IMPLIED Purchase Order Procurement instrument within the small purchasing threshold Used with BEG01='03' or '05' only. When BEG01='00', this field continues to use 'NE' for backward compatibility. New Order Used with BEG01='00' only to indicate a new purchase order. BEG03 324 Purchase Order Number M AN 1/22 M Identifying number for Purchase Order assigned by the orderer/purchaser Ariba sends the PO Number from the Buyer. <OrderRequestHeader> orderid %string; #REQUIRED BEG05 373 Date M DT 8/8 M Date expressed as CCYYMMDD Ariba sends the PO Date from the Buyer <OrderRequestHeader> orderdate %datetime.tz; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 7 Revision 6, June 2003

Segment: CUR Currency Position: 040 Loop: Level: Heading (Must Use) Max Use: 1 Purpose: To specify the currency (dollars, pounds, francs, etc.) used in a transaction Syntax Notes: 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. Semantic Notes: Comments: 1 See Figures Appendix for examples detailing the use of the CUR segment. Usage Notes: Mandatory Notes: Example: CUR*BY*USD~ Ariba sends the default currency for the order. This currency specifically represents the total amount of the order found in AMT[3/020] <OrderRequest> <OrderRequestHeader> <Total> <Money> currency %isocurrencycode; #REQUIRED CUR01 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BY Buying Party (Purchaser) CUR02 100 Currency Code M ID 3/3 M Code (Standard ISO) for country in whose currency the charges are specified These currencies serve as examples; they are not the only codes used. The currency code is ISO 4217 compliant and Ariba SN writes here whatever is collected from any Ariba Procurement Platform. X12 also expects ISO 4217 conformance here, the same as %isocurrencycode; See http://www.unece.org/trade/rec/rec09en.htm CAD Canadian Dollars GBP British Pound USD US Dollars XEU European Monetary Coop Fund Copyright (c) 2000-2003 Ariba, Inc. 8 Revision 6, June 2003

Segment: REF Reference Identification Position: 050 Loop: Level: Heading Max Use: >1 Purpose: To specify identifying information Syntax Notes: 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. Semantic Notes: 1 REF04 contains data relating to the value cited in REF02. Comments: Usage Notes: Used/Optional REF01 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification PO Purchase Order Number Example: REF*PO*DO364~ This is available to support purchase order numbers longer than 22 characters. Some purchase orders coming from Ariba Buyer have longer numbers which are truncated in BEG03. The purchase order number up to 30 characters is shown in this reference. For backward compatibility, this REF is used only where BEG01='03' or '05', and to state the current order number. In a future release, it will always appear. PP PW RQ <OrderRequest> <OrderRequestHeader> ordernumber %string; #IMPLIED Purchase Order Revision Number Example: REF*PP*2~ Reserved for Ariba Buyer to be sending the PO revision number. Ariba Buyer does not currently support this attribute. This is a placeholder for it. Prior purchase order number Used only with BEG01='05' to state the purchase order number being replaced. Purchase Requisition Number Example: REF*RQ*R1492~ The buyer's system requisition id for this entire order. It might be the same as orderid, and it might not be included at all. Must not be included if requisitionid is specified at the line item level. <OrderRequest> <OrderRequestHeader> requisitionid %string; #IMPLIED REF02 127 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-2003 Ariba, Inc. 9 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 060 Loop: Level: Heading Max Use: 3 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: PER*BL*Tech Support*TE*18005551313*EM*tech.support@thebuyer.com~ PER*CR*Customer Service*TE*18005551212*FX*13122842587*EM*customer.service@thebuyer.com~ Contact information from the Order Header is mapped here briefly. Contacts that involve a PostalAddress or extensive details will appear in an N1 loop. We are limited here to only three PER segments, so this section is reserved for short and quick contact information. <OrderRequest> <OrderRequestHeader> <Contact> <Email>.. <Phone>.. <Fax> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named AE Corporate Purchasing Agent role="purchasingagent" AM Administrator BD BL CN CR EB role="administrator" Buyer Name or Department Technical Department role="technicalsupport" General Contact role unspecified Customer Relations role="customerservice" Entered By role="enduser" SH Shipper Contact SR Sales Representative or Department role="sales" SU Supplier Contact PER02 93 Name O AN 1/60 M Free-form name Required Name tag. Copyright (c) 2000-2003 Ariba, Inc. 10 Revision 6, June 2003

<Contact> <Name> PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER06 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 11 Revision 6, June 2003

Segment: CSH Sales Requirements Position: 110 Loop: Level: Heading Max Use: 1 Purpose: To specify general conditions or requirements of the sale Syntax Notes: 1 If CSH02 is present, then CSH03 is required. 2 If either CSH06 or CSH07 is present, then the other is required. 3 If either CSH09 or CSH10 is present, then the other is required. Semantic Notes: 1 CSH03 is the maximum monetary amount value which the order must not exceed. 2 CSH04 is the account number to which the purchase amount is charged. 3 CSH05 is the date specified by the sender to be shown on the invoice. 4 CSH06 identifies the source of the code value in CSH07. Comments: Usage Notes: Used/Optional Notes: Example: CSH*SC~ Present with CSH01="SC" if the Buyer has specified a "Ship Complete" requirement. This implies that the Buyer is prepared to wait if necessary for complete fulfillment of an order. Partial fulfillment will not be accepted. <OrderRequest> <OrderRequestHeader> shipcomplete(yes) #IMPLIED ="yes" CSH01 563 Sales Requirement Code O ID 1/2 O Code to identify a specific requirement or agreement of sale SC Ship Complete Copyright (c) 2000-2003 Ariba, Inc. 12 Revision 6, June 2003

Segment: SAC Shipping Charges Position: 120 Loop: SAC Optional Level: Heading Max Use: 1 Purpose: To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service, promotion, allowance, or charge Syntax Notes: 1 At least one of SAC02 or SAC03 is required. 2 If either SAC03 or SAC04 is present, then the other is required. 3 If either SAC06 or SAC07 is present, then the other is required. 4 If either SAC09 or SAC10 is present, then the other is required. 5 If SAC11 is present, then SAC10 is required. 6 If SAC13 is present, then at least one of SAC02 or SAC04 is required. 7 If SAC14 is present, then SAC13 is required. 8 If SAC16 is present, then SAC15 is required. Semantic Notes: 1 If SAC01 is "A" or "C", then at least one of SAC05, SAC07, or SAC08 is required. 2 SAC05 is the total amount for the service, promotion, allowance, or charge. If SAC05 is present with SAC07 or SAC08, then SAC05 takes precedence. 3 SAC08 is the allowance or charge rate per unit. 4 SAC10 and SAC11 is the quantity basis when the allowance or charge quantity is different from the purchase order or invoice quantity. SAC10 and SAC11 used together indicate a quantity range, which could be a dollar amount, that is applicable to service, promotion, allowance, or charge. 5 SAC13 is used in conjunction with SAC02 or SAC04 to provide a specific reference number as identified by the code used. 6 SAC14 is used in conjunction with SAC13 to identify an option when there is more than one option of the promotion. 7 SAC16 is used to identify the language being used in SAC15. Comments: 1 SAC04 may be used to uniquely identify the service, promotion, allowance, or charge. In addition, it may be used in conjunction to further the code in SAC02. 2 In some business applications, it is necessary to advise the trading partner of the actual dollar amount that a particular allowance, charge, or promotion was based on to reduce ambiguity. This amount is commonly referred to as "Dollar Basis Amount". It is represented in the SAC segment in SAC10 using the qualifier "DO" - Dollars in SAC09. Usage Notes: Notes: Used/Optional Example: SAC*C*G830***4680********21428339882**Fed-Ex 2 day*en~ In the header section, this represents a shipping cost in the order to the supplier. There can be one of these for the entire order, or one per line item. This context represents one for the order. <OrderRequest> <OrderRequestHeader> <Shipping> SAC01 248 Allowance or Charge Indicator M ID 1/1 M Code which indicates an allowance or charge for the service specified C Charge SAC02 1300 Service, Promotion, Allowance, or Charge Code X ID 4/4 O Code identifying the service, promotion, allowance, or charge G830 Shipping and Handling SAC05 610 Amount O N2 1/15 M Monetary amount <Shipping> <Money> Copyright (c) 2000-2003 Ariba, Inc. 13 Revision 6, June 2003

#PCDATA SAC13 127 Reference Identification X AN 1/30 O Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier SAC15 352 Description X AN 1/80 M A free-form description to clarify the related data elements and their content Ariba SN can only accept one Description here. cxml allows for a ShortName to be included with the Description. If the Description text is longer than 80 characters, and a ShortName is available, then Ariba SN will map the ShortName here. <Shipping> <Description> #PCDATA.. <ShortName> SAC16 819 Language Code O ID 2/3 M Code designating the language used in text, from a standard code list maintained by the International Standards Organization (ISO 639) <Shipping> <Description> xml:lang %isolangcode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 14 Revision 6, June 2003

Segment: CUR Currency Position: 125 Loop: SAC Optional Level: Heading Max Use: 1 Purpose: To specify the currency (dollars, pounds, francs, etc.) used in a transaction Syntax Notes: 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. Semantic Notes: Comments: 1 See Figures Appendix for examples detailing the use of the CUR segment. Usage Notes: Used/Optional Notes: Example: CUR*BY*USD~ CUR01 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BY Buying Party (Purchaser) CUR02 100 Currency Code M ID 3/3 M Code (Standard ISO) for country in whose currency the charges are specified See Note on Currency Codes with CUR[1/040]. Currency codes shown here are examples. Any ISO4217 code can be sent. http://www.unece.org/trade/rec/rec09en.htm CAD Canadian Dollars GBP British Pound USD US Dollars XEU European Monetary Coop Fund Copyright (c) 2000-2003 Ariba, Inc. 15 Revision 6, June 2003

Segment: TXI Tax Information Position: 285 Loop: Level: Heading Max Use: 1 Purpose: To specify tax information Syntax Notes: 1 At least one of TXI02 TXI03 or TXI06 is required. 2 If either TXI04 or TXI05 is present, then the other is required. 3 If TXI08 is present, then TXI03 is required. Semantic Notes: 1 TXI02 is the monetary amount of the tax. 2 TXI03 is the tax percent expressed as a decimal. 3 TXI07 is a code indicating the relationship of the price or amount to the associated segment. Comments: Usage Notes: Used/Optional Notes: Example: TXI*TX*27.18~ cxml supplies tax information with an amount and a description. Ariba sends the tax amount here. Taxes can be present at both the header and line item levels. Taxes at the line item level are used to show a per line item breakdown. <OrderRequest> <OrderRequestHeader> <Tax> TXI01 963 Tax Type Code M ID 2/2 M Code specifying the type of tax TX All Taxes Total of all applicable taxes TXI02 782 Monetary Amount X R 1/18 M Monetary amount Copyright (c) 2000-2003 Ariba, Inc. 16 Revision 6, June 2003

Segment: N9 Reference Identification - Payment of Purchase Order Position: 295 Loop: N9 Optional Level: Heading Max Use: 1 Purpose: To transmit identifying information as specified by the Reference Identification Qualifier Syntax Notes: 1 At least one of N902 or N903 is required. 2 If N906 is present, then N905 is required. 3 If either C04003 or C04004 is present, then the other is required. 4 If either C04005 or C04006 is present, then the other is required. Semantic Notes: 1 N906 reflects the time zone which the time reflects. 2 N907 contains data relating to the value cited in N902. Comments: Usage Notes: Used/Optional Notes: Example: N9*PSM*4510294818443233*Visa - Purchases~ Procurement card information is here. The expiry date goes in the DTM segment with special formatting. <OrderRequest> <OrderRequestHeader> <Payment> N901 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification PSM Credit Card N902 127 Reference Identification X AN 1/30 M Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier <PCard> number %number; #REQUIRED N903 369 Free-form Description X AN 1/45 O Free-form descriptive text <PCard> name %string; #IMPLIED Copyright (c) 2000-2003 Ariba, Inc. 17 Revision 6, June 2003

Segment: DTM Date/Time Reference Position: 297 Loop: N9 Optional Level: Heading (Must Use) Max Use: 1 Purpose: To specify pertinent dates and times Syntax Notes: 1 At least one of DTM02 DTM03 or DTM05 is required. 2 If DTM04 is present, then DTM03 is required. 3 If either DTM05 or DTM06 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Mandatory Notes: Example: DTM*036****UN*0432~ (This card expires in April 2032) Procurement card expiry date is here. The expiration date is often used as a check on the credit card number. They are traditionally stored as YYMM, but not necessarily. cxml 1.1 does not specify the syntax of the expiry date, so it will usually be "Unstructured" (DTM05="UN"). Supplies should be able to submit DTM06 "as is" for verification purposes. DTM01 374 Date/Time Qualifier M ID 3/3 M Code specifying type of date or time, or both date and time 036 Expiration Date coverage expires DTM05 1250 Date Time Period Format Qualifier X ID 2/3 M Code indicating the date format, time format, or date and time format Normally this will be "UN". If cxml specifies that the expiry date is specifically YYMM, then DTM05 will be "YM". UN Unstructured YM Year and Month Expressed in Format YYMM DTM06 1251 Date Time Period X AN 1/35 M Expression of a date, a time, or range of dates, times or dates and times Expiry date as YYMM <PCard> expiration %date; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 18 Revision 6, June 2003

Segment: N9 Reference Identification - Comments Position: 295 Loop: N9 Optional Level: Heading Max Use: 1 Purpose: To transmit identifying information as specified by the Reference Identification Qualifier Syntax Notes: 1 At least one of N902 or N903 is required. 2 If N906 is present, then N905 is required. 3 If either C04003 or C04004 is present, then the other is required. 4 If either C04005 or C04006 is present, then the other is required. Semantic Notes: 1 N906 reflects the time zone which the time reflects. 2 N907 contains data relating to the value cited in N902. Comments: Usage Notes: Used/Optional Notes: Example: N9*L1*Comment*en~ cxml provides one block of comments at the header level, which is mapped here. cxml also has the ability to include an attachment here, but attachments are not mapped to X12 <OrderRequest> <OrderRequestHeader> <Comments> N901 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification L1 Letters or Notes N902 127 Reference Identification X AN 1/30 M Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier Always set to "Comment". Ariba writes a constant here because X12 requires that either N902 or N903 is used, and the description is optional in cxml. By writing a constant, Ariba avoids any compliance issues with X12. N903 369 Free-form Description X AN 1/45 O Free-form descriptive text This is the language code attribute sent by cxml to describe the language used for the comment. The code is ISO 639 compliant. Note that this code is optional and can be supplied in lower case. Comments xml:lang %xmllangcode; #IMPLIED Copyright (c) 2000-2003 Ariba, Inc. 19 Revision 6, June 2003

Segment: MSG Message Text Position: 300 Loop: N9 Optional Level: Heading (Must Use) Max Use: 1000 Purpose: To provide a free-form format that allows the transmission of text information Syntax Notes: 1 If MSG03 is present, then MSG02 is required. Semantic Notes: 1 MSG03 is the number of lines to advance before printing. Comments: 1 MSG02 is not related to the specific characteristics of a printer, but identifies top of page, advance a line, etc. 2 If MSG02 is "AA - Advance the specified number of lines before print" then MSG03 is required. Usage Notes: Mandatory Notes: Example: MSG*Be sure printer ink cartridges are properly sealed to avoid spillage.~ The actual comment text. The X12 mapping will try to preserve the line breaks from the cxml as best it can. Each line break will automatically incur a new MSG segment, with the exception of a blank line. If one line goes over the capacity of MSG01 then the line is word-broken and a new MSG segment is created to continue the line. If the number of lines exceed the occurrence limit of MSG, then the remainder of the comment text will be truncated. Any imbedded Attachments will be dropped. However, Ariba might include a text representation that it is present. For example: MSG*See the attached word document. [Attachment "specs.doc"]~ <Comments> #PCDATA <Attachment> MSG01 933 Free-Form Message Text M AN 1/264 M Free-form message text MSG02 934 Printer Carriage Control Code X ID 2/2 O A field to be used for the control of the line feed of the receiving printer If a line was broken by the limitation of MSG01, and a new segment is created for continuation, then MSG02="LC", otherwise it is not used. LC Line Continuation Copyright (c) 2000-2003 Ariba, Inc. 20 Revision 6, June 2003

Segment: N9 Reference Identification - Extrinsics Position: 295 Loop: N9 Optional Level: Heading Max Use: 1 Purpose: To transmit identifying information as specified by the Reference Identification Qualifier Syntax Notes: 1 At least one of N902 or N903 is required. 2 If N906 is present, then N905 is required. 3 If either C04003 or C04004 is present, then the other is required. 4 If either C04005 or C04006 is present, then the other is required. Semantic Notes: 1 N906 reflects the time zone which the time reflects. 2 N907 contains data relating to the value cited in N902. Comments: Usage Notes: Used/Optional Notes: Example: N9*ZZ**Packing Instructions~ Extrinsic information is well-formed XML provided by the buyer to define extra information outside the scope of cxml's specifications. The content here is user-defined, and in X12 should be regarded as comment information. There are three rules to consider when looking at extrinsic information: 1. It is defined by the specific implementation of the Buyer and the Buyer's ERP system to any Ariba B2B Procurement Platform. Two different Buyers might send the same information in two distinct ways at this level. You cannot depend on the precise format. 2. Neither Ariba nor cxml control the exact content and formatting of Extrinsics. The implementation is user-defined, and popular implementations thereof often migrate their way into future versions of cxml. Treat this as comment information. 3. While every effort is made to preserve the integrity of Extrinsic information in the X12 implementation, it simply cannot be guaranteed. Non-printable characters cannot be transported and any occurrences of our X12 control characters (i.e.. SegTerm, ElemSep, CompSep) MUST BE TRANSLATED. Supplier side EDI Implementers should make their respective departments aware of this. <OrderRequest> <OrderRequestHeader> <Extrinsic> N901 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification ZZ Mutually Defined N903 369 Free-form Description X AN 1/45 O Free-form descriptive text Required name attribute to identify the Extrinsic. <Extrinsic> name %string; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 21 Revision 6, June 2003

Segment: MSG Message Text Position: 300 Loop: N9 Optional Level: Heading Max Use: 1000 Purpose: To provide a free-form format that allows the transmission of text information Syntax Notes: 1 If MSG03 is present, then MSG02 is required. Semantic Notes: 1 MSG03 is the number of lines to advance before printing. Comments: 1 MSG02 is not related to the specific characteristics of a printer, but identifies top of page, advance a line, etc. 2 If MSG02 is "AA - Advance the specified number of lines before print" then MSG03 is required. Usage Notes: Used/Optional Notes: Example: MSG*<Packing><UnitsPerCarton>512</UnitsPerCarton></Packing>~ MSG carries the actual Extrinsic data as accurately as possible. Where new lines are started in cxml, new MSG segments are created (except for blank lines) in order to preserve its integrity. If a line exceeds the capacity of MSG01, then a new MSG segment is created and the Extrinsic text continues. <Extrinsic> ANY MSG01 933 Free-Form Message Text M AN 1/264 M Free-form message text Actual Extrinsic text. MSG02 934 Printer Carriage Control Code X ID 2/2 O A field to be used for the control of the line feed of the receiving printer If a line from cxml is broken by MSG01's limitation, a new MSG segment is created with MSG02="LC" LC Line Continuation Copyright (c) 2000-2003 Ariba, Inc. 22 Revision 6, June 2003

Segment: N1 Bill-To Name Position: 310 Loop: N1 Optional Level: Heading Max Use: 1 Purpose: To identify a party by type of organization, name, and code Syntax Notes: 1 At least one of N102 or N103 is required. 2 If either N103 or N104 is present, then the other is required. Semantic Notes: Comments: 1 This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party. Usage Notes: 2 N105 and N106 further define the type of entity in N101. Used/Optional Notes: Example: N1*BT*Corporate Office*92*001~ Header Level Bill-To Address Information This is mandatory and sent only at the header level. <OrderRequest> <OrderRequestHeader> <BillTo> N101 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BT Bill-to-Party N102 93 Name X AN 1/60 M Free-form name Name associated by Buyer to this BillTo Address <BillTo> <Address> <Name> N103 66 Identification Code Qualifier X ID 1/2 O Code designating the system/method of code structure used for Identification Code (67) 92 Assigned by Buyer or Buyer's Agent N104 67 Identification Code X AN 2/80 O Code identifying a party or other code Address ID sent by the Buyer to identify this Bill-To, if it is present. <BillTo> <Address> addressid %string; #IMPLIED Copyright (c) 2000-2003 Ariba, Inc. 23 Revision 6, June 2003

Segment: N2 Additional Name Information Position: 320 Loop: N1 Optional Level: Heading Max Use: 2 Purpose: To specify additional names or those longer than 35 characters in length Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N2*Roxanne Barber*Accounts Payable~ N2*The Buyer, Inc.~ In a PostalAddress, cxml considers DeliverTo to be optional, but can send many. Ariba implements up to the first four here: two Name elements across two N2 segments. The first two iterations of DeliverTo will occupy the first N2 segment and the third and fourth iterations, if present, will occupy the second N2. Any further DeliverTo iterations will be ignored. <BillTo> <Address> <PostalAddress> <DeliverTo> N201 93 Name M AN 1/60 M Free-form name N202 93 Name O AN 1/60 O Free-form name Copyright (c) 2000-2003 Ariba, Inc. 24 Revision 6, June 2003

Segment: N3 Address Information Position: 330 Loop: N1 Optional Level: Heading Max Use: 2 Purpose: To specify the location of the named party Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N3*1 Buyer Parkway~ Street address information. cxml requires one <Street> tag but can send many. Like the N2 above, Ariba SN implements up to the first four: two elements across two segments. <BillTo> <Address> <PostalAddress> <Street> N301 166 Address Information M AN 1/55 M Address information N302 166 Address Information O AN 1/55 O Address information Copyright (c) 2000-2003 Ariba, Inc. 25 Revision 6, June 2003

Segment: N4 Geographic Location Position: 340 Loop: N1 Optional Level: Heading Max Use: 1 Purpose: To specify the geographic place of the named party Syntax Notes: 1 If N406 is present, then N405 is required. Semantic Notes: Comments: 1 A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location. Usage Notes: 2 N402 is required only if city name (N401) is in the U.S. or Canada. Used/Optional Notes: Example: N4*Chicago*IL*35101*US~ Geographic information from the PostalAddress cxml guarantees a City and Country. The State or Province code and the Postal Code are optional. <BillTo> <Address> <PostalAddress> <City>.. <State>.. <PostalCode>.. <Country> N401 19 City Name O AN 2/30 M Free-form text for city name N402 156 State or Province Code O ID 2/2 O Code (Standard State/Province) as defined by appropriate government agency http://www.usps.gov/ncsc/lookups/abbr_state.txt http://www.canadapost.ca/cpc2/addrm/addrguide/prov_symbols.html N403 116 Postal Code O ID 3/15 O Code defining international postal zone code excluding punctuation and blanks (zip code for United States) A US Zip Code can be five or nine digits. There will not be a separator present if the full nine digit code is sent. A Canadian Postal Code is always formatted "A9A9A9". There will not be a separator in the middle. N404 26 Country Code O ID 2/3 M Code identifying the country Country code is ISO-3166 compliant. You can see a list here along with their respective currency codes: http://www.unece.org/trade/rec/rec09en.htm <Country> isocountrycode %isocountrycode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 26 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 360 Loop: N1 Optional Level: Heading Max Use: >1 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: PER*AP*AP Purchases (Roxanne)*TE*13125551111*FX*13125552222*EM*Roxanne.Barber@thebuyer.com~ Contact information of Telephone, Fax, Email, and URL. cxml requires none, and only one of each is allowed. Each contact tag carries a name to identify itself. Where possible, Ariba SN groups those with the same name together. If all four pieces are supplied, or if they carry distinct names, then multiple PER segments are required. The telephone number supplied with either Phone or Fax is broken down by components by cxml. The number will be formatted appropriately here. Note that a URL will be limited to the maximum length of the Communication Number element. <ShipTo> <Address> <Phone>.. <Fax>.. <Email>.. <URL> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named AP Accounts Payable Department PER02 93 Name O AN 1/60 O Free-form name PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) Copyright (c) 2000-2003 Ariba, Inc. 27 Revision 6, June 2003

PER06 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 28 Revision 6, June 2003

Segment: N1 Ship-To Name Position: 310 Loop: N1 Optional Level: Heading Max Use: 1 Purpose: To identify a party by type of organization, name, and code Syntax Notes: 1 At least one of N102 or N103 is required. 2 If either N103 or N104 is present, then the other is required. Semantic Notes: Comments: 1 This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party. Usage Notes: 2 N105 and N106 further define the type of entity in N101. Used/Optional Notes: Example: N1*ST*San Jose Office*92*152~ Header Level Ship-To Address Information This is optional at the header level. Ariba will send ShipTo Information either at the header OR at the line item level, but not both. If it is absent here then it is required at the line item level. <OrderRequest> <OrderRequestHeader> <ShipTo> N101 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual ST Ship To N102 93 Name X AN 1/60 M Free-form name Name associated by Buyer to this ShipTo Address <ShipTo> <Address> <Name> N103 66 Identification Code Qualifier X ID 1/2 O Code designating the system/method of code structure used for Identification Code (67) 92 Assigned by Buyer or Buyer's Agent N104 67 Identification Code X AN 2/80 O Code identifying a party or other code Address ID sent by the Buyer to identify this ShipTo, if it is present. <ShipTo> <Address> addressid %string; #IMPLIED Copyright (c) 2000-2003 Ariba, Inc. 29 Revision 6, June 2003

Segment: N2 Additional Name Information Position: 320 Loop: N1 Optional Level: Heading Max Use: 2 Purpose: To specify additional names or those longer than 35 characters in length Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N2*Maria Valenzuela*B1-2462~ N2*The Buyer, Inc.~ In a PostalAddress, cxml considers DeliverTo to be optional, but can send many. Ariba implements up to the first four here: two Name elements across two N2 segments. The first two iterations of DeliverTo will occupy the first N2 segment and the third and fourth iterations, if present, will occupy the second N2. Any further DeliverTo iterations will be ignored. <ShipTo> <Address> <PostalAddress> <DeliverTo> N201 93 Name M AN 1/60 M Free-form name N202 93 Name O AN 1/60 O Free-form name Copyright (c) 2000-2003 Ariba, Inc. 30 Revision 6, June 2003

Segment: N3 Address Information Position: 330 Loop: N1 Optional Level: Heading Max Use: 2 Purpose: To specify the location of the named party Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N3*1500 Buyer Way~ Street address information. cxml requires one <Street> tag but can send many. Like the N2 above, Ariba SN implements up to the first four: two elements across two segments. <ShipTo> <Address> <PostalAddress> <Street> N301 166 Address Information M AN 1/55 M Address information N302 166 Address Information O AN 1/55 O Address information Copyright (c) 2000-2003 Ariba, Inc. 31 Revision 6, June 2003

Segment: N4 Geographic Location Position: 340 Loop: N1 Optional Level: Heading Max Use: 1 Purpose: To specify the geographic place of the named party Syntax Notes: 1 If N406 is present, then N405 is required. Semantic Notes: Comments: 1 A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location. Usage Notes: 2 N402 is required only if city name (N401) is in the U.S. or Canada. Used/Optional Notes: Example: N4*San Jose*CA*951103492*US~ Geographic information from the PostalAddress cxml guarantees a City and Country. The State or Province code and the Postal Code are optional. <ShipTo> <Address> <PostalAddress> <City>.. <State>.. <PostalCode>.. <Country> N401 19 City Name O AN 2/30 M Free-form text for city name N402 156 State or Province Code O ID 2/2 O Code (Standard State/Province) as defined by appropriate government agency http://www.usps.gov/ncsc/lookups/abbr_state.txt http://www.canadapost.ca/cpc2/addrm/addrguide/prov_symbols.html N403 116 Postal Code O ID 3/15 O Code defining international postal zone code excluding punctuation and blanks (zip code for United States) A US Zip Code can be five or nine digits. There will not be a separator present if the full nine digit code is sent. Canadian postal codes are six characters with no space. N404 26 Country Code O ID 2/3 M Code identifying the country Country code is ISO-3166 compliant. You can see a list here along with their respective currency codes: http://www.unece.org/trade/rec/rec09en.htm <Country> isocountrycode %isocountrycode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 32 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 360 Loop: N1 Optional Level: Heading Max Use: >1 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: PER*RE*Maria - Primary*TE*14085551414*FX*14085551616*EM*Maria.Valenzuela@thebuyer.com~ Contact information of Telephone, Fax, Email, and URL. cxml requires none, and only one of each is allowed. Each contact tag carries a name to identify itself. Where possible, Ariba SN groups those with the same name together. If all four pieces are supplied, or if they carry distinct names, then multiple PER segments are required. The telephone number supplied with either Phone or Fax is broken down by components by cxml. The number will be formatted appropriately here. Note that a URL will be limited to the maximum length of the Communication Number element. <ShipTo> <Address> <Phone>.. <Fax>.. <Email>.. <URL> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named RE Receiving Contact PER02 93 Name O AN 1/60 O Free-form name PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER06 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 33 Revision 6, June 2003

PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 34 Revision 6, June 2003

Segment: N1 Detailed Contact Information - Name Position: 310 Loop: N1 Optional Level: Heading Max Use: 1 Purpose: To identify a party by type of organization, name, and code Syntax Notes: 1 At least one of N102 or N103 is required. 2 If either N103 or N104 is present, then the other is required. Semantic Notes: Comments: 1 This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party. Usage Notes: 2 N105 and N106 further define the type of entity in N101. Used/Optional Notes: Example: N1*NG*Administration~ This section of N1 allows for detailed contact information, beyond what can be specified in the PER[1/060] at the top, which is only intended for brief information. Any contact that includes a PostalAddress must be specified here, along with contacts requiring a variety of name tags for a specified role. <OrderRequest> <OrderRequestHeader> <Contact> <Name> N101 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual 60 Salesperson Identification of individual that sold the product e.g. SSN, salesperson id, etc. role="sales" A9 BY CA EN KY L5 NG PD RI Sales Office A business entity whose main activity is, or a location at which, the sale of goods or services takes place role="customerservice" Buying Party (Purchaser) role="buyercorporate" Carrier role="carriercorporate" End User role="enduser" Technical Office role="technicalsupport" Contact role unspecified Administrator role="administrator" Purchaser's Department Buyer role="purchasingagent" Remit To Copyright (c) 2000-2003 Ariba, Inc. 35 Revision 6, June 2003

role="remitto" SF SO Ship From role="shipfrom" Sold To If Different From Bill To role="soldto" SU Supplier/Manufacturer role="suppliercorporate" N102 93 Name X AN 1/60 O Free-form name Copyright (c) 2000-2003 Ariba, Inc. 36 Revision 6, June 2003

Segment: N2 Additional Name Information Position: 320 Loop: N1 Optional Level: Heading Max Use: 2 Purpose: To specify additional names or those longer than 35 characters in length Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N2*Elmira Gulch*2nd floor~ Ariba SN accepts up to four DeliverTo tags from cxml: two elements across two segments. <Contact> <PostalAddress> <DeliverTo> N201 93 Name M AN 1/60 M Free-form name N202 93 Name O AN 1/60 O Free-form name Copyright (c) 2000-2003 Ariba, Inc. 37 Revision 6, June 2003

Segment: N3 Address Information Position: 330 Loop: N1 Optional Level: Heading Max Use: 2 Purpose: To specify the location of the named party Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: N3*The Buyer, Inc.*1 Buyer Parkway~ In cxml, Street is required if PostalAddress is present. Ariba SN maps a maximum of four Street tags here: two elements across two segments. <Contact> <PostalAddress> <Street> N301 166 Address Information M AN 1/55 M Address information N302 166 Address Information O AN 1/55 O Address information Copyright (c) 2000-2003 Ariba, Inc. 38 Revision 6, June 2003

Segment: N4 Geographic Location Position: 340 Loop: N1 Optional Level: Heading Max Use: 1 Purpose: To specify the geographic place of the named party Syntax Notes: 1 If N406 is present, then N405 is required. Semantic Notes: Comments: 1 A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location. Usage Notes: 2 N402 is required only if city name (N401) is in the U.S. or Canada. Used/Optional Notes: N4*Chicago*IL*34592*US~ Geographic part of the address <Contact> <PostalAddress> <City>.. <State>.. <PostalCode>.. <Country> N401 19 City Name O AN 2/30 M Free-form text for city name <Contact> <PostalAddress> <City> N402 156 State or Province Code O ID 2/2 O Code (Standard State/Province) as defined by appropriate government agency http://www.usps.gov/ncsc/lookups/abbr_state.txt http://www.canadapost.ca/cpc2/addrm/addrguide/prov_symbols.html <Contact> <PostalAddress> <State> N403 116 Postal Code O ID 3/15 O Code defining international postal zone code excluding punctuation and blanks (zip code for United States) <Contact> <PostalAddress> <PostalCode> N404 26 Country Code O ID 2/3 M Code identifying the country Country code is ISO-3166 compliant. You can see a list here along with their respective currency codes: http://www.unece.org/trade/rec/rec09en.htm <Contact> <PostalAddress> <Country> isocountrycode %isocountrycode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 39 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 360 Loop: N1 Optional Level: Heading Max Use: >1 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: PER*AM*Elmira - Admin*TE*18005551515*EM*Elmira.Gulch@thebuyer.com~ PER*AM**TE*18005552727*UR*http://admin.thebuyer.com~ Several PER's are allowed. The contact communications fragments are merged according to their name attributes. Those with the same name are placed in the same segment. <OrderRequest> <OrderRequestHeader> <Contact> <Email>.. <Phone>.. <Fax>.. <URL> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named The code used here depends on the role specified in N101. AE Corporate Purchasing Agent role="purchasingagent" AM Administrator role="administrator" BD Buyer Name or Department BL Technical Department role="technicalsupport" CN General Contact role unspecified CR Customer Relations role="customerservice" EB Entered By role="enduser" SH Shipper Contact SR Sales Representative or Department role="sales" SU Supplier Contact PER02 93 Name O AN 1/60 O Free-form name <Contact> <Phone>.. <Fax>.. <Email>.. <URL> name %string; #IMPLIED PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail Copyright (c) 2000-2003 Ariba, Inc. 40 Revision 6, June 2003

FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER06 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 41 Revision 6, June 2003

Segment: PO1 Baseline Item Data Position: 010 Loop: PO1 Mandatory Level: Detail Usage: Mandatory Max Use: 1 Purpose: To specify basic and most frequently used line item data Syntax Notes: 1 If PO103 is present, then PO102 is required. 2 If PO105 is present, then PO104 is required. 3 If either PO106 or PO107 is present, then the other is required. 4 If either PO108 or PO109 is present, then the other is required. 5 If either PO110 or PO111 is present, then the other is required. 6 If either PO112 or PO113 is present, then the other is required. 7 If either PO114 or PO115 is present, then the other is required. 8 If either PO116 or PO117 is present, then the other is required. 9 If either PO118 or PO119 is present, then the other is required. 10 If either PO120 or PO121 is present, then the other is required. 11 If either PO122 or PO123 is present, then the other is required. 12 If either PO124 or PO125 is present, then the other is required. Semantic Notes: Comments: 1 See the Data Element Dictionary for a complete list of IDs. 2 PO101 is the line item identification. 3 PO106 through PO125 provide for ten different product/service IDs per each item. For example: Case, Color, Drawing No., U.P.C. No., ISBN No., Model No., or SKU. Notes: Example: PO1*5*25*RO*.64**VP*26409*MG*YZ323*MF*3M*C3*31201512~ Each <ItemOut> in the cxml <OrderRequest> incurs a PO1 loop. The minimum information is the Quantity Ordered and the Supplier Part ID. You can receive that in a single PO1 segment and nothing more. Additional details are optionally supplied by the Buyer. <OrderRequest> <ItemOut> PO101 350 Assigned Identification O AN 1/20 O Alphanumeric characters assigned for differentiation within a transaction set Position (counting from 1) of this item in an order. Used to maintain a reference between items in create and update OrderRequest documents. Its use is recommended in OrderRequest documents and no two lines can have the same linenumber. <ItemOut> linenumber %uint; #IMPLIED PO102 330 Quantity Ordered X R 1/15 O Quantity ordered Number of units being ordered by the Buyer. <ItemOut> quantity %r8; #REQUIRED PO103 355 Unit or Basis for Measurement Code O ID 2/2 O Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken The UnitOfMeasure is required if ItemDetail is supplied by the Buyer. If it is not specified in the cxml OrderRequest, Ariba does not map it. If it is not specified then the Buyer is asserting that the Unit of Measure is not relevant to the item being ordered, and they simply wish to buy (quantity) "whatevers". All X12 codes are allowed here. The code from cxml is UN/CEFACT compliant, and is translated by Ariba Network to an X12 equivalent. <ItemOut> <ItemDetail> Copyright (c) 2000-2003 Ariba, Inc. 42 Revision 6, June 2003

<UnitOfMeasure> Refer to 004010 Data Element Dictionary for acceptable code values. PO104 212 Unit Price X R 1/17 O Price per unit of product, service, commodity, etc. This is the price per unit that the Buyer is prepared to pay. It is required only if ItemDetail is supplied by the Buyer. If it is not supplied, then a supplier will be expected to honour a previously agreed upon price; for example, a price advertised in a catalogue. <ItemOut> <ItemDetail> <UnitPrice> PO106 235 Product/Service ID Qualifier X ID 2/2 O Code identifying the type/source of the descriptive number used in Product/Service ID (234) MF MG VP Manufacturer <ItemOut> <ItemDetail> <ManufacturerName> Manufacturer's Part Number This is optional, but can identify the item from another vantage point. <ItemOut> <ItemDetail> <ManufacturerPartID> Vendor's (Seller's) Part Number SupplierPartID is mandatory. cxml guarantees this information from the Buyer. <ItemOut> <ItemID> <SupplierPartID> PO107 234 Product/Service ID X AN 1/48 O Identifying number for a product or service PO108 235 Product/Service ID Qualifier X ID 2/2 O Code identifying the type/source of the descriptive number used in Product/Service ID (234) MF Manufacturer MG Manufacturer's Part Number VP Vendor's (Seller's) Part Number PO109 234 Product/Service ID X AN 1/48 O Identifying number for a product or service PO110 235 Product/Service ID Qualifier X ID 2/2 O Code identifying the type/source of the descriptive number used in Product/Service ID (234) MF Manufacturer MG Manufacturer's Part Number VP Vendor's (Seller's) Part Number PO111 234 Product/Service ID X AN 1/48 O Identifying number for a product or service PO112 235 Product/Service ID Qualifier X ID 2/2 O Code identifying the type/source of the descriptive number used in Product/Service ID (234) MF Manufacturer MG Manufacturer's Part Number VP Vendor's (Seller's) Part Number PO113 234 Product/Service ID X AN 1/48 O Identifying number for a product or service Copyright (c) 2000-2003 Ariba, Inc. 43 Revision 6, June 2003

Segment: CUR Currency of Unit Price Position: 020 Loop: PO1 Mandatory Level: Detail Max Use: 1 Purpose: To specify the currency (dollars, pounds, francs, etc.) used in a transaction Syntax Notes: 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. Semantic Notes: Comments: 1 See Figures Appendix for examples detailing the use of the CUR segment. Usage Notes: Used/Optional Notes: Example: CUR*BY*USD~ Specifies the currency of the Unit Price (optionally) supplied by the Buyer. In cxml, currency is a required attribute of the Money tag, from UnitPrice. UnitPrice is required if ItemDetail is supplied. <OrderRequest> <ItemOut> <ItemDetail> <UnitPrice> <Money> currency %isocurrencycode; #REQUIRED CUR01 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BY Buying Party (Purchaser) CUR02 100 Currency Code M ID 3/3 M Code (Standard ISO) for country in whose currency the charges are specified These currencies serve as examples; they are not the only codes used. The currency code is ISO 4217 compliant and Ariba writes here whatever is collected from any Ariba B2B Procurement Platform. X12 also expects ISO 4217 conformance here, the same as %isocurrencycode; See http://www.unece.org/trade/rec/rec09en.htm Copyright (c) 2000-2003 Ariba, Inc. 44 Revision 6, June 2003

Segment: PID Product/Item Description Position: 050 Loop: PID Optional Level: Detail Max Use: 1 Purpose: To describe a product or process in coded or free-form format Syntax Notes: 1 If PID04 is present, then PID03 is required. 2 At least one of PID04 or PID05 is required. 3 If PID07 is present, then PID03 is required. 4 If PID08 is present, then PID04 is required. 5 If PID09 is present, then PID05 is required. Semantic Notes: 1 Use PID03 to indicate the organization that publishes the code list being referred to. 2 PID04 should be used for industry-specific product description codes. 3 PID08 describes the physical characteristics of the product identified in PID04. A "Y" indicates that the specified attribute applies to this item; an "N" indicates it does not apply. Any other value is indeterminate. 4 PID09 is used to identify the language being used in PID05. Comments: 1 If PID01 equals "F", then PID05 is used. If PID01 equals "S", then PID04 is used. If PID01 equals "X", then both PID04 and PID05 are used. 2 Use PID06 when necessary to refer to the product surface or layer being described in the segment. Usage Notes: 3 PID07 specifies the individual code list of the agency specified in PID03. Used/Optional Notes: Example: PID*F*GEN***3M Brand Scotch Tape****en~ PID*F****A cellophane strip bearing an adhesive coating on one side and wound tightly****en~ PID*F****onto a roll. A frame surrounds the roll with a tearing edge protruding about one****en~ PID*F****inch from the center of the roll's rotational axis.****en~ * Note that our PID looping group allows 1000 iterations in total. This can be divided any way between Item Descriptions and Classifications. But 1000 is the combined limit. The product description is required if ItemDetail is supplied by the Buyer. Each <Description> tag can be interspersed with its own #PCDATA and <ShortName> tags. The recommended practice is to put <ShortName> either at the beginning or at the end, if it is present. But there is no rule in cxml enforcing that. The description text itself can be quite long. ShortName is an optional child element which provides a short description of fifty characters or less. Any ShortName will always produce its own PID segment, with PID02="GEN". The regular description text does not mark PID02. <OrderRequest> <ItemOut> <ItemDetail> <Description> PID01 349 Item Description Type M ID 1/1 M Code indicating the format of a description F Free-form PID02 750 Product/Process Characteristic Code O ID 2/3 O Code identifying the general class of a product or process characteristic Set to "GEN" for a ShortName, unused for regular description text. GEN General Description PID05 352 Description X AN 1/80 O A free-form description to clarify the related data elements and their content Copyright (c) 2000-2003 Ariba, Inc. 45 Revision 6, June 2003

Description text or the ShortName contents <Description> #PCDATA.. <ShortName> PID09 819 Language Code O ID 2/3 O Code designating the language used in text, from a standard code list maintained by the International Standards Organization (ISO 639) <Description> xml:lang %xmllangcode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 46 Revision 6, June 2003

Segment: PID Product/Item Description - Classification Details Position: 050 Loop: PID Optional Level: Detail Max Use: 1 Purpose: To describe a product or process in coded or free-form format Syntax Notes: 1 If PID04 is present, then PID03 is required. 2 At least one of PID04 or PID05 is required. 3 If PID07 is present, then PID03 is required. 4 If PID08 is present, then PID04 is required. 5 If PID09 is present, then PID05 is required. Semantic Notes: 1 Use PID03 to indicate the organization that publishes the code list being referred to. 2 PID04 should be used for industry-specific product description codes. 3 PID08 describes the physical characteristics of the product identified in PID04. A "Y" indicates that the specified attribute applies to this item; an "N" indicates it does not apply. Any other value is indeterminate. 4 PID09 is used to identify the language being used in PID05. Comments: 1 If PID01 equals "F", then PID05 is used. If PID01 equals "S", then PID04 is used. If PID01 equals "X", then both PID04 and PID05 are used. 2 Use PID06 when necessary to refer to the product surface or layer being described in the segment. Usage Notes: 3 PID07 specifies the individual code list of the agency specified in PID03. Used/Optional Notes: Example: PID*S*MAC*UN*31201512***SPSC~ * Note that our PID looping group allows 1000 iterations in total. This can be divided any way between Item Descriptions and Classifications. But 1000 is the combined limit. Item classifications are required by cxml 1.1 to adhere to the UN/SPSC standard (www.unspsc.org). If <ItemDetail> is supplied, then at least one <Classification> tag is required. The first classification is mapped to PO1 for convenience. Multiple classifications are required to be unique. <OrderRequest> <ItemOut> <ItemDetail> <Classification> PID01 349 Item Description Type M ID 1/1 M Code indicating the format of a description S Structured (From Industry Code List) PID02 750 Product/Process Characteristic Code O ID 2/3 M Code identifying the general class of a product or process characteristic MAC Material Classification Class of material, e.g. prime, secondary, etc. PID03 559 Agency Qualifier Code X ID 2/2 M Code identifying the agency assigning the code values AS Assigned by Seller Used if domain attribute does not equal "UNSPSC" UN United Nations (UN) Used if domain attribute equals "UNSPSC" PID04 751 Product Description Code X AN 1/12 M A code from an industry code list which provides specific data about a product characteristic Copyright (c) 2000-2003 Ariba, Inc. 47 Revision 6, June 2003

Classification data <Classification> #PCDATA PID07 822 Source Subqualifier O AN 1/15 M A reference that indicates the table or text maintained by the Source Qualifier If domain attribute equals "UNSPSC" (which it should), then this is "SPSC", so that the PID03/PID07 combination make up "UN/SPSC". If domain does not equal "UNSPSC", then PID07 contains the domain attribute value sent by the buyer and assigned by the seller. Copyright (c) 2000-2003 Ariba, Inc. 48 Revision 6, June 2003

Segment: REF Reference Identification - Requisition ID Position: 100 Loop: PO1 Mandatory Level: Detail Max Use: 1 Purpose: To specify identifying information Syntax Notes: 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. Semantic Notes: 1 REF04 contains data relating to the value cited in REF02. Comments: Usage Notes: Used/Optional Notes: Example: REF*RQ*4592782~ The line item level Requisition Id is an optional attribute of <ItemOut>. It can be specified in the order header, or at the line item level, but not both. <OrderRequest> <ItemOut> requisitionid %string; #IMPLIED REF01 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification RQ Purchase Requisition Number REF02 127 Reference Identification X AN 1/30 M Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier Requisition Id value Copyright (c) 2000-2003 Ariba, Inc. 49 Revision 6, June 2003

Segment: REF Reference Identification - Supplier ID Position: 100 Loop: PO1 Mandatory Level: Detail Max Use: 1 Purpose: To specify identifying information Syntax Notes: 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. Semantic Notes: 1 REF04 contains data relating to the value cited in REF02. Comments: Usage Notes: Used/Optional Notes: Example: REF*ZA*352948107*DUNS~ Supplier identification is optionally provided for completeness. Since a supplier is receiving the Purchase Order, this value should always be their own recognized identification. EDI Implementers can use this as a second verification that the PO was truly intended for this supplier. <OrderRequest> <ItemOut> <SupplierID> REF01 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification ZA Supplier REF02 127 Reference Identification X AN 1/30 O Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier Supplier identification <SupplierID> #PCDATA REF03 352 Description X AN 1/80 O A free-form description to clarify the related data elements and their content Required domain attribute value to indicate what this identification represents. <SupplierID> domain %string; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 50 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 110 Loop: PO1 Mandatory Level: Detail Max Use: 3 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: PER*BL*Tech Support*TE*18005553737*EM*tech.support@thebuyer.com~ PER*CR*Customer Service*TE*18005554141*FX*13125551827*EM*customer.service@thebuyer.com~ * Refer to implementation notes for PER[1/060]; they are almost identical. Contact information from the Line Item is mapped here briefly. Contacts that involve a PostalAddress or extensive details will appear in an N1 loop. We are limited here to only three PER segments, so this section is reserved for short and quick contact information. <OrderRequest> <ItemOut> <Contact> <Phone>.. <Fax>.. <Email>.. <URL> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named AE Corporate Purchasing Agent role="purchasingagent" AM Administrator role="administrator" BL Technical Department role="technicalsupport" CN General Contact (role unspecified) CR Customer Relations role="customerservice" EB Entered By role="enduser" SR Sales Representative or Department role="sales" PER02 93 Name O AN 1/60 O Free-form name Required Name tag. Where possible, contact information will be grouped with a matching name. PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) Copyright (c) 2000-2003 Ariba, Inc. 51 Revision 6, June 2003

PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER06 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 52 Revision 6, June 2003

Segment: SAC Shipping Charge Position: 130 Loop: SAC Optional Level: Detail Max Use: 1 Purpose: To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service, promotion, allowance, or charge Syntax Notes: 1 At least one of SAC02 or SAC03 is required. 2 If either SAC03 or SAC04 is present, then the other is required. 3 If either SAC06 or SAC07 is present, then the other is required. 4 If either SAC09 or SAC10 is present, then the other is required. 5 If SAC11 is present, then SAC10 is required. 6 If SAC13 is present, then at least one of SAC02 or SAC04 is required. 7 If SAC14 is present, then SAC13 is required. 8 If SAC16 is present, then SAC15 is required. Semantic Notes: 1 If SAC01 is "A" or "C", then at least one of SAC05, SAC07, or SAC08 is required. 2 SAC05 is the total amount for the service, promotion, allowance, or charge. If SAC05 is present with SAC07 or SAC08, then SAC05 takes precedence. 3 SAC08 is the allowance or charge rate per unit. 4 SAC10 and SAC11 is the quantity basis when the allowance or charge quantity is different from the purchase order or invoice quantity. SAC10 and SAC11 used together indicate a quantity range, which could be a dollar amount, that is applicable to service, promotion, allowance, or charge. 5 SAC13 is used in conjunction with SAC02 or SAC04 to provide a specific reference number as identified by the code used. 6 SAC14 is used in conjunction with SAC13 to identify an option when there is more than one option of the promotion. 7 SAC16 is used to identify the language being used in SAC15. Comments: 1 SAC04 may be used to uniquely identify the service, promotion, allowance, or charge. In addition, it may be used in conjunction to further the code in SAC02. 2 In some business applications, it is necessary to advise the trading partner of the actual dollar amount that a particular allowance, charge, or promotion was based on to reduce ambiguity. This amount is commonly referred to as "Dollar Basis Amount". It is represented in the SAC segment in SAC10 using the qualifier "DO" - Dollars in SAC09. Usage Notes: Notes: Used/Optional Example: SAC*C*G830***4680********4812489789**2 day express*en~ In the detail section, this represents a shipping cost for this one line item to the supplier. There can be one of these for the entire order, or one per line item. This context represents one for the line item. Shipping charges can be applied either at the header, for the entire order, or at the line item level. But not both. <OrderRequest> <ItemOut> <Shipping> SAC01 248 Allowance or Charge Indicator M ID 1/1 M Code which indicates an allowance or charge for the service specified C Charge SAC02 1300 Service, Promotion, Allowance, or Charge Code X ID 4/4 O Code identifying the service, promotion, allowance, or charge G830 Shipping and Handling SAC05 610 Amount O N2 1/15 O Copyright (c) 2000-2003 Ariba, Inc. 53 Revision 6, June 2003

Monetary amount <Shipping> <Money> #PCDATA SAC13 127 Reference Identification X AN 1/30 O Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier SAC15 352 Description X AN 1/80 O A free-form description to clarify the related data elements and their content Ariba SN accepts only one Description here. cxml allows for a ShortName to be included with the Description. If the Description text is longer than 80 characters, and a ShortName is available, then Ariba SN maps the ShortName here. <Shipping> <Description> #PCDATA.. <ShortName> SAC16 819 Language Code O ID 2/3 O Code designating the language used in text, from a standard code list maintained by the International Standards Organization (ISO 639) <Shipping> <Description> xml:lang %isolangcode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 54 Revision 6, June 2003

Segment: CUR Currency Position: 135 Loop: SAC Optional Level: Detail (Must Use) Max Use: 1 Purpose: To specify the currency (dollars, pounds, francs, etc.) used in a transaction Syntax Notes: 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. Semantic Notes: Comments: 1 See Figures Appendix for examples detailing the use of the CUR segment. Usage Notes: Mandatory Notes: Example: CUR*BY*USD~ CUR01 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BY Buying Party (Purchaser) CUR02 100 Currency Code M ID 3/3 M Code (Standard ISO) for country in whose currency the charges are specified These currencies serve as examples; they are not the only codes used. The currency code is ISO 4217 compliant and Ariba writes here whatever is collected from any Ariba B2B Procurement Platform. X12 also expects ISO 4217 conformance here, the same as %isocurrencycode; See http://www.unece.org/trade/rec/rec09en.htm CAD Canadian Dollars GBP British Pound USD US Dollars XEU European Monetary Coop Fund Copyright (c) 2000-2003 Ariba, Inc. 55 Revision 6, June 2003

Segment: SAC Account Distribution Position: 130 Loop: SAC Optional Level: Detail Max Use: 1 Purpose: To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service, promotion, allowance, or charge Syntax Notes: 1 At least one of SAC02 or SAC03 is required. 2 If either SAC03 or SAC04 is present, then the other is required. 3 If either SAC06 or SAC07 is present, then the other is required. 4 If either SAC09 or SAC10 is present, then the other is required. 5 If SAC11 is present, then SAC10 is required. 6 If SAC13 is present, then at least one of SAC02 or SAC04 is required. 7 If SAC14 is present, then SAC13 is required. 8 If SAC16 is present, then SAC15 is required. Semantic Notes: 1 If SAC01 is "A" or "C", then at least one of SAC05, SAC07, or SAC08 is required. 2 SAC05 is the total amount for the service, promotion, allowance, or charge. If SAC05 is present with SAC07 or SAC08, then SAC05 takes precedence. 3 SAC08 is the allowance or charge rate per unit. 4 SAC10 and SAC11 is the quantity basis when the allowance or charge quantity is different from the purchase order or invoice quantity. SAC10 and SAC11 used together indicate a quantity range, which could be a dollar amount, that is applicable to service, promotion, allowance, or charge. 5 SAC13 is used in conjunction with SAC02 or SAC04 to provide a specific reference number as identified by the code used. 6 SAC14 is used in conjunction with SAC13 to identify an option when there is more than one option of the promotion. 7 SAC16 is used to identify the language being used in SAC15. Comments: 1 SAC04 may be used to uniquely identify the service, promotion, allowance, or charge. In addition, it may be used in conjunction to further the code in SAC02. 2 In some business applications, it is necessary to advise the trading partner of the actual dollar amount that a particular allowance, charge, or promotion was based on to reduce ambiguity. This amount is commonly referred to as "Dollar Basis Amount". It is represented in the SAC segment in SAC10 using the qualifier "DO" - Dollars in SAC09. Usage Notes: Notes: Used/Optional Example: SAC*N*B840***9800********07-D84-422-E11*1*Project: 07, Cost Center: D84, Department: 422, Account: E11~ SAC*N*B840***2700********07-G18-422-E11*2*Project: 07, Cost Center: G18, Department: 422, Account: E11~ Here the buyer has requested a two way split on the charges. The buyer's account number is comprised of four segments. For reference purposes, Ariba SN expands the account number with the account segment names in the description element, SAC15, as space allows. The Option Number element, SAC14, shows the sequential occurrence of <Distribution> tags. Out of the $125 total, $98 is to be charged to one account and $27 to another. The account number segmentation is implied by the buyer's internal system. Buyers can optionally specify a list of accounts showing how they want the charges for this line item distributed on their invoice. If present, suppliers are expected to invoice according to these accounting guidelines. <OrderRequest> <ItemOut> Copyright (c) 2000-2003 Ariba, Inc. 56 Revision 6, June 2003

<Distribution> SAC01 248 Allowance or Charge Indicator M ID 1/1 M Code which indicates an allowance or charge for the service specified N No Allowance or Charge SAC02 1300 Service, Promotion, Allowance, or Charge Code X ID 4/4 M Code identifying the service, promotion, allowance, or charge B840 Customer Account Identification G/L Account SAC05 610 Amount O N2 1/15 M Monetary amount Specific amount of extended price to be applied to this account. <Distribution> <Charge> <Money> SAC13 127 Reference Identification X AN 1/30 M Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier Whole account number. This is all account segment id's concatenated together. This number is used to designate the administrative budget center against which the transaction is to be charged in the Buying Organization's accounting classification coding structure. In some organizations this field will contain an account number, a department code, a project number and/or a cost center. <Distribution> <Accounting> <AccountingSegment>.. <Segment> id %string; #REQUIRED * The "id" attribute from all <Segment> or <AccountingSegment> tags enumerated under Accounting are concatenated to form a complete account number. SAC14 770 Option Number O AN 1/20 M A unique number identifying available promotion or allowance options when more than one is offered Integer representing the sequential occurrence of the <Distribution> tag for this line item. This number is not explicitly stated in the cxml body, but rather is implied by tag sequencing. This number is generated by the EDI mapping process. SAC15 352 Description X AN 1/80 M A free-form description to clarify the related data elements and their content = "LISA" (Line Item Split Accounting) Copyright (c) 2000-2003 Ariba, Inc. 57 Revision 6, June 2003

Segment: CUR Currency Position: 135 Loop: SAC Optional Level: Detail Max Use: 1 Purpose: To specify the currency (dollars, pounds, francs, etc.) used in a transaction Syntax Notes: 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. Semantic Notes: Comments: 1 See Figures Appendix for examples detailing the use of the CUR segment. Usage Notes: Used/Optional Notes: Example: CUR*BY*USD~ CUR01 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual BY Buying Party (Purchaser) CUR02 100 Currency Code M ID 3/3 M Code (Standard ISO) for country in whose currency the charges are specified Copyright (c) 2000-2003 Ariba, Inc. 58 Revision 6, June 2003

Segment: DTM Requested Delivery Date Position: 210 Loop: PO1 Mandatory Level: Detail Max Use: 1 Purpose: To specify pertinent dates and times Syntax Notes: 1 At least one of DTM02 DTM03 or DTM05 is required. 2 If DTM04 is present, then DTM03 is required. 3 If either DTM05 or DTM06 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: DTM*002*20000415~ Requested delivery date is an optional attribute of the <ItemOut> tag from cxml. It represents the "Need-By" date in any Ariba B2B Procurement Platform. It will be mapped here if it is supplied. <OrderRequest> <ItemOut> requesteddeliverydate %date; #IMPLIED DTM01 374 Date/Time Qualifier M ID 3/3 M Code specifying type of date or time, or both date and time 002 Delivery Requested DTM02 373 Date X DT 8/8 O Date expressed as CCYYMMDD Requested delivery date Copyright (c) 2000-2003 Ariba, Inc. 59 Revision 6, June 2003

Segment: TXI Tax Information Position: 291 Loop: PO1 Mandatory Level: Detail Max Use: 1 Purpose: To specify tax information Syntax Notes: 1 At least one of TXI02 TXI03 or TXI06 is required. 2 If either TXI04 or TXI05 is present, then the other is required. 3 If TXI08 is present, then TXI03 is required. Semantic Notes: 1 TXI02 is the monetary amount of the tax. 2 TXI03 is the tax percent expressed as a decimal. 3 TXI07 is a code indicating the relationship of the price or amount to the associated segment. Comments: Usage Notes: Used/Optional Notes: Example: TXI*TX*27.18~ cxml supplies tax information with an amount and a description. Ariba sends the tax amount here. Taxes can be present at both the header and line item levels. Taxes at the line item level are used to show a per line item breakdown. If specific tax information is not present, then suppliers are expected to calculate and apply required taxes. If buyers are specifying tax amounts, then they have done this calculation on their side, and an error might result in an acknowledgment either recalculating this properly or non-fulfillment pending correction. <OrderRequest> <ItemOut> <Tax> TXI01 963 Tax Type Code M ID 2/2 M Code specifying the type of tax TX All Taxes Total of all applicable taxes TXI02 782 Monetary Amount X R 1/18 M Monetary amount Copyright (c) 2000-2003 Ariba, Inc. 60 Revision 6, June 2003

Segment: N9 Reference Identification - URL Position: 330 Loop: N9 Optional Level: Detail Max Use: 1 Purpose: To transmit identifying information as specified by the Reference Identification Qualifier Syntax Notes: 1 At least one of N902 or N903 is required. 2 If N906 is present, then N905 is required. 3 If either C04003 or C04004 is present, then the other is required. 4 If either C04005 or C04006 is present, then the other is required. Semantic Notes: 1 N906 reflects the time zone which the time reflects. 2 N907 contains data relating to the value cited in N902. Comments: Usage Notes: Used/Optional Notes: Example: N9*URL*URL*Catalog Entry~ If ItemDetail is supplied, there is one optional URL the Buyer can send to reference the item. What the URL refers to, if specified, is mapped in N903. The URL itself is mapped to the MSG segment. <OrderRequest> <ItemOut> <ItemDetail> <URL> N901 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification URL Uniform Resource Locator N902 127 Reference Identification X AN 1/30 M Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier Ariba writes constant "URL" here because either element 2 or 3 is required, and our data for element 3 is optional. This is to prevent an X12 compliance error. Application Value List: URL N903 369 Free-form Description X AN 1/45 O Free-form descriptive text "name" attribute value, if present. <URL> name %string; #IMPLIED Copyright (c) 2000-2003 Ariba, Inc. 61 Revision 6, June 2003

Segment: MSG Message Text Position: 340 Loop: N9 Optional Level: Detail Max Use: 1000 Purpose: To provide a free-form format that allows the transmission of text information Syntax Notes: 1 If MSG03 is present, then MSG02 is required. Semantic Notes: 1 MSG03 is the number of lines to advance before printing. Comments: 1 MSG02 is not related to the specific characteristics of a printer, but identifies top of page, advance a line, etc. 2 If MSG02 is "AA - Advance the specified number of lines before print" then MSG03 is required. Usage Notes: Used/Optional Notes: Example: MSG*http://www.thesupplier.com/catalog?itemid=26409~ <OrderRequest> <ItemOut> <ItemDetail> <URL> #PCDATA MSG01 933 Free-Form Message Text M AN 1/264 M Free-form message text URL data value Copyright (c) 2000-2003 Ariba, Inc. 62 Revision 6, June 2003

Segment: N9 Reference Identification - Comments Position: 330 Loop: N9 Optional Level: Detail Max Use: 1 Purpose: To transmit identifying information as specified by the Reference Identification Qualifier Syntax Notes: 1 At least one of N902 or N903 is required. 2 If N906 is present, then N905 is required. 3 If either C04003 or C04004 is present, then the other is required. 4 If either C04005 or C04006 is present, then the other is required. Semantic Notes: 1 N906 reflects the time zone which the time reflects. 2 N907 contains data relating to the value cited in N902. Comments: Usage Notes: Used/Optional Notes: Example: N9*L1*Comment*en~ cxml provides one block of comments at the header level, which is mapped here. cxml also has the ability to include an attachment here, but attachments are not mapped to X12 <OrderRequest> <ItemOut> <Comments> N901 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification L1 Letters or Notes N902 127 Reference Identification X AN 1/30 O Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier Always set to "Comment". Ariba writes a constant here because X12 requires that either N902 or N903 is used, and the description is optional in cxml. By writing a constant, Ariba avoids any compliance issues with X12. Application Value List: Comment N903 369 Free-form Description X AN 1/45 O Free-form descriptive text This is the language code attribute sent by cxml to describe the language used for the comment. The code is ISO 639 compliant. Note that this code is optional and can be supplied in lower case. <Comments> xml:lang %xmllangcode; #IMPLIED Copyright (c) 2000-2003 Ariba, Inc. 63 Revision 6, June 2003

Segment: MSG Message Text Position: 340 Loop: N9 Optional Level: Detail Max Use: 1000 Purpose: To provide a free-form format that allows the transmission of text information Syntax Notes: 1 If MSG03 is present, then MSG02 is required. Semantic Notes: 1 MSG03 is the number of lines to advance before printing. Comments: 1 MSG02 is not related to the specific characteristics of a printer, but identifies top of page, advance a line, etc. 2 If MSG02 is "AA - Advance the specified number of lines before print" then MSG03 is required. Usage Notes: Used/Optional Notes: Example: MSG*Do not wrap with adhesive tape;~ MSG*It leaves a sticky residue*lc~ (LC was shown here for demonstration. It wouldn't actually be used on two short lines, but only when a line exceeds the 264 char limit of MSG01.) The actual comment text. The X12 mapping will try to preserve the line breaks from the cxml as best it can. Each line break will automatically incur a new MSG segment, with the exception of a blank line. If one line goes over the capacity of MSG01 then the line is word-broken and a new MSG segment is created to continue the line. If the number of lines exceed the occurrence limit of MSG, then the remainder of the comment text will be truncated. Any imbedded Attachments will be dropped. However, Ariba might include a text representation that it is present. For example: MSG*See the attached word document. [Attachment "specs.doc"]~ <OrderRequest> <ItemOut> <Comments> #PCDATA.. <Attachment> MSG01 933 Free-Form Message Text M AN 1/264 M Free-form message text MSG02 934 Printer Carriage Control Code X ID 2/2 O A field to be used for the control of the line feed of the receiving printer If a line was broken by the limitation of MSG01, and a new segment is created for continuation, then MSG02="LC", otherwise it is not used. LC Line Continuation Copyright (c) 2000-2003 Ariba, Inc. 64 Revision 6, June 2003

Segment: N9 Reference Identification - Extrinsics Position: 330 Loop: N9 Optional Level: Detail Max Use: 1 Purpose: To transmit identifying information as specified by the Reference Identification Qualifier Syntax Notes: 1 At least one of N902 or N903 is required. 2 If N906 is present, then N905 is required. 3 If either C04003 or C04004 is present, then the other is required. 4 If either C04005 or C04006 is present, then the other is required. Semantic Notes: 1 N906 reflects the time zone which the time reflects. 2 N907 contains data relating to the value cited in N902. Comments: Usage Notes: Used/Optional Notes: Example: N9*ZZ**Size Information~ Extrinsic information is well-formed XML provided by the buyer to define extra information outside the scope of cxml's specifications. The content here is user-defined, and in X12 should be regarded as comment information. There are three rules to consider when looking at extrinsic information: 1. It is defined by the specific implementation of the Buyer and the Buyer's ERP system to any Ariba B2B Procurement Platform. Two different Buyers might send the same information in two distinct ways at this level. You cannot depend on the precise format. 2. Neither Ariba nor cxml control the exact content and formatting of Extrinsics. The implementation is user-defined, and popular implementations thereof often migrate their way into future versions of cxml. Treat this as comment information. 3. While every effort is made to preserve the integrity of Extrinsic information in the X12 implementation, it simply cannot be guaranteed. Non-printable characters cannot be transported and any occurrences of our X12 control characters (i.e.. SegTerm, ElemSep, CompSep) MUST BE TRANSLATED. Supplier side EDI Implement ors should make their respective departments aware of this. <OrderRequest> <ItemOut> <ItemDetail> <Extrinsic> N901 128 Reference Identification Qualifier M ID 2/3 M Code qualifying the Reference Identification ZZ Mutually Defined N903 369 Free-form Description X AN 1/45 O Free-form descriptive text Required name attribute to identify the Extrinsic. <Extrinsic> name %string; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 65 Revision 6, June 2003

Segment: MSG Message Text Position: 340 Loop: N9 Optional Level: Detail (Must Use) Max Use: 1000 Purpose: To provide a free-form format that allows the transmission of text information Syntax Notes: 1 If MSG03 is present, then MSG02 is required. Semantic Notes: 1 MSG03 is the number of lines to advance before printing. Comments: 1 MSG02 is not related to the specific characteristics of a printer, but identifies top of page, advance a line, etc. 2 If MSG02 is "AA - Advance the specified number of lines before print" then MSG03 is required. Usage Notes: Mandatory Notes: Example: MSG*<Size UnitOfMeasure="cm">~ MSG* <Height>14</Height>~ MSG* <Width>23</Width>~ MSG* <Depth>12.4</Depth>~ MSG*</Size>~ MSG carries the actual Extrinsic data as accurately as possible. Where new lines are started in cxml, new MSG segments are created (except for blank lines) in order to preserve its integrity. If a line exceeds the capacity of MSG01, then a new MSG segment is created and the Extrinsic text continues. <OrderRequest> <ItemOut> <ItemDetail> <Extrinsic> ANY MSG01 933 Free-Form Message Text M AN 1/264 M Free-form message text MSG02 934 Printer Carriage Control Code X ID 2/2 O A field to be used for the control of the line feed of the receiving printer If a line from cxml is broken by MSG01's limitation, a new MSG segment is created with MSG02="LC" LC Line Continuation Copyright (c) 2000-2003 Ariba, Inc. 66 Revision 6, June 2003

Segment: N1 Ship-To Name Position: 350 Loop: N1 Optional Level: Detail Max Use: 1 Purpose: To identify a party by type of organization, name, and code Syntax Notes: 1 At least one of N102 or N103 is required. 2 If either N103 or N104 is present, then the other is required. Semantic Notes: Comments: 1 This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party. Usage Notes: 2 N105 and N106 further define the type of entity in N101. Used/Optional Notes: Example: N1*ST*San Jose Office*92*152~ Line Item Level Ship-To Address Information This is optional at the line item level. Ariba will send ShipTo Information either at the header OR at the line item level, but not both. If it is absent here then it is required at the header level. <OrderRequest> <ItemOut> <ShipTo> N101 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual ST Ship To N102 93 Name X AN 1/60 O Free-form name N103 66 Identification Code Qualifier X ID 1/2 O Code designating the system/method of code structure used for Identification Code (67) 92 Assigned by Buyer or Buyer's Agent N104 67 Identification Code X AN 2/80 O Code identifying a party or other code Copyright (c) 2000-2003 Ariba, Inc. 67 Revision 6, June 2003

Segment: N2 Additional Name Information Position: 360 Loop: N1 Optional Level: Detail Max Use: 2 Purpose: To specify additional names or those longer than 35 characters in length Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N2*Maria Valenzuela*B1-2462~ N2*The Buyer, Inc.~ In a PostalAddress, cxml considers DeliverTo to be optional, but can send many. Ariba SN implements up to the first four here: two Name elements across two N2 segments. The first two iterations of DeliverTo will occupy the first N2 segment and the third and fourth iterations, if present, will occupy the second N2. Any further DeliverTo iterations will be ignored. <ShipTo> <Address> <PostalAddress> <DeliverTo> N201 93 Name M AN 1/60 M Free-form name N202 93 Name O AN 1/60 O Free-form name Copyright (c) 2000-2003 Ariba, Inc. 68 Revision 6, June 2003

Segment: N3 Address Information Position: 370 Loop: N1 Optional Level: Detail Max Use: 2 Purpose: To specify the location of the named party Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: N3*1500 Buyer Way~ Street address information. cxml requires one <Street> tag but can send many. Like the N2 above, AribaSN implements up to the first four: two elements across two segments. <ShipTo> <Address> <PostalAddress> <Street> N301 166 Address Information M AN 1/55 M Address information N302 166 Address Information O AN 1/55 O Address information Copyright (c) 2000-2003 Ariba, Inc. 69 Revision 6, June 2003

Segment: N4 Geographic Location Position: 380 Loop: N1 Optional Level: Detail Max Use: 1 Purpose: To specify the geographic place of the named party Syntax Notes: 1 If N406 is present, then N405 is required. Semantic Notes: Comments: 1 A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location. Usage Notes: 2 N402 is required only if city name (N401) is in the U.S. or Canada. Used/Optional Notes: Example: N4*San Jose*CA*95110*US~ Geographic information from the PostalAddress cxml guarantees a City and Country. The State or Province code and the Postal Code are optional. <ShipTo> <Address> <PostalAddress> <City>.. <State>.. <PostalCode>.. <Country> N401 19 City Name O AN 2/30 M Free-form text for city name <PostalAddress> <City> N402 156 State or Province Code O ID 2/2 O Code (Standard State/Province) as defined by appropriate government agency http://www.usps.gov/ncsc/lookups/abbr_state.txt http://www.canadapost.ca/cpc2/addrm/addrguide/prov_symbols.html <PostalAddress> <State> N403 116 Postal Code O ID 3/15 O Code defining international postal zone code excluding punctuation and blanks (zip code for United States) A US Zip Code can be five or nine digits. There will not be a separator present if the full nine digit code is sent. A Canadian Postal Code is always formatted "A9A9A9". There will not be a separator in the middle. <PostalAddress> <PostalCode> N404 26 Country Code O ID 2/3 M Code identifying the country Country code is ISO-3166 compliant. You can see a list here along with their respective currency codes: http://www.unece.org/trade/rec/rec09en.htm <PostalAddress> <Country> isocountrycode %isocountrycode; #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 70 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 400 Loop: N1 Optional Level: Detail Max Use: 3 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: PER*RE*Maria - Primary*TE*14085551824*FX*14085552001*EM*Maria.Valenzuela@thebuyer.com~ Contact information of Telephone, Fax, Email, and URL. cxml requires none, and only one of each is allowed. Each contact tag carries a name to identify itself. Where possible, Ariba SN groups those with the same name together. If all four pieces are supplied, or if they carry distinct names, then multiple PER segments are required. The telephone number supplied with either Phone or Fax is broken down by components by cxml. The number will be formatted appropriately here. Note that a URL will be limited to the maximum length of the Communication Number element. <ShipTo> <Address> <Phone>.. <Fax>.. <Email>.. <URL> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named RE Receiving Contact PER02 93 Name O AN 1/60 O Free-form name PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER06 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 71 Revision 6, June 2003

PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 72 Revision 6, June 2003

Segment: N1 Name - Detailed Contact Information Position: 350 Loop: N1 Optional Level: Detail Max Use: 1 Purpose: To identify a party by type of organization, name, and code Syntax Notes: 1 At least one of N102 or N103 is required. 2 If either N103 or N104 is present, then the other is required. Semantic Notes: Comments: 1 This segment, used alone, provides the most efficient method of providing organizational identification. To obtain this efficiency the "ID Code" (N104) must provide a key to the table maintained by the transaction processing party. Usage Notes: 2 N105 and N106 further define the type of entity in N101. Used/Optional Notes: Example: N1*A9*Devereux~ This section of N1 allows for detailed contact information, beyond what can be specified in the PER[2/110] at the top, which is only intended for brief information. Any contact that includes a PostalAddress must be specified here, along with contacts requiring a variety of name tags for a specified role. <OrderRequest> <ItemOut> <Contact> N101 98 Entity Identifier Code M ID 2/3 M Code identifying an organizational entity, a physical location, property or an individual 60 Salesperson Identification of individual that sold the product e.g. SSN, salesperson id, etc. role="sales" A9 Sales Office A business entity whose main activity is, or a location at which, the sale of goods or services takes place role="customerservice" BY Buying Party (Purchaser) CA Carrier EN End User role="enduser" KY Technical Office role="technicalsupport" L5 Contact (role unspecified) NG Administrator role="administrator" PD Purchaser's Department Buyer role="purchasingagent" RI Remit To SF Ship From SO Sold To If Different From Bill To SU Supplier/Manufacturer N102 93 Name X AN 1/60 O Copyright (c) 2000-2003 Ariba, Inc. 73 Revision 6, June 2003

Free-form name Copyright (c) 2000-2003 Ariba, Inc. 74 Revision 6, June 2003

Segment: N2 Additional Name Information Position: 360 Loop: N1 Optional Level: Detail Max Use: 2 Purpose: To specify additional names or those longer than 35 characters in length Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: N2*Stefanie Devereux*Executive Sales Manager~ Ariba SN accepts up to four DeliverTo tags from cxml: two elements across two segments. <OrderRequest> <ItemOut> <Contact> <PostalAddress> <DeliverTo> N201 93 Name M AN 1/60 M Free-form name N202 93 Name O AN 1/60 O Free-form name Copyright (c) 2000-2003 Ariba, Inc. 75 Revision 6, June 2003

Segment: N3 Address Information Position: 370 Loop: N1 Optional Level: Detail Max Use: 2 Purpose: To specify the location of the named party Syntax Notes: Semantic Notes: Comments: Usage Notes: Used/Optional Notes: N3*The Buyer, Inc.*1 Buyer Parkway~ In cxml, Street is required if PostalAddress is present. Ariba SN maps a maximum of four Street tags here: two elements across two segments. <OrderRequest> <ItemOut> <Contact> <PostalAddess> <Street> N301 166 Address Information M AN 1/55 M Address information N302 166 Address Information O AN 1/55 O Address information Copyright (c) 2000-2003 Ariba, Inc. 76 Revision 6, June 2003

Segment: N4 Geographic Location Position: 380 Loop: N1 Optional Level: Detail Max Use: 1 Purpose: To specify the geographic place of the named party Syntax Notes: 1 If N406 is present, then N405 is required. Semantic Notes: Comments: 1 A combination of either N401 through N404, or N405 and N406 may be adequate to specify a location. Usage Notes: 2 N402 is required only if city name (N401) is in the U.S. or Canada. Used/Optional Notes: Example: N4*Chicago*IL*34592*US~ Geographic part of the address <OrderHeader> <ItemOut> <Contact> <PostalAddress> <City>.. <State>.. <PostalCode>.. <Country> N401 19 City Name O AN 2/30 M Free-form text for city name <PostalAddress> <City> N402 156 State or Province Code O ID 2/2 O Code (Standard State/Province) as defined by appropriate government agency http://www.usps.gov/ncsc/lookups/abbr_state.txt http://www.canadapost.ca/cpc2/addrm/addrguide/prov_symbols.html <PostalAddress> <State> N403 116 Postal Code O ID 3/15 O Code defining international postal zone code excluding punctuation and blanks (zip code for United States) A US Zip Code can be five or nine digits. A Canadian Postal Code is always formatted "A9A9A9". <PostalAddress> <PostalCode> N404 26 Country Code O ID 2/3 M Code identifying the country <PostalAddress> <Country> isocountrycode %isocountrycode #REQUIRED Copyright (c) 2000-2003 Ariba, Inc. 77 Revision 6, June 2003

Segment: PER Administrative Communications Contact Position: 400 Loop: N1 Optional Level: Detail Max Use: 3 Purpose: To identify a person or office to whom administrative communications should be directed Syntax Notes: 1 If either PER03 or PER04 is present, then the other is required. 2 If either PER05 or PER06 is present, then the other is required. 3 If either PER07 or PER08 is present, then the other is required. Semantic Notes: Comments: Usage Notes: Used/Optional Notes: Example: PER*CR*Stefanie - Sales*TE*18005552429*EM*Stefanie.Devereux@thebuyer.com~ PER*CR**TE*18005558288*UR*http://www.thebuyer.com/Sales/~ Several PER's are allowed. The contact communications fragments are merged according to their name attributes. Those with the same name are placed in the same segment. <OrderRequest> <ItemOut> <Contact> <Email>.. <Phone>.. <Fax>.. <URL> PER01 366 Contact Function Code M ID 2/2 M Code identifying the major duty or responsibility of the person or group named AE Corporate Purchasing Agent AM Administrator BL Technical Department CN General Contact CR Customer Relations EB Entered By SR Sales Representative or Department PER02 93 Name O AN 1/60 O Free-form name <Email>.. <Phone>.. <Fax>.. <URL> name %string; #IMPLIED PER03 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER04 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable PER05 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER06 364 Communication Number X AN 1/80 O Copyright (c) 2000-2003 Ariba, Inc. 78 Revision 6, June 2003

Complete communications number including country or area code when applicable PER07 365 Communication Number Qualifier X ID 2/2 O Code identifying the type of communication number EM Electronic Mail FX Facsimile TE Telephone UR Uniform Resource Locator (URL) PER08 364 Communication Number X AN 1/80 O Complete communications number including country or area code when applicable Copyright (c) 2000-2003 Ariba, Inc. 79 Revision 6, June 2003

Segment: CTT Transaction Totals Position: 010 Loop: CTT Optional Level: Summary Max Use: 1 Purpose: To transmit a hash total for a specific element in the transaction set Syntax Notes: 1 If either CTT03 or CTT04 is present, then the other is required. 2 If either CTT05 or CTT06 is present, then the other is required. Semantic Notes: Comments: 1 This segment is intended to provide hash totals to validate transaction completeness and correctness. Usage Notes: Used/Optional Notes: Example: CTT*15*151~ CTT01 354 Number of Line Items M N0 1/6 M Total number of line items in the transaction set CTT02 347 Hash Total O R 1/10 O Sum of values of the specified data element. All values in the data element will be summed without regard to decimal points (explicit or implicit) or signs. Truncation will occur on the left most digits if the sum is greater than the maximum size of the hash total of the data element. Example: -.0018 First occurrence of value being hashed..18 Second occurrence of value being hashed. 1.8 Third occurrence of value being hashed. 18.01 Fourth occurrence of value being hashed. --------- 1855 Hash total prior to truncation. 855 Hash total after truncation to three-digit field. Copyright (c) 2000-2003 Ariba, Inc. 80 Revision 6, June 2003

Segment: AMT Monetary Amount Position: 020 Loop: CTT Optional Level: Summary (Must Use) Max Use: 1 Purpose: To indicate the total monetary amount Syntax Notes: Semantic Notes: Comments: Usage Notes: Mandatory Notes: Example: AMT*TT*322.18~ Transaction total for the entire Purchase Order. This is what the Buyer is expecting to pay. <OrderRequest> <OrderRequestHeader> <Total> <Money> #PCDATA AMT01 522 Amount Qualifier Code M ID 1/3 M Code to qualify amount TT Total Transaction Amount AMT02 782 Monetary Amount M R 1/18 M Monetary amount Copyright (c) 2000-2003 Ariba, Inc. 81 Revision 6, June 2003

Segment: SE Transaction Set Trailer Position: 030 Loop: Level: Summary Usage: Mandatory Max Use: 1 Purpose: To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments) Syntax Notes: Semantic Notes: Comments: 1 SE is the last segment of each transaction set. SE01 96 Number of Included Segments M N0 1/10 M Total number of segments included in a transaction set including ST and SE segments SE02 329 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-2003 Ariba, Inc. 82 Revision 6, June 2003