Skip to main content

StockMovementService

StockMovementService

Contains methods relating to StockMovement entities.

Signature
class StockMovementService {
shippingEligibilityCheckers: ShippingEligibilityChecker[];
shippingCalculators: ShippingCalculator[];
constructor(connection: TransactionalConnection, listQueryBuilder: ListQueryBuilder, globalSettingsService: GlobalSettingsService, stockLevelService: StockLevelService, eventBus: EventBus, stockLocationService: StockLocationService, configService: ConfigService)
getStockMovementsByProductVariantId(ctx: RequestContext, productVariantId: ID, options: StockMovementListOptions) => Promise<PaginatedList<StockMovement>>;
adjustProductVariantStock(ctx: RequestContext, productVariantId: ID, stockOnHandNumberOrInput: number | StockLevelInput[]) => Promise<StockAdjustment[]>;
createAllocationsForOrder(ctx: RequestContext, order: Order) => Promise<Allocation[]>;
createAllocationsForOrderLines(ctx: RequestContext, lines: OrderLineInput[]) => Promise<Allocation[]>;
createSalesForOrder(ctx: RequestContext, lines: OrderLineInput[]) => Promise<Sale[]>;
createCancellationsForOrderLines(ctx: RequestContext, lineInputs: OrderLineInput[]) => Promise<Cancellation[]>;
createReleasesForOrderLines(ctx: RequestContext, lineInputs: OrderLineInput[]) => Promise<Release[]>;
}

shippingEligibilityCheckers

shippingCalculators

constructor

method
(connection: TransactionalConnection, listQueryBuilder: ListQueryBuilder, globalSettingsService: GlobalSettingsService, stockLevelService: StockLevelService, eventBus: EventBus, stockLocationService: StockLocationService, configService: ConfigService) => StockMovementService

getStockMovementsByProductVariantId

method
(ctx: RequestContext, productVariantId: ID, options: StockMovementListOptions) => Promise<PaginatedList<StockMovement>>

Returns a PaginatedList of all StockMovements associated with the specified ProductVariant.

adjustProductVariantStock

method
(ctx: RequestContext, productVariantId: ID, stockOnHandNumberOrInput: number | StockLevelInput[]) => Promise<StockAdjustment[]>

Adjusts the stock level of the ProductVariant, creating a new StockAdjustment entity in the process.

createAllocationsForOrder

method
(ctx: RequestContext, order: Order) => Promise<Allocation[]>

Creates a new Allocation for each OrderLine in the Order. For ProductVariants which are configured to track stock levels, the ProductVariant.stockAllocated value is increased, indicating that this quantity of stock is allocated and cannot be sold.

createAllocationsForOrderLines

method
(ctx: RequestContext, lines: OrderLineInput[]) => Promise<Allocation[]>

Creates a new Allocation for each of the given OrderLines. For ProductVariants which are configured to track stock levels, the ProductVariant.stockAllocated value is increased, indicating that this quantity of stock is allocated and cannot be sold.

createSalesForOrder

method
(ctx: RequestContext, lines: OrderLineInput[]) => Promise<Sale[]>

Creates Sales for each OrderLine in the Order. For ProductVariants which are configured to track stock levels, the ProductVariant.stockAllocated value is reduced and the stockOnHand value is also reduced by the OrderLine quantity, indicating that the stock is no longer allocated, but is actually sold and no longer available.

createCancellationsForOrderLines

method
(ctx: RequestContext, lineInputs: OrderLineInput[]) => Promise<Cancellation[]>

Creates a Cancellation for each of the specified OrderItems. For ProductVariants which are configured to track stock levels, the ProductVariant.stockOnHand value is increased for each Cancellation, allowing that stock to be sold again.

createReleasesForOrderLines

method
(ctx: RequestContext, lineInputs: OrderLineInput[]) => Promise<Release[]>

Creates a Release for each of the specified OrderItems. For ProductVariants which are configured to track stock levels, the ProductVariant.stockAllocated value is reduced, indicating that this stock is once again available to buy.