Skip to content

Weight

Every raw materialRaw 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 → can carry an optional physical weight — a value plus a weight unit (2.5 kg, 300 g, 8 oz). It’s separate from the unit of measure: the unit is how the material is counted in a recipe (m, pcs, L); the weight is how much one of those units physically weighs.

From the per-material weights, Assemblified derives a calculated weight for every finished good’s bill of materialsBill of MaterialsA bill of materials tells Assemblified how to build one unit of a finished good. When a customer orders the finished-good variant, Assemblified deducts the right component quantities from inventory automatically. Read more → and every assembly bill (also called a sub-assemblySub-assemblyA reusable assembly block that composes into bigger bills: define it once, include it in any bill of materials, and Assemblified expands it into its own components at execution time. The app now calls it an assembly bill. Read more → ) — the summed, unit-converted weight of everything the recipe consumes. Planning, inventory, cost and execution are unaffected; weight is purely informational.

  • The weight field — value, unit, and “blank vs zero”
  • Editable (virtual) vs mirrored from Shopify (linked)
  • Calculated weight on finished goods and assembly bills
  • Where weight shows up
  • Import / export
  • Common gotchas

A raw material’s weight is two pieces:

  • Weight value — a number ≥ 0. Blank means unknown (not zero). An explicit 0 is a valid weight and stays distinct from blank.
  • Weight unit — must be an active unit in the Weight category (kg, g, mg, lb, oz, or one you add). It is chosen from its own dropdown, independent of the material’s consumption unit.

The two travel together: a value with no unit is rejected, and a unit with no value is dropped. Validation uses these exact messages:

  • Weight must be a number greater than or equal to 0.
  • Weight unit is required when weight is set.

Where a material’s weight comes from depends on its type — the same split as unit cost.

Material typeWeight sourceIn the Edit material dialog
VirtualAssemblified-managed — you type it in.Editable.
Shopify-linkedMirrored from the Shopify variant.Read-only.

For a Shopify-linked material, weight is pulled from the variant’s Shopify weight (Measurement → Weight) and kept current automatically — you don’t (and can’t) edit it in Assemblified:

WhenWhat happens
You add the variant (Add from Shopify)Weight is copied from Shopify alongside the name, SKU, price and cost.
You click Refresh from ShopifyWeight is re-pulled from Shopify with the other mirrored fields. It is on the material page’s Attributes card, in its title bar, in the row menu and in the bulk bar.
The variant’s cost, weight or inventory tracking changes in ShopifyAssemblified is told, and refreshes the mirrored weight (along with the cost and the SKU).

For a finished good or an assembly bill, Assemblified computes a calculated weight on read — it is never stored. The math is one recursive pass:

finished weight = Σ ( component quantity × component weight ), converted to the canonical weight unit.

  • Canonical unit. The first active unit in the Weight category (normally kg). Every component’s weight is converted into it before summing, so a recipe mixing g and lb components still produces one clean total.
  • Waste is excluded. Unlike the cost roll-up, the weight roll-up ignores each component’s waste percentage — scrap isn’t part of the shipped product’s weight. (This is a deliberate divergence from cost, which includes waste.)

If the total can’t be computed, the roll-up reports unavailable with a specific reason instead of a number:

MessageCause
Calculated weight unavailable: no active weight units.No unit in the Weight category is active, so there is no canonical unit to convert into.
Calculated weight unavailable: circular sub-assembly reference.An assembly bill references itself, directly or through a cycle.
Calculated weight unavailable: missing weight unit conversion.Two component weight units have no conversion between them. Define one under unit conversions.
Calculated weight unavailable: one or more components have no weight.At least one component’s weight is blank/unknown.

The reasons are checked in that order — the first one that applies is the one you’ll see.

  • The material page — the Attributes card on the Overview tab shows the material’s own weight, read-only (2.5 kg, or - when unknown; 0 kg stays distinct from blank).
  • The Edit material dialog — a Weight + Weight unit pair. Editable for virtual materials, read-only for Shopify-linked.
  • The materials list — as an optional Weight column.
  • Material export (CSV / XLSX) — Weight and Weight Unit columns.
  • Finished-good and assembly-bill exports — the calculated weight as Weight + Weight Unit columns (or the exact unavailable message in the Weight column when it can’t be computed).

The material CSV/XLSX template carries two optional columns:

  • Weight — a non-negative number, or blank if unknown. Requires a Weight Unit.
  • Weight Unit — a weight-unit short name. It must resolve to an active weight unit (kg, g, lb, oz, …).

Blank weight is kept as unknown (never coerced to 0); an explicit 0 round-trips back as 0. Exporting materials and re-importing the file preserves weights unchanged.

Finished-good and assembly-bill exports include the derived weight columns, but their imports never set a weight — calculated weight is computed from the components, never written directly.

  • Weight unit is not the consumption unit. A material counted in m can weigh 0.3 kg per metre. They are independent fields with independent dropdowns, and only units in the Weight category can be picked as a weight unit.
  • Blank is not zero. A blank weight means “unknown,” and any roll-up that includes the material reports one or more components have no weight. If a component genuinely weighs nothing, enter 0 explicitly.
  • Shopify weight is read-only here. To change a Shopify-linked material’s weight, edit it on the Shopify variant — Assemblified mirrors it back on the next sync. It won’t accept an edit from the Assemblified side.
  • Mixed weight units need a conversion. If components weigh in different units (g and lb), the roll-up needs a conversion between them and the canonical unit. Missing one yields missing weight unit conversion. The five seeded weight units (kg/g/mg/lb/oz) all convert to kg out of the box.