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.
On this page
Section titled “On this page”- 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
The weight field
Section titled “The weight field”A raw material’s weight is two pieces:
- Weight value — a number ≥ 0. Blank means unknown (not zero). An explicit
0is 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.
Editable vs mirrored
Section titled “Editable vs mirrored”Where a material’s weight comes from depends on its type — the same split as unit cost.
| Material type | Weight source | In the Edit material dialog |
|---|---|---|
| Virtual | Assemblified-managed — you type it in. | Editable. |
| Shopify-linked | Mirrored 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:
| When | What happens |
|---|---|
| You add the variant (Add from Shopify) | Weight is copied from Shopify alongside the name, SKU, price and cost. |
| You click Refresh from Shopify | Weight 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 Shopify | Assemblified is told, and refreshes the mirrored weight (along with the cost and the SKU). |
Calculated weight
Section titled “Calculated weight”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 mixinggandlbcomponents 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:
| Message | Cause |
|---|---|
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.
Where weight shows up
Section titled “Where weight shows up”- 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 kgstays 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) —
WeightandWeight Unitcolumns. - Finished-good and assembly-bill exports — the calculated weight as
Weight+Weight Unitcolumns (or the exact unavailable message in the Weight column when it can’t be computed).
Import / export
Section titled “Import / export”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.
Common gotchas
Section titled “Common gotchas”- Weight unit is not the consumption unit. A material counted in
mcan weigh0.3 kgper 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
0explicitly. - 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 (
gandlb), 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 tokgout of the box.
Where to next
Section titled “Where to next”- Units of Measurement — the consumption unit and why the weight category is load-bearing.
- Unit conversions — the factors the weight roll-up uses to combine mixed weight units.
- Shopify-linked materials — what else is mirrored from the Shopify variant.
- Virtual materials — where weight is yours to edit.