Skip to content

Operating raw materials & stock

With write access, a connected assistant can build and maintain your raw materialsRaw materialThe atomic component of a bill of materials or an assembly bill. Two flavours: a Shopify-linked variant, whose inventory Shopify tracks, or a virtual material, which Assemblified tracks on its own and Shopify never sees. Both sit in the same component picker and are consumed the same way. Read more → — the components your BOMs and assembly bills are made from. It can register materials straight from your Shopify catalog, create purely internal virtual materialsVirtual MaterialA material tracked entirely inside Assemblified — not a Shopify variant. Useful for shop-floor consumables (glue, packaging, labour units) where you need quantity tracking but don't want a Shopify product on your storefront. Read more → , and keep their stock levels accurate. This page explains what that covers.

  • What it takes
  • Registering materials from Shopify
  • Creating virtual materials
  • Editing and removing materials
  • Setting virtual stock levels
  • Doing it in bulk
  • Safety & audit

Write access is opt-in. The assistant needs either an API key created with read & write scope or a web-chat connection granted read & write when it was linked. A read-only connection can’t see or use any of the actions below. See API keys and Connect claude.ai or ChatGPT.

Most raw materials are real Shopify variants. The assistant can find them in your catalog (see What the assistant can read) and register them as raw materials — one at a time or many at once. Each registration reports whether the material was newly created or already existed and was refreshed, so re-running is safe.

For components that don’t exist as Shopify products — internal parts, packaging, consumables — the assistant can create virtual materialsVirtual MaterialA material tracked entirely inside Assemblified — not a Shopify variant. Useful for shop-floor consumables (glue, packaging, labour units) where you need quantity tracking but don't want a Shopify product on your storefront. Read more → , whose stock Assemblified tracks itself. It can set the product and variant name, unit of measurement, SKU, and an opening stock quantity.

Units of measurement always resolve against your shop’s unit catalogue (Settings → Units): familiar spellings map to the canonical unit (KILOGRAMS becomes kg), and a genuinely new unit is added to the catalog automatically as a custom unit — so every material’s unit is one you can manage in Settings. Weight units are stricter: a material’s physical weight must use one of your existing weight units, since conversions and BOM weight roll-ups depend on them.

The assistant can update a material’s details and delete materials you no longer need. A material that’s still used by a BOM or assembly bill is protected — the delete fails for that item with a clear reason, so nothing in active use disappears silently.

For virtual materials, the assistant can keep per-location stock accurate:

  • Add or subtract a quantity (a delta — “we received 200 more”).
  • Set an exact quantity (an absolute count — the safe choice for a stock-take, because repeating it can’t double-count).

Shopify-linked materials keep their stock in Shopify — the assistant reads those live levels but doesn’t change them here.

Beyond virtual materials, the assistant can restock any material at any location — Shopify-linked ones included. It states either a change (“add 200”) or a target (“set it to 40”); a target is the safe choice, because repeating it cannot double-count. Shopify-linked materials are written to Shopify and mirrored back into Assemblified; virtual ones are written to Assemblified’s own stock.

Every row is applied on its own: one line that cannot be written — a material that no longer exists, a level that could not be read, or stock that your store group manages from the main store — is reported with the reason and the rest still land. There is a preview mode that plans the whole run, refusals included, and writes nothing.

  • Refresh from Shopify re-reads the products behind a set of Shopify-linked materials and updates the details Assemblified mirrors — price, cost, image, vendor, type, category and weight. It pushes nothing to Shopify. Virtual materials are skipped, not failed.
  • Compare and reconcile shows, per location, what Assemblified’s own stock index says next to what Shopify reports, and can then fix the difference in either direction — only the locations that actually differ are written. Pushing the index’s numbers to Shopify moves real stock, so read the comparison first. This pair only works when Use local index is switched on under Settings → General; with it off, both the comparison and the fix are refused with that reason rather than comparing against figures nothing maintains.

The assistant can read every stored metafield value for a batch of materials, and — with write access — add, change, remove and reset a value on one material, or re-read every value Shopify owns. Values are checked against the definition’s type, and every change keeps its own history entry. Resetting drops a local override so the value follows Shopify again.

The assistant can create many materials and delete many in single calls — registering a hundred Shopify variants, or creating a batch of virtual components, without hundreds of separate requests. Every bulk call returns a per-item result (created / skipped-as-duplicate / failed) and offers a preview mode that validates without writing, so a plan can be checked before it’s committed.

It can also apply one settings change to a whole selection — vendor, product type, category, unit or the non-essential flag — where the selection is either a list of materials or “everything matching this search”. A vendor change on a Shopify-linked material is refused for that row alone, because Shopify owns it.

Before a bulk delete there is a preview: per material, what is in the way (the recipes still using it, named), what would be removed with it, and what is worth knowing first (stock on hand, live reservations, stored metafield values).

Every call the assistant makes is tied to the API key or connection it used, and access can be revoked at any time — see Managing access & security. Write access is scoped to your single store, and a connection can never reach anything beyond the scope its key or connection was granted — but that scope covers more than this page: see the operating pages index for every write surface a write key unlocks.