> ## 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.

# CreateSalesOrderCommandRequestInput

> Creates a sales order for a customer with its line items. - Request



**Kind**: `input`

## Fields

**`shippingMethodId`**: `ID`

The ID of the shipping method. Fails with a GraphQL error whose extensions.code is ShippingMethodNotFound.

---

**`responsibleUserId`**: `ID`

The ID of the user responsible for the sales order.

---

**`processStatusId`**: `ID`

The ID of the process status. Fails with a GraphQL error whose extensions.code is ProcessStatusNotFound.

---

**`paymentMethodId`**: `ID`

The ID of the payment method. Fails with a GraphQL error whose extensions.code is PaymentMethodNotFound.

---

**`customerId`**: `ID!` (required)

The ID of the customer. Fails with a GraphQL error whose extensions.code is CustomerNotFound.

---

**`companyId`**: `ID`

The company that sells. Defaults to the default company; fails with a GraphQL error whose extensions.code is CompanyNotFound.

---

**`voucherLineItems`**: `[SalesOrderVoucherLineItemInput]`

Vouchers that are sold.

---

**`shippingDetails`**: `SalesOrderShippingDetailsInput`

How and when the sales order is to be shipped.

---

**`shipmentAddress`**: `SalesOrderAddressInput`

The address the goods are shipped to. Defaults to the billing address.

---

**`paymentTerms`**: `SalesOrderPaymentTermsInput`

The payment terms.

---

**`itemLineItems`**: `[SalesOrderItemLineItemInput]`

Line items for items of the catalog.

---

**`discountLineItems`**: `[SalesOrderDiscountLineItemInput]`

Discounts such as a coupon.

---

**`customLineItems`**: `[SalesOrderCustomLineItemInput]`

Free line items.

---

**`chargeLineItems`**: `[SalesOrderChargeLineItemInput]`

Charges such as shipping or a payment fee. A shipping charge needs ShippingMethodId, else ShippingChargeRequiresShippingMethod.

---

**`billingAddress`**: `SalesOrderAddressInput!` (required)

The billing address.

---

**`printText`**: `String`

A text printed on the documents.

---

**`orderDate`**: `DateTime`

The date of the sales order. Defaults to now.

---

**`number`**: `String`

The number of the sales order. Defaults to the next number; fails with a GraphQL error whose extensions.code is SalesOrderNumberInUse.

---

**`note`**: `String`

An internal note.

---

**`languageTag`**: `String`

The language of the documents as BCP 47 language tag, for example de or de-AT. Language subtag in lower case, region subtag in upper case; case does not matter on input. Wawi currently holds only the two-letter language subtag. Fails with a GraphQL error whose extensions.code is LANGUAGE_NOT_ACTIVE.

---

**`externalNumber`**: `String`

The number of the sales order on the sales channel.

---

**`customerOrderNumber`**: `String`

The order number of the customer.

---

**`customerComment`**: `String`

The comment of the customer.

---

**`currencyCode`**: `String`

The currency as ISO 4217 code. Defaults to the currency of the customer; fails with CurrencyNotFound.

---

**`currencyFactor`**: `Decimal`

The exchange rate to the currency of the company. Defaults to the rate of the currency; 0 or less fails with CurrencyFactorNotPositive.

---

**`clientId`**: `String`

A temporary ID chosen by the client. It is not stored and is returned unchanged.

---

**`disableAutomaticWorkflows`**: `Boolean`

Suppresses the automatic workflow triggers of this call. Defaults to false when omitted.

---

**`idempotencyKey`**: `String`

Client-supplied idempotency key. When provided, a repeated request with the same key and payload replays the original result instead of re-executing the mutation.

