cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Creating Sales Orders with Billing Plans and Delivery Dates via API

Rtimmers
Explorer
0 Kudos
140

While working on an integration to create sales orders in SAP S/4HANA Cloud, I came across two relevant OData APIs provided by SAP:

I encountered some unexpected limitations and I am hoping you could help me with a best practice approach. 


The Problem

Goal:

  • Create a Sales Order via API

  • Include a billing plan on item level

  • Include the requested delivery date on item level


What I Found

V2 – API_SALES_ORDER_SRV

  • Supports billing plan at item level 

  • Does not support Requested Delivery Date at item level directly in the item payload 

    • Strangely enough, the “Create Sales Order” Fiori app does let you enter requested delivery dates per item manually

    • You can only set it via a second call to the schedule line entity (to_ItemScheduleLine)

V4 – CE_SALESORDER_0001

  • No support for billing plans 

  • Does support Requested Delivery Date per item


The Workaround I’m Using

Since I want both the billing plan and requested delivery date, I’m forced to:

  1. Use V2 API to create the Sales Order with Billing Plan.

  2. Make a second API call to /A_SalesOrderItemScheduleLine to update the RequestedDeliveryDate.

My Questions

  • Why is OData V4, a newer version, missing such key functionality like billing plans?
  • Is there a reason why requested delivery date is not available directly in the item payload in V2?
  • Are there other options or best practices to handle this more efficiently?
  • Is there a roadmap for V2? Or will changes only apply for newer versions?

Accepted Solutions (0)

Answers (1)

Answers (1)

Lakshmipathi
SAP Champion
SAP Champion
0 Kudos

Check whether you need to implement the code corrections as recommended in SAP note 3432687

Rtimmers
Explorer
0 Kudos
Thank you for your reply. Since this is an SAP S/4HANA Public Cloud system, the code corrections mentioned in SAP Note 3432687 do not apply, as custom code changes are not possible in this environment.