salesorder
salesorder
Public
Warning
This document has been generated from SAP Help Portal and is an incomplete version of the official SAP product documentation.
The information included in custom documentation may not reflect the arrangement of topics in SAP Help Portal, and may be
missing important aspects and/or correlations to other topics. For this reason, it is not for production use.
This is custom documentation. For more information, please visit SAP Help Portal. 1
1/18/25, 8:45 PM
You can use this synchronous inbound OData service to integrate external applications with sales order processing.
In every API call, you can use various operations on the entities. For more information about the supported operations, see
Operations for Sales Order (A2X, OData V2).
This service is published on the SAP Business Accelerator Hub. For more information about APIs, see APIs on SAP Business
Accelerator Hub.
Service Structure
The service metadata file can be retrieved through
/sap/opu/odata/SAP/API_SALES_ORDER_SRV/$metadata
The service message header contains information on the service, the involved sender and receiver as well as date and time.
Service Entities
A_SalesOrderBillingPlanItem Item of a header billing plan of a sales order Header Billing Plan Item
This is custom documentation. For more information, please visit SAP Help Portal. 2
1/18/25, 8:45 PM
A_SalesOrderItemPartnerAddress Address of the item partner of a sales order Item Partner Address
A_SlsOrderItemBillingPlanItem Item of an item billing plan of a sales order Item Billing Plan Item
A_SalesOrderItmPrecdgProcFlow Process flow of preceding items of a sales Item Preceding Process Flow
order item
A_SalesOrderItmSubsqntProcFlow Process flow of subsequent items of a sales Item Subsequent Process Flow
order item
Service Response
Parameter Description
SalesOrder property in A_SalesOrder When you use the create OData request to create a new sales order,
this field is filled with the newly created sales order data.
SalesOrder property and SalesOrderItem property in When you use the create OData request to create a new sales order
A_SalesOrderItem item, these fields are filled with the newly created sales order item
data.
Messages
When you send a request, note that messages (success messages, info messages, warnings, and errors) can exist even though the
request was successful. An indicator that you should check for any messages is the sap-message property in the response
header. For technical reasons, only 20 messages can be transmitted. If there are more messages, the last of those 20 messages
lets you know that additional messages exist. The first message is usually a generic message for the entire request, whereas the
following messages are sorted by severity. This means that if the second message and the third message you see are, for example,
info messages, there are no warnings or errors.
Note that not every processing failure (such as the failed processing of one or more specific fields) leads to an abortion of the
entire request. Trying to change a field that cannot be changed, for example, leads to an error, but the request itself is still
successful.
Example
You send a PATCH request to change the SalesDocumentRjcnReason field for item 10. For the same item, you also want to
enhance a text entity for item 10. Since the item was already delivered, you can no longer change the rejection reason. However,
you can still update texts. The request is not aborted and the text is changed successfully. However, in the sap-message
property in the response header you can see that the SalesDocumentRjcnReason was not changed.
This is custom documentation. For more information, please visit SAP Help Portal. 3
1/18/25, 8:45 PM
To use this service, you have to configure the following communication scenario: SAP_COM_0109.
Constraints
With this service, it is only possible to process sell from stock scenarios (third-party processing, for example, is not supported).
Process sales orders with sales order processing type P (sales orders for project-based services (PBS))
Process sales documents of SD document category I (sales order without charge). You can use the Sales Order Without
Charge (A2X, OData V2) API for these sales orders.
Create or process multiple sales orders in a single changeset of a $batch OData request
Related Events
Sales Order Events
Feature Comparison for Creating, Changing, and Displaying Sales Orders with APIs
Additional Information
Note
For more details about Communication Management, see Communication Management.
Related Information
Business Add-Ins (BAdIs) for Sales Documents
Information About Your Own Cloud System
This is custom documentation. For more information, please visit SAP Help Portal. 4
1/18/25, 8:45 PM
Use
This node corresponds to the sales order header. The header contains data that is relevant for all sales order items (for example,
the sold-to party).
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
You can use deep insert requests, meaning that you don't create a header on its own, but together with at least
one related entity (for example, the header partner).
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
SalesOrder
This is custom documentation. For more information, please visit SAP Help Portal. 5
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 6
1/18/25, 8:45 PM
Note
If you use deep insert requests, the
entities are processed sequentially. That
means, if you provide both the header
and the header partner entity in one
request and you provide a value for this
property, it might be overwritten if it is
determined from the partner master
data in the same request when the
header partner entity is processed. To
change the value, send a separate
Update request.
DeliveryDateTypeRule Optional
Note
You can only use this property if
Transportation Management is active in
your system and your business process
configuration expert has made the
This is custom documentation. For more information, please visit SAP Help Portal. 7
1/18/25, 8:45 PM
Supported values:
Note
If you use deep insert requests, the
entities are processed sequentially. That
means, if you provide both the header
and the header partner entity in one
request and you provide a value for this
property, it might be overwritten if it is
determined from the partner master
data in the same request when the
header partner entity is processed. To
change the value, send a separate
Update request.
This is custom documentation. For more information, please visit SAP Help Portal. 8
1/18/25, 8:45 PM
SalesOrderDate The date on which you want the sales order Optional
to become effective for sales management
purposes
This is custom documentation. For more information, please visit SAP Help Portal. 9
1/18/25, 8:45 PM
LastChangeDateTime Date and time on which the record was last Read-only
changed
A: In approval
B: Released
C: Rejected
D: To be reworked
Note
This is custom documentation. For more information, please visit SAP Help Portal. 10
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 11
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 12
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 13
1/18/25, 8:45 PM
Supported Operations
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Sales Order (A2A)
Create Sales Order
Header Partner
Learn how to use the header partner entity of the Sales Order (A2X, OData V2) API.
Use
This node corresponds to the sales order header partner. The sales order header partner contains data about the partner function,
that is, the rights and responsibilities of each partner in a business transaction (for example, the ship-to party). It is relevant for all
sales order items.
For more information about partners, see Customer and Business Partner.
Note
This is custom documentation. For more information, please visit SAP Help Portal. 15
1/18/25, 8:45 PM
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
You can use deep insert requests, meaning that you don't create a header partner on its own, but together with
the related header entity.
You can create a header partner as a single entity. Prerequisite is that the header already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or not
depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
PartnerFunction
SalesOrder
Note
This is custom documentation. For more information, please visit SAP Help Portal. 16
1/18/25, 8:45 PM
ContactPerson The number that uniquely identifies the Depending on the partner function chosen,
contact person the corresponding parameter (one of the
four listed) is mandatory
Customer An alphanumeric key that uniquely
identifies the customer or supplier
ContactPerson
Customer
Personnel
Supplier
This is custom documentation. For more information, please visit SAP Help Portal. 17
1/18/25, 8:45 PM
Note
Business partner reference addresses
are supported only for partner functions
of partner type Customer (KU), except
for the partner function Payer.
Supported Operations
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
This is custom documentation. For more information, please visit SAP Help Portal. 18
1/18/25, 8:45 PM
Use
This node corresponds to the document-specific one-time address of a sales order partner.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you must use deep insert requests, meaning that you don't create a header partner address on its own, but
together with the related header entity.
Read (GET)
Note that you cannot use this API to read addresses that are determined from master data.
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
For partners using an address determined from master data, you can use a patch request to change the address for the
respective partner in the respective sales order, thus creating a document-specific one-time address.
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
PartnerFunction
AddressRepresentationCode
This is custom documentation. For more information, please visit SAP Help Portal. 19
1/18/25, 8:45 PM
Supported values:
0001: Ms.
0002: Mr.
0003: Company
This is custom documentation. For more information, please visit SAP Help Portal. 20
1/18/25, 8:45 PM
Note
Since this API does not support various
language versions, you must always
leave this property empty.
Supported Operations
The following operations are supported:
This is custom documentation. For more information, please visit SAP Help Portal. 21
1/18/25, 8:45 PM
Read
Update
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Create Sales Order with Document-Specific Address
Use
This node corresponds to the sales order header pricing element. The sales order header pricing element contains data related to,
for example, prices, discounts, surcharges, freight, or taxes. It is relevant for all sales order items.
Currently, cumulated item conditions are not persisted in pricing. Only manually entered header conditions are returned.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create a header pricing element in two ways:
You can use deep insert requests, meaning that you don't create a header pricing element on its own, but
together with the related header entity.
You can create a header pricing element as a single entity. Prerequisite is that the header already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
This is custom documentation. For more information, please visit SAP Help Portal. 22
1/18/25, 8:45 PM
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
PricingProcedureCounter
PricingProcedureStep
SalesOrder
This is custom documentation. For more information, please visit SAP Help Portal. 23
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 24
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 25
1/18/25, 8:45 PM
Example
For Read requests or in responses to Create requests, the Sales Order (A2X, OData V2) API returns only the following:
Condition types that were created manually in the header (that is, no conditions that are cumulated from all items)
If you want to return all pricing element properties (both in Read requests and in responses to Create requests), you can use the
Sales Order (A2X, OData V4) API.
Create Request
The following request creates a sales order with a header pricing element and an item with an item pricing element.
This is custom documentation. For more information, please visit SAP Help Portal. 26
1/18/25, 8:45 PM
Response
The system only returns the sales order header, but no subentities (that is, no header pricing element, no item, and no item pricing
element).
GET <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('112300')/to_PricingElement
Response
This is custom documentation. For more information, please visit SAP Help Portal. 27
1/18/25, 8:45 PM
<d:ConditionCalculationType>A</d:ConditionCalculationType>
<d:ConditionBaseValue>0.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>10.500000000</d:ConditionRateValue>
<d:ConditionCurrency></d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory></d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:ConditionOrigin>C</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>0.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>C</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>1</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>true</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
</feed>
Supported Operations
The following operations are supported:
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Use
This is custom documentation. For more information, please visit SAP Help Portal. 28
1/18/25, 8:45 PM
You can create billing plans for sales orders of type OR if your configuration expert has made the necessary settings in your
system. In your configuration environment, use the search function to open the following activity: Assign Billing Plan Types to
Sales Document Types. For more information about configuration environments, see Configuration Environment of SAP S/4HANA
Cloud Public Edition.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you must use deep insert requests, meaning that you don't create a header billing plan on its own, but
together with the related header entity.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
BillingPlan
This is custom documentation. For more information, please visit SAP Help Portal. 29
1/18/25, 8:45 PM
Note
If you provide a value for both
BillingPlanStartDate and
BillingPlanStartDateRule, the
system ignores the start date rule.
Note
If you provide a value for both
BillingPlanStartDate and
BillingPlanStartDateRule, the
system ignores the start date rule.
BillingPlanSearchTerm For each billing plan you create, you can Read-only
define a freely-definable search term. When
you save the document, the system
automatically assigns a number that later
uniquely identifies the individual plan. You
can use the search term later to locate
specific billing plans.
Supported Operations
This is custom documentation. For more information, please visit SAP Help Portal. 30
1/18/25, 8:45 PM
The following operations are supported:
Read
Update
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Billing Plans
Create Sales Order with Billing Plan
Use
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create a billing plan item of a sales order in two ways:
You can use deep insert requests, meaning that you don't create a billing plan item of a sales order on its own,
but together with the related header entity.
You can create a billing plan item of a sales order as a single entity. Prerequisite is that the header and the header
billing plan already exist.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
This is custom documentation. For more information, please visit SAP Help Portal. 31
1/18/25, 8:45 PM
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
BillingPlan
BillingPlanItem
This is custom documentation. For more information, please visit SAP Help Portal. 32
1/18/25, 8:45 PM
BillingPlanBillingRule Specifies for each billing plan date how the Read-only
value to be billed is determined
This is custom documentation. For more information, please visit SAP Help Portal. 33
1/18/25, 8:45 PM
Supported Operations
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Billing Plans
Create Sales Order with Billing Plan
Header Text
Learn how to use the header text entity of the Sales Order (A2X, OData V2) API.
Use
This is custom documentation. For more information, please visit SAP Help Portal. 34
1/18/25, 8:45 PM
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
You can use deep insert requests, meaning that you don't create a header text on its own, but together with the
related header entity.
You can create a header text as a single entity. Prerequisite is that the header already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
Language
LongTextID
This is custom documentation. For more information, please visit SAP Help Portal. 35
1/18/25, 8:45 PM
Supported Operations
The following operations are supported:
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Texts in Sales
Use
This node corresponds to the payment plan details on sales order header level.
This is custom documentation. For more information, please visit SAP Help Portal. 36
1/18/25, 8:45 PM
You can use both payment cards and external payments (also known as wallet payments) with your sales orders when your system
is connected with the SAP digital payments add-on. Note that you can only use external payments with authorizations.
For more information, see the user guide for the SAP digital payments add-on.
For more information about the scope of supported processes of single payment service providers, see the integration overview
under the same link.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create a header payment plan in two ways:
You can use deep insert requests, meaning that you don't create a header payment plan on its own, but together
with the related header entity.
You can create a header payment plan as a single entity. Prerequisite is that the header already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
PaymentPlanItem
This is custom documentation. For more information, please visit SAP Help Portal. 37
1/18/25, 8:45 PM
PaymentServiceProvider For external payments: Specifies the payment For external payments: optional
service provider for the SAP digital payments
add-on
TransactionByPaytSrvcPrvdr For external payments: Specifies the For external payments: optional
transaction ID. If you use this property, you
must also provide the
PaymentServiceProvider.
ElectronicPaymentType Specifies the type of electronic payment For payment cards: read-only
For external payments: See the section on For external payments: mandatory
external payments in the user guide for the
SAP digital payments add-on.
AuthorizationByDigitalPaytSrvc Unique identifier provided by SAP digital For payment cards: optional
payments add-on when an external system
For external payments: mandatory
authorizes using the SAP digital payments
add-on.
EPaytByDigitalPaymentSrvc Payment card token provided by the SAP For payment cards: mandatory
digital payments add-on. The token is used to
determine the remaining information related
to payment card payments.
MaximumToBeAuthorizedAmount Specifies the value to be billed which the For payment cards: optional
system determines for the billing date on the
For external payments: mandatory
basis of the billing rule assigned to it
MerchantByClearingHouse The unique number issued by the acquirer or For payment cards: optional
payment service provider to identify a
For external payments: optional
merchant for settling payment
Format: YYYYMMDD
This is custom documentation. For more information, please visit SAP Help Portal. 38
1/18/25, 8:45 PM
Format: HHMMSS
X: yes
<blank>: no
This is custom documentation. For more information, please visit SAP Help Portal. 39
1/18/25, 8:45 PM
X: yes
<blank>: no
A: checks successful
Format: YYYYMMDD
Format: YYYYMMDD
X: yes
<blank>: no
This is custom documentation. For more information, please visit SAP Help Portal. 40
1/18/25, 8:45 PM
The PaymentCardAuthznRelationID is
based on the following rules:
PaymentCardAuthznRelationID
may be empty or null, if it is clear in
advance that the new payment
authorization will not be able to
establish any kind of relationship with
another payment authorization in the
future.
This is custom documentation. For more information, please visit SAP Help Portal. 41
1/18/25, 8:45 PM
If the old
PaymentCardAuthznRelationID
is to be used in future requests
instead of a new one, the adapter
must repeat the old
PaymentCardAuthznRelationID.
The core will consider an empty (or
null)
PaymentCardAuthznRelationID
to mean that the relationship has
ceased to exist.
Note
These rules do not ensure that a
PaymentCardAuthznRelationID that
has been replaced will never reappear at
all, but the adapter is free to ignore any old
identifiers if they are used again.
Supported Operations
The following operations are supported:
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
This is custom documentation. For more information, please visit SAP Help Portal. 42
1/18/25, 8:45 PM
following examples illustrate the supported use cases.
When you create a sales order in an external system (for example, in a Web shop) and you use external payments, only one use
case is supported.
Note
In GET operations, number ranges starting with 9 are used for authorizations, and number ranges starting with 0 are used for
payment cards.
You include one payment card and one authorization in a single line in your payload.
"to_PaymentPlanItemDetails":[
{ "EPaytByDigitalPaymentSrvc" : "token1",
"AuthorizationByDigitalPaytSrvc" : "auth1"
}]
You include two payment cards and two authorizations in a single line in your payload.
"to_PaymentPlanItemDetails":[
{ "EPaytByDigitalPaymentSrvc" : "token1",
"AuthorizationByDigitalPaytSrvc" : "auth1"
},
{ "EPaytByDigitalPaymentSrvc" : "token2",
"AuthorizationByDigitalPaytSrvc" : "auth2"
}]
You include one payment card and one authorization in separate lines in your payload. In this case, you need to provide the token
twice to guarantee the correct assignment of the authorization to the payment card.
"to_PaymentPlanItemDetails":[
{ "EPaytByDigitalPaymentSrvc" : "token1",
},
{ "EPaytByDigitalPaymentSrvc" : "token1",
"AuthorizationByDigitalPaytSrvc" : "auth1"
}]
You include two payment cards and two authorizations in separate lines in your payload. In this case, you need to provide the token
for each payment card twice to guarantee the correct assignment of the authorization to the payment card.
"to_PaymentPlanItemDetails":[
{ "EPaytByDigitalPaymentSrvc" : "token1",
},
{ "EPaytByDigitalPaymentSrvc" : "token1",
"AuthorizationByDigitalPaytSrvc" : "auth1"
},
{ "EPaytByDigitalPaymentSrvc" : "token2",
},
{ "EPaytByDigitalPaymentSrvc" : "token2",
"AuthorizationByDigitalPaytSrvc" : "auth2"
}]
This is custom documentation. For more information, please visit SAP Help Portal. 43
1/18/25, 8:45 PM
"to_PaymentPlanItemDetails": [
{ "ElectronicPaymentType" : "DP2P",
"AuthorizationByDigitalPaytSrvc": "LFI4KKEYOE",
"MaximumToBeAuthorizedAmount" : "100.00"
}]
"to_PaymentPlanItemDetails":[
{ "PaymentServiceProvider" : "DPPP",
"TransactionByPaytSrvcPrvdr" : "13D11916HC419733G",
"ElectronicPaymentType" : "DP2P",
"MaximumToBeAuthorizedAmount" : "135.66",
"AuthorizationByDigitalPaytSrvc" : "45GW4RQENU",
"MerchantByClearingHouse" : "U7DR5X6BYT3TS"
}]
Use
This node corresponds to the related object of a sales order on header level.
A related object has a much broader scope than, for example, a preceding document or a subsequent document. It could be
another document that is associated with this document in some way, but it could also be, for example, a dispute case related to
this document. The related object can be stored in the same system as the SD document or in a different one. You can use this
related object reference to record any relationships between your document and other objects.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create a header related object in two ways:
This is custom documentation. For more information, please visit SAP Help Portal. 44
1/18/25, 8:45 PM
You can use deep insert requests, meaning that you don't create a header related object on its own, but together
with the related header entity.
You can create a header related object as a single entity. Prerequisite is that the header already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SDDocRelatedObjectSequenceNmbr
SalesOrder
This is custom documentation. For more information, please visit SAP Help Portal. 45
1/18/25, 8:45 PM
Supported Operations
The following operations are supported:
Create
Read
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Related Objects of SD Documents
Use
This node corresponds to the process flow of preceding documents of a sales order.
When you have a sales order that was created with reference to existing documents in your system, you can retrieve information
about these preceding documents. For example, if a sales order was created with reference to a sales quotation, the sales
quotation is the preceding document and the sales order is the subsequent document.
Note
When you display a process flow for a sales order in an app (for example, in the Display Sales Orders - VA02 app), you might
see more preceding documents than you can retrieve with this API.
Properties
The following properties are key properties:
This is custom documentation. For more information, please visit SAP Help Portal. 46
1/18/25, 8:45 PM
SalesOrder
DocRelationshipUUID
Supported Operations
The following operation is supported:
Read
For more information, see Operations for Sales Order (A2X, OData V2).
Use
When you have a document that was created with reference to an existing sales order in your system, you can retrieve information
about these subsequent documents. For example, if a credit memo was created with reference to a sales order, the sales order is
This is custom documentation. For more information, please visit SAP Help Portal. 47
1/18/25, 8:45 PM
the preceding document and the credit memo is the subsequent document.
Note
When you display a process flow for a sales order in an app (for example, in the Display Sales Orders - VA02 app), you might
see more subsequent documents than you can retrieve with this API.
Properties
The following properties are key properties:
SalesOrder
DocRelationshipUUID
Supported Operations
The following operation is supported:
Read
For more information, see Operations for Sales Order (A2X, OData V2).
This is custom documentation. For more information, please visit SAP Help Portal. 48
1/18/25, 8:45 PM
Use
This node corresponds to the sales order item. A sales order can comprise one or more items that contain, for example, the
quantity of a material.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
You can use deep insert requests, meaning that you don't create an item on its own, but together with the related
header entity.
You can create an item as a single entity. Prerequisite is that the header already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
This is custom documentation. For more information, please visit SAP Help Portal. 49
1/18/25, 8:45 PM
SalesOrder
SalesOrderItem
Supported values:
Note
If you create a sales order with one or
more items, the
DeliveryDateTypeRule property in
the A_SalesOrder entity is used as
the default value on item level. This
means that if you leave the item
property empty, the value will be the
default from the header.
This is custom documentation. For more information, please visit SAP Help Portal. 50
1/18/25, 8:45 PM
Note
You can only use this property if
Transportation Management is active in
your system and your business process
configuration expert has made the
necessary settings in the Define
Transportation-Relevance of Sales
Documents configuration activity in
your configuration environment.
This is custom documentation. For more information, please visit SAP Help Portal. 51
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 52
1/18/25, 8:45 PM
RequestedQuantityUnit: the
language-dependent unit code
based on your input language
RequestedQuantitySAPUnit:
the SAP code, that is, the format
found in the database without
conversions
RequestedQuantityISOUnit:
the ISO code
RequestedQuantityUnit: the
language-dependent unit code
based on your input language
RequestedQuantitySAPUnit:
the SAP code, that is, the format
found in the database without
conversions
RequestedQuantityISOUnit:
the ISO code
RequestedQuantityUnit: the
language-dependent unit code
based on your input language
RequestedQuantitySAPUnit:
the SAP code, that is, the format
found in the database without
conversions
RequestedQuantityISOUnit:
the ISO code
This is custom documentation. For more information, please visit SAP Help Portal. 53
1/18/25, 8:45 PM
ItemNetWeight The total net weight for the item. The net Read-only
weight represents the gross weight less the
weight of packaging.
This is custom documentation. For more information, please visit SAP Help Portal. 54
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 55
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 56
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 57
1/18/25, 8:45 PM
Supported values:
true
false
This is custom documentation. For more information, please visit SAP Help Portal. 58
1/18/25, 8:45 PM
Supported Operations
The following operations are supported:
Read
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Create Sales Order Item
Update Sales Order Item
Item Partner
Learn how to use the item partner entity of the Sales Order (A2X, OData V2) API.
Use
Technical name: A_SalesOrderItemPartner
This node corresponds to the sales order item partner. The sales order item partner contains data about the partner function, that
is, the rights and responsibilities of each partner in a business transaction (for example, the ship-to party). It contains only
partners deviating from the header.
For more information about partners, see Customer and Business Partner.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
This is custom documentation. For more information, please visit SAP Help Portal. 59
1/18/25, 8:45 PM
You can use deep insert requests, meaning that you don't create an item partner on its own, but together with
the related item entity.
You can create an item partner as a single entity. Prerequisite is that the item already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Note
The GET operation for the item partner only returns item-specific partners, but no partners that are simply derived from
the header.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
PartnerFunction
SalesOrder
SalesOrderItem
ContactPerson The number that uniquely identifies the Depending on the partner function chosen,
contact person the corresponding parameter (one of the
four listed) is mandatory
Customer An alphanumeric key that uniquely
identifies the customer or supplier
This is custom documentation. For more information, please visit SAP Help Portal. 60
1/18/25, 8:45 PM
ContactPerson
Customer
Personnel
Supplier
This is custom documentation. For more information, please visit SAP Help Portal. 61
1/18/25, 8:45 PM
Note
Business partner reference addresses
are supported only for partner functions
of partner type Customer (KU), except
for the partner function Payer.
Supported Operations
The following operations are supported:
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Use
This node corresponds to the document-specific one-time address of a sales order item partner.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
This is custom documentation. For more information, please visit SAP Help Portal. 62
1/18/25, 8:45 PM
Optional: You can include these properties in your request.
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you must use deep insert requests, meaning that you don't create an item partner address on its own, but
together with the related item entity.
Read (GET)
Note that you cannot use this API to read addresses that are determined from master data.
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
For partners using an address determined from master data, you can use a patch request to change the address for the
respective partner in the respective sales order, thus creating a document-specific one-time address.
If you want to use this API to change data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
SalesOrderItem
PartnerFunction
AddressRepresentationCode
FaxAreaCodeSubscriberNumber Optional
This is custom documentation. For more information, please visit SAP Help Portal. 63
1/18/25, 8:45 PM
Supported values:
0001: Ms.
0002: Mr.
0003: Company
This is custom documentation. For more information, please visit SAP Help Portal. 64
1/18/25, 8:45 PM
Note
Since this API does not support various
language versions, you must always
leave this field empty.
Supported Operations
The following operations are supported:
Read
Update
For more information, see Operations for Sales Order (A2X, OData V2).
This is custom documentation. For more information, please visit SAP Help Portal. 65
1/18/25, 8:45 PM
Use
This node corresponds to the sales order item pricing element. The sales order item pricing element contains data related to, for
example, prices, discounts, surcharges, freight, or taxes. It is relevant for one item.
Currently, subtotal lines are not persisted in pricing. Only item conditions with condition types are returned.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create an item pricing element in two ways:
You can use deep insert requests, meaning that you don't create an item pricing element on its own, but together
with the related item entity.
You can create an item pricing element as a single entity. Prerequisite is that the item already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or not
depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
This is custom documentation. For more information, please visit SAP Help Portal. 66
1/18/25, 8:45 PM
The following properties are key properties:
PricingProcedureCounter
PricingProcedureStep
SalesOrder
SalesOrderItem
This is custom documentation. For more information, please visit SAP Help Portal. 67
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 68
1/18/25, 8:45 PM
supplement exists
This is custom documentation. For more information, please visit SAP Help Portal. 69
1/18/25, 8:45 PM
Example
For Read requests or in responses to Create requests, the Sales Order (A2X, OData V2) API returns only the following:
Condition types that were created manually in the header (that is, no conditions that are cumulated from all items)
If you want to return all pricing element properties (both in Read requests and in responses to Create requests), you can use the
Sales Order (A2X, OData V4) API.
Create Request
The following request creates a sales order with a header pricing element and an item with an item pricing element.
This is custom documentation. For more information, please visit SAP Help Portal. 70
1/18/25, 8:45 PM
Response
The system only returns the sales order header, but no subentities (that is, no header pricing element, no item, and no item pricing
element).
GET <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItem(SalesOrder=’112300’,SalesOrderIte
Response
This is custom documentation. For more information, please visit SAP Help Portal. 71
1/18/25, 8:45 PM
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>C</d:ConditionCalculationType>
<d:ConditionBaseValue>20.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>188.000000000</d:ConditionRateValue>
<d:ConditionCurrency>EUR</d:ConditionCurrency>
<d:ConditionQuantity>1</d:ConditionQuantity>
<d:ConditionQuantityUnit>PC</d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit>ST</d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit>PCE</d:ConditionQuantityISOUnit>
<d:ConditionCategory></d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord>0000143391</d:ConditionRecord>
<d:ConditionSequentialNumber>1</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>3760.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason>Y</d:ConditionInactiveReason>
<d:ConditionClass>B</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',Pricin
<updated>2023-11-30T15:53:22Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112300</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>60</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>PMP0</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>C</d:ConditionCalculationType>
<d:ConditionBaseValue>20.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>34.340000000</d:ConditionRateValue>
<d:ConditionCurrency>USD</d:ConditionCurrency>
<d:ConditionQuantity>2</d:ConditionQuantity>
<d:ConditionQuantityUnit>PC</d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit>ST</d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit>PCE</d:ConditionQuantityISOUnit>
<d:ConditionCategory>H</d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>C</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
This is custom documentation. For more information, please visit SAP Help Portal. 72
1/18/25, 8:45 PM
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>277.40</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>C</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>B</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>true</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',Pricin
<updated>2023-11-30T15:53:22Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112300</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>145</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>YK07</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>A</d:ConditionCalculationType>
<d:ConditionBaseValue>277.400000000</d:ConditionBaseValue>
<d:ConditionRateValue>-10.670000000</d:ConditionRateValue>
<d:ConditionCurrency></d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory></d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>C</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>-29.60</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>C</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
This is custom documentation. For more information, please visit SAP Help Portal. 73
1/18/25, 8:45 PM
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>true</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',Pricin
<updated>2023-11-30T15:53:22Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112300</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>210</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>DRN1</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>A</d:ConditionCalculationType>
<d:ConditionBaseValue>247.800000000</d:ConditionBaseValue>
<d:ConditionRateValue>10.500000000</d:ConditionRateValue>
<d:ConditionCurrency></d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory></d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>D</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>26.02</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>C</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>1</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>true</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://ccf-715-api.wdf./sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElemen
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',Pricin
<updated>2023-11-30T15:53:22Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<content type="application/xml">
This is custom documentation. For more information, please visit SAP Help Portal. 74
1/18/25, 8:45 PM
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112300</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>840</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>YZWR</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>B</d:ConditionCalculationType>
<d:ConditionBaseValue>273.820000000</d:ConditionBaseValue>
<d:ConditionRateValue>0.000000000</d:ConditionRateValue>
<d:ConditionCurrency>EUR</d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory>e</d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>0.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',Pricin
<updated>2023-11-30T15:53:22Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112300</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>850</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>TTX1</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>A</d:ConditionCalculationType>
<d:ConditionBaseValue>273.820000000</d:ConditionBaseValue>
<d:ConditionRateValue>19.000000000</d:ConditionRateValue>
<d:ConditionCurrency></d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory>D</d:ConditionCategory>
This is custom documentation. For more information, please visit SAP Help Portal. 75
1/18/25, 8:45 PM
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition>X</d:IsGroupCondition>
<d:ConditionRecord>0000141236</d:ConditionRecord>
<d:ConditionSequentialNumber>1</d:ConditionSequentialNumber>
<d:TaxCode>A1</d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>52.03</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>D</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',Pricin
<updated>2023-11-30T15:53:22Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112300',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112300</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>930</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>PCIP</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>C</d:ConditionCalculationType>
<d:ConditionBaseValue>20.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>100.000000000</d:ConditionRateValue>
<d:ConditionCurrency>EUR</d:ConditionCurrency>
<d:ConditionQuantity>1</d:ConditionQuantity>
<d:ConditionQuantityUnit>PC</d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit>ST</d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit>PCE</d:ConditionQuantityISOUnit>
<d:ConditionCategory>G</d:ConditionCategory>
<d:ConditionIsForStatistics>true</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>2000.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>B</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
This is custom documentation. For more information, please visit SAP Help Portal. 76
1/18/25, 8:45 PM
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
</feed>
This is custom documentation. For more information, please visit SAP Help Portal. 77
1/18/25, 8:45 PM
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',Pricin
<updated>2023-11-30T14:52:28Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112032</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>210</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>DRN1</d:ConditionType>
<d:PricingDateTime>20390701000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2039-07-01T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>A</d:ConditionCalculationType>
<d:ConditionBaseValue>400.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>9.000000000</d:ConditionRateValue>
<d:ConditionCurrency></d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory></d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>D</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>36.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>C</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>1</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>true</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',Pricin
<updated>2023-11-30T14:52:28Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
This is custom documentation. For more information, please visit SAP Help Portal. 78
1/18/25, 8:45 PM
<d:SalesOrder>112032</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>230</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>DRV1</d:ConditionType>
<d:PricingDateTime>20390701000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2039-07-01T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>B</d:ConditionCalculationType>
<d:ConditionBaseValue>436.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>1.000000000</d:ConditionRateValue>
<d:ConditionCurrency>EUR</d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory></d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>C</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>1.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>C</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>true</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',Pricin
<updated>2023-11-30T14:52:28Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112032</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>840</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>YZWR</d:ConditionType>
<d:PricingDateTime>20390701000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2039-07-01T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>B</d:ConditionCalculationType>
<d:ConditionBaseValue>437.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>0.000000000</d:ConditionRateValue>
<d:ConditionCurrency>EUR</d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory>e</d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
This is custom documentation. For more information, please visit SAP Help Portal. 79
1/18/25, 8:45 PM
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>0.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>A</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',Pricin
<updated>2023-11-30T14:52:28Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112032</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>850</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>TTX1</d:ConditionType>
<d:PricingDateTime>20231130000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2023-11-30T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>A</d:ConditionCalculationType>
<d:ConditionBaseValue>437.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>19.000000000</d:ConditionRateValue>
<d:ConditionCurrency></d:ConditionCurrency>
<d:ConditionQuantity>0</d:ConditionQuantity>
<d:ConditionQuantityUnit></d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit></d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit></d:ConditionQuantityISOUnit>
<d:ConditionCategory>D</d:ConditionCategory>
<d:ConditionIsForStatistics>false</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition>X</d:IsGroupCondition>
<d:ConditionRecord>0000141236</d:ConditionRecord>
<d:ConditionSequentialNumber>1</d:ConditionSequentialNumber>
<d:TaxCode>A1</d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>83.03</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>D</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
This is custom documentation. For more information, please visit SAP Help Portal. 80
1/18/25, 8:45 PM
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
<entry>
<id>https://<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPrElement(SalesOrd
<title type="text">A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',Pricin
<updated>2023-11-30T14:52:28Z</updated>
<category term="API_SALES_ORDER_SRV.A_SalesOrderItemPrElementType" scheme="http://schemas.m
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<link href="A_SalesOrderItemPrElement(SalesOrder='112032',SalesOrderItem='10',PricingProced
<content type="application/xml">
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
<d:SalesOrder>112032</d:SalesOrder>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:PricingProcedureStep>930</d:PricingProcedureStep>
<d:PricingProcedureCounter>1</d:PricingProcedureCounter>
<d:ConditionType>PCIP</d:ConditionType>
<d:PricingDateTime>20390701000000</d:PricingDateTime>
<d:PriceConditionDeterminationDte>2039-07-01T00:00:00</d:PriceConditionDeterminatio
<d:ConditionCalculationType>C</d:ConditionCalculationType>
<d:ConditionBaseValue>20.000000000</d:ConditionBaseValue>
<d:ConditionRateValue>100.000000000</d:ConditionRateValue>
<d:ConditionCurrency>EUR</d:ConditionCurrency>
<d:ConditionQuantity>1</d:ConditionQuantity>
<d:ConditionQuantityUnit>PC</d:ConditionQuantityUnit>
<d:ConditionQuantitySAPUnit>ST</d:ConditionQuantitySAPUnit>
<d:ConditionQuantityISOUnit>PCE</d:ConditionQuantityISOUnit>
<d:ConditionCategory>G</d:ConditionCategory>
<d:ConditionIsForStatistics>true</d:ConditionIsForStatistics>
<d:PricingScaleType></d:PricingScaleType>
<d:IsRelevantForAccrual>false</d:IsRelevantForAccrual>
<d:CndnIsRelevantForInvoiceList></d:CndnIsRelevantForInvoiceList>
<d:ConditionOrigin>A</d:ConditionOrigin>
<d:IsGroupCondition></d:IsGroupCondition>
<d:ConditionRecord></d:ConditionRecord>
<d:ConditionSequentialNumber>0</d:ConditionSequentialNumber>
<d:TaxCode></d:TaxCode>
<d:WithholdingTaxCode></d:WithholdingTaxCode>
<d:CndnRoundingOffDiffAmount>0.00</d:CndnRoundingOffDiffAmount>
<d:ConditionAmount>2000.00</d:ConditionAmount>
<d:TransactionCurrency>EUR</d:TransactionCurrency>
<d:ConditionControl>A</d:ConditionControl>
<d:ConditionInactiveReason></d:ConditionInactiveReason>
<d:ConditionClass>B</d:ConditionClass>
<d:PrcgProcedureCounterForHeader>0</d:PrcgProcedureCounterForHeader>
<d:FactorForConditionBasisValue>0</d:FactorForConditionBasisValue>
<d:StructureCondition></d:StructureCondition>
<d:PeriodFactorForCndnBasisValue>0</d:PeriodFactorForCndnBasisValue>
<d:PricingScaleBasis></d:PricingScaleBasis>
<d:ConditionScaleBasisValue>0.000000000</d:ConditionScaleBasisValue>
<d:ConditionScaleBasisUnit></d:ConditionScaleBasisUnit>
<d:ConditionScaleBasisCurrency></d:ConditionScaleBasisCurrency>
<d:CndnIsRelevantForIntcoBilling>false</d:CndnIsRelevantForIntcoBilling>
<d:ConditionIsManuallyChanged>false</d:ConditionIsManuallyChanged>
<d:ConditionIsForConfiguration>false</d:ConditionIsForConfiguration>
<d:VariantCondition></d:VariantCondition>
</m:properties>
</content>
</entry>
</feed>
This is custom documentation. For more information, please visit SAP Help Portal. 81
1/18/25, 8:45 PM
Supported Operations
The following operations are supported:
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Use
You can create billing plans for sales orders items of the following categories:
If you want to add a billing plan to an existing item, you have to change the item category to a supported one.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you must use deep insert requests, meaning that you don't create an item billing plan on its own, but together
with the related header entity.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
This is custom documentation. For more information, please visit SAP Help Portal. 82
1/18/25, 8:45 PM
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
SalesOrderItem
BillingPlan
Note
If you provide a value for both
BillingPlanStartDate and
BillingPlanStartDateRule, the
system ignores the start date rule.
Note
If you provide a value for both
BillingPlanStartDate and
This is custom documentation. For more information, please visit SAP Help Portal. 83
1/18/25, 8:45 PM
BillingPlanStartDateRule, the
system ignores the start date rule.
BillingPlanSearchTerm For each billing plan you create, you can Read-only
define a freely-definable search term. When
you save the document, the system
automatically assigns a number that later
uniquely identifies the individual plan. You
can use the search term later to locate
specific billing plans.
true
false
Supported Operations
The following operation is supported:
Read
Update
For more information, see Operations for Sales Order (A2X, OData V2).
This is custom documentation. For more information, please visit SAP Help Portal. 84
1/18/25, 8:45 PM
Related Information
Billing Plans
Create Sales Order with Billing Plan
Use
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create a billing plan item of a sales order item in two ways:
You can use deep insert requests, meaning that you don't create a billing plan item of a sales order item on its
own, but together with the related item entity.
You can create a billing plan item of a sales order item as a single entity. Prerequisite is that the item and the item
billing plan already exist.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
This is custom documentation. For more information, please visit SAP Help Portal. 85
1/18/25, 8:45 PM
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
SalesOrderItem
BillingPlan
BillingPlanItem
This is custom documentation. For more information, please visit SAP Help Portal. 86
1/18/25, 8:45 PM
BillingPlanBillingRule Specifies for each billing plan date how the Read-only
value to be billed is determined
This is custom documentation. For more information, please visit SAP Help Portal. 87
1/18/25, 8:45 PM
Supported Operations
The following operations are supported:
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Billing Plans
Create Sales Order with Billing Plan
Item Text
Learn how to use the item text entity of the Sales Order (A2X, OData V2) API.
Use
Note
Depending on the operation, you can use the properties of this entity in different ways.
This is custom documentation. For more information, please visit SAP Help Portal. 88
1/18/25, 8:45 PM
Create (POST)
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
You can use deep insert requests, meaning that you don't create an item text on its own, but together with the
related item entity.
You can create an item text as a single entity. Prerequisite is that the item already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.If you want to use this API to create new data, you differentiate
between the following property types:
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or not
depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
SalesOrder
SalesOrderItem
Language
LongTextID
If you want to use this API to create new data, you differentiate between
This is custom documentation. For more information, please visit SAP Help Portal. 89
1/18/25, 8:45 PM
Supported Operations
The following operations are supported:
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Texts in Sales
Use
This node corresponds to the related object of a sales order on item level.
This is custom documentation. For more information, please visit SAP Help Portal. 90
1/18/25, 8:45 PM
A related object has a much broader scope than, for example, a preceding document or a subsequent document. It could be
another document that is associated with this document in some way, but it could also be, for example, a dispute case related to
this document. The related object can be stored in the same system as the SD document or in a different one. You can use this
related object reference to record any relationships between your document and other objects.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
Note that you can create an item related object in two ways:
You can use deep insert requests, meaning that you don't create an item related object on its own, but together
with the related item entity.
You can create an item related object as a single entity. Prerequisite is that the item already exists.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key fields of this entity in your request, so that the
system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or not
depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SDDocRelatedObjectSequenceNmbr
SalesOrder
SalesOrderItem
This is custom documentation. For more information, please visit SAP Help Portal. 91
1/18/25, 8:45 PM
Supported Operations
Create
Read
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
Related Objects of SD Documents
Use
This is custom documentation. For more information, please visit SAP Help Portal. 92
1/18/25, 8:45 PM
Technical name: A_SalesOrderItmPrecdgProcFlow
This node corresponds to the process flow of preceding items of a sales order item.
When you have a sales order item that was created with reference to items from existing documents in your system, you can
retrieve information about these preceding items. For example, if a sales order item was created with reference to a sales quotation
item, the sales quotation item is the preceding item and the sales order item is the subsequent item.
Note
When you display a process flow for a sales order item in an app (for example, in the Display Sales Orders - VA02 app), you
might see more preceding items than you can retrieve with this API.
Properties
The following properties are key properties:
SalesOrder
SalesOrderItem
DocRelationshipUUID
This is custom documentation. For more information, please visit SAP Help Portal. 93
1/18/25, 8:45 PM
Supported Operations
The following operation is supported:
This is custom documentation. For more information, please visit SAP Help Portal. 94
1/18/25, 8:45 PM
Read
For more information, see Operations for Sales Order (A2X, OData V2).
Use
This node corresponds to the process flow of subsequent items of a sales order item.
When you have an item that was created with reference to an existing sales order item in your system, you can retrieve information
about these subsequent items. For example, if a credit memo item was created with reference to a sales order item, the sales order
item is the preceding item and the credit memo item is the subsequent item.
Note
When you display a process flow for a sales order item in an app (for example, in the Display Sales Orders - VA02 app), you
might see more subsequent items than you can retrieve with this API.
Properties
SalesOrder
SalesOrderItem
DocRelationshipUUID
This is custom documentation. For more information, please visit SAP Help Portal. 95
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 96
1/18/25, 8:45 PM
When you have a process flow with several levels, you can retrieve information about preceding documents of subsequent items.
For example, when you look at a sales order item in a process flow hierarchy, you can have an outbound delivery as subsequent
document, which in turn has an invoice as subsequent document, which in turn has an invoice cancellation as subsequent
document. For each level, you can find the preceding document category as well as the document ID and the item number. The
SubsqntDocItmPrecdgDocument, SubsqntDocItmPrecdgDocItem, and SubsqntDocItmPrecdgDocCategory
properties return the information you need.
Example
You have a sales order 0000349968 with an item 10. This sales order has two direct subsequent documents, namely two outbound
deliveries that are independent from each other. In turn, each of these outbound deliveries has two subsequent documents, a
goods issue and an invoice.
GET <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItem(SalesOrder='349968',SalesOrderIte
The system then returns a response that contains information about each subsequent document, including its preceding
document.
The following graphic shows two parts of the response that relate to two subsequent documents of the sales order on different
levels:
One outbound delivery that is a direct subsequent document of the sales order (process flow level 0). The three properties
that contain information about the preceding document contain information about the sales order, as it is the direct
preceding document of the outbound delivery.
One invoice that is a subsequent document of this outbound delivery (process flow level 1). The three properties that
contain information about the preceding document contain information about the outbound delivery, as it is the direct
preceding document of the invoice.
This is custom documentation. For more information, please visit SAP Help Portal. 97
1/18/25, 8:45 PM
Note
There are two document categories which always have two direct preceding documents on the same level. This means that for
these document categories, the response always contains two results with different values for the following properties:
SubsqntDocItmPrecdgDocument, SubsqntDocItmPrecdgDocItem, SubsqntDocItmPrecdgDocCategory, and
DocRelationshipUUID.
Invoice cancellations always have the following direct preceding documents: an invoice and an outbound delivery
If the process flow contains a preliminary billing document, the related invoice always has the following direct preceding
documents: a preliminary billing document and an outbound delivery
Supported Operations
The following operation is supported:
Read
For more information, see Operations for Sales Order (A2X, OData V2).
Use
This node corresponds to the sales order schedule line for the item. The schedule line is the division of an item according to date
and quantity. For example, if the total quantity of an item can only be delivered in four partial deliveries, the system creates four
schedule lines and determines the appropriate quantities and delivery dates for each schedule line.
This is custom documentation. For more information, please visit SAP Help Portal. 98
1/18/25, 8:45 PM
Schedule lines consist of at least two parts: The first schedule line contains the requested delivery date and the order quantity, the
second schedule line contains the confirmed delivery date and quantity. Each schedule line has its own ID.
Note
Depending on the operation, you can use the properties of this entity in different ways.
Create (POST)
If you want to use this API to create new data, you differentiate between the following property types:
Read-only: The system creates these properties automatically (for example, the creation date or various
document statuses) and you cannot change them.
You can create an item schedule line only as a single entity. Prerequisite is that the item already exists. Note that you
cannot use deep insert requests.
Read (GET)
If you want to use this API to read data that already exists in the system, you can either retrieve all the data for the
document or include any of the properties of this entity in your request to retrieve only those.
Update (PATCH)
If you want to use this API to change data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to change. In addition, you can include the properties
you want to change. Whether you can change a specific property or not depends on the general system behavior, your
system settings, and the current document status.
Lots of properties, for example, can no longer be changed as soon as subsequent documents exist.
Delete (DELETE)
If you want to use this API to delete data, you must include all the key properties of this entity in your request, so that
the system can identify the document and the entity that you want to delete. Whether you can delete a specific entity or
not depends on the general system behavior, your system settings, and the current document status.
The table below lists the information for the Create (POST) operation.
Properties
The following properties are key properties:
SalesOrder
SalesOrderItem
ScheduleLine
ConfirmedDeliveryDate The date that has been confirmed for the Read-only
arrival of goods at their destination
This is custom documentation. For more information, please visit SAP Help Portal. 99
1/18/25, 8:45 PM
Supported Operations
Create
Read
Update
Delete
For more information, see Operations for Sales Order (A2X, OData V2).
Related Information
This is custom documentation. For more information, please visit SAP Help Portal. 100
1/18/25, 8:45 PM
Create Schedule Line for Sales Order Item (Create Single Entity)
The Sales Order (A2X, OData V2) API offers the following operations:
Create POST You can use deep insert requests to create entire sales orders or, for existing sales orders, create new sales order ite
Deep
A request for creating the header would consist of the header itself plus at least one subentity that supports Create
Examples:
A request for creating the item would consist of the item itself plus at least one subentity that supports Create oper
Create
To create a new sales order, use the following URL:
Sales
Order
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
Create
Sales To create a new sales order item, use the following URL:
Order
Item POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItem
For
creating Note
sales Any properties whose values are determined automatically (for example, based on configuration settings or mast
orders empty property, it is ignored.
with
To clear these properties, send an Update request after the Create request.
reference
to another
sales
document,
see Create
Sales
Orders
with
Reference.
Create POST If the header already exists, you can create subentities that support Create operations on their own.
Single
If the item already exists, you can create subentities that support Create operations on their own.
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItem
To create a new sales order item partner, use the following URL:
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItemPartner
To create a new header partner for sales order 50214 using an association, use the following URL:
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('50214')/to_Partner
This is custom documentation. For more information, please visit SAP Help Portal. 101
1/18/25, 8:45 PM
Note
Any properties whose values are determined automatically (for example, based on configuration settings or mast
empty property, it is ignored.
To clear these properties, send an Update request after the Create request.
Read GET You can read entire sales orders or only parts of the data, using the provided filters.
GET <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('50214')
To read the headers of all sales orders in the system, use the following URL:
GET <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
Update PATCH For existing sales orders, you can update subentities that support Update operations on their own (that is, you can c
Update
PATCH <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('50214')
Sales
Order
Item Note
The URL always follows the same pattern.
If you want to update an entity, add the relevant entity after the last slash instead of A_SalesOrder in the samp
to identify the entity.
Note that you can only update single entities, as shown in the example above. The service doesn't support deep up
Delete DELETE For existing sales orders, you can delete subentities that support Delete operations.
DELETE <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('50214')
Note
The URL always follows the same pattern. If you want to delete single entities, add the relevant entity after the last
must always provide all key fields in the URL to identify the entity.
Example:
DELETE <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderScheduleLine(SalesOrd
Change Sets
You can create or process only a single sales order per change set of a $batch OData request.
Within one change set, you can use content IDs to send multiple operations that refer to each other. This way, you can, for example,
refer to an entity that hasn't been created yet when you send the request.
This is custom documentation. For more information, please visit SAP Help Portal. 102
1/18/25, 8:45 PM
Note
When you use content IDs, you must always include the header variables x-csrf-token: <your value> and Content-
Type: multipart/mixed; boundary: <your value>.
The following sample request shows how you can use content IDs in a request. In this example, we first create a sales order and
assign content ID 100 to this operation. Without knowing the sales order ID, we create an item for this sales order by referring to
content ID 100:
POST /sap/opu/odata/sap/API_SALES_ORDER_SRV/$batch
--batch_ODV2
Content-Type: multipart/mixed; boundary=changeset_odv2-0001
--changeset_odv2-0001
Content-Type: application/http
Content-ID: 100
{
"SalesOrderType": "OR",
"SalesOrganization": "4210",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "42100003"
}
--changeset_odv2-0001
Content-Type: application/http
{
"SalesOrderItem": "10",
"Material": "TG12",
"RequestedQuantity": "2",
"RequestedQuantityUnit": "PC"
}
--changeset_odv2-0001--
--batch_ODV2--
ETags
This is custom documentation. For more information, please visit SAP Help Portal. 103
1/18/25, 8:45 PM
For information about ETags, see ETag Handling.
To create a new sales order, you use the POST HTTP method on the A_SalesOrder entity.
For creating sales orders with reference to another sales document, see Create Sales Orders with Reference.
Request
You can include the properties listed under Sales Order Header in the payload of the request.
Response
Note
You can create a sales order in two ways:
You can use deep insert requests, meaning that you don't create a header on its own, but together with at least one
related entity (for example, the header partner).
For more information about deep insert requests, see Deep Insert.
Example
Request
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
X-CSRF-Token: abc
Content-Type: application/json
Accept: */*
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "Created via OData Service",
"CustomerPaymentTerms": "",
"to_PricingElement": [
{
"ConditionType": "DRN1",
"ConditionRateValue": "10"
}
],
"to_Partner": [
{
This is custom documentation. For more information, please visit SAP Help Portal. 104
1/18/25, 8:45 PM
"PartnerFunction": "SH",
"Customer": "10100001"
}
],
"to_Text": [
{
"Language": "EN",
"LongTextID": "TX01",
"LongText": "Long text of LongTextID TX01"
}
],
"to_RelatedObject": [
{
"SDDocumentRelatedObjectType": "ZMKT",
"SDDocRelatedObjectSystem": "RL System",
"SDDocRelatedObjectReference1": "Header - Ref 1",
"SDDocRelatedObjectReference2": "Header - Ref 2"
}
],
"to_Item": [
{
"Material": "TG11",
"RequestedQuantity": "2",
"to_PricingElement": [
{
"ConditionType": "YK07",
"ConditionRateValue": "11"
}
]
},
{
"Material": "TG12",
"RequestedQuantity": "10",
"to_Partner": [
{
"PartnerFunction": "SH",
"Customer": "10100003"
}
]
}
]
}
Note
Any properties whose values are determined automatically (for example, based on configuration settings or master data)
cannot be cleared in Create requests. If you provide an empty property, it is ignored. In the above example, this would be true
for the CustomerPaymentTerms property.
To clear these properties, send an Update request after the Create request.
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
X-CSRF-Token: abc
Content-Type: application/json
Accept: */*
{
"SalesOrder": "5019102",
"SalesOrderType": "OR",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "17100002",
This is custom documentation. For more information, please visit SAP Help Portal. 105
1/18/25, 8:45 PM
"PurchaseOrderByCustomer": "Created via OData API",
"to_Item":[
{
"SalesOrderItem": "10",
"Material": "TG11",
"RequestedQuantity": "2"
}
]
}
To create a new sales order, you use the POST HTTP method on the A_SalesOrder entity.
By default, the system uses addresses that are stored in master data for business partners that you add to your sales order.
However, you can use the A_SalesOrderPartnerAddress and the A_SalesOrderItemPartnerAddress entities to
overwrite these addresses and create document-specific addresses for specific partners that are only valid for the respective sales
order.
Note
Any property that you provide in the address payload overwrites the value determined from master data. To clear values
without providing new ones, you can simply leave the property empty.
One-Time Customers
When you send a request with a one-time customer (that is, there is no address or only a dummy address pulled from master
data), you must change the address data. If you don't change the address data, the system returns an error to make you aware
that you must enter a valid address.
If for some reason you do not want to provide an address for a one-time customer, you can make a dummy change (for example,
send a space for a property that you don't use very often, such as OrganizationName4).
Example Request
The following example shows how to create a sales order with a ship-to party (without document-specific address data) and a
contact person (with a document-specific address) for the header, an item with an item-specific ship-to party (with a document-
specific address), and a second item. Note that a lot of address properties are empty, thus clearing the values determined from
master data without providing alternative ones.
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
X-CSRF-Token: abc
Content-Type: application/json
Accept: */*
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100003",
"PurchaseOrderByCustomer": "Created via OData API",
"to_Partner": [
{
"PartnerFunction": "SH",
This is custom documentation. For more information, please visit SAP Help Portal. 106
1/18/25, 8:45 PM
"Customer": "10100003",
"VATRegistration": "DE3191327JH"
},
{
"PartnerFunction": "CP",
"ContactPerson": "64",
"VATRegistration": "DE3191327JH",
"to_Address": [
{
"CorrespondenceLanguage": "EN",
"OrganizationName1": "Document Address",
"OrganizationName2": "Via ODATA",
"OrganizationName3": "",
"OrganizationName4": "",
"TaxJurisdiction": "",
"Country": "DE",
"Region": " ",
"PostalCode": " ",
"CityName": " ",
"DistrictName": " ",
"StreetPrefixName1": "",
"StreetPrefixName2": "",
"StreetName": " ",
"StreetSuffixName1": "",
"StreetSuffixName2": "",
"HouseNumber": " ",
"FormOfAddress": "",
"TransportZone": "",
"POBox": " ",
"POBoxPostalCode": " ",
"EmailAddress": " ",
"MobileNumber": " ",
"PhoneNumber": " ",
"PhoneExtensionNumber": " ",
"FaxAreaCodeSubscriberNumber": " ",
"FaxExtensionNumber": " "
}
]
}
],
"to_Item": [
{
"SalesOrderItem": "10",
"Material": "TG11",
"RequestedQuantity": "2000",
"to_Partner": [
{
"PartnerFunction": "SH",
"Customer": "10100003",
"to_Address": [
{
"CorrespondenceLanguage": "",
"OrganizationName1": "Document Address",
"OrganizationName2": "Via ODATA",
"OrganizationName3": "",
"OrganizationName4": "",
"TaxJurisdiction": "",
"Country": "DE",
"Region": "BW",
"PostalCode": "00000",
"CityName": "Mannheim",
"DistrictName": "Rhein-Neckar-Kreis",
"StreetPrefixName1": "",
"StreetPrefixName2": "",
"StreetName": "Feldbergstr.",
"StreetSuffixName1": "",
"StreetSuffixName2": "",
"HouseNumber": "122",
"FormOfAddress": "",
"TransportZone": "",
"POBox": "A11133",
"POBoxPostalCode": "55555",
"EmailAddress": "[email protected]",
"MobileNumber": "0120505789",
This is custom documentation. For more information, please visit SAP Help Portal. 107
1/18/25, 8:45 PM
"PhoneNumber": "123574968",
"PhoneExtensionNumber": "445",
"FaxAreaCodeSubscriberNumber": "4657892",
"FaxExtensionNumber": "885"
}
]
}
]
},
{
"SalesOrderItem": "20",
"Material": "TG11",
"RequestedQuantity": "1000"
}
]
}
To create a new sales order, you use the POST HTTP method on the A_SalesOrder entity.
If multiple address handling for business partners is active in your system and multiple addresses are stored in customer master
data for your business partner, you can identify which address to use. The following example shows how you create a sales order
for a business partner (in this case, a ship-to party and a contact person) for whom multiple addresses are stored in customer
master data.
You must provide a universally unique identifier (UUID) that represents the specific business partner address. To get this UUID, you
can use the Business Partner (A2X) API. For more information, see Business Partner (A2X).
Note
Business partner address UUIDs are supported for all partner functions of partner type Customer (KU), except for the partner
function Payer, as well as for all partner functions of partner type Contact Person (AP).
For more information about multiple address handling for business partners in sales and distribution and how to enable it, see
Multiple Address Handling in SD Documents Using SAP Business Partner.
Example Request
The following example shows how to create a sales order with a ship-to party and a contact person for the header, an item with an
item-specific ship-to party, and a second item. The BusinessPartnerAddressUUID field determines which address should be
used for the respective business partner.
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
X-CSRF-Token: abc
Content-Type: application/json
Accept: */*
{
"SalesOrderType": "OR",
"SalesOrganization": "0001",
"DistributionChannel": "01",
"OrganizationDivision": "01",
"SoldToParty": "BP_MULT",
"PurchaseOrderByCustomer": "Created via OData API",
"to_Partner": [
{
This is custom documentation. For more information, please visit SAP Help Portal. 108
1/18/25, 8:45 PM
"PartnerFunction": "SH",
"Customer": "BP_MULT",
"BusinessPartnerAddressUUID" : "0894EF45-77A9-1EDB-96B4-D40C533AADA2"
},
],
"to_Item": [
{
"SalesOrderItem": "10",
"Material": "MAT06",
"RequestedQuantity": "2000",
"RequestedQuantityUnit": "PC",
"to_Partner": [
{
"PartnerFunction": "CP",
"ContactPerson": "26077",
"BusinessPartnerAddressUUID" : "0894EF45-77A9-1EDB-96B5-0E5FFADDEEC6"
}
]
},
{
"SalesOrderItem": "20",
"Material": "MAT06",
"RequestedQuantity": "1000",
"MatlAccountAssignmentGroup": "03",
"DeliveryGroup": "002"
}
]
}
To create a new sales order, you use the POST HTTP method on the A_SalesOrder entity.
For the billing plan and its items on the sales order header you can use the A_SalesOrderBillingPlan and the
A_SalesOrderBillingPlanItem entities.
For the billing plan and its items in the sales order item you can use the A_SalesOrderItemBillingPlan and the
A_SlsOrderItemBillingPlanItem entities.
Example Request
The following example shows how to create a sales order with a billing plan and one billing plan item for the sales order header as
well as a billing plan and one billing plan item for one sales order item.
Note
Be aware of the following:
If you do not provide a BillingPlanBillingDate, the system doesn't create the respective billing plan item.
You can only change the properties for the item billing plan and its respective subentities if you provide the value false
for BillingPlanIsInHeader or if you leave it empty.
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
X-CSRF-Token: abc
Content-Type: application/json
Accept: */*
This is custom documentation. For more information, please visit SAP Help Portal. 109
1/18/25, 8:45 PM
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "BP_Full_CreateDeep",
"to_BillingPlan": {
"BillingPlanStartDate": "2021-12-01T00:00:00",
"BillingPlanStartDateRule": "",
"to_BillingPlanItem": [
{
"BillingPlanBillingDate": "2022-08-12T00:00:00",
"BillingPlanDateCategory": "01",
"CustomerPaymentTerms": "0001",
"ProposedBillingDocumentType": "FAZ",
"BillingPlanDateDescriptionCode": "Y009",
"BillingPlanAmountPercent": "10",
"BillingBlockReason": "06"
}
]
},
"to_Item": [
{
"SalesOrderItem": "10",
"SalesOrderItemCategory": "CBAO",
"Material": "TG0012",
"RequestedQuantity": "500",
"to_BillingPlan": {
"BillingPlanIsInHeader": false,
"BillingPlanStartDate": "2022-01-01T00:00:00",
"BillingPlanStartDateRule": "",
"to_BillingPlanItem": [
{
"BillingPlanBillingDate": "2030-01-01T00:00:00",
"BillingPlanDateCategory": "01",
"CustomerPaymentTerms": "0002",
"ProposedBillingDocumentType": "",
"BillingPlanDateDescriptionCode": "Y001",
"BillingPlanAmount": "5",
"BillingBlockReason": "Y2"
},
]
}
}
]
}
To create a new item for an existing sales order, you use the POST HTTP method on the A_SalesOrderItem entity.
For creating sales order items with reference to another sales document, see Create Sales Orders with Reference.
Request
You can include the properties listed under Sales Order Item in the payload of the request.
You can use deep insert requests, meaning that you don't create an item on its own, but together with at least one related
entity (for example, the item partner).
This is custom documentation. For more information, please visit SAP Help Portal. 110
1/18/25, 8:45 PM
You can create an item as a single entity.
For more information about deep insert requests, see Deep Insert.
Examples
To create an item with pricing and partner information for sales order 50214, use the following example:
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItem
X-CSRF-Token: abc
Content-Type: application/json
Accept: */*
{
"SalesOrder": "50214",
"Material": "TG12",
"MaterialByCustomer": "TG12 Material",
"RequestedQuantity": "20",
"RequestedQuantityUnit": "EA",
"MaterialGroup": "A001",
"MaterialPricingGroup": "M2",
"Batch": "",
"ProductionPlant": "1010",
"StorageLocation": "101A",
"ShippingPoint": "1010",
"ShippingType": "01",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Darmstadt",
"IncotermsLocation1": "Darmstadt",
"CustomerPaymentTerms": "0004",
"DeliveryGroup": "001",
"WBSElement": "",
"to_Partner": [
{
"PartnerFunction": "SH",
"Customer": "S10103276"
}
],
"to_Text": [
{
"Language": "EN",
"LongTextID": "TX05",
"LongText": "Text for text ID TX05"
}
],
"to_PricingElement": [
{
"ConditionType": "DRN1",
"ConditionRateValue": "10"
}
]
}
If you want to create more than one item for an existing sales order, you can do so in a $batch OData request.
To create two new items for sales order 50214, use the following example:
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_01
This is custom documentation. For more information, please visit SAP Help Portal. 111
1/18/25, 8:45 PM
--changeset_01
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrder": "50214",
"Material": "TG11",
"RequestedQuantity": "1000"
}
--changeset_01
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrder": "50214",
"Material": "TG11",
"RequestedQuantity": "1000"
}
--changeset_01--
--batch_dca6-74d2-d53f--
Response
Create Schedule Line for Sales Order Item (Create Single Entity)
Check sample requests to learn how to create schedules lines for existing sales order items with the Sales Order (A2X, OData V2)
API.
Request
You can include the properties listed under Item Schedule Line in the payload of the request.
To create a new schedule line for an existing sales order item, you can use one of the following options:
Example URL for creating a schedule line for sales order 50214, item 10:
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/API_SALES_ORDER_SRV/A_SalesOrderScheduleLin
Example request for creating a schedule line for sales order 50214, item 10:
{
"SalesOrder": "{{50214}}",
"SalesOrderItem": "10",
"ScheduleLineOrderQuantity": "35",
"OrderQuantityUnit": "PC",
"OrderQuantitySAPUnit": "ST",
"OrderQuantityISOUnit": "PCE",
This is custom documentation. For more information, please visit SAP Help Portal. 112
1/18/25, 8:45 PM
"RequestedDeliveryDate": "2020-10-01T00:00:00"
}
Example URL for creating a schedule line for sales order 50214, item 10:
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/API_SALES_ORDER_SRV/A_SalesOrderItem(SalesO
Example request for creating a schedule line for sales order 50214, item 10:
{
"ScheduleLineOrderQuantity": "11",
"OrderQuantityUnit": "PC",
"OrderQuantitySAPUnit": "ST",
"OrderQuantityISOUnit": "PCE",
"RequestedDeliveryDate": "2020-08-01T00:00:00"
}
Response
GET <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/API_SALES_ORDER_SRV/A_SalesOrderItem(SalesOrder='{
To update an item of an existing sales order, you use the PATCH HTTP method on the A_SalesOrderItem entity.
Request
You can include the following properties in the URL of the request:
You can include the properties listed under Sales Order Item in the payload of the request.
Response
This is custom documentation. For more information, please visit SAP Help Portal. 113
1/18/25, 8:45 PM
The operation returns all the properties of the A_SalesOrderItem entity.
Example
Request
PATCH <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrderItem(SalesOrder='50214',SalesOrderIt
X-CSRF-Token: xyz
Content-Type: application/json
Accept: */*
{
"RequestedQuantity": "2",
"PurchaseOrderByCustomer": "Update quantity"
}
ETag Handling
Learn how to ensure that you process the latest version of the sales order when you use the Sales Order (A2X, OData V2) API.
ETag Handling
To ensure that you process the latest version of the sales order, you have to use entity tags (ETags) for optimistic concurrency
control.
If a client requests a modification of a sales order on the back-end server, the ETags of the sales order on the client and on the
back-end server are compared to determine whether any changes have been made to the sales order on the back-end server.
Update (PATCH)
Delete (DELETE)
The Etag handling feature is implemented on the A_SalesOrder node with the LastChangeDateTime property. If you want to
use ETag handling for other entities (for example, A_SalesOrderItem), proceed as follows:
1. Perform a GET operation to retrieve the content for the LastChangeDateTime property.
3. As first operation of the changeset, include a PATCH A_SalesOrder with the LastChangeDateTime property. Provide
the LastChangeDateTime content also in the request header in the If-Match field.
4. As second operation of the changeset, include the desired payload (for example, POST A_SalesOrderItem or PATCH
A_SalesOrderItem) with the relevant data.
If you don’t want to use the ETag handling feature, you can perform a single operation (for example, POST A_SalesOrderItem
to create a new item for an existing sales order). In this case, you need to be aware that the sales order might have been changed
since the last time it was retrieved by your application. You might, for example, create an item that’s not necessary because it has
already been created in a prior call.
This is custom documentation. For more information, please visit SAP Help Portal. 114
1/18/25, 8:45 PM
<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/$metadata
2. Send a $batch POST request to create two sales orders using the stored token.
<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/$batch
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0001
--changeset_21cc-1e7e-0001
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrderType" : "OR",
"SalesOrganization" : "1010",
"DistributionChannel" : "10",
"OrganizationDivision" : "00",
"SoldToParty" : "10100003",
"PurchaseOrderByCustomer" : "ETag Handling",
"to_Item":[
{ "SalesOrderItem" : "10",
"Material" : "TG11",
"RequestedQuantity" : "2"
}]
}
--changeset_21cc-1e7e-0001--
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0002
--changeset_21cc-1e7e-0002
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrderType" : "OR",
"SalesOrganization" : "1010",
"DistributionChannel" : "10",
"OrganizationDivision" : "00",
"SoldToParty" : "10100003",
"PurchaseOrderByCustomer" : "ETag Handling",
"to_Item":[
{ "SalesOrderItem" : "10",
"Material" : "TG11",
"RequestedQuantity" : "2"
This is custom documentation. For more information, please visit SAP Help Portal. 115
1/18/25, 8:45 PM
}]
}
--changeset_21cc-1e7e-0002--
--batch_dca6-74d2-d53f--
3. Interpret the results. Note that you must save the sales order IDs and ETags from the POST request correctly.
Sales Order 1:
SalesOrder: 8122
etag: W/"datetimeoffset'2021-02-05T16%3A38%3A52.0701210Z'"
Sales Order 2:
SalesOrder: 8123
etag: W/"datetimeoffset'2021-02-05T16%3A38%3A54.8681360Z'"
--3D9A54ADB390AA20220954A400C8F0CE0
Content-Type: multipart/mixed; boundary=3D9A54ADB390AA20220954A400C8F0CE1
Content-Length: 3923
--3D9A54ADB390AA20220954A400C8F0CE1
Content-Type: application/http
Content-Length: 3754
content-transfer-encoding: binary
<Note that the entire sales order response is provided, it is shortened in this example.>
--3D9A54ADB390AA20220954A400C8F0CE1--
--3D9A54ADB390AA20220954A400C8F0CE0
Content-Type: multipart/mixed; boundary=3D9A54ADB390AA20220954A400C8F0CE1
Content-Length: 3923
--3D9A54ADB390AA20220954A400C8F0CE1
Content-Type: application/http
Content-Length: 3754
content-transfer-encoding: binary
This is custom documentation. For more information, please visit SAP Help Portal. 116
1/18/25, 8:45 PM
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 3202
dataserviceversion: 2.0
sap-message: {
"code": "V1/311",
"message": "Standard Order 8123 has been saved.",
"target": "",
"severity": "success",
"transition": false
}
location: <host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('8123')
etag: W/"datetimeoffset'2021-02-05T16%3A38%3A54.8681360Z'"
<Note that the entire sales order response is provided, it is shortened in this example.>
--3D9A54ADB390AA20220954A400C8F0CE1--
--3D9A54ADB390AA20220954A400C8F0CE0--
4. Change both sales orders and create a new sales order in a single $batch request.
<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/$batch
Note
In $batch requests, you must use POST requests only.
This request uses the sales order IDs and the ETag from the previous response.
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0001
--changeset_21cc-1e7e-0001
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"PurchaseOrderByCustomer" : "ETag Handling - Patch SO 1"
}
--changeset_21cc-1e7e-0001--
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0002
--changeset_21cc-1e7e-0002
Content-Type: application/http
Content-Transfer-Encoding: binary
This is custom documentation. For more information, please visit SAP Help Portal. 117
1/18/25, 8:45 PM
MaxDataServiceVersion: 2.0
DataServiceVersion: 2.0
Content-Type: application/json
Content-Length: 9999
{
"PurchaseOrderByCustomer" : "ETag Handling - Patch SO 2"
}
--changeset_21cc-1e7e-0002--
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0003
--changeset_21cc-1e7e-0003
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrderType" : "OR",
"SalesOrganization" : "1010",
"DistributionChannel" : "10",
"OrganizationDivision" : "00",
"SoldToParty" : "10100003",
"PurchaseOrderByCustomer" : "ETag Handling – New SO",
"to_Item":[
{ "SalesOrderItem" : "10",
"Material" : "TG11",
"RequestedQuantity" : "2"
}]
}
--changeset_21cc-1e7e-0003--
--batch_dca6-74d2-d53f--
Related Information
ETag Handling
In the SAP Extensibility Explorer for SAP S/4HANA Cloud , you can find various sample scenarios. These scenarios illustrate how
you can adapt standard software to your business needs.
The following sample scenarios use the Sales Order (A2X, OData V2) API:
Using standard and custom APIs as well as custom apps created with SAP Cloud SDK, this sample scenario shows how you
can build an app for ordering products and analyze the created sales orders in another app.
You can find this scenario in the SAP Extensibility Explorer by searching the sample scenarios for SAP S/4HANA Cloud
Product Web Ordering and Reporting. For more information, see the linked set-up guide.
This is custom documentation. For more information, please visit SAP Help Portal. 118
1/18/25, 8:45 PM
Display Created or Changed Sales Orders Using Business Event Handling
Using standard APIs, a custom app that is created with SAP Web IDE and deployed on SAP Business Technology Platform
(SAP BTP), as well as business events, this sample scenario shows how you can read sales order events in an app and show
details for selected sales orders.
You can find this scenario in the SAP Extensibility Explorer by searching the sample scenarios for Display Created or
Changed Sales Orders Using Business Event Handling. For more information, see the linked set-up guide.
Prerequisites
To release or reject sales orders using this service, the following conditions must be met:
At least one approval request reason must be defined and assigned for sales orders. In your configuration environment, use
the search function to open the following activities:
In the same configuration activities, you must indicate that you want to use one or more approval request reasons with an
external workflow.
Note
In this case, you cannot configure any internal workflow for this reason, and no internal workflow defined in the Manage
Sales Document Workflows app is triggered.
For more information about the configuration environment, see Configuration Environment of SAP S/4HANA Cloud Public
Edition.
To determine whether a sales order needs to be sent to an approver and, if so, to set an approval request reason on sales
order header level, you can use the Business Add-In (BAdI) Set Approval Request Reasons for Sales Documents
(SD_APM_SET_APPROVAL_REASON). This BAdI is called whenever a sales order is saved by a business user. It must be set
up so it returns an approval request reason for which you chose to use an external workflow.
You can find this BAdI in the Custom Logic app, using the Sales: Sales Document business context.
Actions
Example
To release sales order 1234, use the following URL:
/sap/opu/odata/sap/API_SALES_ORDER_SRV/releaseApprovalRequest?SalesOrder='1234'
This is custom documentation. For more information, please visit SAP Help Portal. 119
1/18/25, 8:45 PM
Use this action to reject the approval of a sales order.
Example
To reject sales order 1234, use the following URL:
/sap/opu/odata/sap/API_SALES_ORDER_SRV/rejectApprovalRequest?SalesOrder='1234'
Note
You cannot combine actions related to approvals with other operations (for example, the change of an item text) in one
changeset. This will trigger the following error message: Technical problems (common part).
To send both approval-related changes and other changes, use two separate $batch OData requests.
Properties
You can find the approval reasons defined in the configuration activity mentioned above and the approval status of the sales order
in the following properties on the A_SalesOrder node:
SalesOrderApprovalReason
SalesDocApprovalStatus
Constraints
This service doesn't allow you to send sales orders back to the internal sales representative for rework. It is also not possible to
withdraw an approval request.
Related Information
Custom Logic
You can either create an independent sales order or create a sales order with reference to a preceding document (for example, a
sales order with reference to a sales quotation). When you create a sales order with reference, the relevant data from the preceding
document is copied into the new document (including any custom fields).
In this service, you can use the following fields for creating sales orders with reference to a preceding document:
Note
All the checks and constraints regarding the copying of data that are implemented in your system are valid for the API as well.
For example, you cannot copy an item from a reference document when the item is already completely referenced.
This is custom documentation. For more information, please visit SAP Help Portal. 120
1/18/25, 8:45 PM
You copy all the items from the reference document, keeping the quantity unchanged.
For every item that you want to copy, you include both ReferenceSDDocument and ReferenceSDDocumentItem.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "20"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
</m:properties>
</content>
<link href="A_SalesOrder"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>20</d:ReferenceSDDocumentItem>
</m:properties>
This is custom documentation. For more information, please visit SAP Help Portal. 121
1/18/25, 8:45 PM
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
You copy some items from the reference document, partially changing the quantity.
For every item that you want to copy unchanged, you include both ReferenceSDDocument and
ReferenceSDDocumentItem.
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity, you include ReferenceSDDocument,
ReferenceSDDocumentItem, and RequestedQuantity.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
</m:properties>
</content>
<link href="A_SalesOrder"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
This is custom documentation. For more information, please visit SAP Help Portal. 122
1/18/25, 8:45 PM
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>30</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
You copy items from different reference documents, partially changing the quantity.
For every item that you want to copy unchanged, you include both ReferenceSDDocument and
ReferenceSDDocumentItem.
Items from any reference document that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity from any reference document, you include
ReferenceSDDocument, ReferenceSDDocumentItem, and RequestedQuantity.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10"
},
{
"ReferenceSDDocument" : "20000012",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
This is custom documentation. For more information, please visit SAP Help Portal. 123
1/18/25, 8:45 PM
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
</m:properties>
</content>
<link href="A_SalesOrder"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000012</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem
You copy an item from a reference document, changing the quantity, and create an item without reference.
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity, you include ReferenceSDDocument,
ReferenceSDDocumentItem, and RequestedQuantity.
JSON
{
"SalesOrderType" : "OR",
"SalesOrganization" : "0001",
"DistributionChannel" : "01",
"OrganizationDivision" : "01",
"SoldToParty" : "MY_CUST_01",
"to_Item":[
{
"Material" : "MY_MTRL_01",
"RequestedQuantity" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2"
}
]
}
XML
This is custom documentation. For more information, please visit SAP Help Portal. 124
1/18/25, 8:45 PM
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:SalesOrganization>0001</d:SalesOrganization>
<d:DistributionChannel>01</d:DistributionChannel>
<d:OrganizationDivision>01</d:OrganizationDivision>
<d:SoldToParty>MY_CUST_01</d:SoldToParty>
</m:properties>
</content>
<link href="A_SalesOrder"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>"
<entry>
<content type="application/xml">
<m:properties>
<d:Material>MY_MTRL_01</d:Material>
<d:RequestedQuantity>10</d:RequestedQuantity>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>30</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
You copy an item from the reference document, changing the quantity and the item number, and create an item
without reference with a specific item number.
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity and a different item number, you include
ReferenceSDDocument, ReferenceSDDocumentItem, RequestedQuantity, and SalesOrderItem.
JSON
{
"SalesOrderType" : "OR",
"SalesOrganization" : "0001",
"DistributionChannel" : "01",
"OrganizationDivision" : "01",
"SoldToParty" : "MY_CUST_01",
This is custom documentation. For more information, please visit SAP Help Portal. 125
1/18/25, 8:45 PM
"to_Item":[
{
"SalesOrderItem" : "10",
"Material" : "MY_MTRL_01",
"RequestedQuantity" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2",
"SalesOrderItem" : "20"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:SalesOrganization>0001</d:SalesOrganization>
<d:DistributionChannel>01</d:DistributionChannel>
<d:OrganizationDivision>01</d:OrganizationDivision>
<d:SoldToParty>MY_CUST_01</d:SoldToParty>
</m:properties>
</content>
<link href="A_SalesOrder"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:Material>MY_MTRL_01</d:Material>
<d:RequestedQuantity>10</d:RequestedQuantity>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>30</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
<d:SalesOrderItem>20</d:SalesOrderItem>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
You copy an item from the reference document, changing the quantity and adding a discount.
This is custom documentation. For more information, please visit SAP Help Portal. 126
1/18/25, 8:45 PM
30 with material 3, quantity 10
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity and a discount, you include ReferenceSDDocument,
ReferenceSDDocumentItem, RequestedQuantity. For the pricing element, you add ConditionType and
ConditionRateValue.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10",
"RequestedQuantity" : "2",
"to_PricingElement" : [
{
"ConditionType" : "RA00",
"ConditionRateValue" : "10"
}
]
}
]
}
XML
<host>/sap/opu/odata/sap/API_SALES_CONTRACT_SRV/$metadata
<host>/sap/opu/odata/sap/API_SALES_CONTRACT_SRV/A_SalesContract
{
"SalesContractType" : "CQ",
"SalesOrganization" : "4210",
"DistributionChannel" : "10",
"OrganizationDivision" : "00",
"SalesGroup" : "420",
"SalesOffice" : "420",
"SalesDistrict" : "ACT",
"SoldToParty" : "42100001",
"PurchaseOrderByCustomer" : "API Create w. Ref",
"SalesContractDate" : "2018-07-01T00:00:00",
"TransactionCurrency" : "EUR",
"PricingDate" : "2018-07-01T00:00:00",
"SalesContractValidityStartDate" : "2020-05-01T00:00:00",
"SalesContractValidityEndDate" : "2022-01-01T00:00:00",
"to_Item":[
{ "SalesContractItem" : "10",
"Material" : "R-311",
"MaterialByCustomer" : "Source Item for Refs.",
"RequestedQuantity" : "400",
"RequestedQuantityUnit" : "PC"
},
{ "SalesContractItem" : "20",
"Material" : "R-412",
"RequestedQuantity" : "10"
}]
}
<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/$metadata
4. Send a POST request to create a sales order with reference to the sales contract.
<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "{{SalesContractID}}",
"PurchaseOrderByCustomer" : "API Create w. Ref",
This is custom documentation. For more information, please visit SAP Help Portal. 128
1/18/25, 8:45 PM
"to_Item":[
{ "SalesOrderItem" : "10",
"MaterialByCustomer" : "Reference First Item",
"ReferenceSDDocument" : "{{SalesContractID}}",
"ReferenceSDDocumentItem": "10",
"RequestedQuantity" : "10"
}]
}
5. Send a $batch POST request to create four new sales order items that reference the sales contract items.
<host>/sap/opu/odata/sap/API_SALES_ORDER_SRV/$batch
Note
The sales contract ID is saved from the first POST request and then used for the creation of the sales order.
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0001
--changeset_21cc-1e7e-0001
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrder" : "{{SalesOrderID}}",
"MaterialByCustomer" : "Reference Second Item",
"RequestedQuantity" : "20",
"ReferenceSDDocument" : "{{SalesContractID}}",
"ReferenceSDDocumentItem" : "10",
"to_Text":[
{ "Language" : "EN",
"LongTextID" : "TX12",
"LongText" : "This should be a deep request"
}]
}
--changeset_21cc-1e7e-0001--
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0002
--changeset_21cc-1e7e-0002
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrder" : "{{SalesOrderID}}",
"MaterialByCustomer" : "Reference Third Item",
"RequestedQuantity" : "30",
"ReferenceSDDocument" : "{{SalesContractID}}",
This is custom documentation. For more information, please visit SAP Help Portal. 129
1/18/25, 8:45 PM
"ReferenceSDDocumentItem" : "10",
"to_Text":[
{ "Language" : "EN",
"LongTextID" : "TX12",
"LongText" : "This should be a deep request"
}]
}
--changeset_21cc-1e7e-0002--
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0003
--changeset_21cc-1e7e-0003
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrder" : "{{SalesOrderID}}",
"MaterialByCustomer" : "Reference Fourth Item",
"RequestedQuantity" : "40",
"ReferenceSDDocument" : "{{SalesContractID}}",
"ReferenceSDDocumentItem" : "10",
"to_Text":[
{ "Language" : "EN",
"LongTextID" : "TX12",
"LongText" : "This should be a deep request"
}]
}
--changeset_21cc-1e7e-0003--
--batch_dca6-74d2-d53f
Content-Type: multipart/mixed; boundary=changeset_21cc-1e7e-0004
--changeset_21cc-1e7e-0004
Content-Type: application/http
Content-Transfer-Encoding: binary
{
"SalesOrder" : "{{SalesOrderID}}",
"MaterialByCustomer" : "Reference Fifth Item",
"RequestedQuantity" : "50",
"ReferenceSDDocument" : "{{SalesContractID}}",
"ReferenceSDDocumentItem" : "10",
"to_Text":[
{ "Language" : "EN",
"LongTextID" : "TX12",
"LongText" : "This should be a deep request"
}]
}
--changeset_21cc-1e7e-0004--
--batch_dca6-74d2-d53f--
This is custom documentation. For more information, please visit SAP Help Portal. 130
1/18/25, 8:45 PM
You can use the Attachments API (API_CV_ATTACHMENT_SRV) to create new attachments for existing sales orders, or delete
existing attachments.
If you want to create an attachment, you first create the sales order, and then, in a second step, you attach the relevant document.
You must include the following properties that are specific for sales orders:
Property Value
MimeType MIME type of the document that you want to attach. You can find a
list of the supported values here: MIME Types Supported by
Attachment Service.
If you want to delete an attachment, you must also include the following property that is specific for sales orders:
Property Value
DocumentInfoRecordDocType GOS
Sample Code
To create an attachment in JPEG format (file name Sample code for attachments.jpg) for sales order 50214, you can use
the following code:
Code Syntax
Content-Type:image/jpeg
Slug:Sample code for attachments.jpg
BusinessObjectTypeName:BUS2032
LinkedSAPObjectKey:00000{{50214}}
x-csrf-token:{{token}}
Related Information
Attachments
As a key user, you can extend the OData service API_SALES_ORDER_SRV according to your business needs.
Features
This is custom documentation. For more information, please visit SAP Help Portal. 131
1/18/25, 8:45 PM
In the Custom Fields app, you can add custom fields using the following business contexts:
Related Information
Key User Extensibility
Custom Fields
With this synchronous inbound OData service, you can simulate the creation of a sales order. This gives you information about
pricing, material availability, and the customer's credit limit. The response is provided synchronously. The simulated sales order is
not saved.
to_Pricing
To trigger the calculation of prices, add this association to the request. If you send the requestion without the association,
you won't get any pricing pricing information.
to_ScheduleLine
To trigger the available-to-promise (ATP) check, add this association to the request on item level. Note that it is sufficient to
add the association to a single item. The check is triggered for the other items automatically.
to_Credit
To trigger the credit limit check, add this association to the request on header level. You must add the empty association to
enable the credit limit check.
This service is published on the SAP Business Accelerator Hub. For more information about APIs, see APIs on SAP Business
Accelerator Hub.
Service Structure
The service metadata file can be retrieved through /sap/opu/odata/SAP/API_SALES_ORDER_SIMULATION_SRV/$metadata
The service message header contains information about the service, the involved sender and receiver, as well as date and time.
Service Entities
This is custom documentation. For more information, please visit SAP Help Portal. 132
1/18/25, 8:45 PM
A_SalesOrderPrcgElmntSimln Sales order price element simulation Header Pricing Element Simulation
A_SalesOrderItmPrcgElmntSimln Sales order item price element simulation Item Pricing Element Simulation
A_SalesOrderScheduleLineSimln Sales order schedule line simulation Item Schedule Line Simulation
Note that for technical reasons, only 20 messages that don't lead to an abortion (that is, success messages, info messages, and
warnings) can be transmitted. If there are more messages, the last of those 20 messages will let you know that additional
messages exist.
To use this service, you have to configure the following communication scenario: SAP_COM_0109.
Constraints
With this service, it is not possible to:
Process sales orders with sales order processing type P (sales orders for project-based services (PBS))
Process sales orders with SD document category I (sales order without charge)
Create or process multiple sales orders in a single change set of a $batch OData request
Related Events
Sales Order Events
Additional Information
Note
For more details about Communication Management, see Communication Management.
This is custom documentation. For more information, please visit SAP Help Portal. 133
1/18/25, 8:45 PM
This entity contains the data that correspond to the sales order header data. It's designed to be used when creating a sales order
through the API Sales Order (A2X).
If the request of the simulated sales order is successful, you can use it to create a sales order with the API Sales Order (A2X). In
this case, you must remove the following associations from the request:
to_Pricing
to_Credit
to_ScheduleLine
Properties
Note
If you use deep insert requests, the
entities are processed sequentially. That
means, if you provide both the header
and the header partner entity in one
request and you provide a value for this
property, it might be overwritten if it is
determined from the partner master
This is custom documentation. For more information, please visit SAP Help Portal. 134
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 135
1/18/25, 8:45 PM
services
SalesOrderDate The date on which you want the sales order Optional
to become effective for sales management
purposes
This is custom documentation. For more information, please visit SAP Help Portal. 137
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 138
1/18/25, 8:45 PM
Related Information
Simulate Creation of Sales Order
Simulate Creation of Sales Order with Reference
Simulate ATP
With this entity you can change the automatically derived partners for the simulation. For example, you can change the ship-to
party. If you enter the association empty, the derived partners are used for the simulation and returned in the service response.
For more information about partners, see Customer and Business Partner.
Properties
Note
You cannot use this property to provide
the sold-to party. The sold-to party is
This is custom documentation. For more information, please visit SAP Help Portal. 139
1/18/25, 8:45 PM
ContactPerson The number that uniquely identifies the Depending on the partner function chosen,
contact person the corresponding parameter (one of the
four listed) is mandatory
Customer An alphanumeric key that uniquely
identifies the customer or supplier
ContactPerson
Customer
Personnel
Supplier
This entity contains the price elements. If this entity is included in the request and you want to retrieve the price elements, you
must provide at least an empty entity set in the request. This empty set does not influence the pricing result but will provide all
price elements in the service response.
Additionally, if you need the price elements in the response, you must generally enable pricing by adding the association to the
A_SalesOrderPricingSimulation entity. Note that the association can be empty.
This is custom documentation. For more information, please visit SAP Help Portal. 140
1/18/25, 8:45 PM
Properties
This is custom documentation. For more information, please visit SAP Help Portal. 141
1/18/25, 8:45 PM
This entity contains the data that corresponds to the sales order item data, for example, for the material. If you enabled the pricing
information, the pricing-relevant fields are populated. Otherwise they remain empty in the response.
Properties
This is custom documentation. For more information, please visit SAP Help Portal. 142
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 143
1/18/25, 8:45 PM
This is custom documentation. For more information, please visit SAP Help Portal. 144
1/18/25, 8:45 PM
ItemNetWeight The total net weight for the item. The net Read-only
weight represents the gross weight less the
weight of packaging.
substitution
This entity contains all partner-relevant data for the corresponding item if there are deviating partners maintained for the item.
You must only provide an empty entity set for one item. This enables returning the deviating partners for all items implicitly. Please
keep in mind that returning partner data for a high amount of items will increase the run time of the simulation.
For more information about partners, see Customer and Business Partner.
Properties
ContactPerson The number that uniquely identifies the Depending on the partner function chosen,
contact person the corresponding parameter (one of the
four listed) is mandatory
Customer An alphanumeric key that uniquely
identifies the customer or supplier
This is custom documentation. For more information, please visit SAP Help Portal. 146
1/18/25, 8:45 PM
ContactPerson
Customer
Personnel
Supplier
This entity includes detailed pricing information on the item level of a sales order. If you do not want the detailed pricing
information, you must not include this association. In this case, the pricing information is not retrieved, which reduces the service
run time.
You must provide an empty entity set for only one item. This enables returning the pricing information for all items implicitly.
Properties
This is custom documentation. For more information, please visit SAP Help Portal. 148
1/18/25, 8:45 PM
This entity contains information about the schedule line and only contains read-only fields. Thus, adding the association to the
request enables the availability check and returns all schedule lines for all items including the requested and confirmed dates (if
available).
Properties
This is custom documentation. For more information, please visit SAP Help Portal. 149
1/18/25, 8:45 PM
This entity enables the credit limit check. An empty response indicates that the credit limit check did not set a block for the sales
order. Even though the entity only contains read-only fields, you must include the following associations in the request:
to_Credit
to_Pricing
This association is necessary because the credit limit check is performed based on the price.
to_ScheduleLine
This association is necessary because the credit limit check is performed based on the confirmed quantity.
If the associations are not included in the request, the check is skipped, which can reduce the runtime of the service.
For a credit limit check, the TotalNetAmount of the sales order is necessary. Therefore, if you enable the credit limit check, the
pricing simulation is enabled implicitly.
Properties
This is custom documentation. For more information, please visit SAP Help Portal. 150
1/18/25, 8:45 PM
Related Information
Simulate Credit Limit Check
Pricing Simulation
Technical name: A_SalesOrderPricingSimulation
This entity provides information about the pricing-relevant data, such as the TotalNetAmount and the
TransactionCurrency, as the response. You can use the property TransactionCurrency to simulate a specific document
currency.
The association to_Pricing is mandatory if you want to to run pricing as part of the simulation. Even if the transaction currency
is not provided, an empty association in the request is necessary, otherwise pricing is not run and no TotalNetAmount is
returned. This entity controls whether the value fields on item level, for example Condition Value, are populated and any other
pricing feature, such as free goods, is executed.
Properties
Related Information
Simulate Pricing
Simulate POST To simulate the creation of a new sales order, use the following URL:
the
creation of POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
sales
orders
This is custom documentation. For more information, please visit SAP Help Portal. 151
1/18/25, 8:45 PM
Example:
Simulate
Creation of
Sales
Order
Simulate a POST To simulate the creation of a new sales order, use the following URL:
credit limit
check for a POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
sales order
Example:
Simulate
Credit
Limit
Check
Simulate POST To simulate the creation of a new sales order, use the following URL:
pricing for
a sales POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
order
Example:
Simulate
Pricing
Simulate POST To simulate the creation of a new sales order, use the following URL:
an
available- POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
to-promise
(ATP)
check for a
sales order
Example:
Simulate
ATP
Note
You can also simulate the creation of any other entities of the API which are not listed above.
Change Sets
You can only simulate the creation of a single sales order per changeset of a $batch OData request.
This is custom documentation. For more information, please visit SAP Help Portal. 152
1/18/25, 8:45 PM
Request
You can include the properties listed under Sales Order Header in the payload of the request.
Response
Example
Request
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
X-CSRF-Token: abc
Content-Type: application/json
Accept: application/json
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "Simulated via OData API",
"CustomerPaymentTerms": "",
"to_Item": [
{
"SalesOrderItem": "10",
"HigherLevelItem": "0",
"SalesOrderItemCategory": "TAN",
"PurchaseOrderByCustomer": "Simulated via OData API",
"Material": "TG11",
"RequestedQuantity": "1.000",
"DeliveryPriority": "2",
"to_ScheduleLine": [],
"to_Partner": [
{
"PartnerFunction": "SH",
"Customer": "10100002"
}
],
"to_PricingElement": []
}
],
"to_Pricing": {},
"to_PricingElement": [
{
"ConditionType": "DRN1",
"ConditionRateValue": "5"
}
],
"to_Partner": [],
"to_Credit": {}
}
Note
Any properties whose values are determined automatically (for example, based on configuration settings or master data)
cannot be cleared in Create requests. If you provide an empty property, it is ignored. In the above example, this would be true
for the CustomerPaymentTerms property.
To clear these properties, send an Update request after the Create request.
This is custom documentation. For more information, please visit SAP Help Portal. 153
1/18/25, 8:45 PM
You can simulate either the creation of an independent sales order or the creation of a sales order with reference to a preceding
document (for example, a sales order with reference to a sales quotation). When you simulate the creation of a sales order with
reference, the relevant data from the preceding document is copied into the new document (including any custom fields).
In this service, you can use the following fields for simulating the creation of sales orders with reference to a preceding document:
Caution
To improve performance, the system only checks if the properties that are included in requests can be changed in a technical
sense. When you simulate the creation of a sales order, all values are copied from the reference document. You cannot change
any of these values, with the exception of the requested quantity (RequestedQuantity). If you do provide a value for another
property (for example, the material), this value is overwritten with the value from the reference document.
Depending on your use case, you need to include specific fields in your payload. The following examples illustrate the supported
use cases.
You simulate copying all the items from the reference document, keeping the quantity unchanged.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "20"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
This is custom documentation. For more information, please visit SAP Help Portal. 154
1/18/25, 8:45 PM
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
</m:properties>
</content>
<link href="A_SalesOrderSimulation"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>20</d:ReferenceSDDocumentItem>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
For every item that you want to copy, you include both ReferenceSDDocument and ReferenceSDDocumentItem.
You simulate copying some items from the reference document, partially changing the quantity.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2"
}
]
}
XML
This is custom documentation. For more information, please visit SAP Help Portal. 155
1/18/25, 8:45 PM
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
</m:properties>
</content>
<link href="A_SalesOrderSimulation"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>30</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
For every item that you want to copy unchanged, you include both ReferenceSDDocument and
ReferenceSDDocumentItem.
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity, you include ReferenceSDDocument,
ReferenceSDDocumentItem, and RequestedQuantity.
You simulate copying items from different reference documents, partially changing the quantity.
JSON
{
"SalesOrderType" : "OR",
This is custom documentation. For more information, please visit SAP Help Portal. 156
1/18/25, 8:45 PM
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10"
},
{
"ReferenceSDDocument" : "20000012",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
</m:properties>
</content>
<link href="A_SalesOrderSimulation"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000012</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem
For every item that you want to copy unchanged, you include both ReferenceSDDocument and
ReferenceSDDocumentItem.
Items from any reference document that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity from any reference document, you include
ReferenceSDDocument, ReferenceSDDocumentItem, and RequestedQuantity.
You simulate copying an item from a reference document, changing the quantity, and create an item without
reference.
JSON
This is custom documentation. For more information, please visit SAP Help Portal. 157
1/18/25, 8:45 PM
{
"SalesOrderType" : "OR",
"SalesOrganization" : "0001",
"DistributionChannel" : "01",
"OrganizationDivision" : "01",
"SoldToParty" : "MY_CUST_01",
"to_Item":[
{
"Material" : "MY_MTRL_01",
"RequestedQuantity" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:SalesOrganization>0001</d:SalesOrganization>
<d:DistributionChannel>01</d:DistributionChannel>
<d:OrganizationDivision>01</d:OrganizationDivision>
<d:SoldToParty>MY_CUST_01</d:SoldToParty>
</m:properties>
</content>
<link href="A_SalesOrderSimulation"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>"
<entry>
<content type="application/xml">
<m:properties>
<d:Material>MY_MTRL_01</d:Material>
<d:RequestedQuantity>10</d:RequestedQuantity>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>30</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity, you include ReferenceSDDocument,
ReferenceSDDocumentItemRequestedQuantity.
For every additional item, you include the relevant fields., and
This is custom documentation. For more information, please visit SAP Help Portal. 158
1/18/25, 8:45 PM
You simulate copying an item from the reference document, changing the quantity and the item number, and create
an item without reference with a specific item number.
JSON
,{
"SalesOrderType" : "OR",
"SalesOrganization" : "0001",
"DistributionChannel" : "01",
"OrganizationDivision" : "01",
"SoldToParty" : "MY_CUST_01",
"to_Item":[
{
"SalesOrderItem" : "10",
"Material" : "MY_MTRL_01",
"RequestedQuantity" : "10"
},
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "30",
"RequestedQuantity" : "2",
"SalesOrderItem" : "20"
}
]
}
XML
<entry xml:base="<URL>"
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<content type="application/xml">
<m:properties>
<d:SalesOrderType>OR</d:SalesOrderType>
<d:SalesOrganization>0001</d:SalesOrganization>
<d:DistributionChannel>01</d:DistributionChannel>
<d:OrganizationDivision>01</d:OrganizationDivision>
<d:SoldToParty>MY_CUST_01</d:SoldToParty>
</m:properties>
</content>
<link href="A_SalesOrderSimulation"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_Item"
type="application/atom+xml;type=feed"
title="to_Item">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:SalesOrderItem>10</d:SalesOrderItem>
<d:Material>MY_MTRL_01</d:Material>
<d:RequestedQuantity>10</d:RequestedQuantity>
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
This is custom documentation. For more information, please visit SAP Help Portal. 159
1/18/25, 8:45 PM
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>30</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
<d:SalesOrderItem>20</d:SalesOrderItem>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</entry>
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity and a different item number, you include
ReferenceSDDocument, ReferenceSDDocumentItem, RequestedQuantity, and SalesOrderItem.
You simulate copying an item from the reference document, changing the quantity and adding a discount.
JSON
{
"SalesOrderType" : "OR",
"ReferenceSDDocument" : "20000011",
"to_Item":[
{
"ReferenceSDDocument" : "20000011",
"ReferenceSDDocumentItem" : "10",
"RequestedQuantity" : "2",
"to_PricingElement" : [
{
"ConditionType" : "RA00",
"ConditionRateValue" : "10"
}
]
}
]
}
XML
This is custom documentation. For more information, please visit SAP Help Portal. 160
1/18/25, 8:45 PM
<feed xml:base="<URL>">
<entry>
<content type="a pplication/xml">
<m:properties>
<d:ReferenceSDDocument>20000011</d:ReferenceSDDocument>
<d:ReferenceSDDocumentItem>10</d:ReferenceSDDocumentItem>
<d:RequestedQuantity>2</d:RequestedQuantity>
</m:properties>
</content>
</entry>
<link href="A_SalesOrderItemSimulation"
rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/to_PricingElement"
type="application/atom+xml;type=feed"
title="to_PricingElement">
<m:inline>
<feed xml:base="<URL>">
<entry>
<content type="application/xml">
<m:properties>
<d:ConditionType>RA00</d:ConditionType>
<d:ConditionRateValue>10</d:ConditionRateValue>
</m:properties>
</content>
</entry>
</feed>
</m:inline>
</link>
</feed>
</m:inline>
</link>
</entry>
Items that you don't want to copy are not part of the payload.
For every item that you want to copy with a different quantity and a discount, you include ReferenceSDDocument,
ReferenceSDDocumentItem, RequestedQuantity. For the pricing element, you add ConditionType and
ConditionRateValue.
Note
All the checks and constraints regarding the copying of data that are implemented in your system are valid for the service as
well. For example, you cannot copy an item from a reference document when the item is already completely referenced.
Response
Example
Request
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
X-CSRF-Token: xyz
Content-Type: application/json
Accept: application/json
This is custom documentation. For more information, please visit SAP Help Portal. 161
1/18/25, 8:45 PM
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"to_Pricing": {},
"to_Credit": {},
"to_Item": [
{
"SalesOrderItem": "10",
"Material": "TG11",
"RequestedQuantity": "1"
}
]
}
Response
{
"d": {
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation(
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation(
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderSimulationType"
},
"SalesOrder": "",
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SalesGroup": "",
"SalesOffice": "",
"SalesDistrict": "",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"CustomerPurchaseOrderType": "",
"CustomerPurchaseOrderDate": null,
"SalesOrderDate": "/Date(1569974400000)/",
"TransactionCurrency": "EUR",
"SDDocumentReason": "",
"PricingDate": "/Date(1569974400000)/",
"RequestedDeliveryDate": "/Date(1569974400000)/",
"ShippingCondition": "01",
"CompleteDeliveryIsDefined": false,
"ShippingType": "",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Walldorf",
"IncotermsLocation1": "Walldorf",
"IncotermsLocation2": "",
"IncotermsVersion": "",
"CustomerPaymentTerms": "0004",
"PaymentMethod": "",
"to_Credit": null,
"to_Item": {
"results": [
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderItemSimulationType"
},
"SalesOrder": "",
"SalesOrderItem": "10",
"HigherLevelItem": "0",
"SalesOrderItemCategory": "TAN",
"SalesOrderItemText": "XC test",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"Material": "TG11",
"MaterialByCustomer": "XC123",
"PricingDate": "/Date(1569974400000)/",
This is custom documentation. For more information, please visit SAP Help Portal. 162
1/18/25, 8:45 PM
"RequestedQuantity": "1",
"RequestedQuantityUnit": "PC",
"TransactionCurrency": "EUR",
"NetAmount": "-82.07",
"TaxAmount": "-15.59",
"CostAmount": "12.01",
"Subtotal1Amount": "3.86",
"Subtotal2Amount": "-82.07",
"Subtotal3Amount": "-82.07",
"Subtotal4Amount": "0.00",
"Subtotal5Amount": "0.00",
"Subtotal6Amount": "0.00",
"MaterialGroup": "L001",
"MaterialPricingGroup": "",
"Batch": "",
"Plant": "1010",
"StorageLocation": "",
"DeliveryGroup": "0",
"ShippingPoint": "1010",
"ShippingType": "",
"DeliveryPriority": "0",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Walldorf",
"IncotermsLocation1": "Walldorf",
"IncotermsLocation2": "",
"CustomerPaymentTerms": "0004",
"SalesDocumentRjcnReason": "",
"to_Partner": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_PricingElement": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_ScheduleLine": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
}
]
},
"to_Partner": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
}
},
"to_Pricing": {
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPricingS
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPricing
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPricingSimulationType"
},
"SalesOrder": "",
"TotalNetAmount": "-82.07",
"TransactionCurrency": "EUR",
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPri
}
}
},
"to_PricingElement": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
}
This is custom documentation. For more information, please visit SAP Help Portal. 163
1/18/25, 8:45 PM
}
}
}
Simulate Pricing
To simulate the credit check for a new sales order, you use the POST HTTP method on the A_SalesOrderSimulation entity. To
get a pricing simulation, provide the to_Pricing association. For information on pricing elements, use the
to_PricingElement association. You can use this association on both header and item level.
Response
The operation returns all the properties of the A_SalesOrderPricingSimulation and the
A_SalesOrderPrcgElmntSimln entities.
Example
Request
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
X-CSRF-Token: xyz
Content-Type: application/json
Accept: application/json
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"to_Pricing": {},
"to_PricingElement": [],
"to_Item": [
{
"SalesOrderItem": "10",
"Material": "TG11",
"RequestedQuantity": "1"
}
]
}
Response
{
"d": {
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation(
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation(
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderSimulationType"
},
"SalesOrder": "",
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SalesGroup": "",
"SalesOffice": "",
"SalesDistrict": "",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"CustomerPurchaseOrderType": "",
This is custom documentation. For more information, please visit SAP Help Portal. 164
1/18/25, 8:45 PM
"CustomerPurchaseOrderDate": null,
"SalesOrderDate": "/Date(1569974400000)/",
"TransactionCurrency": "EUR",
"SDDocumentReason": "",
"PricingDate": "/Date(1569974400000)/",
"RequestedDeliveryDate": "/Date(1569974400000)/",
"ShippingCondition": "01",
"CompleteDeliveryIsDefined": false,
"ShippingType": "",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Walldorf",
"IncotermsLocation1": "Walldorf",
"IncotermsLocation2": "",
"IncotermsVersion": "",
"CustomerPaymentTerms": "0004",
"PaymentMethod": "",
"to_Credit": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
}
},
"to_Item": {
"results": [
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderItemSimulationType"
},
"SalesOrder": "",
"SalesOrderItem": "10",
"HigherLevelItem": "0",
"SalesOrderItemCategory": "TAN",
"SalesOrderItemText": "XC test",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"Material": "TG11",
"MaterialByCustomer": "XC123",
"PricingDate": "/Date(1569974400000)/",
"RequestedQuantity": "1",
"RequestedQuantityUnit": "PC",
"TransactionCurrency": "EUR",
"NetAmount": "-82.07",
"TaxAmount": "-15.59",
"CostAmount": "12.01",
"Subtotal1Amount": "3.86",
"Subtotal2Amount": "-82.07",
"Subtotal3Amount": "-82.07",
"Subtotal4Amount": "0.00",
"Subtotal5Amount": "0.00",
"Subtotal6Amount": "0.00",
"MaterialGroup": "L001",
"MaterialPricingGroup": "",
"Batch": "",
"Plant": "1010",
"StorageLocation": "",
"DeliveryGroup": "0",
"ShippingPoint": "1010",
"ShippingType": "",
"DeliveryPriority": "0",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Walldorf",
"IncotermsLocation1": "Walldorf",
"IncotermsLocation2": "",
"CustomerPaymentTerms": "0004",
"SalesDocumentRjcnReason": "",
"to_Partner": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_PricingElement": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
This is custom documentation. For more information, please visit SAP Help Portal. 165
1/18/25, 8:45 PM
},
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_ScheduleLine": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
}
]
},
"to_Partner": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
}
},
"to_Pricing": {
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPricingS
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPricing
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPricingSimulationType"
},
"SalesOrder": "",
"TotalNetAmount": "-82.07",
"TransactionCurrency": "EUR",
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPri
}
}
},
"to_PricingElement": {
"results": [
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "20",
"PricingProcedureCounter": "1",
"ConditionType": "PPR0",
"ConditionCalculationType": "C",
"ConditionRateValue": "456.000000000",
"ConditionCurrency": "JPY",
"ConditionQuantity": "1",
"ConditionQuantityUnit": "PC",
"ConditionIsForStatistics": false,
"ConditionAmount": "386.00",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "100",
"PricingProcedureCounter": "1",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
This is custom documentation. For more information, please visit SAP Help Portal. 166
1/18/25, 8:45 PM
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "3.86",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "130",
"PricingProcedureCounter": "1",
"ConditionType": "DCM1",
"ConditionCalculationType": "C",
"ConditionRateValue": "-111.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "1",
"ConditionQuantityUnit": "PC",
"ConditionIsForStatistics": false,
"ConditionAmount": "-111.00",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "140",
"PricingProcedureCounter": "1",
"ConditionType": "DC01",
"ConditionCalculationType": "A",
"ConditionRateValue": "-3.500000000",
"ConditionCurrency": "",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "3.75",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "150",
This is custom documentation. For more information, please visit SAP Help Portal. 167
1/18/25, 8:45 PM
"PricingProcedureCounter": "1",
"ConditionType": "DM01",
"ConditionCalculationType": "A",
"ConditionRateValue": "-19.000000000",
"ConditionCurrency": "",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "19.64",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "195",
"PricingProcedureCounter": "1",
"ConditionType": "DPH1",
"ConditionCalculationType": "A",
"ConditionRateValue": "-2.000000000",
"ConditionCurrency": "",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "1.68",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "300",
"PricingProcedureCounter": "2",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-85.93",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
This is custom documentation. For more information, please visit SAP Help Portal. 168
1/18/25, 8:45 PM
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "700",
"PricingProcedureCounter": "3",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-82.07",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "740",
"PricingProcedureCounter": "4",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-82.07",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "800",
"PricingProcedureCounter": "5",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-82.07",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
This is custom documentation. For more information, please visit SAP Help Portal. 169
1/18/25, 8:45 PM
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "840",
"PricingProcedureCounter": "1",
"ConditionType": "YZWR",
"ConditionCalculationType": "B",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "0.00",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "850",
"PricingProcedureCounter": "1",
"ConditionType": "TTX1",
"ConditionCalculationType": "A",
"ConditionRateValue": "19.000000000",
"ConditionCurrency": "",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-15.59",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "900",
"PricingProcedureCounter": "6",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-97.66",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
This is custom documentation. For more information, please visit SAP Help Portal. 170
1/18/25, 8:45 PM
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "930",
"PricingProcedureCounter": "1",
"ConditionType": "PCIP",
"ConditionCalculationType": "C",
"ConditionRateValue": "12.010000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "1",
"ConditionQuantityUnit": "PC",
"ConditionIsForStatistics": true,
"ConditionAmount": "12.01",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
},
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPrcgElmntSimlnType"
},
"SalesOrder": "",
"PricingProcedureStep": "950",
"PricingProcedureCounter": "7",
"ConditionType": "",
"ConditionCalculationType": "",
"ConditionRateValue": "0.000000000",
"ConditionCurrency": "EUR",
"ConditionQuantity": "0",
"ConditionQuantityUnit": "",
"ConditionIsForStatistics": false,
"ConditionAmount": "-94.08",
"TransactionCurrency": "EUR",
"ConditionInactiveReason": "",
"ConditionIsManuallyChanged": false,
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
}
}
]
}
}
}
Simulate ATP
To simulate the available-to-promise (ATP) check for a new sales order, you use the POST HTTP method on the
A_SalesOrderSimulation entity and provide the to_ScheduleLine association on item level.
Response
This is custom documentation. For more information, please visit SAP Help Portal. 171
1/18/25, 8:45 PM
The operation returns all the properties of the A_SalesOrderPricingSimulation and the
A_SalesOrderScheduleLineSimln entities.
Example
Request
POST <host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation
X-CSRF-Token: xyz
Content-Type: application/json
Accept: application/json
{
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"to_Item": [
{
"SalesOrderItem": "10",
"Material": "TG11",
"RequestedQuantity": "1",
"to_ScheduleLine": []
}
]
}
Response
{
"d": {
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation(
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulation(
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderSimulationType"
},
"SalesOrder": "",
"SalesOrderType": "OR",
"SalesOrganization": "1010",
"DistributionChannel": "10",
"OrganizationDivision": "00",
"SalesGroup": "",
"SalesOffice": "",
"SalesDistrict": "",
"SoldToParty": "10100001",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"CustomerPurchaseOrderType": "",
"CustomerPurchaseOrderDate": null,
"SalesOrderDate": "/Date(1569974400000)/",
"TransactionCurrency": "EUR",
"SDDocumentReason": "",
"PricingDate": "/Date(1569974400000)/",
"RequestedDeliveryDate": "/Date(1569974400000)/",
"ShippingCondition": "01",
"CompleteDeliveryIsDefined": false,
"ShippingType": "",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Walldorf",
"IncotermsLocation1": "Walldorf",
"IncotermsLocation2": "",
"IncotermsVersion": "",
"CustomerPaymentTerms": "0004",
"PaymentMethod": "",
"to_Credit": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
This is custom documentation. For more information, please visit SAP Help Portal. 172
1/18/25, 8:45 PM
}
},
"to_Item": {
"results": [
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrder
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrde
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderItemSimulationType"
},
"SalesOrder": "",
"SalesOrderItem": "10",
"HigherLevelItem": "0",
"SalesOrderItemCategory": "TAN",
"SalesOrderItemText": "XC test",
"PurchaseOrderByCustomer": "SalesOrder Simulation",
"Material": "TG11",
"MaterialByCustomer": "XC123",
"PricingDate": "/Date(1569974400000)/",
"RequestedQuantity": "1",
"RequestedQuantityUnit": "PC",
"TransactionCurrency": "EUR",
"NetAmount": "-82.07",
"TaxAmount": "-15.59",
"CostAmount": "12.01",
"Subtotal1Amount": "3.86",
"Subtotal2Amount": "-82.07",
"Subtotal3Amount": "-82.07",
"Subtotal4Amount": "0.00",
"Subtotal5Amount": "0.00",
"Subtotal6Amount": "0.00",
"MaterialGroup": "L001",
"MaterialPricingGroup": "",
"Batch": "",
"Plant": "1010",
"StorageLocation": "",
"DeliveryGroup": "0",
"ShippingPoint": "1010",
"ShippingType": "",
"DeliveryPriority": "0",
"IncotermsClassification": "EXW",
"IncotermsTransferLocation": "Walldorf",
"IncotermsLocation1": "Walldorf",
"IncotermsLocation2": "",
"CustomerPaymentTerms": "0004",
"SalesDocumentRjcnReason": "",
"to_Partner": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_PricingElement": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_Sales
}
},
"to_ScheduleLine": {
"results": [
{
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderScheduleLin
},
"SalesOrder": "",
"SalesOrderItem": "10",
"ScheduleLine": "1",
"RequestedDeliveryDate": "/Date(1569974400000)/",
"ConfirmedDeliveryDate": null,
This is custom documentation. For more information, please visit SAP Help Portal. 173
1/18/25, 8:45 PM
"OrderQuantityUnit": "PC",
"ScheduleLineOrderQuantity": "1",
"ConfdOrderQtyByMatlAvailCheck": "0",
"OpenConfdDelivQtyInOrdQtyUnit": "0",
"CorrectedQtyInOrderQtyUnit": "1",
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION
}
},
"to_SalesOrderItem": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION
}
}
}
]
}
}
]
},
"to_Partner": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
}
},
"to_Pricing": {
"__metadata": {
"id": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPricingS
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPricing
"type": "API_SALES_ORDER_SIMULATION_SRV.A_SalesOrderPricingSimulationType"
},
"SalesOrder": "",
"TotalNetAmount": "-82.07",
"TransactionCurrency": "EUR",
"to_SalesOrder": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderPri
}
}
},
"to_PricingElement": {
"__deferred": {
"uri": "<host>/sap/opu/odata/sap/API_SALES_ORDER_SIMULATION_SRV/A_SalesOrderSimulat
}
}
}
}
Features
In the Custom Fields app, you can add custom fields using the following business contexts:
Related Information
This is custom documentation. For more information, please visit SAP Help Portal. 174
1/18/25, 8:45 PM
Key User Extensibility
Custom Fields
This is custom documentation. For more information, please visit SAP Help Portal. 175