Convert Shipment Costs to Freight Charges
Use your own task to convert shipment costs to freight charges.
-
Create your own task. For details, see Create Your Own Task Type.
-
Add a new step in your orchestration process that references your new task. Place it after the step that completes the shipment task and before the step that starts the invoice task. The published payload for your task will contain the shipping cost that you capture in the shipping system.
-
Set up your connector. Here's what it looks like in Oracle JDeveloper (Java Developer).
Note
-
Transform your input into an immediate response and send it to Order Management.
-
Wait for two minutes.
-
Initialize local variables, such as Result and Counter.
-
Transform your input into a delayed response. It converts cost to charge, including a mark up, if necessary.
-
Send a delayed response, then wait for a SUCCESS reply.
Make sure you also implement error handling to handle an ERROR reply.
Here's an expanded view of step 5, WhileNoSuccess.
-
Send the delayed response that contains charges back to Order Management. The diagram doesn't include this step.
The connector updates these charges in Order Management, then sends them to invoicing.
Note
-
Send charges in a delayed response to Order Management.
-
Receive a reply from Order Management. The reply contains SUCCESS or ERROR.
-
Save the results of the reply in a local variable.
-
This is the If condition that routes the flow depending on the value of the local variable, SUCCESS or ERROR.
-
This is the If condition that routes the flow depending on the Counter local variable that counts the number of attempts.
-
Depending on the error that you receive, wait five minutes, then call the service in Order Management again.
-
Increment the Counter variable.
-
If Counter is equal to or greater than 5, then end the flow.
You can modify the value in Counter to meet your needs.
As an alternative, you can use Integration Cloud Service instead of JDeveloper. Here's what your connector will look like in Integration Cloud Service.
For details see, Use Integration Cloud Service with Order Management.
Guidelines
-
Set up your task as a long-running task that uses a wait step in your orchestration process.
-
Send the existing charges back through the task response in addition to the new charges that you're adding for freight.
-
Make sure you use only one primary charge for each ChargeAppliesTo on each fulfillment line. For details, see Manage Pricing Charge Definitions.
-
Make sure you set the Applies To attribute to SHIPPING for each new charge that you add.
-
If you split a shipment line, and if you capture more than one shipping cost in one fulfillment line, then sum the costs and send a single freight charge through your task.
-
If you must calculate tax on the freight charges, see Integrate Order Management with Accounts Receivable.
- This set up captures the shipping cost when you confirm the shipment.
- This set up adds a shipping charge only to the order line. It doesn't add the
shipping charge to the sales order total. The total on the invoice won't match the
sales order total, but Order Management does send these charges to Accounts
Receivable.
Assume your sales order has one order line, the line has a price of $10 each, a quantity of 10, and the line's total is $100. Assume you add a $9 freight charge, which results in a line total of $109 but an order total of $100. Order Management will send $109 to Accounts Receivable.
- You must test your set up in a test environment for scalability and performance before you deploy it to your production environment.
- You can use this set up only on the order line that you're orchestrating. You can't use it for an entire sales order.
Make sure the application that calls the delayed response service has these privileges:
-
Manage Orchestration Order Template Interface Web Service
-
Manage Orchestration Order Fulfillment Interface Web Service
Download Example Files
Some of the payloads that you use in this topic are too long or complex to display in this document, but you can download them as files.
-
Go to Technical Reference for Order Management (Doc ID 2051639.1).
-
Download the Payloads and Files attachment.
-
Use the files in the attachment.
File
Description
CostToChargeMappings.xlsx
Example mapping that the flow uses for a delayed response.
CostToChargeTTLRequest.xml
Example payload that requests to convert costs to freight charges.
The PriceAdjustmentTL tag contains the cost that the flow records when it confirms shipment.
CostToChargeV4.xls
Use this example transformation style sheet to convert CostToChargeTTLRequest.xml to CostToChargeDelayedResponse.xml.
convert_ship_cost_to_freight_charge_input_payload.txt Example input payload. convert_ship_cost_to_freight_charge_delayed_response_payoad.txt Example payload for a delayed response.
This topic describes most but not all of the attributes that you need to map. For the complete list, see CostToChargeMappings_V5.xlsx.
Nomenclature
We use indentation to indicate the hierarchy that you must use in the payload. For example:
Headers
SOAPHeaders
ReplyTo
Address
Here's how you read this hierarchy:
- The Address attribute is in the ReplyTo entity.
- The ReplyTo entity is in the SOAPHeaders entity.
- The SOAPHeaders entity is in the Headers entity.
bold font
to indicate that if the
attribute isn't available in the destination, then don't map it.Immediate Response
We recommend that you set the Invocation Mode attribute on the connector to Asynchronous Service.
You must map these values between your request payload and your response payload when you make an asynchronous call for an immediate response:
Request Payload |
Response Payload |
---|---|
|
|
|
|
Here are the rest of the values that you need to map on the order header.
Request Payload |
Response Payload |
---|---|
|
|
|
|
Fulfillment Line Entity
Map these values for each fulfillment line entity.
Request Payload |
Response Payload |
---|---|
|
|
|
|
|
|
You can use some other status. This is typically the intermediate status for the task type. |
|
|
|
Example Payload
Here's an example payload from the CostToChargeImmediateResponse.xml file.
<nstrgmpr:HeaderId>300100135839047</nstrgmpr:HeaderId>
<nstrgmpr:FulfillLinesTR>
<nstrgmpr:FulfillLineId>300100135839049</nstrgmpr:FulfillLineId>
<nstrgmpr:SourceOrderSystem>GPR</nstrgmpr:SourceOrderSystem>
<nstrgmpr:StatusCode>AWAIT_RESPONSE</nstrgmpr:StatusCode>
<nstrgmpr:TaskType>ConvertCostToCharge</nstrgmpr:TaskType>
</nstrgmpr:FulfillLinesTR>
</nstrgmpr:headerTR>
Delayed Response
You must map values between your request payload and your response payload for a delayed response.
Fulfillment Line Entity
Map these values for each fulfillment line entity.
Request Payload |
Response Payload |
---|---|
|
|
|
|
|
|
|
|
Include the appropriate status. This is typically the exit criteria for the task type. |
|
You can also provide the name of a connector instead. |
|
Charge Entity on the Fulfillment Line
Map these values for each charge entity on the fulfillment line.
Request Payload |
Response Payload |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FreightReferenceLineId |
FreightReferenceLineId |
ParentEntityCode |
ParentEntityCode |
|
|
|
|
|
|
|
|
|
|
|
|
|
If Y then true, else false. |
|
If Y then true, else false. |
|
|
|
|
|
|
If you set CanAdjustFlag to true, and if you copy the sales order or return it, then you can adjust this entity's values in the copy or return. Set it to false, then you can't adjust them and you must use the values from the original sales order.
Charge Component Entity on the Fulfillment Line
Map these values for each charge component entity on the fulfillment line.
Request Payload |
Response Payload |
---|---|
|
|
|
|
|
|
ChargeCurrencyExtAmount |
ChargeCurrencyExtendedAmount |
|
|
|
|
|
|
|
|
|
|
|
|
HeaderCurrencyDurationExtendedAmount |
HeaderCurrencyDurationExtendedAmount |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If Y then true, else false. |
|
|
|
|
|
|
|
|
Price Adjustment Entity on the Fulfillment Line
Map these values for each price adjustment entity on the fulfillment line.
Request Payload |
Response Payload |
---|---|
|
|
|
|
|
|
You can also use an appropriate Charge Definition Code instead. |
For details, see Manage Pricing Charge Definitions. |
You can also use an appropriate ChargeCharge Sub Type Code instead. |
|
You can also use an
appropriate Charge Type Code instead. |
|
|
|
|
|
|
|
|
|
true or false |
You can have only one primary charge for each ChargeAppliesTo on a fulfillment line. |
false |
|
Maximum plus position where
Use this code to calculate the value: ue-among-nodeset
(../nsmpr0:OrderChargeTL/nsmpr0:SequenceNumber ) +
position() |
|
|
|
true |
|
Note
- You repeat this entity in each FulfillLineOrderChargeSDOTR entity.
- You can use the code that's in the Request Payload column with Oracle Integration Cloud Service. If you use a different service, then you might need to use some other code.
FulfillLineOrderChargeComponentSDOTR Entity on the Fulfillment Line
Map these values for each FulfillLineOrderChargeComponentSDOTR entity on the fulfillment line.
Request Payload |
Response Payload |
---|---|
|
|
Amount multiplied by markup divided by OrderedQty:
Use this code to calculate the value: nsmpr0:Amount div ../nsmpr0:OrderedQty |
|
|
|
Amount multiplied by markup divided by OrderedQty:
Use this code to calculate the value: nsmpr0:Amount div ../nsmpr0:OrderedQty |
|
|
|
Amount multiplied by markup |
|
|
|
Amount multiplied by markup |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You are adding one charge component, so you use a literal value of 1. |
|
You are adding one charge component, so you use a literal value of 1. |
|
markup
is
conditional. If the value that
you need to charge in this attribute equals the shipping cost, then don’t include the
markup in the expression.
Map these values for each duplicate FulfillLineOrderChargeComponentSDOTR entity on the fulfillment line.
Request Payload |
Response Payload |
---|---|
|
|
Amount multiplied by markup divided by OrderedQty:
Use this code to calculate the value: nsmpr0:Amount div ../nsmpr0:OrderedQty |
|
|
|
Amount multiplied by markup divided by OrderedQty:
Use this code to calculate the value: nsmpr0:Amount div ../nsmpr0:OrderedQty |
|
|
|
Amount multiplied by markup |
|
|
|
Amount multiplied by markup |
|
|
|
|
|
|
|
|
|
|
|
|
|
You are adding two charge components, so you use a literal value of 2. |
|
You are adding two charge components, so you use a literal value of 2. |
|
Example Response Payload
Here's an example payload for a delayed response. The CostToChargeDelayedResponse.xml file contains this response. Use the FulfillLineOrderChargeSDOTR tag to send back the shipping charges.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:FulfillmentRequest xmlns:ns1="http://xmlns.oracle.com/apps/scm/doo/taskLayer/fulfillOrder/DooTaskFulfillOrderResponseInterfaceComposite">
<ns1:FLine xmlns:ns2="http://xmlns.oracle.com/apps/scm/doo/common/process/model/">
<ns2:FulfillLineId>300100135839049</ns2:FulfillLineId>
<ns2:SourceOrderSystem>GPR</ns2:SourceOrderSystem>
<ns2:Status>COMPLETED</ns2:Status>
<ns2:TaskType>ConvertCostToCharge</ns2:TaskType>
<ns2:FulfillLineOrderChargeSDOTR>
<ns2:ChargeDefinitionCode>QP_SHIP_FREIGHT</ns2:ChargeDefinitionCode>
<ns2:ChargeSubtypeCode>ORA_PRICE</ns2:ChargeSubtypeCode>
<ns2:PriceTypeCode>ONE_TIME</ns2:PriceTypeCode>
<ns2:PricedQuantity>3</ns2:PricedQuantity>
<ns2:PricedQuantityUOMCode>Ea</ns2:PricedQuantityUOMCode>
<ns2:PrimaryFlag>true</ns2:PrimaryFlag>
<!-- This attribute specifies that the charge is a shipping charge: -->
<ns2:ChargeAppliesTo>SHIPPING</ns2:ChargeAppliesTo>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SourceChargeIdentifier>300100171244129</ns2:SourceChargeIdentifier>
<ns2:ChargeTypeCode>ORA_SHIPPING_FREIGHT</ns2:ChargeTypeCode>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:SequenceNumber>2</ns2:SequenceNumber>
<ns2:GsaUnitPrice/>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>15</ns2:HeaderCurrencyExtendedAmount>
<ns2:PriceElementCode>QP_NET_PRICE</ns2:PriceElementCode>
<ns2:SequenceNumber>1</ns2:SequenceNumber>
<ns2:PriceElementUsageCode>NET_PRICE</ns2:PriceElementUsageCode>
<!-- This attribute specifies the unit net price of the charge in the charge's currency:
It can be same or different than the order header currency. -->
<ns2:ChargeCurrencyUnitPrice>5</ns2:ChargeCurrencyUnitPrice>
<!-- This attribute specifies the per unit net price of the charge in the order header's currency.
It can be the same or different than the charge's currency: -->
<ns2:HeaderCurrencyUnitPrice>5</ns2:HeaderCurrencyUnitPrice>
<ns2:RollupFlag>false</ns2:RollupFlag>
<!-- This attribute identifies the charge for this charge component in the source system:-->
<ns2:SourceChargeId>300100171244129</ns2:SourceChargeId>
<!-- This attribute identifies the charge component in the source system: -->
<ns2:SourceChargeComponentId>1</ns2:SourceChargeComponentId>
<!-- This attribute specifies the total line amount for the charge component in the charge's currency.
You must specify the quantity multiplied by the unit price in the charge's currency: -->
<ns2:ChargeCurrencyExtendedAmount>15</ns2:ChargeCurrencyExtendedAmount>
<ns2:Explanation>UPS Freight Costs</ns2:Explanation>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>15</ns2:HeaderCurrencyExtendedAmount>
<ns2:PriceElementCode>QP_LIST_PRICE</ns2:PriceElementCode>
<ns2:SequenceNumber>2</ns2:SequenceNumber>
<ns2:PriceElementUsageCode>LIST_PRICE</ns2:PriceElementUsageCode>
<!-- This attribute specifies the unit net price of the of the charge in the currency in which charge was calculated.
It can be same or different than the order header currency. -->
<ns2:ChargeCurrencyUnitPrice>5</ns2:ChargeCurrencyUnitPrice>
<!-- This attribute specifies the per unit net price of the of the charge in the currency of the order header.
It can be same or different than the charge currency. -->
<ns2:HeaderCurrencyUnitPrice>5</ns2:HeaderCurrencyUnitPrice>
<ns2:RollupFlag>false</ns2:RollupFlag>
<!-- This attribute identifies the charge for this charge component in the source system: -->
<ns2:SourceChargeId>300100171244129</ns2:SourceChargeId>
<!-- This attribute identifies the charge component in the source system: -->
<ns2:SourceChargeComponentId>2</ns2:SourceChargeComponentId>
<!-- This attribute specifies the total line amount for the charge component in the charge's currency.
You must specify the quantity multiplied by the unit price in the charge's currency:-->
<ns2:ChargeCurrencyExtendedAmount>15</ns2:ChargeCurrencyExtendedAmount>
</ns2:FulfillLineOrderChargeComponentSDOTR>
</ns2:FulfillLineOrderChargeSDOTR>
<!-- Here are the existing charges. Don't modify these values:>
<ns2:FulfillLineOrderChargeSDOTR>
<ns2:ChargeAppliesTo>PRICE</ns2:ChargeAppliesTo>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeDefinitionCode>QP_SALE_PRICE</ns2:ChargeDefinitionCode>
<ns2:ChargeSubtypeCode>ORA_PRICE</ns2:ChargeSubtypeCode>
<ns2:ChargeTypeCode>ORA_SALE</ns2:ChargeTypeCode>
<ns2:ParentEntityCode>LINE</ns2:ParentEntityCode>
<ns2:PricePeriodicityCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PriceTypeCode>ONE_TIME</ns2:PriceTypeCode>
<ns2:PricedQuantity>3</ns2:PricedQuantity>
<ns2:PricedQuantityUomCode>Ea</ns2:PricedQuantityUomCode>
<ns2:PrimaryFlag>true</ns2:PrimaryFlag>
<ns2:ReferenceOrderChargeId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1</ns2:SequenceNumber>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:AvgUnitSellingPrice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:FreightReferenceLineId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:CanAdjustFlag>true</ns2:CanAdjustFlag>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>7500</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>2500</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation>Base List Price Applied from Corporate Segment Price List</ns2:Explanation>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>7500</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>2500</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>1</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_BASE_LIST_PRICE</ns2:PriceElementCode>
<ns2:PriceElementUsageCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceId>300100071623860</ns2:PricingSourceId>
<ns2:PricingSourceTypeCode>PRICE_LIST_CHARGE</ns2:PricingSourceTypeCode>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1000</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226042</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>7500</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>2500</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>7500</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>2500</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>1</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_LIST_PRICE</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>LIST_PRICE</ns2:PriceElementUsageCode>
<ns2:PricingSourceId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceTypeCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1001</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226043</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>-30</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>-10</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation>Manual Discount of 10USD for reason code Price match</ns2:Explanation>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>-30</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>-10</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>-0.004</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_CUSTOM_ADJUSTMENT</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>PRICE_ADJUSTMENT</ns2:PriceElementUsageCode>
<ns2:PricingSourceId>300100171226062</ns2:PricingSourceId>
<ns2:PricingSourceTypeCode>MANUAL_ADJUSTMENT</ns2:PricingSourceTypeCode>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1002</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226064</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>-33</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>-11</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation>Manual Discount of 11USD for reason code Error correction</ns2:Explanation>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>-33</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>-11</ns2:HeaderCurrencyUnitPrice>
<ns2:ModifiedFlag>N</ns2:ModifiedFlag>
<ns2:PercentOfComparisonElement>-0.0044</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_CUSTOM_ADJUSTMENT</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>PRICE_ADJUSTMENT</ns2:PriceElementUsageCode>
<ns2:PricingSourceId>300100171226080</ns2:PricingSourceId>
<ns2:PricingSourceTypeCode>MANUAL_ADJUSTMENT</ns2:PricingSourceTypeCode>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1003</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226082</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>-7.5</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>-2.5</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation>Manual Discount of 0.1% on price element List Price for reason code Sales negotiation</ns2:Explanation>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>-7.5</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>-2.5</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>-0.001</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_CUSTOM_ADJUSTMENT</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>PRICE_ADJUSTMENT</ns2:PriceElementUsageCode>
<ns2:PricingSourceId>300100171226101</ns2:PricingSourceId>
<ns2:PricingSourceTypeCode>MANUAL_ADJUSTMENT</ns2:PricingSourceTypeCode>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1004</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226103</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>7429.5</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>2476.5</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>7429.5</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>2476.5</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>0.9906</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_NET_PRICE</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>NET_PRICE</ns2:PriceElementUsageCode>
<ns2:PricingSourceId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceTypeCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1005</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226044</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>1485.9</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>495.3</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation>Exclusive Tax ( 20%)</ns2:Explanation>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>1485.9</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>495.3</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>0.19812</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_EXCLUSIVE_TAX</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>EXCLUSIVE_TAX</ns2:PriceElementUsageCode>
<ns2:PricingSourceId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceTypeCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1015</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226200</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>8915.4</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>2971.8</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>8915.4</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>2971.8</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>1.18872</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_NET_PRICE_PLUS_TAX</ns2:PriceElementCode>
<ns2:PriceElementUsageCode>NET_PRICE_PLUS_TAX</ns2:PriceElementUsageCode>
<ns2:PricingSourceId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceTypeCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1016</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226201</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:FulfillLineOrderChargeComponentSDOTR>
<ns2:ChargeCurrencyCode>USD</ns2:ChargeCurrencyCode>
<ns2:ChargeCurrencyExtendedAmount>7429.5</ns2:ChargeCurrencyExtendedAmount>
<ns2:ChargeCurrencyUnitPrice>2476.5</ns2:ChargeCurrencyUnitPrice>
<ns2:Explanation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ExplanationMessageName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:HeaderCurrencyCode>USD</ns2:HeaderCurrencyCode>
<ns2:HeaderCurrencyExtendedAmount>7429.5</ns2:HeaderCurrencyExtendedAmount>
<ns2:HeaderCurrencyUnitPrice>2476.5</ns2:HeaderCurrencyUnitPrice>
<ns2:PercentOfComparisonElement>0.9906</ns2:PercentOfComparisonElement>
<ns2:PriceElementCode>QP_MARGIN</ns2:PriceElementCode>
<ns2:PriceElementUsageCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:PricingSourceTypeCode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:ReferenceOrderChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<ns2:RollupFlag>false</ns2:RollupFlag>
<ns2:SequenceNumber>1017</ns2:SequenceNumber>
<ns2:SourceChargeComponentId>300100171226045</ns2:SourceChargeComponentId>
<ns2:SourceChargeId>300100171226040</ns2:SourceChargeId>
<ns2:SourceParentChargeCompId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</ns2:FulfillLineOrderChargeComponentSDOTR>
</ns2:FulfillLineOrderChargeSDOTR>
</ns1:FLine>
</ns1:FulfillmentRequest>
</soap:Body>
</soap:Envelope>