LineItem
| Field | Type | Required | Description |
|---|---|---|---|
quantityChangeReason |
QuantityChangeReason | Reason for a quantity change. Needs to be set if a new quantity is set. Deprecated reasons: * wrongAttribute * wrongProduct * changedMind * brokenOrDamaged * outOfStock one of: wrongItem, wrongProduct, wrongAttribute, wrongQuantity, changedMind, customerCanceled, brokenOrDamaged, itemDamaged, outOfStock, outdatedStockInfo, unavailable, substituted, other |
|
status |
SOLineItemStatus | one of: open, inProgress, rejected, canceled, fulfilled |
|
subStatus |
SOLineItemSubStatus | one of: replaced, substituted |
|
returnQuantity |
number |
||
routedQuantity |
number |
Sum of this line item in fulfillment orders. | |
code |
string |
yes | Identifier for the line item. Needs to be unique within the sales order. |
parentLineItemCode |
`string | null` | |
quantity |
number |
yes | format: float · min 0 |
fulfillmentMethod |
FulfillmentMethod | yes | one of: directShip, BOPIS, ROPIS |
fulfillmentLocationCode |
`string | null` | yes |
shipToAddressSequenceIndex |
integer |
yes | Index of the address in the address sequence array where it should be shipped to |
product |
LineItemProduct | yes | |
currencyCode |
CurrencyCode | yes | max length 3 · min length 3 |
shippingAmount |
number |
format: float |
|
taxAmount |
TaxAmount | Tax amount of the first tax group (e.g. for german taxes this is an absolut number based on either 7% or 19% of the order total; the order total is 10.00 EUR so the taxAmount is 10.00 EUR * 0.19 = 1.9 EUR) format: float · default: 0 |
|
tax2Amount |
Tax2Amount | Tax amount of the second tax group (can be used for additional taxes like for example US state taxes) format: float · default: 0 |
|
taxExempt |
boolean |
||
unitPromoAmount |
UnitPromoAmount | Amount of all applied promotions for a single unit (single quantity). format: float · default: 0 |
|
unitDiscountAmount |
UnitDiscountAmount | Amount of all applied discounts (promotions with coupons) for a single unit (single quantity). format: float · default: 0 |
|
discountAmount |
DiscountAmount | Total amount of all applied promotions with coupons for the line item. (Formula: lineItem.unitDiscountAmount * lineItem.quantity) format: float · default: 0 |
|
promoAmount |
PromoAmount | Total amount of all applied promotions for the line item. (Formula: lineItem.unitPromoAmount * lineItem.quantity) format: float · default: 0 |
|
overrideAmount |
number |
format: float |
|
extendedPrice |
ExtendedPrice | yes | The extended Price is the final price of the line item, including all discounts & promotions that apply to this line item, and also already multiplied with the quantity. Formula: (product.price or product.salePrice if not empty) * quantity + promoAmount + discountAmount. Example: A product original price is 60€ (product.price), but it is on sale for 40€ (product.salePrice). Ordered quantity is 2, there is no discount but there is a promotion that applies to this product and gives 10% additional discount (unitPromoAmount = 4€, promoAmount = 8€). The extended price of this line item should be (40€ * 2) + (-8€) = 72€. format: float |
price |
number |
yes | Price of the line item. Formula: (product.price or product.salePrice if not empty) * quantity format: float |
substitutionAllowed |
boolean |
Determines if a substitution is allowed for this line item. default: true |
|
fulfillmentSlot |
FulfillmentSlot | ||
appliedPromotions |
AppliedPromotions | Applied promotions of the order. If the order is in the status new this parameter will be ignored. The system will automatically calc the promotions for the order |
Example
Section titled “Example”{ "quantityChangeReason": "wrongItem", "status": "inProgress", "returnQuantity": 1, "routedQuantity": 1, "code": "386", "parentLineItemCode": "286", "quantity": 1, "fulfillmentMethod": "ROPIS", "fulfillmentLocationCode": "DERetail001", "shipToAddressSequenceIndex": 0, "product": {}, "currencyCode": "EUR", "shippingAmount": 0, "taxAmount": 0, "tax2Amount": 0, "taxExempt": true}
