Skip to main content

OrderLine

OrderLine

A single line on an Order which contains information about the ProductVariant and quantity ordered, as well as the price and tax information.

Signature
class OrderLine extends VendureEntity implements HasCustomFields {
constructor(input?: DeepPartial<OrderLine>)
@Index()
@ManyToOne(type => Channel, { nullable: true, onDelete: 'SET NULL' })
sellerChannel?: Channel;
@EntityId({ nullable: true })
sellerChannelId?: ID;
@Index()
@ManyToOne(type => ShippingLine, shippingLine => shippingLine.orderLines, {
nullable: true,
onDelete: 'SET NULL',
})
shippingLine?: ShippingLine;
@EntityId({ nullable: true })
shippingLineId?: ID;
@Index()
@ManyToOne(type => ProductVariant, productVariant => productVariant.lines, { onDelete: 'CASCADE' })
productVariant: ProductVariant;
@EntityId()
productVariantId: ID;
@Index()
@ManyToOne(type => TaxCategory)
taxCategory: TaxCategory;
@EntityId({ nullable: true })
taxCategoryId: ID;
@Index()
@ManyToOne(type => Asset, asset => asset.featuredInVariants, { onDelete: 'SET NULL' })
featuredAsset: Asset;
@Index()
@ManyToOne(type => Order, order => order.lines, { onDelete: 'CASCADE' })
order: Order;
@OneToMany(type => OrderLineReference, lineRef => lineRef.orderLine)
linesReferences: OrderLineReference[];
@OneToMany(type => Sale, sale => sale.orderLine)
sales: Sale[];
@Column()
quantity: number;
@Column({ default: 0 })
orderPlacedQuantity: number;
@Money({ nullable: true })
initialListPrice: number;
@Money()
listPrice: number;
@Column()
listPriceIncludesTax: boolean;
@Column('simple-json')
adjustments: Adjustment[];
@Column('simple-json')
taxLines: TaxLine[];
@OneToMany(type => Cancellation, cancellation => cancellation.orderLine)
cancellations: Cancellation[];
@OneToMany(type => Allocation, allocation => allocation.orderLine)
allocations: Allocation[];
@Column(type => CustomOrderLineFields)
customFields: CustomOrderLineFields;
unitPrice: number
unitPriceWithTax: number
unitPriceChangeSinceAdded: number
unitPriceWithTaxChangeSinceAdded: number
discountedUnitPrice: number
discountedUnitPriceWithTax: number
proratedUnitPrice: number
proratedUnitPriceWithTax: number
unitTax: number
proratedUnitTax: number
taxRate: number
linePrice: number
linePriceWithTax: number
discountedLinePrice: number
discountedLinePriceWithTax: number
discounts: Discount[]
lineTax: number
proratedLinePrice: number
proratedLinePriceWithTax: number
proratedLineTax: number
addAdjustment(adjustment: Adjustment) => ;
clearAdjustments(type?: AdjustmentType) => ;
}

constructor

method
(input?: DeepPartial<OrderLine>) => OrderLine

sellerChannel

property

The Channel of the Seller for a multivendor setup.

sellerChannelId

property

shippingLine

property

The ShippingLine to which this line has been assigned. This is determined by the configured ShippingLineAssignmentStrategy.

shippingLineId

property

productVariant

The ProductVariant which is being ordered.

productVariantId

property

taxCategory

property

taxCategoryId

property

featuredAsset

property

order

property

linesReferences

sales

property

quantity

property
number

orderPlacedQuantity

property
number

The quantity of this OrderLine at the time the order was placed (as per the OrderPlacedStrategy).

initialListPrice

property
number

The price as calculated when the OrderLine was first added to the Order. Usually will be identical to the listPrice, except when the ProductVariant price has changed in the meantime and a re-calculation of the Order has been performed.

listPrice

property
number

This is the price as listed by the ProductVariant (and possibly modified by the OrderItemPriceCalculationStrategy), which, depending on the current Channel, may or may not include tax.

listPriceIncludesTax

property
boolean

Whether the listPrice includes tax, which depends on the settings of the current Channel.

adjustments

property
Adjustment[]

taxLines

property
TaxLine[]

cancellations

property

allocations

property

customFields

property
CustomOrderLineFields

unitPrice

property
number

The price of a single unit, excluding tax and discounts.

unitPriceWithTax

property
number

The price of a single unit, including tax but excluding discounts.

unitPriceChangeSinceAdded

property
number

Non-zero if the unitPrice has changed since it was initially added to Order.

unitPriceWithTaxChangeSinceAdded

property
number

Non-zero if the unitPriceWithTax has changed since it was initially added to Order.

discountedUnitPrice

property
number

The price of a single unit including discounts, excluding tax.

If Order-level discounts have been applied, this will not be the actual taxable unit price (see proratedUnitPrice), but is generally the correct price to display to customers to avoid confusion about the internal handling of distributed Order-level discounts.

discountedUnitPriceWithTax

property
number

The price of a single unit including discounts and tax

proratedUnitPrice

property
number

The actual unit price, taking into account both item discounts and prorated (proportionally-distributed) Order-level discounts. This value is the true economic value of a single unit in this OrderLine, and is used in tax and refund calculations.

proratedUnitPriceWithTax

property
number

The proratedUnitPrice including tax.

unitTax

property
number

proratedUnitTax

property
number

taxRate

property
number

linePrice

property
number

The total price of the line excluding tax and discounts.

linePriceWithTax

property
number

The total price of the line including tax but excluding discounts.

discountedLinePrice

property
number

The price of the line including discounts, excluding tax.

discountedLinePriceWithTax

property
number

The price of the line including discounts and tax.

discounts

property
Discount[]

lineTax

property
number

The total tax on this line.

proratedLinePrice

property
number

The actual line price, taking into account both item discounts and prorated (proportionally-distributed) Order-level discounts. This value is the true economic value of the OrderLine, and is used in tax and refund calculations.

proratedLinePriceWithTax

property
number

The proratedLinePrice including tax.

proratedLineTax

property
number

addAdjustment

method
(adjustment: Adjustment) =>

clearAdjustments

method
(type?: AdjustmentType) =>