Skip to content

Cost methods

Every assembly BOM (also called a subassemblySubassemblyA 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. Its definition is an assembly BOM. Read more → ) has a cost method: the rule Assemblified uses to decide what one unit of it costs. Out of the box every assembly BOM is costed from its recipe, exactly as it always has been. You can instead cost it at what its last build cost, at what you paid for it, or at an average of both.

  • The four cost methods
  • Where the chosen cost is used
  • What stays on the recipe cost
  • A worked example of the moving average
  • Where purchase costs come from
  • Where to find the setting
  • What the assembly BOM page shows
MethodWhat one unit costs
Recipe cost (the default)What building it from its recipe costs right now: its materials, nested assembly BOMs and additional costs.
Last build costWhat one unit of its most recent build cost. Until its first build, the recipe cost captured when you chose the method is used, and the page says so.
Purchase costThe purchase cost from Logistified, taken from its most recent purchase order. Until it has been bought at a price, the recipe cost is used, and the page says so.
Moving average (built and bought)The average cost of every unit you built and bought, weighted by quantity. Each build adds units at their build cost, each purchase adds units at their purchase price, and using units does not change the average.

Switching to the moving average starts the average from the current cost, so nothing jumps when you switch. Switching to another method keeps every cost Assemblified has recorded, so switching back later picks up where you left off. Switching back to the recipe cost puts every number back to the recipe.

When you first choose Last build cost (or the moving average) and the assembly BOM has been built by a work order before, its most recent build is used straight away; otherwise its recipe cost is used until the next build. Only a build that put units on the shelf counts: a material-list-only work order, or a build you reversed, is skipped.

The chosen method’s cost is the assembly BOM’s cost everywhere in Assemblified:

  • the assembly BOM’s own cost card and its unit cost in lists;
  • the cost of every finished good and every assembly BOM that contains it, on their cost cards and in their stored costs;
  • the stock valuation of pre-assembled stock in the On hand: subassemblies report;
  • work orders that take it from pre-assembled stock instead of building it;
  • the cost sent to Logistified when the subassembly sync is on.

Building it always costs its recipe. A work order or build that makes the assembly BOM itself pays for the materials it actually uses, so its cost is the recipe cost whatever method you choose. With the moving average, those built units then join the average at that recipe cost.

Shopify product costs keep using the recipe cost. When you sync a finished good’s cost to Shopify’s cost per item, every assembly BOM inside it is priced at its recipe, whatever its method. Your Shopify margin reports therefore never move because you switched a method. The cost sync dialog adds a note to any finished good whose calculated cost differs from the cost Assemblified shows for this reason: Calculated from the recipe cost of subassemblies. You can still change the New cost before you push it. On the finished good’s page, the Difference next to the Shopify cost says the same in its tooltip: a cost sync calculates the recipe cost, so some difference can remain unless you change the new cost.

An assembly BOM whose recipe costs €5.00 per unit, costed by the moving average:

What happensUnits in stockAverage cost
You switch to the moving average0€5.00 (its current cost, the recipe)
You build 10 at the recipe cost of €5.0010€5.00
You buy 10 at €8.0020€6.50, because (10 × €5.00 + 10 × €8.00) ÷ 20
An order uses 515€6.50, because using units does not change the average
You build 10 more at €5.0025€5.90, because (15 × €6.50 + 10 × €5.00) ÷ 25

From then on, a finished good containing one of these assembly BOMs counts it at €5.90, while its Shopify cost per item still counts it at the €5.00 recipe.

Purchases are made in Logistified: put the assembly BOM on a purchase order there and receive it. When the purchase order is in your shop currency, or has an exchange rate set, the price arrives with the receipt and becomes the assembly BOM’s purchase cost. Logistified’s cost sync then sends the purchase order’s final cost per unit (including landed costs, converted to your shop currency) when the order is completed or when you update its unit costs, and that replaces the receipt’s price. The purchase cost is recorded whatever the method, so switching to Purchase cost later uses your most recent purchase straight away.

A few things to know about how purchases enter the costs:

  • The moving average takes each purchase as it arrives, at the price on the receipt. A later price for the same purchase (a correction, landed costs, freight) updates the purchase cost from then on, but does not change the average after the fact.
  • A receipt without a price (a purchase order in another currency with no exchange rate set) does not change the average, and the purchase cost waits for Logistified’s cost sync.
  • Undoing a receipt in Logistified takes the units back out of stock, but the purchase cost stays at that purchase’s price until your next purchase, and the average does not change.

Open the assembly BOM and go to Settings → Costing, choose a Cost method and press Save. The change is a draft until you save it, like the other settings on the page, and Discard puts it back.

The Costing section is shown when the Logistified subassembly sync is on (the Logistified connection and Sync virtual materials to Logistified), because purchase prices reach Assemblified through it. It is also shown on any assembly BOM whose method is not the recipe cost, so you can always switch back.

On the Overview tab, the cost card of an assembly BOM with a method other than the recipe cost shows:

  • Cost method, the method in use;
  • the materials, nested assembly BOMs and additional costs of its recipe, and their total as Recipe cost;
  • Unit cost, the cost Assemblified uses everywhere, split into materials, labour and additional costs;
  • Last build cost, with the date of that build, once it has been built (or, right after you choose the method, the recipe cost it started from);
  • Purchase cost, with its purchase order and the date it was received, once it has been bought;
  • Moving average, once the method has been used;
  • the note that Shopify product costs keep using the recipe cost.

On the finished goods and assembly BOMs that contain it, the Subassemblies card and the financial breakdown show it at that cost, with the method’s name beside it.