SAP Knowledge Base Article - Public

2844299 - CashDiscountTerms Are Not Updated When Creating a Sales Order via the Web Service

Symptom

You are creating a Sales Order via the web service ManageSalesOrderIn and are passing the Payment Terms in the element CashDiscountTerms. However, the Payment Terms from the payload are not taken over in the new created Sales Order but instead the Payment Terms from the Account Master Data are used.

Environment

 SAP Business ByDesign

Reproducing the Issue

Example Payload for creating a Sales Order with the Payment Terms 1005 (60 days net):

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global" xmlns:glob1="http://sap.com/xi/AP/Globalization" xmlns:a00="http://sap.com/xi/AP/CustomerExtension/BYD/A0014">
<soap:Header/>
<soap:Body>
<glob:SalesOrderBundleMaintainRequest_sync>
<BasicMessageHeader></BasicMessageHeader>
<SalesOrder actionCode="04">
<AccountParty>
<PartyID>XYZ</PartyID>
</AccountParty>
<Item>
<ID>10</ID>
<ItemProduct>
<ProductInternalID>EFG</ProductInternalID>
</ItemProduct>
</Item>
<CashDiscountTerms>
<Code>1005</Code>
<PaymentBaselineDate>2019-09-30</PaymentBaselineDate>
</CashDiscountTerms>
</SalesOrder>
</glob:SalesOrderBundleMaintainRequest_sync>
</soap:Body>
</soap:Envelope>

 Sale Order ABC has been created via this payload (ABC represents the Sales Order ID).

  1. Go to the Sales Orders work center. 
  2. Select the Sales Orders view. 
  3. Open the sales order ABC.
  4. In the General tab you can see that the Payment Terms are not 1005 (60 days net).

Cause

The Payment Terms can only be updated via a second call.

Resolution

You can update the Payment Terms via a second call e.g:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:glob="http://sap.com/xi/SAPGlobal20/Global" xmlns:glob1="http://sap.com/xi/AP/Globalization" xmlns:a00="http://sap.com/xi/AP/CustomerExtension/BYD/A0014">
<soap:Header/>
<soap:Body>
<glob:SalesOrderBundleMaintainRequest_sync>
<BasicMessageHeader/>
<SalesOrder actionCode="04">
<ID>ABC</ID>
<CashDiscountTerms>
<Code>1005</Code>
</CashDiscountTerms>
</SalesOrder>
</glob:SalesOrderBundleMaintainRequest_sync>
</soap:Body>
</soap:Envelope>

The Sales Order ABC will then have the Payment Terms 1005 (60 days net).

See Also

[Enter your See Also here...]

Keywords

Web Service; Payment Terms; Cash Discount Terms; <CashDiscountTerms>; overwritten; , KBA , AP-SLO-SO , Sales Order , Problem

Product

SAP Business ByDesign 1908