Description | Manage Customer Contracts |
Name | ManageCustomerContractIn |
Namespace | http://sap.com/xi/AP/CRM/Global |
Process Component Description | Customer Contract Processing |
Process Component Name | CustomerContractProcessing |
Process Component Namespace | http://sap.com/xi/AP/CRM/Global |
Deployment Unit Description | Customer Relationship Management |
Endpoint Activation | By Scoping of Process Component | Operations |
Release Status | Released |
An interface to replicate or create customer contract from a source system or file, to a target system.
This web-service is used to create or modify existing customer contract.
It consist of the MaintainBundle operation. MaintainBundle is used to create or update one or more instances of the Customer Contract Business Object
For an account to be used in a customer contract, the sales arrangement needs to be maintained. Otherwise currency will not be determined.
To create a simple consistent Customer Contract, the consumer has to provide the Account Party information and one or more Items.
The request below will create a customer contract with the following information:
Customer Contract ID as TEST_10,
Buyer ID as PSM CRM ABSL Test - Example_01,
Posting date as 2006-03-28T12:00:00.1234567Z,
Customer Contract name as PSM CRM ABSL Test - CustomerContractExample,
Item ID as 10,
Item date as 2006-03-28T12:00:00.1234567Z,
Item product as MCD-0492,
Buyer party as MC6049.
Action code represents an instruction to the recipient of the web service request to process transmitted message node elements.
Action Code | Description |
---|---|
01 | Create; the system returns an error message if the node element already exists. |
02 | Update; the system returns an error message if the node element does not exist. |
03 | Delete; the system returns an error message if the node element does not exist. |
04 | Save; the system creates or changes the element data. |
Default action code 04(Save).
Note: Action code 04(Save) creates business documents if the system could not identify a matching target business document. This applies in particular if no business document ID or UUID is provided by the web service consumer. The web service consumer (external application) is responsible for providing correct business document IDs or UUIDs and to avoid accidental creation of duplicate business documents.
The processing of node elements with cardinality > 1 (for example a list of descriptions in different languages) can be controlled using List Complete Transmission Indicators (LCTI). The LCTI indicates whether a list of node elements is transmitted completely. The LCTI of a node element with cardinality > 1 is modeled as an attribute of its parent node element (attribute name: <name of child element>ListCompleteTransmissionIndicator).
LCTI Value | Description |
---|---|
False | The list of node elements is not transmitted completely and hence all node elements that are not transmitted remain unchanged. If transmitted node elements in the list can be identified uniquely, the system processes the node elements according to action code. If transmitted node elements in the list cannot be identified uniquely, the system appends the node element to the corresponding list of node elements in the target business document. |
True | The list of elements is transmitted completely and hence all node elements that are not transmitted are removed. If no node element is transmitted, the complete list is removed. |
Default list complete transmission indicator: False.
Note: The LCTI refers to the completeness of the list of node elements and does not state completeness of sub-elements.
Maintain bundle and check maintain bundle operations are mass-enabled stateless synchronous web service operations. Transferring or requesting amounts of data that are too large causes communication timeouts. The web service consumer is responsible for ensuring reasonable sizes of data for mass operations.
Maintain bundle and check maintain bundle operations support exactly one execution (idem potency). To ensure exactly one execution of web service requests, the web service consumer has to provide unique values for the elements ID or UUID of the BasicMessageHeader node element.
Using change state identifier (element name ChangeStateID), external applications can enforce that a modifying operation is not executed because the state of the business document has changed since the external application last read its data.
The change state ID is an uninterpretable string that is provided by query and read operations and can be utilized by all modifying operations. If the change state identifier is provided when calling a modifying operation, the system does not perform the operation if the state of the business document instance has changed since the change state ID was computed. If the change state ID is not provided by the web service consumer, the system performs the web service operation without checking the state of the business document.
The web service consumer (external application) is responsible for preventing accidental changes to business documents.
Note: For this web service the change state ID does not apply to the ??
The structure of the response message consists of two parts:
A business document-specific part containing information about IDs and UUIDs of the created and changed business documents *
Log items containing system messages including errors, warnings, and information messages raised by the system during processing of the web service request *
You can find general information about Web services, their structure and consumption in the Web Services documentation.
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract> <BuyerParty> <PartyID>AXUS-C127</PartyID> </BuyerParty> <ContractDateTime>2018-10-28T12:00:00.1234567Z</ContractDateTime> <ContractStartDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-10-28T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-10-28T12:00:00Z</DateTime> </ContractEndDateTime> <Description languageCode="EN">Create Contract via web service</Description> <PaymentTerms>1001</PaymentTerms> <Item> <ProductID>AXUS-S772</ProductID> <Quantity>2</Quantity> <PriceAndTax> <ItemMainDiscount> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> <ItemMainPrice> <Rate> <DecimalValue>100</DecimalValue> </Rate> </ItemMainPrice> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode = "04"> <ID>1087</ID> <Item actionCode = "01"> <ProductID>AXUS-S781</ProductID> <Quantity>2</Quantity> <PriceAndTax> <ItemMainDiscount> <Rate> <DecimalValue>-3</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode="04" itemListCompleteTransmissionIndicator="true"> <Description languageCode="EN">Create Contract via web service</Description> <ContractDateTime>2018-05-21T12:00:00.1234567Z</ContractDateTime> <ContractStartDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-05-21T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-05-27T12:00:00Z</DateTime> </ContractEndDateTime> <CurrencyCode>USD</CurrencyCode> <DistributionChannelCode>02</DistributionChannelCode> <!-- <BuyerID>MC6049</BuyerID>--> <Item actionCode="04" itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>10</ID> <ProductTypeCode>2</ProductTypeCode> <ProductID>MCD-0442</ProductID> <Quantity>2</Quantity> </Item> <BuyerParty> <PartyID>MC6049</PartyID> </BuyerParty> <SalesUnitParty> <PartyID>MC42162</PartyID> </SalesUnitParty> <InvoiceSchedule> <Item> <InvoiceScheduleItemID>10</InvoiceScheduleItemID> <ToBeScheduledItemID>10</ToBeScheduledItemID> <ProposedInvoiceDate>2018-10-20</ProposedInvoiceDate> <Percent>100</Percent> <ToBeInvoicedPeriod> <StartDate>2018-10-18</StartDate> <EndDate>2018-11-17</EndDate> </ToBeInvoicedPeriod> </Item> <ToBeScheduledItem> <ID>10</ID> </ToBeScheduledItem> </InvoiceSchedule> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode="04" itemListCompleteTransmissionIndicator="true"> <Description languageCode="EN">Create Contract via web service</Description> <ContractDateTime>2018-05-22T12:00:00.1234567Z</ContractDateTime> <ContractStartDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-05-22T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-05-21T12:00:00Z</DateTime> </ContractEndDateTime> <CurrencyCode>USD</CurrencyCode> <DistributionChannelCode>02</DistributionChannelCode> <BuyerID>MC6049</BuyerID> <Item actionCode="04" itemScheduleLineListCompleteTransmissionIndicator="true"> <ID>10</ID> <ProductTypeCode>2</ProductTypeCode> <ProductID>MCD-0442</ProductID> <Quantity>2</Quantity> <StartDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-08-28T12:00:00Z </DateTime> </StartDateTime> <EndDateTime> <TimePointTypeCode>5</TimePointTypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-12-31T12:00:00Z </DateTime> </EndDateTime> </Item> <BuyerParty> <PartyID>MC6049</PartyID> </BuyerParty> <SalesUnitParty> <PartyID>MC42162</PartyID> </SalesUnitParty> <InvoiceSchedule> <Recurrence> <CounterValue>1</CounterValue> <TypeCode>1</TypeCode> <Recurrence> <Period> <StartDate>2018-05-22</StartDate> <EndDate>2019-05-21</EndDate> </Period> <MonthDayValue>2</MonthDayValue> <FrequencyCode>6</FrequencyCode> <FrequencyValue>1</FrequencyValue> </Recurrence> <Description> <Description languageCode="EN">Monthly Recurrence</Description> </Description> </Recurrence> <ToBeScheduledItem> <ID>10</ID> <Recurrence> <RecurrenceCounterValue>1</RecurrenceCounterValue> </Recurrence> </ToBeScheduledItem> </InvoiceSchedule> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode = "04"> <ID>1370</ID> <Item actionCode = "02"> <ID>10</ID> <CancellationReasonCode>02</CancellationReasonCode> <CancellationRecievedOnDateTime timeZoneCode="GMTUK">2018-12-01T12:00:00.1234567Z</CancellationRecievedOnDateTime> <CancellationRequestedForDateTime timeZoneCode="GMTUK">2018-12-01T12:00:00.1234567Z</CancellationRequestedForDateTime> <CancellationEffectiveOnDateTime timeZoneCode = "GMTUK">2018-12-03T00:00:00.0000000Z</CancellationEffectiveOnDateTime> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode = "04"> <ID>1421</ID> <RenewalAndCancellation> <CancellationReasonCode>02</CancellationReasonCode> <CancellationReceivedOnDateTime timeZoneCode="GMTUK">2018-12-01T12:00:00.1234567Z</CancellationReceivedOnDateTime> <CancellationRequestedForDateTime timeZoneCode="GMTUK">2018-12-01T12:00:00.1234567Z</CancellationRequestedForDateTime> <CancellationEffectiveOnDateTime timeZoneCode = "GMTUK">2018-12-03T00:00:00.0000000Z</CancellationEffectiveOnDateTime> </RenewalAndCancellation> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode = "04"> <ID>1324</ID> <Item actionCode = "02"> <ID>10</ID> <PriceAndTax> <ItemMainPrice> <Rate> <DecimalValue>277</DecimalValue> </Rate> </ItemMainPrice> <ItemMainDiscount> <Rate> <DecimalValue>-10</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract actionCode = "03"> <ID>1127</ID> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
In the following scenario, user sets Item Main Discount which leads to only one discount at the item level that is being sent in request. Even if the discounts are determined from master data / manually overwritten discounts at item, if user passes ItemMainDiscount in request, then Main Discount takes priority over all discounts at item level, both in case of create and update of sales order.
Use case: Item Main Discount as the only discount at item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract> <BuyerParty> <PartyID>MC9786</PartyID> </BuyerParty> <DateTime>2018-10-28T12:00:00.1234567Z</DateTime> <ContractStartDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-10-28T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-10-28T12:00:00Z</DateTime> </ContractEndDateTime> <Name languageCode="EN">Create Contract via web service</Name> <PaymentTerms>1001</PaymentTerms> <Item> <ProductID>MCF-0002</ProductID> <Quantity unitCode="EA">1</Quantity> <PriceAndTax> <ItemMainDiscount> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
Note: The messages in the log vary based on discount master data that exists in system.
Create Use Case:
Case 1: In case, there is no discount master data which is determined at item level, then no message is sent in response and main discount is set as in ItemMainDiscount.
Case 2: In case, there is single discount determined from master data at item level, then the determined discount is discarded and discount sent in ItemMainDiscount is set as item discount, and then a warning message is sent in response.
Note: ItemMainDiscount takes priority over determined discount from master data.
Case 3: In case, there are multiple discount determined from master data at item level, then determined discounts are discarded and discount sent in ItemMainDiscount is set as item discount, and then a warning message is sent in response.
Note: ItemMainDiscount takes priority over determined discount from master data.
Case 4: In case, discount is sent via ItemMainDiscount and ItemPriceComponent, then ItemMainDiscount takes priority over
ItemPriceComponent discount.
Update Use Case:
Case 1: In case, there is no discount at item level, then no message is sent in response, and main discount is set as in ItemMainDiscount.
Case 2: In case, there are multiple discounts at item level (determined from master data/ manually entered discounts), then all discounts are discarded and discount sent in ItemMainDiscount is set as item discount, and then a warning message is sent in response.
Note: ItemMainDiscount takes priority over existing discounts.
Use case: Item Discount to be added along with determined/manually overwritten discount at item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract> <BuyerParty> <PartyID>MC9785</PartyID> </BuyerParty> <DateTime>2018-10-28T12:00:00.1234567Z</DateTime> <ContractStartDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-10-28T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-10-28T12:00:00Z</DateTime> </ContractEndDateTime> <Name languageCode="EN">Create Contract via web service</Name> <PaymentTerms>1001</PaymentTerms> <Item> <ProductID>MCF-0001</ProductID> <Quantity unitCode="EA">1</Quantity> <PriceAndTax> <ItemMainDiscount> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> <ItemPriceComponent> <TypeCode listID="2">7PR6</TypeCode> <Rate> <DecimalValue>50</DecimalValue> </Rate> </ItemPriceComponent> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
Note: The discount at item level is added to existing determined/manually added discounts.
Create Use Case:
Case 1: In case, there is no discount master data which is determined at item level, then discount is added as in ItemPriceComponent.
Case 2: In case, there is single discount determined from master data at item level, then the determined discount is kept as is and new discount entry created with discount value sent via ItemPriceComponent.
Note: ItemPriceComponent adds new discount entry at item level.
Case 3: In case, there are multiple discounts determined from master data at item level, then the determined discounts are kept as is and new discount entry created with discount value sent via ItemPriceComponent.
Note: ItemPriceComponent adds new discount entry at item level.
Use case: Pricing in Gross: Item Discount to be added along with determined/manually overwritten discount at item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract> <BuyerParty> <PartyID>MC9786</PartyID> </BuyerParty> <DateTime>2018-10-28T12:00:00.1234567Z</DateTime> <ContractStartDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-10-28T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-10-28T12:00:00Z</DateTime> </ContractEndDateTime> <Name languageCode="EN">Create Contract via web service</Name> <PaymentTerms>1001</PaymentTerms> <PricingIn> <GrossAmountIndicator>true</GrossAmountIndicator> </PricingIn> <Item> <ProductID>MCF-0002</ProductID> <Quantity unitCode="EA">1</Quantity> <PriceAndTax> <ItemMainDiscount> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> <ItemPriceComponent> <TypeCode listID="2">8PR6</TypeCode> <Rate> <DecimalValue>50</DecimalValue> </Rate> </ItemPriceComponent> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
Note: The discount at item level is added to existing determined/manually added discounts.
Create Use Case:
Case 1: In case, there is no discount master data which is determined at item level, then discount is added as in ItemPriceComponent.
Case 2: In case, there is single discount determined from master data at item level, then determined discount is kept as is and new discount entry created with discount value sent via ItemPriceComponent.
Note: ItemPriceComponent adds new discount entry at item level.
Case 3: In case, there are multiple discounts determined from master data at item level, then determined discounts are kept as is and new discount entry created with discount value sent via ItemPriceComponent.
Note: ItemPriceComponent adds new discount entry at item level.
In the following scenario, user sets Standalone Selling Price of product, which leads to overwriting of system determined standalone selling price of product at the item level of a specific order.
Note: Standalone Selling Price is applicable in case of accounting standard IFRS 15 / ASC 606 Revenue from Contracts with Customers.
Use case: Overwrite Standalone Selling Price.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <CustomerContract> <BuyerID>MC9785</BuyerID> <DateTime>2018-09-14T12:00:00.1234567Z</DateTime> <ContractStartDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2018-09-14T12:00:00Z</DateTime> </ContractStartDateTime> <ContractEndDateTime> <TypeCode>5</TypeCode> <DateTime timeZoneCode="GMTUK" daylightSavingTimeIndicator="false">2019-09-14T12:00:00Z</DateTime> </ContractEndDateTime> <Name languageCode="EN">Create Contract via web service</Name> <PaymentTerms>1001</PaymentTerms> <Item> <ProductID>MCF-0001</ProductID> <Quantity>1</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <PriceAndTaxCalculationItem> <ItemPriceComponent> <TypeCode listID="2">9PR1</TypeCode> <Rate> <DecimalValue>500</DecimalValue> <CurrencyCode>USD</CurrencyCode> <BaseDecimalValue>1</BaseDecimalValue> <BaseMeasureUnitCode>EA</BaseMeasureUnitCode> </Rate> <RateBaseQuantityTypeCode>EA</RateBaseQuantityTypeCode> </ItemPriceComponent> </PriceAndTaxCalculationItem> </Item> <BuyerParty> <PartyID>MC9785</PartyID> </BuyerParty> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
Note: <ItemPriceComponent> TypeCode is 9PR1 for overwriting Net Pricing Standalone Selling Price and Gross Standalone Selling Price cannot be overwritten.
The following request xml releases a customer contract using element ReleaseIndicator. In fact the element triggers the business object action ReleaseAllItems which corresponds to the UI action Submit - Release. In result the customer contract status turns to "Released".
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>33</ID> <ReleaseIndicator>true</ReleaseIndicator> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml releases a customer contract using element ReleaseIndicator in 2 steps:
1. Submit the customer contract for approval using the web service request xml below. The element ReleaseIndicator triggers the business object action ReleaseAllItems which corresponds to the UI action Submit - Release. In result the customer contract status turns to "In Approval".
2. Approve the customer contract via UI or mobile app. In result the customer contract status turns to "Released".
Note: In case the contract is rejected or sent for revision, then you need to repeat step 1 and step 2.
Request used in step 1:
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>33</ID> <ReleaseIndicator>true</ReleaseIndicator> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml send contract confirmation to account using element SendContractConfirmationToAccountIndicator. In fact the element triggers the business object actions RequestConfirmationIssue and NotifyOfConfirmationIssue, which corresponds to the UI action Submit - Send Contract Confirmation to Account. In result the customer contract status ConfirmationIssuingStatusCode turns to "Issued".
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>33</ID> <SendContractConfirmationToAccountIndicator>true</SendContractConfirmationToAccountIndicator> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml finish fulfillment process of contract document using element FinishFulfillmentIndicator. In fact the element triggers the business object actions FinishFulfilmentProcessingOfAllItems, which corresponds to the UI action Submit - Finish Fulfillment. In result the customer contract delivery status turns to "Finished".
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>33</ID> <FinishFulfillmentIndicator>true</FinishFulfillmentIndicator> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml finish Invoicing process of contract document using element FinishFulfillmentIndicator. In fact the element triggers the business object actions FinishInvoicingProcessingOfAllItems, which corresponds to the UI action Submit - Finish Invoicing.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>33</ID> <FinishInvoicingIndicator>true</FinishInvoicingIndicator> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml finish fulfillment process of contract item using element FinishFulfillmentIndicator. In fact the element triggers the business object actions FinishFulfilmentProcessing on item node, which corresponds to the UI action Finish Fulfillment on contract item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>3036</ID> <Item actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>10</ID> <FinishFulfillmentItemIndicator>true</FinishFulfillmentItemIndicator> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml finish invoicing process of contract item using element FinishInvoicingItemIndicator. In fact the element triggers the business object actions FinishInvoicingProcessing on item node, which corresponds to the UI action Finish Invoicing on contract item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>3036</ID> <Item actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>10</ID> <FinishInvoicingItemIndicator>true</FinishInvoicingItemIndicator> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml revoke fulfillment process of contract item using element RevokeFulfillmentItemIndicator. In fact the element triggers the business object actions RevokeFinishFulfilmentProcessing on item node, which corresponds to the UI action Revoke Fulfillment on contract item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>3036</ID> <Item actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>10</ID> <RevokeFulfillmentItemIndicator>true</RevokeFulfillmentItemIndicator> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml revoke Invoicing process of contract item using element RevokeInvoicingItemIndicator. In fact the element triggers the business object actions RevokeInvoice on item node, which corresponds to the UI action Revoke Invoicing on contract item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>3036</ID> <Item actionCode="02" itemListCompleteTransmissionIndicator="false"> <ID>10</ID> <RevokeInvoicingItemIndicator>true</RevokeInvoicingItemIndicator> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml creates a Main Discount for the Contract on the header level. If we are creating discount via "MainDiscount" tag then it will delete all the existing "Over All Discounts" on header and creates a new one.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode = "02"> <ID>3399</ID> <PriceAndTax actionCode="02"> <MainDiscount> <Rate> <DecimalValue>29</DecimalValue> </Rate> </MainDiscount> </PriceAndTax> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml creates price components for the Contract on the header level.
Note: When creating the price component, the corresponding price component should be scoped in the system
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3417</ID> <PriceAndTax> <!-- Over All Discount(%)--> <PriceComponent actionCode="01"> <TypeCode>0007</TypeCode> <Rate> <DecimalValue>-1</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </PriceComponent> <!-- Additional Over All Discount(%)--> <PriceComponent actionCode="01"> <TypeCode>2007</TypeCode> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </PriceComponent> <!-- Additional Over All Discount--> <PriceComponent actionCode="01"> <TypeCode>3007</TypeCode> <Rate> <DecimalValue>-3</DecimalValue> </Rate> </PriceComponent> <!-- Restocking Fee--> <PriceComponent actionCode="01"> <TypeCode>7PRB</TypeCode> <Rate> <DecimalValue>-4</DecimalValue> </Rate> </PriceComponent> </PriceAndTax> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml update price components for the Contract on the header level. For updating the price component we should provide the UUID for the corresponding price component for the web srevice to identify the right price component. We can get the UUID by executing the QueryCustomerContractIn service.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3417</ID> <PriceAndTax actionCode="02"> <PriceComponent actionCode="02"> <UUID>00163e94-2a34-1eea-9ab3-c988c70206ff</UUID> <Rate> <DecimalValue>-5</DecimalValue> </Rate> </PriceComponent> </PriceAndTax> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml delete price components for the Contract on the header level. For deleting the price component we should provide the UUID for the corresponding price component for the web srevice to identify the right price component. We can get the UUID by executing the QueryCustomerContractIn service.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3417</ID> <PriceAndTax actionCode="04"> <PriceComponent actionCode="03"> <UUID>00163e94-2a34-1eea-9ab3-c988c70206ff</UUID> </PriceComponent> </PriceAndTax> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml creates a Main Discount for the Contract on the Item level. If we creating are discount via "ItemMainDiscount" tag then it will delete all the existing discounts and creates a new one.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04" itemListCompleteTransmissionIndicator="true"> <ID>3387</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTax> <ItemMainDiscount> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml creates a Main Price for the Contract on the Item level. It will replace the existing price with the provided price as a product can have only one price.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04" itemListCompleteTransmissionIndicator="true"> <ID>3387</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTax> <ItemMainPrice> <Rate> <DecimalValue>100</DecimalValue> </Rate> </ItemMainPrice> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml creates price components for the Contract on the item level.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3420</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTax> <!-- GoodWill--> <ItemPriceComponent actionCode="01"> <TypeCode>7PRC</TypeCode> <Description>GoodWill</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Warranty --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR9</TypeCode> <Description>Warranty</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Quality Loss Fee--> <ItemPriceComponent actionCode="01"> <TypeCode>7PRA</TypeCode> <Description>Quality Loss Fee</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Surcharge(%)--> <ItemPriceComponent actionCode="01"> <TypeCode>7PR2</TypeCode> <Description>Surcharge %</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Surcharge --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR3</TypeCode> <Description>Surcharge</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Working Condition --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR7</TypeCode> <Description>Working Condtion</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Product Discount --> <ItemPriceComponent actionCode="01"> <TypeCode>7PR6</TypeCode> <Description>Discount</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml update price components for the Contract on the item level. For updating the item price component we should provide the UUID for the corresponding item price component for the web srevice to identify the right price component. We can get the UUID by executing the QueryCustomerContractIn service.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3420</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTax actionCode="02"> <ItemPriceComponent actionCode="02"> <UUID>00163e94-2a23-1eda-9ab4-A71ecbaf5bf8</UUID> <Rate> <DecimalValue>-1</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml delete price components for the Contract on the item level. For deleting the item price component we should provide the UUID for the corresponding item price component for the web srevice to identify the right price component. We can get the UUID by executing the QueryCustomerContractIn service.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3420</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTax actionCode="02"> <ItemPriceComponent actionCode="03"> <UUID>00163e94-2a23-1eda-9ab4-A71ecbaf5bf8</UUID> </ItemPriceComponent> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml creates price components for the Contract on the item level when pricing strategy is based on gross price procedure
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode="04"> <ID>3431</ID> <Item actionCode="04"> <ID>10</ID> <PriceAndTax> <!-- Gross Freight --> <ItemPriceComponent actionCode="01"> <TypeCode>8PRD</TypeCode> <Description>Gross Freight</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Gross Quality Loss Fee--> <ItemPriceComponent actionCode="01"> <TypeCode>8PRA</TypeCode> <Description>Gross Quality Loss Fee</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Gross Surcharge(%)--> <ItemPriceComponent actionCode="01"> <TypeCode>8PR2</TypeCode> <Description>Gross Surcharge %</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Gros Surcharge --> <ItemPriceComponent actionCode="01"> <TypeCode>8PR3</TypeCode> <Description>Gross Surcharge</Description> <Rate> <DecimalValue>-2</DecimalValue> </Rate> </ItemPriceComponent> <!-- Gross Working Condition --> <ItemPriceComponent actionCode="01"> <TypeCode>8PR7</TypeCode> <Description>Gros Working Condtion</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> <!-- Gross Discount --> <ItemPriceComponent actionCode="01"> <TypeCode>8PR6</TypeCode> <Description>Discount</Description> <Rate> <DecimalValue>-2</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemPriceComponent> </PriceAndTax> </Item> <BuyerParty/> <SalesUnitParty/> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The following request xml updates item main price and item main discount of the specfied contract.
Request
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode = "04"> <ID>3441</ID> <Item actionCode = "02"> <ID>10</ID> <PriceAndTax> <ItemMainPrice> <Rate> <DecimalValue>277</DecimalValue> </Rate> </ItemMainPrice> <ItemMainDiscount> <Rate> <DecimalValue>-5</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </ItemMainDiscount> </PriceAndTax> </Item> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
Release | Change Description | Details |
---|---|---|
2002 | ReleaseIndicator element added | Added new element to release the contract document |
2002 | SendContractConfirmationToAccountIndicator element added | Added new element to send the contract to account |
2002 | FinishFulfillmentIndicator element added | Added new element to finish fulfillment of contract |
2002 | FinishInvoicingIndicator element added | Added new element to finish invoicing of contract |
2002 | ReleaseItemIndicator element added | Added new element to release the item in the contract document |
2002 | FinishFulfillmentItemIndicator element added | Added new element to finish fulfillment of contract item |
2002 | FinishInvoicingItemIndicator element added | Added new element to finish invoicing of contract item |
2002 | RevokeFulfillmentItemIndicator element added | Added new element to revoke fulfillment of contract item |
2002 | RevokeInvoicingItemIndicator element added | Added new element to revoke invoicing of contract item |
2005 | Enabled Header Price Component CRUD operations on contract | Added new structure to perform creation, updation and deletion of header price components such as Over All Discount(%), Additional Overall Discount(%), Additional Overall Discount, Restocking Fee, Surcharge and Freight for both Net and Gross price procedures |
Description | Maintain customer contracts |
Name | MaintainBundle |
Synchronous | yes |
Release Status | Released |
To maintain one or more customer contracts using imported structured data.
The MaintainBundle operation is used to maintain one or more customer contracts using imported structured data.
To create a simple, consistent customer contract, the consumer has to provide the Account Party information, and information for one or more Items.
This is the root node for each order data being passed in the request. The following are the attributes and elements of this node.
Attributes | Description |
---|---|
actionCode | Refer to General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
ID | The identifier for a specific customer contract (mandatory during modification of an existing customer contract). |
Description | Description for a Customer Contract |
ContractDateTime | Date and time when the contract was signed. This date is used for reporting |
ContractStartDateTime | Start date and time for a contract |
ContractEndDateTime | End date and time for a contract |
CurrencyCode | Currency for contract |
DistributionChannelCode | Distribution channel is a channel via which goods or services reach the customer. Code Value Description: 01 Direct sales; 02 Indirect sales |
ExternalRefernce | Identifier of an account for which the contract is valid |
ServiceLevelName | Service level objective is a measurable objective that specifies one or more conditions for fulfilling a service. This objective can be defined temporally, quantitatively, or as a percentage. A temporal objective can be the response time, for example "First Reaction Time". |
PricingDate | Used to determine pricing in the given contract based on time dependent price and discount lists or other price dependent specifications, such as freights or surcharges. |
PaymentTerms | A coded representation of an agreement of cash discounts for a payment. Example Code Value Description: 0001 Due net payable immediately |
ChangeStateID | An identifier for a change state |
ObjectNodeSenderTechnicalID |
A price and tax calculation is the summary of the determined price and tax components for a business case. A specification of the general procedure for price and tax determination and valuation using attributes those are characteristic or relevant for the whole object.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
priceComponentListCompleteTransmissionIndicator | PriceComponent sub-node is of multiple cardinality. |
productTaxDetailsListCompleteTransmissionIndicator | ProductTaxDetails sub-node is of multiple cardinality. |
withholdingTaxDetailsListCompleteTransmissionIndicator | WithholdingTaxDetails sub-node is of multiple cardinality. |
A cumulated price element for the entire document from a manually created price specification, or from the items of a cumulated price element.
The pricing elements are structured and build on each other.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the price component node |
TypeCode | The type of price element (component). The list of types depends on PricingProcedure chosen or configured for customer. Note: The customer needs to be well versed in the TypeCodes available for a system (based on configuration) to make corresponding pricing changes to the order(s). |
Rate | The monetary rate for a price, discount or surcharge of the price element. |
RateBaseQuantityTypeCode | The type of the base quantity of the rate. |
Note: If any element that affects the pricing is changed, such as product or quantity, then the identifier UUID will be changed as well. In this case the customer has to query the contract and retrieve the updated UUID of the respective PriceComponent that the customer wishes to change. It’s a recommendation that the customer reads the contract for the PriceComponent UUIDs before making the request to update the PriceComponent(s). And if an PriceComponent does not exist, then it can be created by passing the respective TypeCode for it (as shown in the xml below).
In the following sample xml, the request is to modify the freight charges of the customer contract document.
Note: In scoping under „General Business Data – Product and Service Pricing – Sales Price and Discount Lists‟, two different types of freights are offered. The customer has to decide one of them or none.
The two types of freights charges are:
TypeCode – 7PR8 – An absolute amount which is maintained at the contract document level.
TypeCode – 7PRD – A net-weight depenedent amount which is deteremined automatically on item level (sample xml)
MainDiscount node can be utilized to maintain the discount value for the whole sales order document. A specialized node to maintain the PriceComponent of type 0007 - Main Discount.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
Rate | The monetary rate for a price, discount or surcharge of the price element. |
RateBaseQuantityTypeCode | The type of the base quantity of the rate. |
In this sample xml, the request is to update (or create) the discount for the whole sales order, change the freight charge and create a new price element for Restocking fees (7PRB), an absolute amount.
Note: When MainDiscount is used, it will delete all the exisitng discounts and creates a new one
<n0:CustomerContractBundleMaintainRequestSync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader/> <CustomerContract actionCode = "04"> <ID>3441</ID> <PriceAndTax priceComponentListCompleteTransmissionIndicator="true" actionCode="04"> <MainDiscount> <Rate> <DecimalValue>-5</DecimalValue> <MeasureUnitCode>P1</MeasureUnitCode> </Rate> </MainDiscount> <!-- Restocking Fee--> <PriceComponent actionCode="01"> <TypeCode>7PRB</TypeCode> <Rate> <DecimalValue>-4</DecimalValue> </Rate> </PriceComponent> <PriceComponent actionCode="02"> <UUID>00163e94-2a34-1eea-9ab3-c988c70206ff</UUID> <Rate> <DecimalValue>-5</DecimalValue> </Rate> </PriceComponent> </PriceAndTax> </CustomerContract> </n0:CustomerContractBundleMaintainRequestSync_V1>
The details determined for a specific type of product tax for the entire document.
Product taxes are taxes that are incurred for product-related business cases, such as purchasing, sales or consumption.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the product tax details node |
TaxationCharacteristicsCode | The coded representation of basic characteristics upon which the taxation of products is based. |
TransactionCurrencyProductTax | The determined parts of product tax in document currency |
Item of a customer-specific business transaction that focuses on delivering goods or providing a service, on the prices and on preparing the invoice. Item is the identifying and administrative item information in a Customer Contract which, in addition to the schedule lines, contains all the data that applies to the item, for example, the product information, the parties involved, the sales/delivery/Customer Invoicing-specific agreements, status and references, and so on.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
itemListCompleteTransmissionIndicator | ListCompleteTransmissionIndicator is available for child nodes with multiple cardinality and Item is one such child node of customer contract node. Values can be either true or false. |
Elements | Description |
---|---|
ID | The identifier for a specific customer contract item (mandatory during modification of an existing item). |
Status | A coded representation of the life cycle status of the item. Code Value Description: 1 In Preparation; 2 In Process; 3 Completed; 4 Partially Released; 5 Released |
ProductId | Identifier of a product |
Quantity | Quantity of the product in an item |
ItemTypeCode | Coded representation of item processing of the Customer Transaction Document in the process component. |
Description | Short description of the item. |
PricePerPeriodIndicator | Indicates whether price is defined for a specific period, for example by month. |
DateTime | Date and time when the contract was signed. This date is used for reporting and is derived from the root node. It can be overwritten on each item. |
StartDateTime | Start date and time for a contract item |
EndDateTime | End date and time for a contract item |
ProjectTaskKey | Unique key for a project task. Valid only in case of direct cost project. |
FulfilmentPartyCategoryCode | Party category of the fulfillment of a sales order item. Code Value Description: 1 Internal; 2 External |
ProductDescription | Description of the product on the item |
ProductCategoryID | Identifier of a product category |
EntitlementProductID | Identifier of a product of type Entitlement |
JurisdictionCode | A coded representation of a tax jurisdiction. |
TaxCountry | Country based on which taxes will be applied |
TaxDate | Date based on which the tax has to be calculated |
TaxCode | A coded representation of the main characteristics that form the basis of a product taxation. |
TaxExemptionCertificateID | Identifier for a tax exemption certificate. |
CancellationRecievedOnDateTime | Date and Time on which the cancellation request for the item was received |
CancellationRequestedForDateTime | Date and Time for which the cancellation for the item is requested to be valid |
CancellationReasonCode | A coded representation for the reason for a cancellation. Example Code Value Description: 01 Delivery too late |
CancellationEffectiveOnDateTime | Date and Time from which the cancellation for the item is effective |
ServicePerformerID | Identifier of the party, service performer |
SupplierID | Identifier of the party, supplier |
ShipToParty | Identifier of the party, to whom the goods have to be shipped |
A ItemTextCollection is a collection of all textual descriptions which are related to a Customer Contract item. Each text can include formatting information.
This node follows the same structure and consumption pattern as the child-node TextCollection of node CustomerContract. Please refer Node – CustomerInformationTextCollection for more details.
A ItemInternalCommentTextCollection is a collection of all textual descriptions which are related to a Customer Contract item. Each text can include formatting information.
This node follows the same structure and consumption pattern as the child-node TextCollection of node CustomerContract. Please refer Node – InternalCommentTextCollection for more details.
An ItemAttachmentFolder is the collection of all documents attached to a Customer Contract item.
This node follows the same structure and consumption pattern as the child-node AttachmentFolder of node CustomerContract. Please refer to Node – AttachmentFolder for more details.
PriceAndTax is the specification for price and tax determination and valuation using attributes that are characteristic or relevant for the Customer Contract item.
This node follows the same structure and consumption pattern as the child-node PriceAndTax of node CustomerContract. Please refer Node – PriceAndTax for more details.
In addition to the structure of PriceAndTax, PriceAndTax has the following specialization
ItemMainDiscount (main discount value for the item)
ItemMainPrice (main price for the item)
A Party is a natural or legal person, organization, organizational unit or group that is involved in a transaction, and a reference to a business partner or one of its specializations (such as Customer, Supplier, Employee, and so on).
Party occurs in the following incomplete and disjoint specializations:
Party | Description |
---|---|
BuyerParty | A BuyerParty is a party (Customer) that purchases a product or service. It occurs in the role of the buyer or ordering party with whom the contractual agreement is concluded. |
ContractingUnitParty | A ContractingUnitParty is a party (Customer) with whom the contract is a legal agreement. |
ShipToParty | A ShipToParty is a party (Customer) to whom the goods or services is sent. |
BillToParty | A BillToParty is a party (Customer) to whom the invoice for goods or services is sent. |
PayerParty | A PayerParty is a party (Customer) that pays for a product or a service. |
EmployeeResponsibleParty | An EmployeeResponsibleParty is a party (Employee), that is responsible for the processing of sales or services. |
SellerParty | A SellerParty is a party that sells goods or services. It represents the selling company that has a contractual agreement with the BuyerParty. |
SalesUnitParty | A SalesUnitParty is a party (Sales Unit) that is responsible for the sales of goods and services. |
ContractAdministratorParty | |
InvoicingUnitParty |
The Party with the following specializations that are related to the company (seller) cannot have a change in address except for the respective contact party of these parties.
EmployeeResponsibleParty
SellerParty
SalesUnitParty
ServiceExecutionTeamParty
ServicePerformerParty
SalesEmployeeParty
BillFromParty
VendorItemParty
ServicePerformerItemParty
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
partyContactPartyListCompleteTransmissionIndicator | The ContactParty child node is of multiple cardinality, hence there is a ListCompleteTransmissionIndicator to handle this. |
Elements | Description |
---|---|
PartyID | An identifier for a party |
RenewalAndCancellation are the agreements and conditions applicable for the sale of goods and services in the Customer Contract.
Elements | Description |
---|---|
CancellationReasonCode | Specifies a reason for canceling a sales transaction. Can be set by both the buyer and seller. 01 Delivery too late; 02 Quality issues; 03 Too expensive; 04 Competitor cheaper; 05 Competitor better quality; 06 Customer to receive replacement; 07 Warranty; 08 Other reason; 97 Cancellation from inbound delivery; 98 Customer cancellation by XI message; |
CancellationAgreementCode | Specifies the terms and conditions for cancellation of a customer contract as agreed upon by the customer and the supplier. 1 Immediately; 2 1 month before end of quarter; 3 Two weeks advance notice; 4 Yearly, four weeks before end of calendar year; |
CancellationReceivedOnDateTime | Specifies a date and time when cancellation of a contract was requested |
CancellationRequestedForDateTime | Specifies a date and time from when a contract is requested to be deemed as cancelled |
CancellationEffectiveOnDateTime | Specifies a date and time from when a contract will be effectively deemed as cancelled |
RenewalAgreementCode | Specifies the terms and conditions for renewal of a customer contract as agreed upon by the company and the customer. 1 Automatic renewal by one year unless cancelled; 2 Quote, 8 weeks before end date, without automatic acceptance; 3 Quote, 8 weeks before end date, with automatic acceptance |
CustomerInformationTextCollection is a collection of all textual descriptions which are related to a Customer Contract. Each text can include formatting information.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
A Text is unstructured, readable information that contains additional formatting information within TextCollection. The type of type can be specified via the TypeCode.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
TypeCode | Defines the text type and thus main settings for the text. Code Value Description: 10024 Customer Information |
ContentText | Describes the unstructured data of the text. |
InternalCommentTextCollection is a collection of all internal textual descriptions which are related to a Customer Contract. Each text can include formatting information.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
A Text is unstructured, readable information that contains additional formatting information within TextCollection. The type of type can be specified via the TypeCode.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
TypeCode | Defines the text type and thus main settings for the text. Code Value Description: 10011 Internal Comment |
ContentText | Describes the unstructured data of the text. |
An Attachment Folder is the collection of all documents attached to a Customer Contract.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
UUID | Universally unique identifier of the attachment folder node |
A document is an attachment that was assigned to the Attachment Folder and contains unstructured in-formation and additional control and monitoring information.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
VisibleIndicator | Specifies whether a document is visible or not. |
CategoryCode | Coded representation of the document category, such as Folder, File or Link. Code Value Description: 1 Folder; 2 Document; 3 Link |
TypeCode | Coded representation of the document type. Most general attachments are of type '10001'. |
MIMECode | Coded representation of the MIMECode of a document. |
Name | Name of a document that identifies the document within its higher-level folder The Name is the same as the last component of the DocumentPathName. All characters (apart from the separator "/") are allowed in the name. |
AlternativeName | Language-independent name of a document |
Description | Language-independent description of a document |
ExternalLinkWebURI | Destination URI (if the link is external) |
Sub-Node: (only relevant when the document is a file) FileContent-BinaryContent | Describes the unstructured data in binary form |
PricingTerms are the characteristics used for pricing and valuation of goods and services in the Customer Contract.
Attributes | Description |
---|---|
actionCode | Refer to the General Rules for Using this Web Service section for more details. |
Elements | Description |
---|---|
GrossAmountIndicator | An indicator that specifies whether or not price and/or value is given as gross amount (including taxes). |
A schedule for processing invoices with specifications concerning the invoice dates and the amounts to be invoiced.
Elements | Description |
---|---|
LifeCycleStatusCode | A coded representation of the life cycle status of an invoice schedule. Code Value Description: 1 Open; 2 Completed |
The specification of the invoice date recurrence
Elements | Description |
---|---|
CounterValue | A value that counts a number that changes in fixed increments. Only non-negative whole numbers are permitted. |
TypeCode | A coded representation of the recurrence of an invoice schedule. Code Value Description: 1 Recurrence Pattern; 2 Individual Dates |
Specify recurrence rules to determine a set of calendar days.
Elements | Description |
---|---|
Period | Start and End date of the recurrence period. |
Value | Number of recurrences. |
MonthDayValue | Specifies the day of the month when the schedule should recur. |
FrequencyCode | A coded representation of the recurrence frequency. Code Value Description: 4 Daily; 5 Weekly; 6 Monthly; 7 Yearly |
FrequencyValue | Value for the specified frequency. |
WeekdaySelection | Selection of weekdays for specified recurrence. |
Month | Specifies the month of recurrence |
RelativeOrdinalNumberValue |
Elements | Description |
---|---|
Description | Short description of the recurrence. |
The item that is going to be scheduled.
Elements | Description |
---|---|
ID | Identifier of the Item |
InvoiceScheduleTypeCode | A coded representation of the type of an invoice schedule. Code Value Description: 1 Partial Fixed Price; 2 Time and Material; 3 Periodic Fixed Price |
Amount | Specifies the amount which has to be assigned to the invoice |
Quantity | Specifies the quantity which has to be assigned to the invoice |
QuantityTypeCode | A coded representation of a type of quantity |
Period Start and End date of the recurrence period. |
LifeCycelStatusCode | A coded representation of the status of an invoice schedule to-be-scheduled item. Code Value Description: 1 In Preparation; 2 Open; 3 Completed; 4 Cancelled |
The recurrence that is valid for the to-be-scheduled item. At most one valid recurrence will be allowed for a to-be-scheduled item at a specific point in time.
Elements | Description |
---|---|
ValidityPeriod | Start and End date of the recurrence period. |
RecurrenceCounterValue | Number of recurrences. |
Elements | Description |
---|---|
InvoiceScheduleItemID | Identifier of the item |
ToBeScheduledItemID | Identifier of to be scheduled invoice item |
RecurrenceCounterValue | Specifies a value of recurrence |
ToBeInvoicedPeriod | Start and End date of the invoice period. |
ProposedInvoiceDate | Specifies an invoice date |
ProjectMilestoneUUID | Unique identifier of milestone a project milestone |
Percent | Specifies the percentage of the amount to be invoiced |
Quantity | Specifies the quantity which has to be assigned to the invoice |
QuantityTypeCode | A coded representation of a type of quantity |
Amount | Specifies the amount which has to be assigned to the invoice |
LifeCycleStatusCode | A coded representation of the status of an invoice schedule to-be-scheduled item. Code Value Description: 1 Open; 2 Invoiced; 3 Invoice Canceled; 4 Canceled; 5 Project Invoice Requested; 6 Milestone Completion Pending; 7 Finished - Nothing Open for Invoicing |
TextCollection is a collection of all textual descriptions which are related to an schedule item.
This node follows the same structure and consumption pattern as the child-node TextCollection of node CustomerContract. Please refer Node – InternalCommentTextCollection for more details.
Elements | Description |
---|---|
CoveredProductID | Identifier for a product |
ProductCategoryID | Identifier for a product category |
List of unique identifiers for an individual product that is assigned in the context of production.