Skip to main content

Configure and Manage Backorders

Backorders refer to orders for products that are currently out of stock but are still allowed to be sold. By enabling backorders, sellers can commit to fulfilling these orders once the product becomes available again.

This page will guide you through this process, from enabling the feature to managing incoming backorders.

Configuring backorders

Configuring backorders involves enabling the feature and setting backorder thresholds for each product variant.

Step 1: Enable backorders on the marketplace

Use the marketplaceConfiguration.enableBackorders boolean field to control if the backorders feature is available in your environment. By default, this field is set to false. Change it to true to activate backorders.

1

(Optional)Check if backorders are enabled

2

Enable the marketplace configuration setting

To turn on the backorders feature, use the marketplaceConfigurationUpdate mutation and set enableBackorders to true.

Request
mutation marketplaceConfigurationUpdate {
marketplaceConfigurationUpdate(
input: {
enableBackorders: true
marketplaceAccruesShippingRevenue: true
maxCheckoutLineQuantity: 50
maxCheckoutQuantity: 100
maxProductsInGroup: 10
payoutAutomationStrategy: AUTOMATED_BY_FULFILLMENT
requireProductApproval: false
}
) {
marketplaceConfiguration {
enableBackorders
}
marketplaceConfigurationErrors {
field
message
code
}
}
}
Show more ↓

Step 2: Configure backorders for variants

Once backorders are enabled at the marketplace level, sellers or marketplace operators can control which product variants are eligible for backorders and limits.

1

Enable backorders for a variant

You can control which items are eligible for backordering through the allowBackorders boolean field when creating or updating a product variant.

Request
mutation {
productVariantUpdate(
id: "UHJvZHVjdFZhcmlhbnQ6Mjc2",
input: {
allowBackorders: true
}
) {
productVariant {
id
name
description
sku
nauticalStockNumber
trackInventory
allowBackorders
quantityAvailable
}
productErrors {
field
message
code
}
}
}
Show more ↓
2

Set backorder limits

The amount of variant stock that can be backordered is stored under productVariant.stock. Because it's stored on the stock object, you can fine-tune how many backorders you will accept for each product variant at each warehouse.

The outOfStockThreshold field allows you to set a negative value for how far stock levels can go below zero for each stock record. It defaults to 0 and can accept a negative integer.

Request
mutation {
productVariantStocksCreate(
stocks: {
warehouse: "V2FyZWhvdXNlOjE1NGIwOGMwLWFhOTEtNDUzNC1hNTAwLTljM2E3MjEwMDViZA=="
quantity: 5
outOfStockThreshold: -10
}
variantId: "UHJvZHVjdFZhcmlhbnQ6Mjc2"
) {
productVariant {
id
name
sku
stocks {
warehouse {
name
id
}
quantity
quantityAllocated
quantityAvailable
outOfStockThreshold
}
allowBackorders
trackInventory
}
bulkStockErrors {
field
message
code
}
}
}
Show more ↓

Result

The product variant can now be backordered up to the defined outOfStockThreshold.

In the above example, there are 5 units of stock in the warehouse, with an outOfStockThreshold of -10. This means, up to 15 units of the product variant can be ordered from the warehouse (5 units, plus up to 10 units for backorder).

note

The productVariant.trackInventory field must be set to true for the out of stock threshold to have any effect.

info

If you disable backorders for a variant, the outOfStockThreshold resets to 0. However, if you re-enable backorders, the outOfStockThreshold returns to the previously set value.

Managing backorders

You can tell when a variant is on backorder when the productVariant.stock.quantityAvailable field takes on a negative value. The quantityAvailable can go as far into negative as defined by the outOfStockThreshold.

Fulfilling backorders

You can only fulfill the amount of quantity that is in stock. Backordered stock units cannot be fulfilled until you replenesh the necessary amount of stock.

You can use the productVariantStocksUpdate mutations to add stock, then use the orderFulfill mutation to fulfill the order.

Inventory tracking

The following diagram illustrates inventory updates during order and fulfillment with backorders:


Storefront considerations

Backorders are not implemented in the reference storefront. Customize your storefront to let customers buy out-of-stock items.

Consider if and how you will implement the following:

  • Displaying out-of-stock items available for backorder.
  • Clear communication about backordered items at checkout.
  • Possible delivery dates for backordered products.
  • Regular updates for customers on backordered items.
  • Notifications to the seller or marketplace operator when stock.quantityAvailable is negative.
    tip

    You could utilize the stock_allocated webhook to configure custom notifications when an item is backordered.

Was this page helpful?