Docs / Making

Materials, bills of materials and what things cost

What you buy, the units you count it in, and the bill of materials that turns both into a cost per unit, with labor and overhead.

To know whether you make money on something, you need three things the catalog can't tell you on its own: what you buy, what it costs in the unit you use it in, and what goes into one of what you sell.

Materials

A material is something you buy and use up instead of selling: wax, wick, jars, fragrance, labels; timber, screws, glue, finish. Add them under Materials in the sidebar.

A material is a catalog item with the type Material, so it has everything an item has (stock tracking, purchase history, average cost), with two differences:

  • it has its own page and never appears under Items, and it's never offered on a quote, order or invoice;
  • it is offered on purchases and in bills of materials.

Each material has a unit, and stock tracking is on by default, because a material you don't count can't be costed as it's used.

The Materials list shows what you have on hand, what it costs, and what that comes to per base unit, so two suppliers compare even when one sells by the kilo and the other by the pound.

Units

You rarely buy in the unit you use. Wax comes in 5 kg boxes and goes into a candle by the gram. Wick comes on a 100 m reel and is cut by the centimeter.

Company Settings → Units holds the units your workspace counts in. The standard set is there from the start, by code: each, g, kg, oz, lb, ml, l, fl_oz, mm, in, ft, yd, m, min, hr. Add your own, such as a bar, a skein or a sheet.

Every unit says what it measures (weight, volume, length, count or time) and how many base units one of it is. A skein that holds 100 g is 100 g. Say so, and a bill of materials in grams can use it.

Once an item, a bill of materials or a production run uses a unit, what it measures and how many base units it is are fixed, because quantities already written in it depend on them. Its name and code can still change. A unit in use can't be deleted. Replace… next to it moves everything counted in it to another unit of the same size, then deletes it: the fix for two units that mean the same thing, such as "sk" and "skein".

Units convert only within one kind of measure. Grams convert to kilos, but not to milliliters, because that would need the density of the material. Pick the same kind of unit on both sides and OrderDen converts.

Workspace variables

Some numbers belong to the workshop, not to one product: what an hour of your time is worth, what overhead you carry, what packaging costs per unit. They're in Company Settings → Variables, and a workspace starts with 9:

Variable Starts at Used for
labour_rate_per_hour 25 What an hour of your own time is worth. Bills of materials cost their labor at this. Company Settings → Rates edits it as Your own time, per hour.
overhead_percent 15 Rent, power and insurance as a percentage. Bills of materials add it on materials plus labor; project hours add it on the wage. Company Settings → Rates edits it as Overhead %.
packaging_per_unit 0 Box, tissue, card and label for one unit, for your own formulas.
wage_per_hour 25 What an hour of someone's time is paid, before payroll tax, insurance and overhead.
payroll_tax_percent 12 Employer payroll tax, as a percentage of the wage.
insurance_percent 4 Insurance, as a percentage of the wage.
material_markup_percent 20 What's added to a material's cost when a project's materials go onto an invoice.
bill_rate_per_hour 65 What you charge an hour.

The last five, with your own time and the overhead, are what Company Settings → Rates shows (see what an hour costs). Delete one of these starting variables and it comes back at its starting value.

Add as many as you like, and use them by name in any formula. Changing one re-costs everything that uses it, so when you raise your hourly rate, every product shows what that did to its margin.

In a cost calculator, an item's own variable with the same name wins for that item. A bill of materials always takes its overhead from its own Overhead % box or the workspace variable, never from an item's variable.

Units and variables are in Company Settings, which owners and admins can open. Changing bills of materials needs the Add and edit the catalog permission.

Bill of materials

On a product's page, the Bill of materials tab lists what goes into it. (In the API and in formulas the bill of materials is still called recipe.) Add a row per material with the quantity, the unit you think in, and any waste: the offcuts, the spills, the end of the wick that never reaches the candle. Then say how many units one batch makes, how many minutes of hands-on work it takes, how many minutes a machine runs on its own (a printer, a router, a kiln) and, if it differs from your usual, its overhead percentage. Press Create bill of materials (or Save after that).

The cost works itself out as you type:

(materials + labor + machine + overhead) ÷ units per batch = cost per unit
  • Materials: each line's quantity plus its waste, at what that material costs you, converted through the units. A material you've bought is costed at its average cost. One you've only priced by hand is costed at your figure.
  • Labor: minutes ÷ 60 × your hourly rate.
  • Machine: machine minutes ÷ 60 × the machine rate, which is the bill of materials' own rate or the machine_rate_per_hour variable. At 0 the machine time is not costed, and the page says so.
  • Overhead: a percentage of materials plus labor plus machine.

A batch of 12 candles using 1.2 kg of wax at $12/kg, 12 wicks at $0.08 and 12 jars at $1.10, with 45 minutes of work at $25/hr and 15% overhead, comes to $4.53 a candle. At $22 that's a 79% gross margin. When the wax price goes up, you see it.

Materials with no cost

A material nothing has costed yet is listed under the breakdown instead of guessed. Its lines count as zero, so the total is too low rather than wrong, and the page names the material to fix.

Where the unit cost comes from

Cost follows, on the item's Cost tab, says what keeps its cost up to date:

  • What I type: a figure you own. Nothing overwrites it. The average from purchases shows beside it.
  • The bill of materials: the cost follows the bill of materials. It updates when the bill of materials is saved, a material's cost changes, a variable changes or a unit's conversion changes, not at the moment you pick this option. Each change goes on the item's history with its reason, such as "Unit cost updated from bill of materials: $3.12 → $3.40 (a delivery was received)".
  • What I pay (average cost): the cost follows the average of what you've paid.

Use bill of materials cost as unit cost, on the Bill of materials tab, switches an item to follow its bill of materials and takes the bill of materials's cost right away.

A material's cost, once stock has moved

A material is costed at the average of what its stock cost, from the stock ledger, not at a figure you type. Until anything has moved you can type its cost. After that the Base cost (COGS) box is read-only and reads "Average 2.14, from the stock ledger."

To change it, press Revalue… on the Cost tab, enter the new unit cost and why. Everything on hand is restated at the new cost from that moment, with a Revalued movement for each location that holds it, and the item's History says "Revalued from 2.14 to 2.40 (+31.20 on 120 on hand): supplier price change". Bills of materials that use it are re-costed. Completed production runs and anything already sold keep the cost they had. Revalue… is on any item that tracks stock, not only materials.

When costs move

Receiving a purchase moves a material's average cost. Everything that uses it is re-costed automatically: the bills of materials that name it, and any product whose cost follows its bill of materials. Changing your hourly rate or overhead does the same across the workspace.

None of this changes documents you've already written. Every quote, order and invoice line keeps the cost from when it was written, so last quarter's margins stay as they were.

Cost calculators

The formulas on an item can use your workspace variables and what the bill of materials works out, as well as the item's own variables:

Name Is
recipe_materials Materials in one unit, from the bill of materials
recipe_labour Labor in one unit
recipe_machine Machine time in one unit
recipe_overhead Overhead in one unit
recipe_unit_cost The bill of materials's total cost for one unit
average_cost The average cost of the stock on hand
sell_price The item's price

So "what if I added packaging and 20% for contingency?" is (recipe_unit_cost + packaging_per_unit) * 1.2, a calculator beside the bill of materials.

Importing your materials list

If you've run the workshop on a spreadsheet, you probably have a materials tab already: a code, a name, what it's counted in, what the last box cost. The importer takes it as a CSV under Materials.

Two columns work differently from the rest:

  • Unit is required, and a new one is never created. Every bill of materials line converts through a material's unit, so "kgs" for "kg" would make a unit that converts to nothing. A unit code you don't have rejects the row, and the message lists the codes you do have. Add your own in Company Settings → Units first.
  • A category is created when it's missing. Refusing the row would mean typing forty categories in first.

Fill in On hand and each row also books an opening balance at the cost you gave, the same movement the opening stock screen writes, so importing again books the difference instead of doubling. Vendor names who you buy it from and becomes the material's preferred vendor, matched to a vendor you have by name (ignoring case) or created if you don't. Vendor code is their code for it, printed on the purchase line. Leave both blank and importing again for new costs doesn't change who you buy from.

Materials, units, variables, bills of materials and the cost breakdown are all on the API. See the API reference.

Everything on this page is on the free tier: one person, the whole product, no card.

Start free