Shopify-linked materials
A Shopify-linked raw material is a real Shopify variant — a SKU that exists in your catalogue and has its own inventory. Shopify owns the stock; Assemblified writes what a build or an order consumes back through the Shopify Admin API. Multi-location works out of the box, because Shopify already manages it.
This is the default kind of material — what you’ll create most often.
On this page
Section titled “On this page”- Registering a Shopify variant as a material
- What Shopify owns and what Assemblified owns
- How consumption reaches Shopify
- Multi-location
- When stock changes in Shopify
- The history trail
- Common scenarios
Registering a Shopify variant
Section titled “Registering a Shopify variant”- Go to Raw materials. There is no separate Shopify list — Shopify-linked materials sit beside virtual ones in every view, and a small link beside the name opens the product in your Shopify admin. To see only them, add the Virtual material filter and set it to No, or add the Origin column from Display options.
- In the title bar, open More actions and choose Add from Shopify. Shopify’s own product picker opens.
- Pick one or more variants. Assemblified copies the product and variant name, the SKU, the price, the current stock, the image, the unit cost and the physical weight from each one.
- The material is registered as Shopify-backed and is ready to use as a component.
- Optionally open Edit to set the things Shopify doesn’t own: the unit, the specifications, the product type and category, and whether the material is non-essential. You can also put it in a group.
You don’t have to register a variant here first. Picking a Shopify variant as a component on a bill of materials or an assembly bill, in a work order, in bulk material edit, or bringing it in through an import registers it the same way: the unit cost, weight, product type and category come straight from Shopify. Draft products work like active ones. If you pick a variant that is already a material, its unit cost and weight are refreshed from Shopify. Its product type and category are refreshed too when you pick it on a bill or in a work order; bulk material edit and imports leave the ones you set alone.
If a variant has no cost in Shopify, the material starts at a unit cost of 0 — set the cost on the variant in Shopify and it follows automatically.
What Shopify owns, and what Assemblified owns
Section titled “What Shopify owns, and what Assemblified owns”On a Shopify-linked material the two systems split the fields between them, and the edit dialog marks Shopify’s side Managed in Shopify rather than letting you type into it:
| Owned by Shopify (mirrored, read-only here) | Owned by Assemblified (yours to edit) |
|---|---|
| Product name, variant name, SKU | Unit |
| Price and unit cost | Specifications |
| Physical weight | Product type and category |
| Stock quantity | Non-essential |
Refresh from Shopify — on the Attributes card of the material page, in its title bar, in the row menu and as a bulk action — re-reads Shopify’s side on demand.
How consumption reaches Shopify
Section titled “How consumption reaches Shopify”When a bill containing a Shopify-linked material executes, Assemblified writes the change through the Shopify Admin API:
- Order created: the consumed quantity comes off what is available.
- Order cancelled or refunded: it goes back, when the cascade restores components.
Several materials in the same order are written together where possible.
If Shopify refuses the write — a rate limit, a network failure, a location that cannot take it — the failure is recorded on that order’s execution log. Assemblified does not roll back its own state: shelf drawdown and other internal updates are committed before the Shopify call. The fix is Reconcile inventory or a restock.
If Shopify rejects the write permanently — the variant was deleted, or inventory tracking was switched off — the material is flagged instead. See Binding refused.
Multi-location
Section titled “Multi-location”Shopify-linked materials use Shopify’s location model directly:
- The material has stock at every Shopify location it is activated at.
- A recipe line can pin the material to one location; if it does, that’s always where it comes from, and every component underneath a pinned assembly follows the same pin.
- Otherwise the order’s own location is used when Settings → General → Respect order and fulfillment locations when available is on, and your default location otherwise.
See Inventory tracking → Multi-location rules.
When stock changes in Shopify
Section titled “When stock changes in Shopify”When you adjust a material’s stock in the Shopify admin, or another app does:
- Shopify’s product update reaches Assemblified, and the material’s mirrored figures are refreshed — name, SKU, price, unit cost, stock quantity, product type and vendor.
- If the quantity actually moved and Settings → General → Auto-update on inventory change is switched on, Assemblified recalculates every finished good that uses this material, so its displayed availability follows. With the setting off, the figure is refreshed but no recalculation runs.
A change to the variant’s cost, weight or inventory tracking arrives on a separate path and refreshes the mirrored cost, SKU and weight. A cost change also recalculates the stored cost of every assembly bill and bill of materials that uses the material, directly or through an assembly bill. Weight is mirrored one way only — Assemblified never writes a weight back to Shopify.
The history trail
Section titled “The history trail”Every movement of a material — from an order, a work-order pick, a restock, a reconcile or an external change — is recorded on the material page’s History tab, newest first, with what caused it and a link to the order where there is one. You can filter it by location.
It’s the first place to look when the question is “where did my stock go?”.
Common scenarios
Section titled “Common scenarios”A material you also sell on its own. Nothing special is needed. The material keeps its own Shopify product page, and using it as a component draws on the same stock. Customers buying it directly and customers buying something built from it compete for the same units — that’s the point.
A material at several Shopify locations. Pin the recipe line to one location if the material should always come from there. Otherwise leave it blank and let the order’s own location decide.
Negative stock. Shopify allows negatives where the location is configured to. Assemblified passes the change through; if Shopify takes it below zero, that’s Shopify’s behaviour. Lock it down at the Shopify location if you don’t want it.
Where to next
Section titled “Where to next”- Inventory tracking — the five kinds of stock, the local index and the multi-location rules.
- Virtual materials — the other kind of material.
- BOM Composition — using materials in a bill.
- Safety-stock reservations — holding stock back for a buildable buffer.