> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Recalculate prices, discounts, and taxes for a sales entity from a client-supplied state without persisting it.

> Recalculate prices, discounts, and taxes for a sales entity from a client-supplied state without persisting it.



## OpenAPI

````yaml /openapi/2.1.json post /v2/sales-orders/calculate-sales-entity
openapi: 3.0.0
info:
  title: JTL-WAWI API (Cloud)
  description: "JTL-Wawi-Version: 2.2.0-alpha.9492+Sha.4c8d5d1\r\n# Introduction\r\n\r\nWelcome to the JTL-WAWI technical API documentation. This guide is here to help developers understand how our REST API works and how it can be integrated into your existing systems. We'll delve into the details of authentication and data manipulation processes, providing clear examples along the way. Whether you're a developer or an IT professional, this documentation aims to give you a practical understanding, laying the groundwork for effectively using the JTL-WAWI API to enhance your processes.\r\n\r\n# Authentication\r\n\r\nYou register your application with the API by sending a POST request with the required information and corresponding keys. You can find the exact request details at https://developer.jtl-software.com/products/erp/swagger/appregistration. This information has to include the following:\r\n\r\n* AppId\r\n* DisplayName\r\n* Description\r\n* Version\r\n* ProviderName\r\n* ProviderWebsite\r\n* MandatoryApiScopes\r\n\r\nThis data is crucial for identifying and registering your application with the API. The API uses it to generate a temporary authentication ID that allows your application to access the necessary resources. After successful validation of this information, you will receive the API key required for future authentication and API requests.\r\n\r\nBefore you can begin the registration process, you must open JTL-Wawi (new interface) and start the registration process under 'Admin->App registration'. Only at this point are you authorised to send the first API call. This step in JTL-Wawi ensures that your application is properly registered and has permission to use the API.\r\n\r\nThe API will send you an authentication ID in the form of a token. Once you have received this token and successfully completed the registration in JTL-Wawi, you will send another request to the API by including this authentication ID in the URL path.\r\n\r\nAfter successful validation of this second request by the API and confirmation of the correct information, you will be provided with the actual API key. It is important to note that this API key will not be displayed again!\r\n\r\nThis API key will be used in the future to authenticate requests to the API. It is of utmost importance that you securely store the API key upon receipt, as it cannot be retrieved from any other location in the system."
  contact:
    name: JTL-Software-GmbH
    url: https://developer.jtl-software.com/
    email: partner@jtl-software.com
  version: '2.1'
  x-application-version: 2.2.0.0
servers:
  - url: https://api.jtl-cloud.com/erp
    description: Production Environment Cloud API Gateway
security: []
tags:
  - name: WMS
    description: >-
      <p data-section-id='tag/WMS' class='stable_summary'></p>Query all pick
      lists for a specific wms warehouse that are not completed.
  - name: Wawi App
    description: >-
      <p data-section-id='tag/Wawi App' class='stable_summary'></p>Get a
      specific customer
  - name: Warehouses
    description: >-
      <p data-section-id='tag/Warehouses' class='stable_summary'></p>Queries all
      storage locations for a given warehouse.
  - name: Units
    description: Development
  - name: Transaction Status
    description: >-
      <p data-section-id='tag/Transaction Status'
      class='stable_summary'></p>Queries all transaction statuses for a sales
      order.
  - name: Tax
    description: >-
      <p data-section-id='tag/Tax' class='stable_summary'></p>Returns the tax
      rate for the given item.
  - name: Inventory
    description: >-
      <p data-section-id='tag/Inventory' class='stable_summary'></p>Queries
      stocks for a specific item, warehouse or storage location.
  - name: Sales Order
    description: Planned
  - name: Sales Invoice Correction
    description: Planned
  - name: Return
    description: >-
      <p data-section-id='tag/Return' class='beta_summary'></p>Create a new
      return with associated items and packages.
  - name: Item
    description: >-
      <p data-section-id='tag/Item' class='beta_summary'></p>Queries all
      responsible persons.
  - name: Refund
    description: Planned
  - name: Property
    description: >-
      <p data-section-id='tag/Property' class='stable_summary'></p>Queries all
      properties of items.
  - name: Printer
    description: >-
      <p data-section-id='tag/Printer' class='beta_summary'></p>Retrieves all
      installed printers.
  - name: Master Data
    description: >-
      <p data-section-id='tag/Master Data' class='stable_summary'></p>Queries
      all on hold reasons for sales orders.
  - name: Manufacturer
    description: Development
  - name: Label
    description: Development
  - name: Sales Invoice
    description: Planned
  - name: Info
    description: >-
      <p data-section-id='tag/Info' class='stable_summary'></p>Returns the
      status of the API.
  - name: Features
    description: >-
      <p data-section-id='tag/Features' class='stable_summary'></p>Returns the
      available feature sets with release state and API version.
  - name: Extensibility
    description: Planned
  - name: Shipment
    description: Development
  - name: Delivery Note
    description: Planned
  - name: Custom Field
    description: Development
  - name: Customer
    description: >-
      <p data-section-id='tag/Customer' class='stable_summary'></p>Deletes a
      specific customer.
  - name: Authentication
    description: >-
      <p data-section-id='tag/Authentication'
      class='deprecated_summary'></p>DEPRECATED seit Wawi 2.2.0: No-Op. Seit
      Wawi 2.1.0 registriert sich die Wawi selbst per JWT.
  - name: Attribute
    description: Development
  - name: Sales Quotation
    description: >-
      <p data-section-id='tag/Sales Quotation' class='beta_summary'></p>Execute
      the printing of a sales quotation
  - name: Production
  - name: Resources
  - name: Company
  - name: Sales Orders
  - name: Marketplace Seller
  - name: Seller
  - name: Marketplace Order
  - name: Marketplace Offer
  - name: Marketplace Invoicing
  - name: Sales Channel
  - name: Payment
  - name: Warehouse Assistant
  - name: Worker
paths:
  /v2/sales-orders/calculate-sales-entity:
    post:
      tags:
        - Sales Order
      summary: >-
        Recalculate prices, discounts, and taxes for a sales entity from a
        client-supplied state without persisting it.
      description: >-
        Recalculate prices, discounts, and taxes for a sales entity from a
        client-supplied state without persisting it.
      operationId: SalesOrderDomain_CalculateSalesEntity
      parameters:
        - name: x-companyid
          in: header
          description: >-
            The Company-Id (int or uuid) of the company on whose behalf the
            request is executed.
          schema:
            type: string
        - name: x-tenant-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
          description: The tenant ID for the target ERP instance.
      requestBody:
        x-name: request
        description: Request parameters
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandRequest
        required: true
        x-position: 1
      responses:
        '200':
          description: Sales entity calculated successfully.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandResponse
        '400':
          description: ''
          content:
            application/json: {}
        '401':
          description: ''
          content:
            application/json: {}
        '403':
          description: ''
          content:
            application/json: {}
        '500':
          description: ''
          content:
            application/json: {}
      security:
        - oauth2-authorization-code:
            - salesorders.read
        - oauth2-client-credentials:
            - salesorders.read
components:
  schemas:
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandRequest:
      type: object
      description: >-
        Recalculate prices, discounts, and taxes for a sales entity from a
        client-supplied state without persisting it. - Request
      additionalProperties: false
      required:
        - CalculateSalesEntityRequest
        - RecalculateTaxMode
        - Changes
      properties:
        calculateSalesEntityRequest:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequest
          description: >-
            The sales entity calculation request model in the original state
            before any changes.
        recalculateTaxMode:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.RecalculateTaxMode
          description: >-
            The mode for tax recalculation (NoRecalculation, KeepNetPrices,
            KeepGrossPrices).
        changes:
          type: array
          description: >-
            The history of changes made to the sales entity request. Changes are
            processed in the order specified.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequestChange
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityCommandResponse:
      type: object
      description: >-
        Recalculate prices, discounts, and taxes for a sales entity from a
        client-supplied state without persisting it. - Response
      additionalProperties: false
      required:
        - LineItems
        - TotalNetAmount
        - TotalGrossAmount
        - TotalNetAmountExcludingShipping
        - TotalGrossAmountExcludingShipping
        - VatId
        - CurrencyIso
        - CurrencyFactor
        - ShippingCostNet
        - ShippingCostGross
        - VatAmounts
        - TaxSetting
      properties:
        lineItems:
          type: array
          description: The list of calculated sales entity line items.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityLineItemResponse
        totalNetAmount:
          type: number
          description: The total net amount for the sales entity.
          format: decimal
        totalGrossAmount:
          type: number
          description: The total gross amount for the sales entity.
          format: decimal
        totalNetAmountExcludingShipping:
          type: number
          description: The total net amount for the sales entity excluding shipping costs.
          format: decimal
        totalGrossAmountExcludingShipping:
          type: number
          description: >-
            The total gross amount for the sales entity excluding shipping
            costs.
          format: decimal
        vatId:
          type: string
          description: The VAT ID of the company for the departure country.
        currencyIso:
          type: string
          description: The ISO code of the currency used for the calculated prices.
        currencyFactor:
          type: number
          description: The currency factor used for the price conversion.
          format: decimal
        shippingCostNet:
          type: number
          description: The net shipping cost.
          format: decimal
        shippingCostGross:
          type: number
          description: The gross shipping cost.
          format: decimal
        vatAmounts:
          type: array
          description: The VAT amounts grouped by tax rate.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderVatAmountPerRate
        taxSetting:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting
          description: The tax setting applied to the sales entity.
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequest:
      type: object
      description: >-
        Request model for calculating prices, discounts, taxes, and shipping
        costs for a sales entity.
      additionalProperties: false
      required:
        - CompanyId
        - VatId
        - CustomerId
        - LineItems
        - CurrencyIso
        - CurrencyFactor
        - DepartureCountryIso
        - TaxSetting
      properties:
        companyId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey'
          description: The unique identifier of the company for the sales entity.
        vatId:
          type: string
          description: Vat id of the seller.
        customerId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.KundeKey'
          description: >-
            The unique identifier of the customer for whom the sales entity is
            being calculated.
        shippingMethodId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey'
          description: >-
            The shipping method ID for shipping cost calculation and tax
            determination.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        shopId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ShopKey'
          description: The shop ID for shop-specific price calculation.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        billingAddress:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress
          description: The billing address information for tax calculation.
        shipmentAddress:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress
          description: The shipment address information for tax calculation.
        lineItems:
          type: array
          description: >-
            The list of sales entity line items to be calculated. Each line item
            carries its full current state.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequest
        currencyIso:
          type: string
          description: The ISO code of the currency for price calculation (e.g., EUR, USD).
        currencyFactor:
          type: number
          description: The currency conversion factor. Must be greater than 0.
          format: decimal
        departureCountryIso:
          type: string
          description: The ISO code of the departure country for tax calculation.
        departureCountryStateCode:
          type: string
          description: >-
            The departure country state/region code for state-level tax
            calculation (e.g., US states like CA, NY).
        extraWeight:
          type: number
          description: >-
            Additional weight in kg to add to the order for shipping cost
            calculation.
          format: decimal
        specialTaxTreatment:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment
          type: integer
          description: >-
            The tax special treatment mode for the sales entity (e.g.,
            ReverseCharge, ExemptFromVat).
          format: int32
        taxSetting:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting
          description: The tax setting for the sales entity.
        taxReference:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference
          type: integer
          description: >-
            The tax reference of the sales entity. This setting controls which
            data is used during tax calculation.
          format: int32
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.RecalculateTaxMode:
      type: integer
      description: 0 = NoRecalculation, 1 = KeepNetPrices, 2 = KeepGrossPrices
      format: int32
      x-enumNames:
        - NoRecalculation
        - KeepNetPrices
        - KeepGrossPrices
      enum:
        - 0
        - 1
        - 2
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityRequestChange:
      type: object
      description: Represents a change to apply to the sales entity calculation request.
      additionalProperties: false
      properties:
        companyId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.FirmaKey'
          description: The company ID to use for the calculation.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        customerId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.KundeKey'
          description: The customer ID to use for the calculation.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        shippingMethodId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.VersandartKey'
          description: The shipping method ID to use for the calculation.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        billingAddress:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress
          description: The billing address information for tax calculation.
        shipmentAddress:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress
          description: The shipment address information for tax calculation.
        lineItemChanges:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChangeSet
          description: The line item changes to apply.
        currencyIso:
          type: string
          description: The ISO code of the currency for price calculation.
        currencyFactor:
          type: number
          description: Manual override for the currency conversion factor.
          format: decimal
        departureCountryIso:
          type: string
          description: The ISO code of the departure country for tax calculation.
        departureCountryStateCode:
          type: string
          description: >-
            The departure country state/region code for state-level tax
            calculation.
        extraWeight:
          type: number
          description: >-
            Additional weight in kg to add to the order for shipping cost
            calculation.
          format: decimal
        specialTaxTreatment:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment
          type: integer
          description: The tax special treatment mode for the sales entity.
          format: int32
        taxReference:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference
          type: integer
          description: >-
            The tax reference of the sales entity. This setting controls which
            data is used during tax calculation.
          format: int32
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CalculateSalesEntityLineItemResponse:
      type: object
      description: Response model for a calculated sales entity line item.
      additionalProperties: false
      required:
        - SyncNumber
        - LineItemType
        - Quantity
        - SalesPriceNet
        - SalesPriceGross
        - TotalSalesPriceNet
        - TotalSalesPriceGross
        - DiscountPercent
        - TaxRate
        - TaxClassId
        - TaxCodeId
        - RecalculateLineItemPriceChangeResult
      properties:
        syncNumber:
          type: integer
          description: >-
            The synchronization identifier for the line item. Negative values
            indicate system-generated BOM child positions.
          format: int32
        lineItemType:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType
          description: Type of the sales entity line item.
        itemId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey'
          description: >-
            The article/item ID for the line item. Not set for shipping
            positions and free-text positions.
        quantity:
          type: number
          description: The quantity for the line item.
          format: decimal
        salesPriceNet:
          type: number
          description: The calculated net sales price per unit.
          format: decimal
        salesPriceGross:
          type: number
          description: The calculated gross sales price per unit.
          format: decimal
        totalSalesPriceNet:
          type: number
          description: >-
            The total net amount for this line item after applying quantity and
            discount.
          format: decimal
        totalSalesPriceGross:
          type: number
          description: >-
            The total gross amount for this line item after applying quantity
            and discount.
          format: decimal
        discountPercent:
          type: number
          description: The discount percentage applied to the line item.
          format: decimal
        taxRate:
          type: number
          description: The tax rate applied to the line item.
          format: decimal
        taxClassId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey'
          description: The tax class applied to the line item.
        taxCodeId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey'
          description: The tax code applied to the line item.
        parentSyncNumber:
          type: integer
          description: >-
            The SyncNumber of the parent line item. Set for BOM components
            (negative SyncNumbers) and configuration components.
          format: int32
        recalculateLineItemPriceChangeResult:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceResult
          description: >-
            Indicates which price components were changed as a result of a
            quantity change.
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.SalesOrderVatAmountPerRate:
      type: object
      description: VAT amount for a specific tax rate.
      additionalProperties: false
      required:
        - TaxRate
        - VatAmount
      properties:
        taxRate:
          type: number
          description: The tax rate in percent (e.g. 19.0 for 19% VAT).
          format: decimal
        vatAmount:
          type: number
          description: The VAT amount for this tax rate.
          format: decimal
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxSetting:
      type: integer
      description: >-
        0 = DeliveryWithVat, 10 = IntraCommunityDelivery, 15 =
        ExemptFromVatReverseCharge, 20 = ExemptFromVat
      format: int32
      x-enumNames:
        - DeliveryWithVat
        - IntraCommunityDelivery
        - ExemptFromVatReverseCharge
        - ExemptFromVat
      enum:
        - 0
        - 10
        - 15
        - 20
    JTL.Data.Contracts.Keys.FirmaKey:
      type: string
      description: Represents a key for identifying a firm within the application.
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.KundeKey:
      type: string
      description: Represents a unique key for identifying a customer in the JTL system.
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.VersandartKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.ShopKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityAddress:
      type: object
      description: Address information for sales entity calculation (tax determination).
      additionalProperties: false
      required:
        - CountryIso
      properties:
        countryIso:
          type: string
          description: The ISO code of the address country for tax calculation.
        state:
          type: string
          description: The state of the address for tax calculation.
        vatId:
          type: string
          description: The VAT ID of the address for tax calculation.
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequest:
      type: object
      description: >-
        Request model for an existing sales entity line item. Carries the full
        current state of the line item.
      additionalProperties: false
      required:
        - SyncNumber
        - Quantity
        - TaxClassId
        - TaxCodeId
        - TaxRate
        - TotalSalesPriceNet
        - TotalSalesPriceGross
        - LineItemType
      properties:
        syncNumber:
          type: integer
          description: >-
            The synchronization identifier for the line item. Must be unique and
            greater than 0. This ID is assigned by the client and remains
            constant.
          format: int32
        itemId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey'
          description: >-
            The unique identifier of the item/article. If omitted, a free-text
            position is assumed.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        quantity:
          type: number
          description: The quantity of the item. Must be greater than 0.
          format: decimal
        salesPriceNet:
          type: number
          description: The current net sales price per unit.
          format: decimal
        discountPercent:
          type: number
          description: >-
            The discount percentage for the line item (e.g., 10.0 for 10%
            discount).
          format: decimal
        taxClassId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey'
          description: The tax class identifier for this line item.
        taxCodeId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerschluesselKey'
          description: The tax code identifier for this line item.
        taxRate:
          type: number
          description: The tax rate for this line item (e.g., 19.0 for 19%).
          format: decimal
        totalSalesPriceNet:
          type: number
          description: >-
            The total net sales price for the line item after applying quantity
            and discount.
          format: decimal
        totalSalesPriceGross:
          type: number
          description: >-
            The total gross sales price for the line item after applying
            quantity and discount.
          format: decimal
        lineItemType:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType
          description: The type of the line item (e.g., Item, Custom, Shipping).
        parentSyncNumber:
          type: integer
          description: >-
            The SyncNumber of the parent line item. Used to assign configuration
            components to their parent configuration item.
          format: int32
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.SpecialTaxTreatment:
      type: integer
      description: 0 = None, 1 = ReverseCharge, 2 = ExemptFromVat, 3 = SubjectToVat
      format: int32
      x-enumNames:
        - None
        - ReverseCharge
        - ExemptFromVat
        - SubjectToVat
      enum:
        - 0
        - 1
        - 2
        - 3
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.TaxReference:
      type: integer
      description: 0 = ShipmentAddress, 1 = BillingAddress
      format: int32
      x-enumNames:
        - ShipmentAddress
        - BillingAddress
      enum:
        - 0
        - 1
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChangeSet:
      type: object
      description: Represents a set of changes to apply to line items.
      additionalProperties: false
      properties:
        create:
          type: array
          description: The list of new line items to create.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestAdd
        update:
          type: array
          description: The list of existing line items to update.
          items:
            $ref: >-
              #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChange
        delete:
          type: array
          description: The list of sync numbers of line items to delete.
          items:
            type: integer
            format: int32
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType:
      type: integer
      description: >-
        0 = Custom, 1 = Item, 2 = Shipping, 3 = Coupon, 4 = Voucher, 5 =
        Payment, 6 = ShippingSurcharge, 7 = NewCustomerCoupon, 8 =
        CashOnDelivery, 9 = ShippingSurchargeItem, 10 = Packing, 11 =
        GiftForFree, 12 = TrustedShops, 13 = InterestPremium, 14 =
        ProcessingFee, 15 = Carton, 16 = ReturnDelivery, 17 =
        MultiPurposeVoucher, 18 = MultiPurposeVoucherDigital, 19 =
        SinglePurposeVoucher, 20 = SinglePurposeVoucherDigital, 21 =
        SinglePurposeVoucherRedemption
      format: int32
      x-enumNames:
        - Custom
        - Item
        - Shipping
        - Coupon
        - Voucher
        - Payment
        - ShippingSurcharge
        - NewCustomerCoupon
        - CashOnDelivery
        - ShippingSurchargeItem
        - Packing
        - GiftForFree
        - TrustedShops
        - InterestPremium
        - ProcessingFee
        - Carton
        - ReturnDelivery
        - MultiPurposeVoucher
        - MultiPurposeVoucherDigital
        - SinglePurposeVoucher
        - SinglePurposeVoucherDigital
        - SinglePurposeVoucherRedemption
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
    JTL.Data.Contracts.Keys.ArtikelKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.SteuerklasseKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Data.Contracts.Keys.SteuerschluesselKey:
      type: string
      format: uuid
      example: b45f6432-2462-4c6f-b00f-1d9d01000000
      additionalProperties: false
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceResult:
      type: integer
      description: >-
        0 = None, 1 = SalesPriceNet, 2 = DiscountPercent, 3 =
        SalesPriceNetAndDiscountPercent
      format: int32
      x-enumNames:
        - None
        - SalesPriceNet
        - DiscountPercent
        - SalesPriceNetAndDiscountPercent
      enum:
        - 0
        - 1
        - 2
        - 3
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestAdd:
      type: object
      description: Request model for a new sales entity line item to be added via a change.
      additionalProperties: false
      required:
        - SyncNumber
        - Quantity
      properties:
        syncNumber:
          type: integer
          description: >-
            The synchronization identifier for the new line item. Must be unique
            and greater than 0.
          format: int32
        itemId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.ArtikelKey'
          description: >-
            The unique identifier of the item/article. If omitted, a free-text
            position is created.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
        quantity:
          type: number
          description: The quantity of the item. Must be greater than 0.
          format: decimal
        lineItemType:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.LineItemType
          type: integer
          description: The type of the line item (e.g., Item, Custom, Shipping).
          format: int32
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.SalesOrderDomain.CreateCalculateSalesEntityLineItemRequestChange:
      type: object
      description: Represents a change to apply to an existing line item.
      additionalProperties: false
      required:
        - SyncNumber
      properties:
        syncNumber:
          type: integer
          description: The synchronization identifier for the line item to update.
          format: int32
        quantity:
          type: number
          description: The new quantity of the item.
          format: decimal
        recalculatePriceMode:
          $ref: >-
            #/components/schemas/JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceChangeMode
          type: integer
          description: >-
            Determines how the line item price is recalculated when the quantity
            changes (use the calculated item price or keep the current price).
          format: int32
        salesPriceNet:
          type: number
          description: >-
            Manual override for the net sales price per unit. Cannot be set
            simultaneously with SalesPriceGross.
          format: decimal
        salesPriceGross:
          type: number
          description: >-
            Manual override for the gross sales price per unit. When set, the
            net price is recalculated. Cannot be set simultaneously with
            SalesPriceNet.
          format: decimal
        discountPercent:
          type: number
          description: >-
            The discount percentage for the line item (e.g., 10.0 for 10%
            discount).
          format: decimal
        taxClassId:
          $ref: '#/components/schemas/JTL.Data.Contracts.Keys.SteuerklasseKey'
          description: >-
            The tax class identifier for this line item. If set, overrides the
            automatically determined tax class.
          example: b45f6432-2462-4c6f-b00f-1d9d01000000
    JTL.Wawi.Verkaufsverwaltung.PublicApi.DataTransferObjects.V2.Shared.RecalculateLineItemPriceChangeMode:
      type: integer
      description: 0 = UseCalculatedPrice, 1 = UseCurrentPrice
      format: int32
      x-enumNames:
        - UseCalculatedPrice
        - UseCurrentPrice
      enum:
        - 0
        - 1
  securitySchemes:
    oauth2-authorization-code:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://auth.jtl-cloud.com/oauth2/auth
          tokenUrl: https://auth.jtl-cloud.com/oauth2/token
          scopes:
            items.read: Grants permission to read item data.
            items.write: Grants permission to create and modify item data.
            saleschannels.read: Verkaufskanäle lesen
            all.read: Allows the application to read all data.
            customers.read: Grants permission to read customer data.
            customers.write: Grants permission to create and modify customer data.
            customfields.read: Grants permission to read custom fields.
            customfields.write: Grants permission to create and modify custom fields.
            deliveries.read: Grants permission to read deliveries.
            deliveries.write: Grants permission to create and modify deliveries.
            deliverynotes.print: Grants permission to print and output delivery notes.
            deliverynotes.read: Grants permission to read delivery notes.
            deliverynotes.write: Grants permission to create and modify delivery notes.
            extensibility.integration: >-
              Grants permission to manage extensions and integrations of the
              JTL-Wawi.
            inventories.read: Grants permission to read stock levels.
            inventories.write: Grants permission to modify stock levels.
            invoices.read: Grants permission to read invoices.
            invoices.write: Grants permission to create and modify invoices.
            labels.read: Grants permission to read labels.
            labels.write: Grants permission to create and modify labels.
            masterdata.read: >-
              Read master data such as shipping methods, payment methods, color
              codes and tax classes.
            orders.read: Grants permission to read orders.
            picklists.read: Grants permission to read pick lists.
            picklists.write: Grants permission to create and modify pick lists.
            returns.read: Grants permission to read returns.
            returns.write: Grants permission to create and modify returns.
            salesinvoicecorrections.read: Grants permission to read invoice corrections.
            salesinvoicecorrections.write: Grants permission to create and modify invoice corrections.
            salesorders.print: Grants permission to print and output sales orders.
            salesorders.read: Grants permission to read sales orders.
            salesorders.write: Grants permission to create and modify sales orders.
            system.config.read: Grants permission to read the system configuration.
            system.config.write: Grants permission to modify the system configuration.
            taxes.read: Grants permission to read tax data.
            warehouse.read: Grants permission to read warehouse data.
            wawiapp.all: Grants access to Wawi app related operations.
            currencies.read: Grants read access to currencies.
            jera.read: Grants read access to JERA internal endpoints.
            paymentmethods.read: Grants read access to payment methods.
            payments.read: Ermöglicht den Lesezugriff auf Zahlungen.
            payments.write: Ermöglicht den Schreibzugriff auf Zahlungen.
            salesinvoicecorrections.print: Grants permission to print and output invoice corrections.
            salesinvoices.print: Grants permission to print and output sales invoices.
            salesinvoices.read: Grants read access to sales invoices.
            salesinvoices.write: Grants write access to sales invoices.
            salesquotations.print: Grants permission to print and output sales quotations.
            salesquotations.read: Grants read access to sales quotations.
            salesquotations.write: Grants write access to sales quotations.
            suppliers.read: Grants permission to read suppliers.
            system.worker.read: Worker-Synchronisationen lesen
            system.worker.write: Worker-Synchronisationen schreiben
            resources.read: Grants permission to read resource management data.
            resources.write: Grants permission to create and modify resource management data.
            pps.read: Grants permission to read production data.
            pps.write: Grants permission to create and modify production data.
            inventory.write: Bestand schreiben
            masterdata.write: Write master data
            inventory.read: Grants permission to read stock levels.
            taxes.write: Grants permission to create and modify tax data.
            application.runas: >-
              Allows the application to execute requests on behalf of another
              user.
    oauth2-client-credentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.jtl-cloud.com/oauth2/token
          scopes:
            items.read: Grants permission to read item data.
            items.write: Grants permission to create and modify item data.
            saleschannels.read: Verkaufskanäle lesen
            all.read: Allows the application to read all data.
            customers.read: Grants permission to read customer data.
            customers.write: Grants permission to create and modify customer data.
            customfields.read: Grants permission to read custom fields.
            customfields.write: Grants permission to create and modify custom fields.
            deliveries.read: Grants permission to read deliveries.
            deliveries.write: Grants permission to create and modify deliveries.
            deliverynotes.print: Grants permission to print and output delivery notes.
            deliverynotes.read: Grants permission to read delivery notes.
            deliverynotes.write: Grants permission to create and modify delivery notes.
            extensibility.integration: >-
              Grants permission to manage extensions and integrations of the
              JTL-Wawi.
            inventories.read: Grants permission to read stock levels.
            inventories.write: Grants permission to modify stock levels.
            invoices.read: Grants permission to read invoices.
            invoices.write: Grants permission to create and modify invoices.
            labels.read: Grants permission to read labels.
            labels.write: Grants permission to create and modify labels.
            masterdata.read: >-
              Read master data such as shipping methods, payment methods, color
              codes and tax classes.
            orders.read: Grants permission to read orders.
            picklists.read: Grants permission to read pick lists.
            picklists.write: Grants permission to create and modify pick lists.
            returns.read: Grants permission to read returns.
            returns.write: Grants permission to create and modify returns.
            salesinvoicecorrections.read: Grants permission to read invoice corrections.
            salesinvoicecorrections.write: Grants permission to create and modify invoice corrections.
            salesorders.print: Grants permission to print and output sales orders.
            salesorders.read: Grants permission to read sales orders.
            salesorders.write: Grants permission to create and modify sales orders.
            system.config.read: Grants permission to read the system configuration.
            system.config.write: Grants permission to modify the system configuration.
            taxes.read: Grants permission to read tax data.
            warehouse.read: Grants permission to read warehouse data.
            wawiapp.all: Grants access to Wawi app related operations.
            currencies.read: Grants read access to currencies.
            jera.read: Grants read access to JERA internal endpoints.
            paymentmethods.read: Grants read access to payment methods.
            payments.read: Ermöglicht den Lesezugriff auf Zahlungen.
            payments.write: Ermöglicht den Schreibzugriff auf Zahlungen.
            salesinvoicecorrections.print: Grants permission to print and output invoice corrections.
            salesinvoices.print: Grants permission to print and output sales invoices.
            salesinvoices.read: Grants read access to sales invoices.
            salesinvoices.write: Grants write access to sales invoices.
            salesquotations.print: Grants permission to print and output sales quotations.
            salesquotations.read: Grants read access to sales quotations.
            salesquotations.write: Grants write access to sales quotations.
            suppliers.read: Grants permission to read suppliers.
            system.worker.read: Worker-Synchronisationen lesen
            system.worker.write: Worker-Synchronisationen schreiben
            resources.read: Grants permission to read resource management data.
            resources.write: Grants permission to create and modify resource management data.
            pps.read: Grants permission to read production data.
            pps.write: Grants permission to create and modify production data.
            inventory.write: Bestand schreiben
            masterdata.write: Write master data
            inventory.read: Grants permission to read stock levels.
            taxes.write: Grants permission to create and modify tax data.
            application.runas: >-
              Allows the application to execute requests on behalf of another
              user.

````