Supply Lens

Send stock levels to Shopify

Lesson 13 of 18 7 min read

Keep Shopify's stock in step with your back-office system, and choose which quantity to update, how to handle negatives and how to handle large catalogues.

Overselling is the fastest way to disappoint a customer. In this lesson you'll set up the Inventories Configuration so stock changes in your back-office system update Shopify, and choose the settings that keep the figure Shopify shows honest.

The flow

Inventory flows from Supply Lens to Shopify by default. You need an Inventories Configuration with Send ticked on the Shopify Integration, and an Inventory Mapping from your back-office Integration to Shopify.

Rendering diagram...

Which number does Shopify show?

Shopify tracks several quantities for each product at each location. Two matter here: available (what can still be sold) and on hand (what's physically there, including stock already committed to orders).

quantityNameWhich Shopify quantity to update: available or on_hand. Default: available.
updateReasonThe reason recorded against each adjustment in Shopify’s inventory history. Default: cycle_count_available. Shopify’s inventory documentation lists the valid values.

When to choose which. Keep available if your back-office system sends a sellable figure (stock less what's already allocated), which is the usual case. Choose on_hand only if it sends a physical count and you want Shopify to work out what's available itself. Change updateReason if your team reads Shopify's inventory history and wants a reason that says where the change came from.

Negative stock and missing locations

preventNegativeQuantitiesWhen true, negative quantities are sent as 0. When false or not set, negatives are sent as they are.
activateMissingLocationsWhen true, Supply Lens tries to activate a Shopify inventory location for a product that isn’t stocked there yet. When false or not set, products not stocked at a location are skipped without error.

When to choose which. Turn on preventNegativeQuantities if your back-office system can go negative (for example when despatches are booked before goods are received) and you don't want Shopify showing minus figures. Turn on activateMissingLocations if new products should start being stocked at your Shopify location automatically. Leave it off if someone deliberately chooses which locations stock each product in Shopify.

Large catalogues

quantityChunkSizeHow many quantities are sent in each update call. Default and maximum: 250, the most Shopify accepts. A larger value is reduced to 250, and the reduction is logged.
useBulkOperationWhen true, quantities are sent as one asynchronous bulk operation instead of one call per batch. Worth considering for a feed covering a whole catalogue. When false or not set, the normal call-by-call route is used.

When to change them. You can only lower quantityChunkSize. That's worth doing to limit the damage of one bad quantity: each call is one entry in Shopify's inventory history, and if Shopify rejects one quantity it may take the rest of that call with it.

Prove bulk operations first

Shopify's documentation doesn't confirm either way that stock updates can run in bulk. Test useBulkOperation against your own store before relying on it.

Lead times

leadTimeConfigurationsA list of rules that control how lead times are sent to Shopify for particular products or locations.
defaultLeadTimeDestinationThe lead time destination used when no rule matches, so every inventory update has a lead time.

These are specialist settings. If you need lead times in Shopify, ask your Supply Lens contact to help you set them up.

General timing

setupDateOnly inventory changes on or after this date are processed. Set automatically.
importDelayA wait before an inventory update is processed, so other systems can make their changes first.

Hilltop Coffee's stock

Unleashed sometimes dips below zero when the roastery books a despatch before the production run is entered. Priya turns on preventNegativeQuantities, keeps quantityName as available, and leaves the chunk size at 250. Hilltop has around 80 products, so bulk operations aren't needed. Now when Unleashed's stock changes, the figure in Shopify follows, and never shows less than zero.

Recap

  • An Inventories Configuration with Send ticked, plus a Mapping, keeps Shopify stock in step.
  • quantityName chooses between available (default) and on_hand.
  • preventNegativeQuantities sends negatives as zero; activateMissingLocations stocks products at missing locations.
  • quantityChunkSize maxes out at 250; useBulkOperation should be tested first.
  • Lead time settings are specialist: get help to set them.

Quick guides for this topic

Complete and take the quiz

Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.