  

 

Tracelink University

 ## Breadcrumb

1. [Home](/)
2. [Resources](/resources/resource-center)
3. [TraceLink University](/resources/tracelink-university)
 
  

 

 

# Purchase order acknowledgment inbound Link Action Transactions

 

 

 

 

 

 

 

 

- [Download PDF](/node/628006/pdf)
- [Share](#)
    - [ LinkedIn ](https://www.linkedin.com/shareArticle?mini=true&url=https://www.tracelink.com/resources/tracelink-university/purchase-order-acknowledgment-inbound-link-action-transactions&title=Purchase order acknowledgment inbound Link Action Transactions&summary=The Link Action Purchase Order Ack (PO) in an ERP system is sent by a supplier to confirm receipt of a purchase order and to indicate acceptance, rejection, or modification of the order. &source=TraceLink "LinkedIn")
    - [ Facebook ](https://www.facebook.com/share.php?u=https://www.tracelink.com/resources/tracelink-university/purchase-order-acknowledgment-inbound-link-action-transactions&t=Purchase order acknowledgment inbound Link Action Transactions "Facebook")
    - [ Mail ](mailto:?subject=Purchase order acknowledgment inbound Link Action Transactions+|+TraceLink&body=https://www.tracelink.com/resources/tracelink-university/purchase-order-acknowledgment-inbound-link-action-transactions "Mail")
    - [ Twitter ](https://twitter.com/intent/tweet?text=Purchase order acknowledgment inbound Link Action Transactions https://www.tracelink.com/resources/tracelink-university/purchase-order-acknowledgment-inbound-link-action-transactions&via=TraceLink "Twitter")
 
 

 

 

 

 

#### Table of contents

 

 

 

The Link Action Purchase Order Ack (PO) in an ERP system is sent by a supplier to confirm receipt of a purchase order and to indicate acceptance, rejection, or modification of the order. This acknowledgment is imported into the ERP system to update the status of the PO and align expectations for delivery, pricing, or availability.

## Creatio ERP

The following are the Creatio ERP attributes that are mapped with the Canonical attributes and their output path.

- **Transform Name**:
    - STD\_Transform\_MPL\_Creatio\_PurchaseOrderAck\_IB\_V1
 
[![Closed](/sites/default/files/tech_comms/mpl/Skins/Default/Stylesheets/Images/transparent.gif)Guidelines](#)          Input Elements Output Path Output Element Mapping Rules     Id - - -   Number `data/messageBody/canonicalPurchaseOrderHeader/transactionReferenceIdentifierList`  b2bTransactionIdentifierValue Store literal value where 'b2bTransactionIdentifierType="SUPPLIERORDER   Date `data/messageBody/canonicalPurchaseOrderHeader/transactionReferenceIdentifierList`  transactionDate Store literal value Where'b2bTransactionIdentifierType= PURCHASEORDER and Store literal value where 'b2bTransactionIdentifierType="SUPPLIERORDER   `data/messageBody/canonicalPurchaseOrderHeader/mpcDates`  dateValue Store literal value where dateType=PURCHASEORDER   DueDate `data/messageBody/canonicalPurchaseOrderHeader/mpcDates`  dateValue Store literal value where dateType=DELIVERYREQUESTED   ActualDate - - -   CurrencyRate - - -   Amount `data/messageBody/canonicalPurchaseOrderSummary`  summaryValue Store literal value where summaryType=TOTALAMOUNT   PaymentAmount - - -   PrimaryAmount - - -   PrimaryPaymentAmount - - -   Notes - - -   DeliveryAddress `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  address1 if UsrEDIShipToAddress is not emptymove UsrEDIShipToAddress to target else ifAccount.Address is not emptymoveAccount.Address to target else if DeliveryAddress is not emptymoveDeliveryAddresss to target   DevatisCustomerPurchaseOrderNumber `data/messageBody/canonicalPurchaseOrderHeader/transactionReferenceIdentifierList`  b2bTransactionIdentifierValue Store literal value where 'b2bTransactionIdentifierType="PURCHASEORDER   DevatisMemo - - -   DevatisEDILocDescription `data/messageBody/canonicalPurchaseOrderHeader/deliveryTerms`  description Store literal value.   DevatisEDITerms - - -   `#data/messageBody/canonicalPurchaseOrderHeader/termsOfPayment`  numberOfDays DevatisEDITerms3% 51 Net 75store value of 4th place in this field .Store literal value   `#data/messageBody/canonicalPurchaseOrderHeader/termsOfPayment`  termsOfPaymentPercent DevatisEDITerms3% 51 Net 75store value of 1st place in this field .Store literal value   `#data/messageBody/canonicalPurchaseOrderHeader/termsOfPayment`  discountDueNumberOfDays DevatisEDITerms3% 51 Net 75store value of 2nd place in this field .Store literal value   UsrAckCodeId - - -   UsrEstimatedDeliveryDate `data/messageBody/canonicalPurchaseOrderHeader/mpcDates`  dateValue Store literal value where dateType=ESTIMATEDDELIVERY If inbound payload has has 0001-01-01T00:00:00Z value then do not map.   UsrRequestedShipDate `data/messageBody/canonicalPurchaseOrderHeader/mpcDates`  dateValue Store literal value where dateType=SHIPPED If inbound payload has has 0001-01-01T00:00:00Z value then do not map.   UsrAutoNumber - - -   UsrEDIPoTypeId - - -   UsrEDIShipToCountry `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  country ifUsrEDIShipToCountryis not emptymove UsrEDIShipToCountryto target else if Account.CountyCode is not emptymove Account.CountyCode pto target   UsrEDIShipToPostal `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  postalCode  ifUsrEDIShipToPostalis not emptymove UsrEDIShipToPostalto target else if Account.Zip is not emptymove Account.Zip to target   UsrEDIShipToState `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  state  ifUsrEDIShipToState is not emptymove UsrEDIShipToStateto target else if Account.RegionCode is not emptymove Account.RegionCode to target   UsrEDIShipToCity `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  city  if UsrEDIShipToCity is not emptymove UsrEDIShipToCityto target else if Account.CityName is not emptymove Account.CityName to target   UsrEDIShipToAddress `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  address1 if UsrEDIShipToAddress is not emptymove UsrEDIShipToAddress to target else ifAccount.Address is not emptymoveAccount.Address to target else if DeliveryAddress is not emptymoveDeliveryAddresss to target   UsrEDIBillToPostal `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/address`  postalCode Store literal value.If values is empty pick value from DevatisParentAccount.Zip   UsrEDIBillToCountry `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/address`  country Store literal value.If values is empty pick value from DevatisParentAccount.CountryCode   UsrEDIBillToState `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/address`  state Store literal value.If values is empty pick value from DevatisParentAccount.RegionCode   UsrEDIBillToCity `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/address`  city Store literal value.If values is empty pick value from DevatisParentAccount.CityName   UsrEDIBillToAddress `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/address`  address1 Store literal value.If values is empty pick value from DevatisParentAccount.Address   UsrEDICancelIfNotDeliveredDate `data/messageBody/canonicalPurchaseOrderHeader/mpcDates`  dateValue Store literal value where dateType=CANCELBY   UsrEDIOrderExpiredDate - - -   UsrBillToPostal - - -   UsrEDIAckAction - - -     Name `data/messageBody/canonicalPurchaseOrderHeader`  processingFunctionTypeCode Convert from source payload to target canonical using enum mapping worksheet: If source = "00", move "CREATE" to target If source = "01", move "CANCEL" to target If source = "04", move "CHANGE" to target If source = "06", move "CONFIRM" to target. If source = "CO", move "CORRECTION" to target   UsrEDIParentIDNumber `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue  If UsrEDIParentIDNumber is not empty move UsrEDIParentIDNumber to target else if DevatisParentAccount.UsrNumber is not empty move DevatisParentAccount.UsrNumber to target else if DevatisParentAccount.DevatisIdentificationNumber is not empty move DevatisParentAccount.DevatisIdentificationNumber to target    UsrEDIParentIDType - - -     Description `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierType if UsrEDIParentIDType.Description is not empty move UsrEDIParentIDType.Description to target else if DevatisParentAccount.DevatisIdentifcationType is not empty Move DevatisParentAccount.DevatisIdentifcationType to target   UsrEDICustomerIDNumber `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue  If UsrUsrEDICustomerIDNumber is not empty move UsrEDICustomerIDNumberto target else if Account.UsrNumber is not empty move Account.UsrNumber to target else if Account.DevatisIdentificationNumber is not empty move Account.DevatisIdentificationNumber to target    UsrEDICustomerIDType - - -     Description `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/mpcCompanyLocationIdentifierList`  companyIdentifierType if UsrEDICustomerIDType.Description is not empty move UsrEDICustomerIDType.Description to target else if Account.DevatisIdentifcationType is not empty Move Account.DevatisIdentifcationType to target   Account - - -     Id - - -     Name `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation`  businessName Store literal value.     Code - - -     Phone - - -     AdditionalPhone - - -     Fax - - -     Web - - -     AddressTypeId - - -     Address `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  address1 if UsrEDIShipToAddress is not emptymove UsrEDIShipToAddress to target else ifAccount.Address is not emptymoveAccount.Address to target else if DeliveryAddress is not emptymoveDeliveryAddresss to target     CityName `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  city  if UsrEDIShipToCity is not emptymove UsrEDIShipToCityto target else if Account.CityName is not emptymove Account.CityName to target     RegionCode `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  state  ifUsrEDIShipToState is not emptymove UsrEDIShipToStateto target else if Account.RegionCode is not emptymove Account.RegionCode to target     Zip `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  postalCode  ifUsrEDIShipToPostalis not emptymove UsrEDIShipToPostalto target else if Account.Zip is not emptymove Account.Zip to target     CountryCode `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/address`  country ifUsrEDIShipToCountryis not emptymove UsrEDIShipToCountryto target else if Account.CountyCode is not emptymove Account.CountyCode pto target     DevatisCustomerNumber - - -     DevatisIdentificationNumber `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue  If UsrUsrEDICustomerIDNumber is not empty move UsrEDICustomerIDNumberto target else if Account.UsrNumber is not empty move Account.UsrNumber to target else if Account.DevatisIdentificationNumber is not empty move Account.DevatisIdentificationNumber to target      DevatisIdentificationTypeId - - -     DevatisIdentificationType `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/mpcCompanyLocationIdentifierList`  companyIdentifierType if UsrEDICustomerIDType.Description is not empty move UsrEDICustomerIDType.Description to target else if Account.DevatisIdentifcationType is not empty Move Account.DevatisIdentifcationType to target     UsrNumber `data/messageBody/canonicalPurchaseOrderHeader/shipToLocationInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue  If UsrUsrEDICustomerIDNumber is not empty move UsrEDICustomerIDNumberto target else if Account.UsrNumber is not empty move Account.UsrNumber to target else if Account.DevatisIdentificationNumber is not empty move Account.DevatisIdentificationNumber to target    DevatisParentAccount - - -     Id - - -     Name `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation`  businessName Store Literal Value     `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation`  businessName Store Literal Value     Code - - -     Phone - - -     AdditionalPhone - - -     Fax - - -     Web - - -     AddressTypeId - - -     Address `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation`  address1 Store Literal Value.     CityName `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation`  city Store Literal Value     RegionCode `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation`  state Store Literal Value     Zip `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation`  postalCode Store Literal Value     CountryCode `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation`  country Store Literal Value     Notes - - -     AlternativeName - - -     DevatisPMTTermsId - - -     DevatisCustomerNumber - - -     DevatisIdentificationNumber `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue if DevatisParentAccount.UsrNumber is not empty move DevatisParentAccount.UsrNumber to target else if DevatisParentAccount.DevatisIdentificationNumber is not empty move DevatisParentAccount.DevatisIdentificationNumber to target   `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue  If UsrUsrEDIParentIDNumber is not empty move UsrEDIParentIDNumberto target else if DevatisParentAccount.UsrNumber is not empty move DevatisParentAccount.UsrNumber to target else if DevatisParentAccount.DevatisIdentificationNumber is not empty move DevatisParentAccount.DevatisIdentificationNumber to target      DevatisIdentificationTypeId - - -     DevatisIdentificationType `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierType Store literal value   `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/mpcCompanyLocationIdentifierList`  if UsrEDIParentIDType.Description is not empty move UsrEDIParentIDType.Description to target else if DevatisParentAccount.DevatisIdentifcationType is not empty Move DevatisParentAccount.DevatisIdentifcationType to target     UsrNumber `data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue if DevatisParentAccount.UsrNumber is not empty move DevatisParentAccount.UsrNumber to target else if DevatisParentAccount.DevatisIdentificationNumber is not empty move DevatisParentAccount.DevatisIdentificationNumber to target   `data/messageBody/canonicalPurchaseOrderHeader/billToBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue  If UsrUsrEDIParentIDNumber is not empty move UsrEDIParentIDNumberto target else if DevatisParentAccount.UsrNumber is not empty move DevatisParentAccount.UsrNumber to target else if DevatisParentAccount.DevatisIdentificationNumber is not empty move DevatisParentAccount.DevatisIdentificationNumber to target    `#/data/controlFileHeader`  fileReceiverNumber DevatisParentAccount.DevatisIdentificationType +":"+ .DevatisParentAccount.UsrNumber   Currency - - -     Id - - -     Name - - -     Description - - -     Code - - -     ShortName - - -     `data/messageBody/canonicalPurchaseOrderItemDetails/orderPricing`  currencyCode Store literal value.     Symbol - - -   DevatisLocEDI - - -     Id - - -     Name `data/messageBody/canonicalPurchaseOrderHeader/deliveryTerms`  fobTransferLocation If Name =DE then fobTransferLocation should be SHIPPINGDESTINATION and Hard Code deliveryChargePaymentMethodType=PP Else do not map, Hard Code     Description - - -   UsrEDIPoType - - -     Id - - -     Name `data/messageBody/canonicalPurchaseOrderHeader/`  purchaseOrderType Get canonical code from enum list     Description - - -   UsrAckCode - - -     Id - - -     Name - - -     Description - - -     UsrCanonicalCode `data/messageBody/canonicalPurchaseOrderHeader`  acknowledgmentType Store literal value   UsrShipper - - -     Id - - -     Name `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  businessName Store literal Value     Code - - -     Phone - - -     AdditionalPhone - - -     Fax - - -     Web - - -     AddressTypeId - - -     Address `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  address1 Store literal Value     CityName `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  city Store literal Value     RegionCode `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  state Store literal Value     Zip `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  postalCode Store literal Value     CountryCode `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  country Store literal Value     DevatisCustomerNumber - - -     DevatisIdentificationNumber `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  companyIdentifierValue If UsrShipper.UsrNumber is not empty move UsrShipper.UsrNumber totarget else ifUsrShipper.DevatisIdentificationNumber is not empty move UsrShipper.DevatisIdentificationNumber to target     DevatisIdentificationTypeId - - -     DevatisIdentificationType `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  companyIdentifierType Store Literal Value     UsrNumber `data/messageBody/canonicalPurchaseOrderHeader/shipFromLocationInformation`  companyIdentifierValue If UsrShipper.UsrNumber is not empty move UsrShipper.UsrNumber totarget else ifUsrShipper.DevatisIdentificationNumber is not empty move UsrShipper.DevatisIdentificationNumber to target   UsrSupplier - - -     l - - -     Name `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  businessName Store literal Value     Code - - -     TypeId - - -     Phone - - -     AdditionalPhone - - -     Fax - - -     Web - - -     AddressTypeId - - -     Address `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  address1 Store literal Value     CityName `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  city Store literal Value     RegionCode `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  state Store literal Value     Zip `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  postalCode Store literal Value     CountryCode `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  country Store literal Value     DevatisCustomerNumber - - -     DevatisIdentificationNumber `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  companyIdentifierValue If UsrSupplier.UsrNumber is not empty move UsrSupplier.UsrNumber totarget else ifUsrSupplier.DevatisIdentificationNumber is not empty move UsrSupplier.DevatisIdentificationNumber to target   `#/data/controlFileHeader`  fileSenderNumber UsrSupplier.DevatisIdentificationType +":"+ .UsrSupplier.UsrNumber     DevatisIdentificationTypeId - - -     DevatisIdentificationType `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  companyIdentifierType Store Literal Value     UsrNumber `data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation`  companyIdentifierValue If UsrSupplier.UsrNumber is not empty move UsrSupplier.UsrNumber totarget else ifUsrSupplier.DevatisIdentificationNumber is not empty move UsrSupplier.DevatisIdentificationNumber to target   `#/data/controlFileHeader`  fileSenderNumber UsrSupplier.DevatisIdentificationType +":"+ .UsrSupplier.UsrNumber   OrderProduct - - -     Id - - -     ProductId - - -     DeliveryDate - - -     Quantity `data/messageBody/canonicalPurchaseOrderItemDetails/itemQuantity`  quantityValue Store literal Value where quantityType=ITEM     UnitId - - -     PrimaryPrice - - -     Price `data/messageBody/canonicalPurchaseOrderItemDetails/orderPricing`  pricingAmount Store literal Value Where pricingType=UNIT     PrimaryAmount - - -     Amount - - -     PrimaryDiscountAmount - - -     DiscountAmount - - -     DiscountPercent - - -     PrimaryTaxAmount - - -     TaxAmount - - -     PrimaryTotalAmount - - -     TotalAmount - - -     DiscountTax - - -     UsrAckCode - - -       Name `#data/messageBody/canonicalPurchaseOrderItemDetails/lineItemAcknowledgment [0]`  lineItemStatus If source ACK01 = "BP", hardcode "PARTIALSHIPMENT" to target. If source ACK01 = "IA", hardcode "ACCEPTED" to target. If source ACK01 = "IC", hardcode "ACCEPTEDWITHCHANGES" to target. If source ACK01 = "ID", hardcode "DELETED" to target. If source ACK01 = "IB", hardcode "BACKORDERED" to target. If source ACK01 = "IH", hardcode "ONHOLD" to target. If source ACK01 = "IP", hardcode "PRICECHANGED" to target. If source ACK01 = "IQ", hardcode "QUANTITYCHANGE" to target. If source ACK01 = "IR", hardcode "REJECTED" to target. If source ACK01 = "IS", hardcode "SUBSTITUTION" to target. If source ACK01 = "R1", hardcode "REJECTEDNOTCONTRACTITEM" to target. If source ACK01 = "R2", hardcode "REJECTEDINVALIDPRODUCT" to target. If source ACK01 = "R3", hardcode "REJECTEDINVALIDUNIT" to target. If source ACK01 = "R4", hardcode "NOTAVAILABLE" to target. If source ACK01 = "SP", hardcode "SCHEDULEDATEPENDING" to target. Map to 0th element     CurrencyRate - - -     BaseQuantity - - -     Unit - - -       Id - - -       Name - - -       Description - - -       ShortName `data/messageBody/canonicalPurchaseOrderItemDetails/itemQuantity`  unitOfMeasure Store literal value if present.     Product - - -       Id - - -       Name `data/messageBody/canonicalPurchaseOrderItemDetails/productItemInformation`  productDescription Store literal value if present.       Code `data/messageBody/canonicalPurchaseOrderItemDetails/productCodesIdentifiers`  productCodeValue Store literal value. Where productCodeType=US\_NDC542       UnitId - - -       CurrencyId - - -       Price - - -       Active - - -       ProductSourceId - - -       IsArchive - - -       DevatisPackage - - -       DevatisFormId - - -       DevatisGTIN2 - - -       DevatisGTIN1 - - -       DevatisMinimumOrderQuantity - - -       DevatisSAP - - -       DevatisUPC - - -       DevatisProductFamilyId - - -    

 

## SAP HANA ERP

The following are the Sap Hana ERP attributes that are mapped with the Canonical attributes and their output path.

- **Transform Name**:
    - STD\_LA\_MPL\_Sap\_Hana\_PurchaseOrderAck\_IB\_V1
 
[![Closed](/sites/default/files/tech_comms/mpl/Skins/Default/Stylesheets/Images/transparent.gif)Guidelines](#)          Input Element Output Path Output Element Mapping Rules     SalesOrder - - -   SalesOrderType - - -   SalesOrganization  `#/data/messageBody/canonicalPurchaseOrderHeader/supplierBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue "Store literal value. where companyIdentifierType=COMPANYID"   `#/data/controlFileHeader`  fileSenderNumber "COMPANYID +"":""+ .SalesOrganization "   DistributionChannel - - -   OrganizationDivision - - -   SoldToParty  `#/data/messageBody/canonicalPurchaseOrderHeader/customerBusinessInformation/mpcCompanyLocationIdentifierList`  companyIdentifierValue "Store literal value. where companyIdentifierType=COMPANYID"   `#/data/controlFileHeader`  fileReceiverNumber COMPANYID +":"+ .SoldToParty   CreationDate  `#/data/messageBody/canonicalPurchaseOrderItemDetails/mpcDates`  dateValue " Store literal value. where DateType=PURCHASEORDER If inbound payload has has 0001-01-01T00:00:00Z value then do not map. Milliseconds will be rounded off 000. "   `#/data/messageBody/canonicalPurchaseOrderHeader/transactionReferenceIdentifierList`  transactionDate "Store literal value. where b2bTransactionIdentiferType=PURCHASEORDER If inbound payload has has 0001-01-01T00:00:00Z value then do not map. Milliseconds will be rounded off 000. "    - epochTransctionDate    PurchaseOrderByCustomer `#/data/messageBody/canonicalPurchaseOrderHeader/transactionReferenceIdentifierList`  b2bTransactionIdentifierValue "Store literal value. where b2bTransactionIdentiferType=PURCHASEORDER "   TotalNetAmount `#/data/messageBody/canonicalPurchaseOrderSummary`  summaryValue "Store literal value if present. where summaryType=TOTALAMOUNT"   TransactionCurrency `#/data/messageBody/canonicalPurchaseOrderHeader/mpcCurrency`  currencyCode Store literal value if present.   CustomerPaymentTerms `#/data/messageBody/canonicalPurchaseOrderHeader/termsOfPayment`  description Store literal value, if present.   Items  - - -     SalesOrderItem `#/data/messageBody/canonicalPurchaseOrderItemDetails`  lineItemNumber -     Material  `#/data/messageBody/canonicalPurchaseOrderItemDetails/productCodesIdentifiers`  productCodeValue "Store literal value. Where productCodeType=MANUFACTURER"     `canonicalPurchaseOrder/messageBody/canonicalPurchaseOrderItemDetails/productItemInformation`  productName Store literal value.     RequestedQuantity `#/data/messageBody/canonicalPurchaseOrderItemDetails/itemQuantity`  quantityValue "Store Literal Value. where quantityType=ITEM"     `canonicalPurchaseOrder/messageBody/canonicalPurchaseOrderItemDetails/deliverySchedule`  scheduledQuantity Store Literal Value.      RequestedQuantityUnit `#/data/messageBody/canonicalPurchaseOrderItemDetails/itemQuantity`  unitOfMeasure "Store Literal Value. where quantityType=ITEM"     OrderQuantityUnit - - -     OrderQuantitySAPUnit - - -     ItemTransactionCurrency `#/data/messageBody/canonicalPurchaseOrderItemDetails/orderPricing`  currencyCode "Store literal value if present with pricingType = ""NET"" If ItemTransactionCurrency is not empty move ItemTransactionCurrencyt to target else if PricingCurrencyis not empty move PricingCurrency to target "     NetAmount `#/data/messageBody/canonicalPurchaseOrderItemDetails/orderPricing`  pricingAmount Store literal value with pricingType = "NET"     Batch - - -     ProductionPlant `#data/messageBody/canonicalPurchaseOrderItemDetails`  plantIdentifier "If ProductionPlant is not empty move ProductionPlant to target else if OriginalPlant is not empty move OriginalPlant to target "     OriginalPlant `#data/messageBody/canonicalPurchaseOrderItemDetails`  plantIdentifier "If ProductionPlant is not empty move ProductionPlant to target else if OriginalPlant is not empty move OriginalPlant to target "     StorageLocation - - -     WBSElement - - -     PricingElement - - -       ConditionType - - -       ConditionAmount - - -       PricingCurrency `#/data/messageBody/canonicalPurchaseOrderItemDetails/orderPricing`  currencyCode "Store literal value if present with pricingType = ""NET"" and ConditionType = 'PPR0' If ItemTransactionCurrency is not empty move ItemTransactionCurrencyt to target else if PricingCurrencyis not empty move PricingCurrency to target "    

 

 ![](/sites/default/files/tech_comms/mpl/Content/Resources/Images/global_images/note_tip_24x24.png) Review TraceLink's [API: Terms of Use](https://www.tracelink.com/legal-and-trust/api-terms-of-use)



 

 

 

 

#### Table of contents

 

 

 

 

 

 



 

##### Related Content

 

 [ ![Related content](https://www.tracelink.com/sites/default/files/2024-09/cloud.svg) ](/resources/tracelink-university/forecast-plan-idoc) 

#####  Forecast plan (IDoc) 

 Forecasting APIs allow companies to exchange data about anticipated product demand and supply availability with upstream supply chain Partners without giving these Partners access to their serialization system of record. 

 

 [View More](/resources/tracelink-university/forecast-plan-idoc) 

 

 [ ![Related content](https://www.tracelink.com/sites/default/files/2024-09/cloud.svg) ](/resources/tracelink-university/forecast-plan-x12) 

#####  Forecast plan (X12) 

 Forecasting APIs allow companies to exchange data about anticipated product demand and supply availability with upstream supply chain Partners without giving these Partners access to their serialization system of record. 

 

 [View More](/resources/tracelink-university/forecast-plan-x12) 

 

 [ ![Related content](https://www.tracelink.com/sites/default/files/2024-09/cloud.svg) ](/resources/tracelink-university/forecast-plan-response-idoc) 

#####  Forecast plan response (IDoc) 

 Forecasting APIs allow companies to exchange data about anticipated product demand and supply availability with downstream supply chain Partners without giving these Partners access to their serialization system of record. 

 

 [View More](/resources/tracelink-university/forecast-plan-response-idoc)