openapi: 3.1.0 info: title: SAP S/4HANA Sales Order API description: >- The SAP S/4HANA Sales Order API (API_SALES_ORDER_SRV) enables you to create, read, update, and delete sales orders in SAP S/4HANA. This OData V2-based service provides access to complete sales order documents including header data, line items, pricing elements, schedule lines, partners, and text records. It supports deep insert operations for creating a sales order header with its dependent entities in a single request. The API covers the full sales order lifecycle from creation through to completion and rejection. version: 1.0.0 termsOfService: https://www.sap.com/about/trust-center/agreements/cloud/cloud-services.html contact: name: SAP API Support url: https://support.sap.com license: name: SAP Developer License url: https://www.sap.com/about/trust-center/agreements/cloud/cloud-services.html x-sap-api-type: OData V2 x-sap-shortText: Manage sales orders in SAP S/4HANA servers: - url: https://sandbox.api.sap.com/s4hanacloud/sap/opu/odata/sap/API_SALES_ORDER_SRV description: SAP S/4HANA Cloud sandbox environment - url: https://{host}:{port}/sap/opu/odata/sap/API_SALES_ORDER_SRV description: SAP S/4HANA on-premise or private cloud variables: host: default: my-s4hana-host.example.com description: SAP S/4HANA server hostname port: default: '443' description: SAP S/4HANA server port security: - basicAuth: [] - oauth2: [] tags: - name: Partners description: Operations on header and item partner functions - name: Pricing Elements description: Operations on header and item pricing elements - name: Sales Order Items description: Operations on sales order line items - name: Sales Orders description: Operations on sales order header records - name: Schedule Lines description: Operations on item schedule lines for delivery scheduling - name: Text description: Operations on header and item text records paths: /A_SalesOrder: get: operationId: listSalesOrders summary: Sap S/4hana Retrieve a List of Sales Orders description: >- Returns a collection of sales order header records. Supports OData system query options including $filter, $select, $expand, $orderby, $top, $skip, and $inlinecount for pagination. Use $expand to include related entities such as items, partners, and pricing elements in the response. tags: - Sales Orders parameters: - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/inlinecount' responses: '200': description: Sales orders retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrder' __count: type: string description: Total count of matching entities when $inlinecount=allpages is specified '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createSalesOrder summary: Sap S/4hana Create a New Sales Order description: >- Creates a new sales order in SAP S/4HANA. Supports deep insert, allowing you to create a header along with items, partners, pricing elements, schedule lines, billing plans, and text records in a single request. The SalesOrderType, SalesOrganization, DistributionChannel, and OrganizationDivision are required for creation. tags: - Sales Orders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrderCreate' responses: '201': description: Sales order created successfully content: application/json: schema: type: object properties: d: $ref: '#/components/schemas/SalesOrder' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrder('{SalesOrder}'): get: operationId: getSalesOrder summary: Sap S/4hana Retrieve a Single Sales Order by Key description: >- Returns a single sales order header record identified by its sales order number. Use $expand to include related entities such as to_Item, to_Partner, and to_PricingElement. tags: - Sales Orders parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: Sales order retrieved successfully content: application/json: schema: type: object properties: d: $ref: '#/components/schemas/SalesOrder' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateSalesOrder summary: Sap S/4hana Update a Sales Order Header description: >- Performs a partial update (MERGE/PATCH) on an existing sales order header. Only the fields provided in the request body are updated. Requires an If-Match header with the entity ETag for optimistic concurrency control. tags: - Sales Orders parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/ifMatch' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrderUpdate' responses: '204': description: Sales order updated successfully '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '412': $ref: '#/components/responses/PreconditionFailed' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteSalesOrder summary: Sap S/4hana Delete a Sales Order description: >- Deletes an existing sales order. Requires an If-Match header with the entity ETag for optimistic concurrency control. A sales order can only be deleted if its processing status permits deletion. tags: - Sales Orders parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/ifMatch' responses: '204': description: Sales order deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '412': $ref: '#/components/responses/PreconditionFailed' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrder('{SalesOrder}')/to_Item: get: operationId: listSalesOrderItems summary: Sap S/4hana Retrieve Items for a Sales Order description: >- Returns the line items belonging to a specific sales order. Use $expand to include related entities such as to_PricingElement, to_ScheduleLine, and to_Partner. tags: - Sales Order Items parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: Sales order items retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrderItem' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createSalesOrderItem summary: Sap S/4hana Create a New Sales Order Item description: >- Creates a new line item within an existing sales order. The Material field is typically required. Supports deep insert for creating pricing elements, schedule lines, partners, and text along with the item. tags: - Sales Order Items parameters: - $ref: '#/components/parameters/salesOrderKey' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrderItemCreate' responses: '201': description: Sales order item created successfully content: application/json: schema: type: object properties: d: $ref: '#/components/schemas/SalesOrderItem' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}'): get: operationId: getSalesOrderItem summary: Sap S/4hana Retrieve a Single Sales Order Item description: >- Returns a single sales order item identified by the composite key of SalesOrder and SalesOrderItem numbers. tags: - Sales Order Items parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/salesOrderItemKey' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/expand' responses: '200': description: Sales order item retrieved successfully content: application/json: schema: type: object properties: d: $ref: '#/components/schemas/SalesOrderItem' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateSalesOrderItem summary: Sap S/4hana Update a Sales Order Item description: >- Performs a partial update on an existing sales order item. Only the fields provided in the request body are updated. Requires an If-Match header with the entity ETag for optimistic concurrency control. tags: - Sales Order Items parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/salesOrderItemKey' - $ref: '#/components/parameters/ifMatch' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SalesOrderItemUpdate' responses: '204': description: Sales order item updated successfully '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '412': $ref: '#/components/responses/PreconditionFailed' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteSalesOrderItem summary: Sap S/4hana Delete a Sales Order Item description: >- Deletes an existing sales order item. Requires an If-Match header with the entity ETag. tags: - Sales Order Items parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/salesOrderItemKey' - $ref: '#/components/parameters/ifMatch' responses: '204': description: Sales order item deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '412': $ref: '#/components/responses/PreconditionFailed' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrder('{SalesOrder}')/to_Partner: get: operationId: listSalesOrderPartners summary: Sap S/4hana Retrieve Partners for a Sales Order description: >- Returns the header-level partner functions for a sales order, such as sold-to party, ship-to party, bill-to party, and payer. tags: - Partners parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/select' responses: '200': description: Sales order partners retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrderHeaderPartner' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrder('{SalesOrder}')/to_PricingElement: get: operationId: listSalesOrderPricingElements summary: Sap S/4hana Retrieve Header Pricing Elements for a Sales Order description: >- Returns the header-level pricing condition records for a sales order, including prices, discounts, surcharges, taxes, and freight charges. tags: - Pricing Elements parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/select' responses: '200': description: Pricing elements retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrderHeaderPrcgElmnt' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}')/to_ScheduleLine: get: operationId: listSalesOrderItemScheduleLines summary: Sap S/4hana Retrieve Schedule Lines for a Sales Order Item description: >- Returns the schedule lines for a specific sales order item, containing confirmed quantities and delivery dates. tags: - Schedule Lines parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/salesOrderItemKey' - $ref: '#/components/parameters/select' responses: '200': description: Schedule lines retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrderScheduleLine' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrderItem(SalesOrder='{SalesOrder}',SalesOrderItem='{SalesOrderItem}')/to_PricingElement: get: operationId: listSalesOrderItemPricingElements summary: Sap S/4hana Retrieve Pricing Elements for a Sales Order Item description: >- Returns the item-level pricing condition records for a sales order item, including item prices, discounts, surcharges, and tax amounts. tags: - Pricing Elements parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/salesOrderItemKey' - $ref: '#/components/parameters/select' responses: '200': description: Pricing elements retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrderItemPrcgElmnt' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /A_SalesOrder('{SalesOrder}')/to_Text: get: operationId: listSalesOrderTexts summary: Sap S/4hana Retrieve Text Records for a Sales Order description: >- Returns the header-level text records for a sales order, such as notes, internal comments, and header texts. tags: - Text parameters: - $ref: '#/components/parameters/salesOrderKey' - $ref: '#/components/parameters/select' responses: '200': description: Text records retrieved successfully content: application/json: schema: type: object properties: d: type: object properties: results: type: array items: $ref: '#/components/schemas/SalesOrderText' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: basicAuth: type: http scheme: basic description: Basic authentication using SAP user credentials oauth2: type: oauth2 description: OAuth 2.0 authentication for SAP S/4HANA Cloud flows: clientCredentials: tokenUrl: https://{tenant}.authentication.{region}.hana.ondemand.com/oauth/token scopes: API_SALES_ORDER_SRV_0001: Access to Sales Order API parameters: salesOrderKey: name: SalesOrder in: path required: true description: Sales order number (10-character string, e.g., '0000000001') schema: type: string maxLength: 10 salesOrderItemKey: name: SalesOrderItem in: path required: true description: Sales order item number (6-character string, e.g., '000010') schema: type: string maxLength: 6 top: name: $top in: query description: Maximum number of entities to return schema: type: integer minimum: 0 skip: name: $skip in: query description: Number of entities to skip schema: type: integer minimum: 0 filter: name: $filter in: query description: OData filter expression schema: type: string select: name: $select in: query description: Comma-separated list of properties to include in the response schema: type: string expand: name: $expand in: query description: Comma-separated list of navigation properties to expand schema: type: string orderby: name: $orderby in: query description: Comma-separated list of properties for sorting (e.g., 'CreationDate desc') schema: type: string inlinecount: name: $inlinecount in: query description: Include total count of matching entities schema: type: string enum: - allpages - none ifMatch: name: If-Match in: header required: true description: ETag value for optimistic concurrency control schema: type: string schemas: SalesOrder: type: object description: >- Sales order header entity (A_SalesOrder) representing a complete sales document in SAP S/4HANA. Contains organizational data, customer references, pricing totals, and processing status information. properties: SalesOrder: type: string maxLength: 10 description: Sales order number examples: ['0000000001'] SalesOrderType: type: string maxLength: 4 description: Sales document type (e.g., OR for standard order, RE for returns) examples: ['OR'] SalesOrganization: type: string maxLength: 4 description: Sales organization responsible for the sales order examples: ['1710'] DistributionChannel: type: string maxLength: 2 description: Distribution channel through which the product reaches the customer examples: ['10'] OrganizationDivision: type: string maxLength: 2 description: Division for the sales organization examples: ['00'] SalesGroup: type: string maxLength: 3 description: Sales group within the sales organization example: example_value SalesOffice: type: string maxLength: 4 description: Sales office responsible for the order example: example_value SalesDistrict: type: string maxLength: 6 description: Geographic sales district example: example_value SoldToParty: type: string maxLength: 10 description: Customer number of the sold-to party examples: ['10100001'] CreationDate: type: string format: date description: Date when the sales order was created example: '2026-01-15' CreatedByUser: type: string maxLength: 12 description: User who created the sales order example: example_value LastChangeDate: type: string format: date description: Date of the last change to the sales order example: '2026-01-15' LastChangeDateTime: type: string format: date-time description: Timestamp of the last change including time zone example: '2026-01-15T10:30:00Z' PurchaseOrderByCustomer: type: string maxLength: 35 description: Customer purchase order number example: example_value CustomerPurchaseOrderType: type: string maxLength: 4 description: Customer purchase order type example: example_value CustomerPurchaseOrderDate: type: string format: date description: Customer purchase order date example: '2026-01-15' SalesOrderDate: type: string format: date description: Document date of the sales order example: '2026-01-15' TotalNetAmount: type: string description: Total net value of the sales order in document currency examples: ['15000.00'] TransactionCurrency: type: string maxLength: 5 description: Currency key for the sales order (ISO 4217) examples: ['USD'] SDDocumentReason: type: string maxLength: 3 description: Order reason (e.g., reason for return or credit memo) example: example_value PricingDate: type: string format: date description: Date used for pricing determination example: '2026-01-15' RequestedDeliveryDate: type: string format: date description: Requested delivery date for the entire order example: '2026-01-15' ShippingCondition: type: string maxLength: 2 description: Shipping condition code example: example_value CompleteDeliveryIsDefined: type: boolean description: Indicator for complete delivery requirement example: true ShippingType: type: string maxLength: 2 description: Shipping type code example: example_value HeaderBillingBlockReason: type: string maxLength: 2 description: Billing block reason at header level example: example_value DeliveryBlockReason: type: string maxLength: 2 description: Delivery block reason example: example_value IncotermsClassification: type: string maxLength: 3 description: Incoterms classification (e.g., FOB, CIF, EXW) examples: ['EXW'] IncotermsTransferLocation: type: string maxLength: 28 description: Incoterms location (named place) example: example_value IncotermsLocation1: type: string maxLength: 70 description: Incoterms location 1 example: example_value IncotermsLocation2: type: string maxLength: 70 description: Incoterms location 2 example: example_value IncotermsVersion: type: string maxLength: 4 description: Incoterms version year example: example_value CustomerPaymentTerms: type: string maxLength: 4 description: Payment terms key examples: ['0001'] PaymentMethod: type: string maxLength: 1 description: Payment method code example: example_value AssignmentReference: type: string maxLength: 18 description: Assignment reference number example: example_value ReferenceSDDocument: type: string maxLength: 10 description: Reference document number (e.g., quotation or contract number) example: example_value ReferenceSDDocumentCategory: type: string maxLength: 4 description: Reference document category example: example_value AccountingExchangeRate: type: string description: Exchange rate for accounting example: example_value OverallSDProcessStatus: type: string maxLength: 1 description: Overall processing status of the sales document (A=Not yet processed, B=Partially processed, C=Completely processed) examples: ['A'] TotalCreditCheckStatus: type: string maxLength: 1 description: Overall status of credit checks example: example_value OverallTotalDeliveryStatus: type: string maxLength: 1 description: Overall delivery status example: example_value OverallSDDocumentRejectionSts: type: string maxLength: 1 description: Overall rejection status of the sales document example: example_value BillingDocumentDate: type: string format: date description: Billing date for the entire order example: '2026-01-15' ContractAccount: type: string maxLength: 12 description: Contract account number example: example_value AdditionalCustomerGroup1: type: string maxLength: 3 description: Customer group 1 example: example_value AdditionalCustomerGroup2: type: string maxLength: 3 description: Customer group 2 example: example_value AdditionalCustomerGroup3: type: string maxLength: 3 description: Customer group 3 example: example_value AdditionalCustomerGroup4: type: string maxLength: 3 description: Customer group 4 example: example_value AdditionalCustomerGroup5: type: string maxLength: 3 description: Customer group 5 example: example_value SlsDocIsRlvtForProofOfDeliv: type: boolean description: Indicator that the document is relevant for proof of delivery example: true CustomerTaxClassification1: type: string maxLength: 1 description: Tax classification 1 for customer example: example_value CustomerTaxClassification2: type: string maxLength: 1 description: Tax classification 2 for customer example: example_value CustomerTaxClassification3: type: string maxLength: 1 description: Tax classification 3 for customer example: example_value CustomerTaxClassification4: type: string maxLength: 1 description: Tax classification 4 for customer example: example_value CustomerAccountGroup: type: string maxLength: 4 description: Customer account group example: example_value to_Item: type: array description: Navigation to sales order items items: $ref: '#/components/schemas/SalesOrderItem' example: [] to_Partner: type: array description: Navigation to header partner functions items: $ref: '#/components/schemas/SalesOrderHeaderPartner' example: [] to_PricingElement: type: array description: Navigation to header pricing elements items: $ref: '#/components/schemas/SalesOrderHeaderPrcgElmnt' example: [] to_Text: type: array description: Navigation to header text records items: $ref: '#/components/schemas/SalesOrderText' example: [] SalesOrderCreate: type: object description: Request payload for creating a new sales order with optional deep insert required: - SalesOrderType - SalesOrganization - DistributionChannel - OrganizationDivision properties: SalesOrderType: type: string maxLength: 4 description: Sales document type example: example_value SalesOrganization: type: string maxLength: 4 description: Sales organization example: example_value DistributionChannel: type: string maxLength: 2 description: Distribution channel example: example_value OrganizationDivision: type: string maxLength: 2 description: Organization division example: example_value SoldToParty: type: string maxLength: 10 description: Sold-to party customer number example: example_value PurchaseOrderByCustomer: type: string maxLength: 35 description: Customer purchase order number example: example_value SalesOrderDate: type: string format: date description: Document date example: '2026-01-15' RequestedDeliveryDate: type: string format: date description: Requested delivery date example: '2026-01-15' CustomerPaymentTerms: type: string maxLength: 4 description: Payment terms key example: example_value TransactionCurrency: type: string maxLength: 5 description: Currency key (ISO 4217) example: example_value PricingDate: type: string format: date description: Pricing date example: '2026-01-15' IncotermsClassification: type: string maxLength: 3 description: Incoterms classification example: example_value IncotermsTransferLocation: type: string maxLength: 28 description: Incoterms location example: example_value ShippingCondition: type: string maxLength: 2 description: Shipping condition example: example_value CompleteDeliveryIsDefined: type: boolean description: Complete delivery indicator example: true SDDocumentReason: type: string maxLength: 3 description: Order reason example: example_value to_Item: type: array description: Items to create (deep insert) items: $ref: '#/components/schemas/SalesOrderItemCreate' example: [] to_Partner: type: array description: Partners to create (deep insert) items: $ref: '#/components/schemas/SalesOrderHeaderPartner' example: [] to_PricingElement: type: array description: Pricing elements to create (deep insert) items: $ref: '#/components/schemas/SalesOrderHeaderPrcgElmnt' example: [] to_Text: type: array description: Text records to create (deep insert) items: $ref: '#/components/schemas/SalesOrderText' example: [] SalesOrderUpdate: type: object description: Request payload for updating sales order header fields properties: PurchaseOrderByCustomer: type: string maxLength: 35 example: example_value RequestedDeliveryDate: type: string format: date example: '2026-01-15' CustomerPaymentTerms: type: string maxLength: 4 example: example_value ShippingCondition: type: string maxLength: 2 example: example_value CompleteDeliveryIsDefined: type: boolean example: true HeaderBillingBlockReason: type: string maxLength: 2 example: example_value DeliveryBlockReason: type: string maxLength: 2 example: example_value IncotermsClassification: type: string maxLength: 3 example: example_value IncotermsTransferLocation: type: string maxLength: 28 example: example_value PricingDate: type: string format: date example: '2026-01-15' SDDocumentReason: type: string maxLength: 3 example: example_value SalesOrderItem: type: object description: >- Sales order item entity (A_SalesOrderItem) representing a line item in a sales order. Contains material, quantity, pricing, plant assignment, and item-level processing status. properties: SalesOrder: type: string maxLength: 10 description: Sales order number the item belongs to example: example_value SalesOrderItem: type: string maxLength: 6 description: Sales order item number (e.g., '000010') examples: ['000010'] HigherLevelItem: type: string maxLength: 6 description: Higher-level item number in a BOM structure example: example_value SalesOrderItemCategory: type: string maxLength: 4 description: Item category (e.g., TAN for standard item, TANN for free-of-charge) examples: ['TAN'] SalesOrderItemText: type: string maxLength: 40 description: Short text description of the item example: example_value PurchaseOrderByCustomer: type: string maxLength: 35 description: Customer purchase order number at item level example: example_value Material: type: string maxLength: 40 description: Material number examples: ['TG11'] MaterialByCustomer: type: string maxLength: 35 description: Material number used by the customer example: example_value PricingDate: type: string format: date description: Pricing date at item level example: '2026-01-15' BillingPlan: type: string maxLength: 10 description: Billing plan number example: example_value RequestedQuantity: type: string description: Requested quantity examples: ['10'] RequestedQuantityUnit: type: string maxLength: 3 description: Unit of measure for the requested quantity (ISO unit code) examples: ['EA'] RequestedQuantitySAPUnit: type: string maxLength: 3 description: SAP internal unit of measure example: example_value RequestedQuantityIsFixed: type: boolean description: Indicator that the requested quantity is fixed example: true ItemGrossWeight: type: string description: Gross weight of the item example: example_value ItemNetWeight: type: string description: Net weight of the item example: example_value ItemWeightUnit: type: string maxLength: 3 description: Weight unit (e.g., KG, LB) example: example_value ItemVolume: type: string description: Volume of the item example: example_value ItemVolumeUnit: type: string maxLength: 3 description: Volume unit example: example_value TransactionCurrency: type: string maxLength: 5 description: Transaction currency (ISO 4217) example: example_value NetAmount: type: string description: Net value of the item in document currency examples: ['1500.00'] TotalSDAmount: type: string description: Total SD amount example: example_value MaterialGroup: type: string maxLength: 9 description: Material group example: example_value MaterialPricingGroup: type: string maxLength: 2 description: Material pricing group example: example_value Batch: type: string maxLength: 10 description: Batch number example: example_value ProductionPlant: type: string maxLength: 4 description: Production plant example: example_value StorageLocation: type: string maxLength: 4 description: Storage location example: example_value DeliveryGroup: type: string maxLength: 3 description: Delivery group example: example_value ShippingPoint: type: string maxLength: 4 description: Shipping point or receiving point example: example_value ShippingType: type: string maxLength: 2 description: Shipping type example: example_value DeliveryPriority: type: string maxLength: 2 description: Delivery priority example: example_value IncotermsClassification: type: string maxLength: 3 description: Incoterms at item level example: example_value IncotermsTransferLocation: type: string maxLength: 28 description: Incoterms location at item level example: example_value CustomerPaymentTerms: type: string maxLength: 4 description: Payment terms at item level example: example_value ProductTaxClassification1: type: string maxLength: 1 description: Tax classification for material example: example_value SalesDocumentRjcnReason: type: string maxLength: 2 description: Reason for rejection of the item example: example_value ItemBillingBlockReason: type: string maxLength: 2 description: Billing block at item level example: example_value WBSElement: type: string maxLength: 24 description: WBS element for project assignment example: example_value ProfitCenter: type: string maxLength: 10 description: Profit center example: example_value OrderID: type: string maxLength: 12 description: Internal order number example: '500123' CostCenter: type: string maxLength: 10 description: Cost center example: example_value ReferenceSDDocument: type: string maxLength: 10 description: Reference document number example: example_value ReferenceSDDocumentItem: type: string maxLength: 6 description: Reference document item example: example_value SDProcessStatus: type: string maxLength: 1 description: Processing status at item level example: example_value DeliveryStatus: type: string maxLength: 1 description: Delivery status example: example_value OrderRelatedBillingStatus: type: string maxLength: 1 description: Order-related billing status example: example_value Plant: type: string maxLength: 4 description: Plant (delivering plant) examples: ['1710'] WarehouseNumber: type: string maxLength: 3 description: Warehouse number example: example_value CustomerGroup: type: string maxLength: 2 description: Customer group example: example_value SalesDistrict: type: string maxLength: 6 description: Sales district example: example_value CustomerMaterialItemUsage: type: string maxLength: 5 description: Item usage example: example_value to_PricingElement: type: array description: Navigation to item pricing elements items: $ref: '#/components/schemas/SalesOrderItemPrcgElmnt' example: [] to_ScheduleLine: type: array description: Navigation to item schedule lines items: $ref: '#/components/schemas/SalesOrderScheduleLine' example: [] to_Partner: type: array description: Navigation to item partner functions items: $ref: '#/components/schemas/SalesOrderItemPartner' example: [] to_Text: type: array description: Navigation to item text records items: $ref: '#/components/schemas/SalesOrderItemText' example: [] SalesOrderItemCreate: type: object description: Request payload for creating a new sales order item properties: Material: type: string maxLength: 40 description: Material number example: example_value RequestedQuantity: type: string description: Requested quantity example: example_value RequestedQuantityUnit: type: string maxLength: 3 description: Unit of measure example: example_value Plant: type: string maxLength: 4 description: Plant example: example_value SalesOrderItemCategory: type: string maxLength: 4 description: Item category example: example_value SalesOrderItemText: type: string maxLength: 40 description: Item description example: example_value PurchaseOrderByCustomer: type: string maxLength: 35 description: Customer PO number at item level example: example_value PricingDate: type: string format: date description: Pricing date example: '2026-01-15' CustomerPaymentTerms: type: string maxLength: 4 description: Payment terms example: example_value MaterialByCustomer: type: string maxLength: 35 description: Customer material number example: example_value Batch: type: string maxLength: 10 description: Batch number example: example_value ProductionPlant: type: string maxLength: 4 description: Production plant example: example_value StorageLocation: type: string maxLength: 4 description: Storage location example: example_value DeliveryPriority: type: string maxLength: 2 description: Delivery priority example: example_value IncotermsClassification: type: string maxLength: 3 description: Incoterms classification example: example_value IncotermsTransferLocation: type: string maxLength: 28 description: Incoterms location example: example_value to_PricingElement: type: array description: Pricing elements (deep insert) items: $ref: '#/components/schemas/SalesOrderItemPrcgElmnt' example: [] to_ScheduleLine: type: array description: Schedule lines (deep insert) items: $ref: '#/components/schemas/SalesOrderScheduleLine' example: [] to_Partner: type: array description: Partners (deep insert) items: $ref: '#/components/schemas/SalesOrderItemPartner' example: [] to_Text: type: array description: Text records (deep insert) items: $ref: '#/components/schemas/SalesOrderItemText' example: [] SalesOrderItemUpdate: type: object description: Request payload for updating sales order item fields properties: RequestedQuantity: type: string example: example_value RequestedQuantityUnit: type: string maxLength: 3 example: example_value Plant: type: string maxLength: 4 example: example_value SalesOrderItemText: type: string maxLength: 40 example: example_value PricingDate: type: string format: date example: '2026-01-15' CustomerPaymentTerms: type: string maxLength: 4 example: example_value ItemBillingBlockReason: type: string maxLength: 2 example: example_value SalesDocumentRjcnReason: type: string maxLength: 2 example: example_value DeliveryPriority: type: string maxLength: 2 example: example_value IncotermsClassification: type: string maxLength: 3 example: example_value IncotermsTransferLocation: type: string maxLength: 28 example: example_value SalesOrderHeaderPartner: type: object description: >- Sales order header partner entity (A_SalesOrderHeaderPartner) representing a business partner in a specific partner function role at the header level. properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value PartnerFunction: type: string maxLength: 2 description: Partner function code (e.g., AG=Sold-to, WE=Ship-to, RE=Bill-to, RG=Payer) examples: ['AG'] Customer: type: string maxLength: 10 description: Customer number example: example_value Supplier: type: string maxLength: 10 description: Supplier number example: example_value Personnel: type: string maxLength: 8 description: Personnel number example: example_value ContactPerson: type: string maxLength: 10 description: Contact person number example: example_value SalesOrderItemPartner: type: object description: >- Sales order item partner entity (A_SalesOrderItemPartner) representing a business partner in a specific function role at the item level. properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value SalesOrderItem: type: string maxLength: 6 description: Sales order item number example: example_value PartnerFunction: type: string maxLength: 2 description: Partner function code example: example_value Customer: type: string maxLength: 10 description: Customer number example: example_value Supplier: type: string maxLength: 10 description: Supplier number example: example_value SalesOrderHeaderPrcgElmnt: type: object description: >- Sales order header pricing element entity (A_SalesOrderHeaderPrcgElmnt) representing a pricing condition at the header level, such as overall discounts, surcharges, or freight. properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value PricingProcedureStep: type: string maxLength: 3 description: Step number in the pricing procedure example: example_value PricingProcedureCounter: type: string maxLength: 3 description: Counter for condition within a step example: example_value ConditionType: type: string maxLength: 4 description: Condition type (e.g., PR00 for price, K004 for discount, MWST for tax) examples: ['PR00'] ConditionRateValue: type: string description: Condition rate or amount per pricing unit example: example_value ConditionCurrency: type: string maxLength: 5 description: Currency for the condition example: example_value ConditionQuantity: type: string description: Condition pricing quantity example: example_value ConditionQuantityUnit: type: string maxLength: 3 description: Condition quantity unit example: example_value ConditionCategory: type: string maxLength: 1 description: Condition category example: example_value ConditionIsForStatistics: type: boolean description: Statistical condition indicator example: true PricingScaleType: type: string maxLength: 1 description: Scale type example: example_value IsRelevantForAccrual: type: boolean description: Accrual indicator example: true ConditionOrigin: type: string maxLength: 1 description: Origin of the condition example: example_value IsGroupCondition: type: string maxLength: 1 description: Group condition indicator example: example_value ConditionAmount: type: string description: Condition value (total amount for the condition) example: example_value TransactionCurrency: type: string maxLength: 5 description: Document currency example: example_value ConditionControl: type: string maxLength: 1 description: Condition control example: example_value ConditionInactiveReason: type: string maxLength: 1 description: Reason the condition is inactive example: example_value ConditionClass: type: string maxLength: 1 description: Condition class (A=discount, B=surcharge) example: example_value PrcgProcedureCounterForHeader: type: string maxLength: 3 description: Procedure counter for header conditions example: example_value FactorForConditionBasisValue: type: string description: Factor for condition basis value example: example_value StructureCondition: type: string maxLength: 1 description: Structure condition example: example_value PeriodFactorForCndnBasisValue: type: string description: Period factor for condition basis value example: example_value PricingScaleBasis: type: string maxLength: 3 description: Scale basis indicator example: example_value ConditionScaleBasisValue: type: string description: Scale basis value example: example_value ConditionScaleBasisUnit: type: string maxLength: 3 description: Condition scale basis unit example: example_value ConditionScaleBasisCurrency: type: string maxLength: 5 description: Scale basis currency example: example_value CndnIsRelevantForIntcoBilling: type: boolean description: Relevant for intercompany billing example: true ConditionIsManuallyChanged: type: boolean description: Indicator that the condition was manually changed example: true SalesOrderItemPrcgElmnt: type: object description: >- Sales order item pricing element entity (A_SalesOrderItemPrcgElmnt) representing a pricing condition at the item level. properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value SalesOrderItem: type: string maxLength: 6 description: Sales order item number example: example_value PricingProcedureStep: type: string maxLength: 3 description: Step number in the pricing procedure example: example_value PricingProcedureCounter: type: string maxLength: 3 description: Counter for condition within a step example: example_value ConditionType: type: string maxLength: 4 description: Condition type example: example_value ConditionRateValue: type: string description: Condition rate example: example_value ConditionCurrency: type: string maxLength: 5 description: Condition currency example: example_value ConditionQuantity: type: string description: Condition quantity example: example_value ConditionQuantityUnit: type: string maxLength: 3 description: Condition quantity unit example: example_value ConditionAmount: type: string description: Condition value example: example_value TransactionCurrency: type: string maxLength: 5 description: Document currency example: example_value ConditionCategory: type: string maxLength: 1 description: Condition category example: example_value ConditionIsForStatistics: type: boolean description: Statistical condition example: true ConditionOrigin: type: string maxLength: 1 description: Origin of the condition example: example_value IsGroupCondition: type: string maxLength: 1 description: Group condition indicator example: example_value ConditionControl: type: string maxLength: 1 description: Condition control example: example_value ConditionInactiveReason: type: string maxLength: 1 description: Reason for inactivity example: example_value ConditionClass: type: string maxLength: 1 description: Condition class example: example_value ConditionIsManuallyChanged: type: boolean description: Manually changed indicator example: true SalesOrderScheduleLine: type: object description: >- Sales order schedule line entity (A_SalesOrderScheduleLine) representing a delivery schedule for a sales order item with confirmed quantities and dates from availability check (ATP). properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value SalesOrderItem: type: string maxLength: 6 description: Sales order item number example: example_value ScheduleLine: type: string maxLength: 4 description: Schedule line number example: example_value RequestedDeliveryDate: type: string format: date description: Requested delivery date example: '2026-01-15' ConfirmedDeliveryDate: type: string format: date description: Confirmed delivery date from ATP check example: '2026-01-15' OrderQuantityUnit: type: string maxLength: 3 description: Order quantity unit example: example_value OrderQuantitySAPUnit: type: string maxLength: 3 description: SAP internal unit of measure example: example_value ScheduleLineOrderQuantity: type: string description: Ordered quantity on the schedule line example: example_value ConfdOrderQtyByMatlAvailCheck: type: string description: Confirmed quantity from material availability check example: example_value DeliveredQtyInOrderQtyUnit: type: string description: Delivered quantity in order unit example: example_value OpenConfdDelivQtyInOrdQtyUnit: type: string description: Open confirmed delivery quantity example: example_value CorrectedQtyInOrderQtyUnit: type: string description: Corrected quantity example: example_value DelivBlockReasonForSchedLine: type: string maxLength: 2 description: Delivery block for the schedule line example: example_value SalesOrderText: type: object description: >- Sales order header text entity (A_SalesOrderText) for long texts associated with the sales order header. properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value Language: type: string maxLength: 2 description: Language key (ISO 639-1) example: example_value LongTextID: type: string maxLength: 4 description: Text ID (e.g., 0001 for header note) example: '500123' LongText: type: string description: Text content example: example_value SalesOrderItemText: type: object description: >- Sales order item text entity (A_SalesOrderItemText) for long texts associated with a sales order item. properties: SalesOrder: type: string maxLength: 10 description: Sales order number example: example_value SalesOrderItem: type: string maxLength: 6 description: Sales order item number example: example_value Language: type: string maxLength: 2 description: Language key (ISO 639-1) example: example_value LongTextID: type: string maxLength: 4 description: Text ID example: '500123' LongText: type: string description: Text content example: example_value ODataError: type: object description: OData error response envelope properties: error: type: object properties: code: type: string description: SAP error code message: type: object properties: lang: type: string description: Language of the error message value: type: string description: Human-readable error message innererror: type: object description: Additional error details properties: application: type: object properties: component_id: type: string service_namespace: type: string service_id: type: string service_version: type: string transactionid: type: string timestamp: type: string errordetails: type: array items: type: object properties: code: type: string message: type: string severity: type: string example: example_value responses: BadRequest: description: Invalid request - the request body or parameters are malformed content: application/json: schema: $ref: '#/components/schemas/ODataError' Unauthorized: description: Authentication required - valid credentials must be provided content: application/json: schema: $ref: '#/components/schemas/ODataError' Forbidden: description: Insufficient authorization - the user lacks required permissions content: application/json: schema: $ref: '#/components/schemas/ODataError' NotFound: description: Resource not found - the specified sales order or item does not exist content: application/json: schema: $ref: '#/components/schemas/ODataError' PreconditionFailed: description: ETag mismatch - the entity has been modified since it was last read content: application/json: schema: $ref: '#/components/schemas/ODataError'