Skip to content

Stock and Allocation

Why a stock calculation of its own

Every stock calculation Microsoft's Shopify Connector ships reads the Business Central inventory. A drop shipper who never touches the goods therefore publishes zero on every product — not from carelessness, but because the data source is missing.

merchantCENTRAL adds another calculation at the same place: the merchantCENTRAL channel allocation. It calculates from the hub:

  1. supplier availability from the supplier pool,
  2. minus what other channels have sold but not yet posted,
  3. capped by the limits of the listing: safety stock, maximum quantity, percentage cap, bundle size or a fixed quantity.

For an item listed in several shops the smallest quantity applies. A maximum you set for one shop should not be exceeded by another.

If the calculation fails for an item, zero goes out and the cause is recorded in the Enrichment Log. A lost sale costs less than an oversale.


Switching it on

Microsoft keeps the stock calculation on the shop's location, not on the shop. Its default is the one the stock run filters out. A shop that looks fully set up then sends no stock at all — and nothing reports it.

That is why the Shop Card has the action Use merchantCENTRAL Stock:

  • It sets the calculation on the shop's default product location, or the primary one.
  • If neither is unambiguous, the location list opens and you pick one.
  • The confirmation names the location.

The Setup Wizard can do the same for all shops when it finishes.

Exactly one location

The calculation returns one quantity per item, not per location. Shopify adds up the quantities of all locations. If two locations carry the merchantCENTRAL calculation, the shop sells twice the quantity. The action warns if that is already the case.

Whether a shop sends stock is shown by the column Stock Location Set in the shop list and the row Shops sending no stock on the Dashboard.

When stock is sent

The scheduled run Shopify - Sync Inventory starts Microsoft's stock run for every served shop every 15 minutes. Microsoft's own stock runs use the calculation as well once it is set on the location.

Without a licence

Without a licence or with the channel switched off, the calculation returns Microsoft's standard value "Projected Available Balance Today" — what the shop would send without this add-on. Zero would take every product of the shop out of sale the day after a demo ends.


Allocation for the other channels

Between a Shopify order arriving and its sales order in Business Central there is a gap. During that time the goods are sold but reserved nowhere. The other channels — Amazon, eBay, Otto — would offer them again.

merchantCENTRAL therefore tells the stock calculation of every other channel what Shopify has already sold:

  • only orders without a sales order and without an invoice — after that Business Central reserves itself, and nothing is deducted twice,
  • no cancelled and no test orders,
  • only orders of the last 90 days; older ones without a document are leftovers, not reservations,
  • only shops merchantCENTRAL serves.

The quantities are read once per run for all items and kept for two minutes.

Runs without a licence too

The allocation protects the other channels. Shopify orders keep arriving through Microsoft's connector whether this channel is licensed or not. That is why the allocation does not depend on the Shopify licence.

Limits

  • The allocation works per item, not per variant. An open order of one variant holds back the others too.
  • An order line Microsoft could not map to an item carries no item number and is not counted.
  • Whether an update of Microsoft's connector resets the setting on the location is not proven. The dashboard row would show it at once.