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>
Sales Order ABC has been created via this payload (ABC represents the Sales Order ID).
- Go to the Sales Orders work center.
- Select the Sales Orders view.
- Open the sales order ABC.
- In the General tab, the Payment Terms are not displayed as 1005 (60 days net).
Cause
The Payment Terms can only be updated via a second call.
Resolution
The Payment Terms can be updated 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).
Keywords
Web Service; Payment Terms; Cash Discount Terms; <CashDiscountTerms>; overwritten; second call; not updated , KBA , AP-SLO-SO , Sales Order , Problem
SAP Knowledge Base Article - Public