Material Purchase Order Guidelines (.csv)
See How To Use this Guide before interpreting the guidelines below.
The following outlines the TL_CSV_PTMPO_MaterialPurchaseOrder_IB message guidelines.

Data Element | Occurs | Format | Length | Enum | Req | Description |
---|---|---|---|---|---|---|
CSV_MaterialPurchaseOrder | 1...1 | - | - | - | M | Material Purchase Order base element. |
ControlFileHeader | 1...1 | - | - | - | M | CSV file control header record. |
Flag | 1...1 | String | 6/6 | - | M | Control file code identifying record = HEADER.1 |
Version | 1...1 | String | 0/* | - | M | Version of CSV message.2 |
FileSenderNumber | 1...1 | String | 0/* | - | M | File sender company ID - SupplierSiteID. In a material PO, the supplier is ordering goods from the customer. The supplier sends the PO to the customer.3 |
FileReceiverNumber | 1...1 | String | 0/* | - | M | File receiver company ID - CustomerID.4 |
UsageIndicator | 1...1 | String | 0/* | UsageIndicator | M | Identifies test or production data.5 |
FileTransactionType | 0...1 | String | 0/* | TransactionType | O | File message type should be equal to MATERIALPO.6 |
FileControlNumber | 0...1 | String | 0/* | - | O | Unique file control ID number.7 |
FileDate | 0...1 | Date | 8/8 | - | O | Date file generated in format YYYYMMDD.8 |
FileTime | 0...1 | Time | 6/6 | - | O | Time file generated in format HHMMSS.9 |
MaterialPO_HeaderRecord | 1...1 | - | - | - | M | PO header record. |
Flag | 1...1 | String | 6/6 | - | M | Header record code = DOCHDR.10 |
OrderLevelAction | 0...1 | String | 0/* | HeaderActionCode | O | Action to be triggered in receiving system. |
PurchaseOrderNumber | 0...1 | String | 0/* | - | O | PO number.11 |
PurchaseOrderDate | 0...1 | Date | 8/8 | - | O | PO date in format YYYYMMDD.12 |
RequestedDeliveryDate | 0...1 | Date | 8/8 | - | O | Requested delivery date in format YYYYMMDD.13 |
OrderAcknowledgementRequired | 0...1 | String | 0/* | - | O | Order acknowledgment flag. |
OrderAcknowledgementStatus | 0...1 | String | 0/* | - | O | Order wide acknowledgment status. |
OrderCurrency | 0...1 | String | 0/* | CurrencyCodeType | O | Order currency.14 |
ExchangeRate | 0...1 | String | 0/* | - | O | Exchange rate if foreign currency. |
TermsOfPaymentCode | 0...1 | String | 0/* | - | O | Terms of payment.15 |
OrderDocumentType | 0...1 | String | 0/* | - | O | Identifies type of order in file. |
ShippingConditions | 0...1 | String | 0/* | - | O | Shipping conditions code for whole order. |
ShippingConditionsDescription | 0...1 | String | 0/* | - | O | Shipping conditions description. |
RecipientNumber | 0...1 | String | 0/* | - | O | Customer's partner number for order recipient.16 |
SalesOrderNumber | 0...1 | String | 0/* | - | O | Sales order number. |
SalesOrderDate | 0...1 | Date | 0/* | - | O | Sales order date in format YYYYMMDD. |
SupplierInternalPurchaseOrderNumber | 0...1 | String | 0/* | - | O | Supplier's internal or alternate PO number.17 |
MaterialPO_HeaderPartnerAddressGroup | 1...* | - | - | - | M | Partner ID and address data. |
Flag | 1...1 | String | 0/* | - | M | Header partner records code = PARTNER.18 |
PartnerTypeHandlingCode | 0...1 | String | 0/* | PartnerTypeHandlingCode | O | Partner type qualifier code.19 |
PartnerNumber | 0...1 | String | 0/* | - | O | Customer ID - supplier is the purchaser.20 |
AlternatePartnerNumber | 0...1 | String | 0/* | - | O | Alternate partner ID. |
PartnerName1 | 0...1 | String | 0/* | - | O | Name.21 |
PartnerName2 | 0...1 | String | 0/* | - | O | Name (line 2). |
PartnerStreetAddress1 | 0...1 | String | 0/* | - | O | Main street address.22 |
PartnerStreetAddress2 | 0...1 | String | 0/* | - | O | Street address (line 2). |
PartnerCity | 0...1 | String | 0/* | - | O | City.23 |
PartnerRegionCode | 0...1 | String | 0/* | - | O | State, province or region.24 |
PartnerPostalCode | 0...1 | String | 0/* | - | O | Postal code.25 |
PartnerCountry | 0...1 | String | 0/* | CountryCode | O | 2-character ISO country key.26 |
PartnerISOLanguageKey | 0...1 | String | 0/* | - | O | ISO language key.27 |
PartnerContactTelephone | 0...1 | String | 0/* | - | O | Contact telephone number.28 |
PartnerContactFax | 0...1 | String | 0/* | - | O | Contact fax number.29 |
MaterialPO_HeaderAdditionalDocumentsGroup | 0...* | - | - | - | O | Group stores additional document type numbers and dates in PO. |
Flag | 1...1 | String | 12/12 | - | M | Additional header document type record code = HDRDOCUMENTS.30 |
DocumentTypeHandlingCode | 0...1 | String | 0/* | DocumentType | O | Document type qualifier code.31 |
DocumentNumber | 0...1 | String | 0/* | - | O | Document ID number.32 |
DocumentDate | 0...1 | String | 0/* | - | O | Date document issued.33 |
MaterialPO_HeaderAdditionalDatesGroup | 0...* | - | - | - | O | Group records additional date types. |
Flag | 1...1 | String | 8/8 | - | M | Additional header date type record code = HDRDATES.34 |
DateTypeHandlingCode | 0...1 | String | 0/* | DateType | O | Date type qualifier code.35 |
Date | 0...1 | Date | 8/8 | - | O | Unique text identifier.36 |
Time | 0...1 | Time | 6/6 | - | O | Customer ID number.37 |
MaterialPO_HeaderDeliveryTerms | 0...* | - | - | - | O | Delivery terms for order. |
Flag | 1...1 | String | 11/11 | - | M | Delivery terms type record code = HDRDELIVERY.38 |
DeliveryTypeHandlingCode | 0...1 | String | 0/* | DeliveryTypes | O | Delivery type qualifier code.39 |
DeliveryTermsCode | 0...1 | String | 0/* | - | O | Delivery terms code.40 |
DeliveryTermsDescription | 0...1 | String | 0/* | - | O | Delivery terms code description.41 |
DeliveryPriority | 0...1 | String | 0/* | - | O | Customer ID number. |
MaterialPO_HeaderPaymentTerms | 0...* | - | - | - | O | Payment terms for order. |
Flag | 1...1 | String | 7/7 | - | M | Payment terms type record code = PAYMENT.42 |
PaymentTermsHandlingCode | 0...1 | String | 0/* | - | O | Payment terms qualifier code. |
PaymentTermsInDays | 0...1 | String | 0/* | - | O | Payment terms in number of days. |
PaymentTermsPercent | 0...1 | String | 0/* | - | O | Payment terms in percent. |
PaymentTermsDescription | 0...1 | String | 0/* | - | O | Description of payment terms. |
MaterialPO_HeaderOrganization | 0...* | - | - | - | O | Organization groups. |
Flag | 1...1 | String | 12/12 | - | M | Organization entity type record code = ORGANIZATION.43 |
OrganizationTypeHandlingCode | 0...1 | String | 0/* | OrgType | O | Organization type qualifier code.44 |
OrganizationType | 0...1 | String | 0/* | - | O | Payment terms in number of days.45 |
MaterialPO_HeaderAdditionalDataGroup | 0...* | - | - | - | O | Payment terms for order. |
Flag | 1...1 | String | 13/13 | - | M | Additional data type record code = HDRADDITIONAL.46 |
AdditionalDataHandlingCode | 0...1 | String | 0/* | - | O | Additional data qualifier code. |
AdditionalData | 0...1 | String | 0/* | - | O | Additional data element. |
AdditionalDataText | 0...1 | String | 0/* | - | O | Additional data text. |
MaterialPO_HeaderFreeTextGroup | 0...* | - | - | - | O | - |
Flag | 1...1 | String | 7/7 | - | M | Free text type header record code = HDRTEXT.47 |
FreeTextHandlingCode | 0...1 | String | 0/* | - | O | Free text record qualifier code.48 |
FreeTextObject | 0...1 | String | 0/* | - | O | Free text business document object.49 |
FreeTextLanguageKey | 0...1 | String | 0/* | - | O | Language key for text.50 |
FreeTextContents | 0...1 | String | 0/* | - | O | Free text contents.51 |
FreeTextFormat | 0...1 | String | 0/* | - | O | Format for text block: continuous text flow (*) or line break (/).52 |
MaterialPO_ItemDetails | 1...* | - | - | - | M | Materials consumed item details records. |
Flag | 1...1 | String | 11/11 | - | M | Item details record code = ITEMDET.53 |
LineItemNumber | 0...1 | String | 0/* | - | O | Line item number.54 |
ItemAction | 0...1 | String | 0/* | ItemActionCode | O | Identifies action taken on item. Relevant for PO acknowledgment. |
ItemAcknowledgementStatus | 0...1 | String | 0/* | - | O | Acknowledgment status for item. Relevant for PO acknowledgment. |
AcknowledgementRequired | 0...1 | String | 0/* | - | O | Acknowledgment of PO required flag. |
CustomerMaterialNumber | 0...1 | String | 0/* | - | O | Customer material number.55 |
MaterialDescription | 0...1 | String | 0/* | - | O | Customer material description.56 |
SupplierMaterialNumber | 0...1 | String | 0/* | - | O | Supplier material number.57 |
CustomerLotNumber | 0...1 | String | 0/* | - | O | Customer lot or batch number.58 |
TotalItemQuantityOrdered | 0...1 | String | 0/* | - | O | Total quantity ordered.59 |
TotalQuantityUnitOfMeasure | 0...1 | String | 0/* | UnitOfMeasure | O | Unit of measure for quantity ordered.60 |
ItemUnitPrice | 0...1 | String | 0/* | - | O | Unit price for item.61 |
PricingUnitNumerator | 0...1 | String | 0/* | - | O | Pricing unit per used to calculate item net price.62 |
ItemNetValue | 0...1 | String | 0/* | - | O | Net value of item.63 |
ItemGrossPrice | 0...1 | String | 0/* | - | O | Gross price for item including surcharges, discounts, and taxes.64 |
ItemCurrency | 0...1 | String | 0/* | CurrencyCodeType | O | Line item currency.65 |
ItemNetWeight | 0...1 | String | 0/* | - | O | Total net weight for item.66 |
NetWeightUnitOfMeasure | 0...1 | String | 0/* | UnitOfMeasure | C | Unit of measure for net weight.67![]() |
ItemMaterialClass | 0...1 | String | 0/* | - | O | Material class or group code for item.68 |
PurchaseOrderNumber | 0...1 | String | 0/* | - | O | Referenced PO number. |
PurchaseOrderLineItemNumber | 0...1 | String | 0/* | - | O | Referenced PO line item number. |
RejectionReasonCode | 0...1 | String | 0/* | - | O | Code identifying reason item was rejected. Only relevant for PO Acknowledgment. |
RejectionReasonCodeDescription | 0...1 | String | 0/* | - | O | Description of rejection reason code. Only relevant for PO Acknowledgment. |
ItemCategory | 0...1 | String | 0/* | ItemCategoryType | O | Code identifying type of item ordered, such as consignment or subcontracting.69 |
ItemPlant | 0...1 | String | 0/* | - | O | Plant ID where item is located.70 |
ItemStorageLocation | 0...1 | String | 0/* | - | O | Storage location in plant for item.71 |
ItemDeliveryPriority | 0...1 | String | 0/* | - | O | Priority assigned to delivery of item. |
ItemDeliveryPriorityDescription | 0...1 | String | 0/* | - | O | Description of delivery priority. |
ItemRoute | 0...1 | String | 0/* | - | O | Code for route that will be used to deliver item to customer. |
ItemRouteDescription | 0...1 | String | 0/* | - | O | Description of item route code. |
ShippingReceivingPoint | 0...1 | String | 0/* | - | O | Shipping/receiving point.72 |
SalesDocumentItemCategory | 0...1 | String | 0/* | - | O | Sales document item category. |
BillOfMaterialsFlag | 0...1 | String | 0/* | - | O | Identifies top level item of Bill of Materials. |
BillOfMaterialsLevel | 0...1 | String | 0/* | - | O | BOM item level (1,2,3). |
PriceUnitConversionDenominator | 0...1 | String | 0/* | - | O | Denominator (divisor) for conversion of sales quantity into SKU quantity.73 |
PriceUnitConversionNumerator | 0...1 | String | 0/* | - | O | Numerator (factor) for conversion of sales quantity into SKU quantity.74 |
NumberPartialDeliveries | 0...1 | String | 0/* | - | O | Maximum number of partial deliveries for item.75 |
MaterialPO_ItemSplitDeliverySchedulesGroup | 0...* | - | - | - | O | Scheduled quantities and dates for split deliveries. |
Flag | 1...1 | String | 13/13 | - | M | Split delivery schedule record code = SPLITDELIVERY.76 |
ScheduledDeliveryQuantity | 0...1 | String | 0/* | - | O | Scheduled delivery quantity.77 |
ScheduledDeliveryUnitOfMeasure | 0...1 | String | 0/* | - | O | Unit of measure for quantity to be delivered.78 |
ScheduledDeliveryDate | 0...1 | Date | 0/* | - | O | Date quantity of item to be delivered.79 |
MaterialPO_ItemAdditionalMaterialsGroup | 0...* | - | - | - | O | Additional materials group. |
Flag | 1...1 | String | 9/9 | - | M | Additional materials record code = MATERIALS.80 |
MaterialsTypeHandlingCode | 0...1 | String | 0/* | MaterialsType | O | Materials type qualifier code.81 |
MaterialOrLotNumber | 0...1 | String | 0/* | - | O | Material or batch number of item.82 |
MaterialDescription | 0...1 | String | 0/* | - | O | Description of item.83 |
MaterialPO_ItemPricingDiscountGroup | 0...* | - | - | - | O | Pricing, surcharges, discounts, taxes, and other customer item pricing data. |
Flag | 1...1 | String | 11/11 | - | M | Item pricing discount group record code = ITEMPRICING.84 |
AdditionSubtractionIndicator | 0...1 | String | 0/* | - | O | Identifies pricing record as debit (-) or credit (+). |
PricingDiscountType | 0...1 | String | 0/* | - | O | Pricing record type code. |
PricingDiscountDescription | 0...1 | String | 0/* | - | O | Text description for pricing record type. |
PricingDiscountAmount | 0...1 | String | 0/* | - | O | Fixed total amount in pricing record. |
PricingDiscountUnitPrice | 0...1 | String | 0/* | - | O | Unit price for pricing record. |
PricingDiscountPricingUnit | 0...1 | String | 0/* | - | O | Pricing unit used to calculate pricing amount. |
PricingDiscountUnitOfMeasure | 0...1 | String | 0/* | UnitOfMeasure | O | Unit of measure used in pricing record. |
PricingDiscountCurrency | 0...1 | String | 0/* | CurrencyCodeType | O | Pricing record currency. |
MaterialPO_ItemAdditionalDocumentsGroup | 0...* | - | - | - | O | Group stores additional document type numbers and dates in PO at item level. |
Flag | 1...1 | String | 13/13 | - | M | Additional item level document type record code = ITEMDOCUMENTS.85 |
DocumentTypeHandlingCode | 0...1 | String | 0/* | DocumentType | O | Document type qualifier code.86 |
DocumentNumber | 0...1 | String | 0/* | - | O | Document ID number.87 |
DocumentLineItemNumber | 0...1 | String | 0/* | - | O | Document line item number.88 |
DocumentDate | 0...1 | String | 0/* | - | O | Date document issued.89 |
MaterialPO_ItemAdditionalDatesGroup | 0...* | - | - | - | O | Additional date types at item level. |
Flag | 1...1 | String | 9/9 | - | M | Additional item level date type record code = ITEMDATES.90 |
DateTypeHandlingCode | 0...1 | String | 0/* | DateType | O | Date type qualifier code.91 |
Date | 0...1 | String | 0/* | - | O | Unique text identifier. |
Time | 0...1 | String | 0/* | - | O | Customer ID number. |
MaterialPO_ItemPartnerAddressGroup | 0...* | - | - | - | O | Ship-to partner ID and address data at item level, if present in message. |
Flag | 1...1 | String | 11/11 | - | M | Item partner records code = ITEMPARTNER.92 |
PartnerTypeHandlingCode | 0...1 | String | 0/* | PartnerTypeHandlingCode | O | Partner type qualifier code.93 |
PartnerNumber | 0...1 | String | 0/* | - | O | Customer ID.94 |
AlternatePartnerNumber | 0...1 | String | 0/* | - | O | Alternate partner ID. |
PartnerName1 | 0...1 | String | 0/* | - | O | Name.95 |
PartnerName2 | 0...1 | String | 0/* | - | O | Name (line 2). |
PartnerStreetAddress1 | 0...1 | String | 0/* | - | O | Main street address.96 |
PartnerStreetAddress2 | 0...1 | String | 0/* | - | O | Street address (line 2). |
PartnerCity | 0...1 | String | 0/* | - | O | City.97 |
PartnerRegionCode | 0...1 | String | 0/* | - | O | State, province, or region.98 |
PartnerPostalCode | 0...1 | String | 0/* | - | O | Postal code.99 |
PartnerCountry | 0...1 | String | 0/* | CountryCode | O | 2-character ISO country key.100 |
PartnerISOLanguageKey | 0...1 | String | 0/* | - | O | ISO language key.101 |
PartnerContactTelephone | 0...1 | String | 0/* | - | O | Contact telephone number.102 |
PartnerContactFax | 0...1 | String | 0/* | - | O | Contact fax number.103 |
MaterialPO_ItemDeliveryTerms | 0...* | - | - | - | O | Delivery terms for order at item level. |
Flag | 1...1 | String | 12/12 | - | M | Delivery terms type record code = ITEMDELIVERY.104 |
DeliveryTypeHandlingCode | 0...1 | String | 0/* | DeliveryTypes | O | Delivery type qualifier code.105 |
DeliveryTermsCode | 0...1 | String | 0/* | - | O | Delivery terms code.106 |
DeliveryTermsDescription | 0...1 | String | 0/* | - | O | Delivery terms code description.107 |
DeliveryPriority | 0...1 | String | 0/* | - | O | Customer ID number. |
MaterialPO_ItemAdditionalDataGroup | 0...* | - | - | - | O | Payment terms for order. |
Flag | 1...1 | String | 14/14 | - | M | Additional item level data type record code = ITEMADDITIONAL.108 |
AdditionalDataHandlingCode | 0...1 | String | 0/* | - | O | Additional data qualifier code. |
AdditionalData | 0...1 | String | 0/* | - | O | Additional data element. |
AdditionalDataText | 0...1 | String | 0/* | - | O | Additional data text. |
MaterialPO_ItemFreeTextGroup | 0...* | - | - | - | O | - |
Flag | 1...1 | String | 8/8 | - | M | Free text type header record code = ITEMTEXT.109 |
FreeTextHandlingCode | 0...1 | String | 0/* | - | O | Free text record qualifier code.110 |
FreeTextObject | 0...1 | String | 0/* | - | O | Free text business document object. |
FreeTextLanguageKey | 0...1 | String | 0/* | - | O | Language key for text.111 |
FreeTextContents | 0...1 | String | 0/* | - | O | Free text contents.112 |
FreeTextFormat | 0...1 | String | 0/* | - | O | Format for text block: continuous text flow (*) or line break (/).113 |