Who updates Shopify
Shopify holds one number for how many of a thing you have at a location. Exactly one app may write it — the single-writerSingle writerThe rule that exactly one app may write a given location's inventory back to Shopify, because two apps writing the same number overwrite each other and the stock figure drifts. Read more → rule. Everything on this page follows from that sentence.
On this page
Section titled “On this page”- Why exactly one
- What happens when you connect
- The split, flow by flow
- Handing over one location at a time
- What happens at locations you did not hand over
- Goods with no Shopify number at all
- The warning that needs a human
- See also
Why exactly one
Section titled “Why exactly one”Two apps writing the same number do not average out — they overwrite each other. Each writes what it believes, the last one wins, and the number drifts away from your shelves in a way no report can reconstruct.
What happens when you connect
Section titled “What happens when you connect”Connecting Logistified hands over received goods, because receiving now physically happens in Floormode. Logistified stops writing received quantities at that moment.
For that not to leave a hole, the switch refuses while a receiving warehouse is not live and names the warehouses with a Go live link. Go live there first; then the switch goes on.
The split, flow by flow
Section titled “The split, flow by flow”Settings shows a Who updates Shopify table — the split in effect right now, given what you have connected. In summary:
| Flow | Written by |
|---|---|
| Received goods (purchase orders, transfers) | Floormode when Logistified is connected — receiving happens here |
| Sales picks and fulfilments | Floormode, always, in every configuration |
| Work-order component decrements | Floormode — we pick the components, so we report them |
| Finished goods — plain stocked bundle | Floormode — Assemblified stands down and our putaway writes it |
| Finished goods — sold only preassembled | Floormode — the bundle is a real thing in a real bin |
| Finished goods — dynamic availability bundle | Assemblified, always — the number is a computed capacity, not a stock level |
| Finished goods — fixed inventory level bundle | Assemblified, always — it is a constant it maintains for you |
| Sub-assemblies, raw materials, custom items | Nobody, by design — these are local items and have no Shopify number to write |
The last two rows of Assemblified ownership are worth understanding rather than memorising: those bundle types have numbers that are calculated, not counted. Floormode never writes them in any configuration, because a warehouse count is the wrong input for a figure that is not a warehouse fact.
If any row ever reads Nobody where it should not, that is the silent gap — and the panel shows it in red.
Handing over one location at a time
Section titled “Handing over one location at a time”Most merchants do not want to move every location on the same afternoon. If you run several, receiving can be handed to Floormode location by location — delegatingDelegationHanding one specific location's receiving and inventory writing to Floormode, so a merchant can move locations across one at a time instead of switching the whole shop at once. Read more → one at a time — and the rest stay exactly as they are.
The handover is a three-step agreement, driven from Logistified:
-
Prepare — propose which locations Floormode should receive at. Nothing changes: no stock moves, no setting flips, no receiving behaviour is altered. It is a dry run you can repeat as often as you like while you decide.
-
Readiness check — each proposed location is checked and answered individually, so you find out what is wrong before anything commits. A location is not ready when:
- it has no active Floormode warehouse mapped to it, or the Shopify location is not one this shop knows;
- two warehouses map to the same Shopify location, which would put two writers on one number from inside Floormode alone;
- the app can no longer write to Shopify for this shop at all.
-
Commit — the proposal becomes the live agreement, all or nothing. If a single location in the set is not ready, the whole commit is refused and nothing changes — you are never left half-migrated. On success, receiving moves to Floormode for exactly those locations, and their warehouses become inventory writers in the same action.
You can also release the agreement later, which withdraws it and returns the shop to the shop-wide setting.
What happens at locations you did not hand over
Section titled “What happens at locations you did not hand over”They carry on as they were: Logistified keeps receiving there. That is the point of doing this per location.
Concretely, once an agreement is live, a delivery announced for a location you did not hand over is refused, clearly and permanently — not queued, not retried, not half-applied. The refusal names the location, says that Logistified still receives there, confirms that nothing was applied, and tells you what to do about it: add the location to the agreement and commit it.
The refusal is deliberate. Quietly accepting it would mean booking goods in at a site Floormode does not run, and writing a Shopify number that another app is still writing.
Cancellations are the one exception: a cancellation is always accepted, so an expected delivery raised before a handover can always be tidied up afterwards.
The Logistified row in the health panel lists every location in the agreement — received here or received by Logistified — so “who receives where” is a list you can read rather than a thing you infer.
Goods with no Shopify number at all
Section titled “Goods with no Shopify number at all”Everything above is about a number Shopify holds. Local items — Assemblified raw materials and sub-assemblies, Logistified custom items — have no such number, because they are not Shopify products. Shopify has never heard of them and never will.
That makes the single-writer question moot for them, and it is worth being precise about why: it is not that Floormode declines to write them, it is that the push is refused for local items at the point it would happen. No setting can turn it on and no future connection can cause one to appear in your storefront inventory. This is the row that reads Nobody and is supposed to.
But there is still an ownership question, and it has a different answer:
Shopify stock ownership is decided per location, by the agreement. Local stock ownership is decided per item, by the connection.
With the connection active, the sibling ready for it, and the per-location agreement committed, Floormode becomes the physical truth for that app’s local items:
- Assemblified stops consuming its own raw materials when a build completes, and shows the quantities Floormode reports instead. A work order’s components are physically picked here.
- Logistified stops moving its own custom items when something is received, and shows Floormode’s figures instead. Its purchase-order paperwork still tracks how much of the order has landed — that part is unchanged — but the stock number itself comes from here.
If you are not connected, none of this happens. Logistified and Assemblified behave exactly as they always have, keeping their own local quantities. There is no partial state where they have half stopped.
Warehouses with no Shopify location mapped are the one blind spot: their local units are real and pickable here, but they are invisible to the sibling, because there is no honest place to put them on the other side.
The warning that needs a human
Section titled “The warning that needs a human”One situation is reported to you rather than fixed automatically. If a warehouse still writes inventory to Shopify but is not handed over for receiving, the panel says:
…: still live on Shopify although Logistified receives there. Floormode leaves that to you.
The reasoning matters. “Writes inventory to Shopify” is not only a receiving flag — it also covers sales picks, counts and adjustments, and sales picks are Floormode’s in every configuration. Switching it off because a receiving agreement changed would break something nobody asked to change. So it is surfaced for a person to decide, in Settings → Warehouses.
See also
Section titled “See also”- Integration health — where the table and the warnings live.
- Warehouses — the “Writes inventory to Shopify” flag itself.
- Activation — connecting, and what it switches on.
- Local items — the goods with no Shopify number, and how they are stocked.
- Logistified — the receiving flow this governs.