Building a 3D printing business spreadsheet
A spreadsheet is the right first tool for this, and most people selling prints start with one. Here is what to put in it, the sums that usually go wrong, and the point where it stops being enough.
On this page
What it has to answer
Your spreadsheet is doing its job if it can answer these four questions:
- What did this print cost me to make?
- Am I making money at the price I charge?
- How much filament do I have, and what is it worth?
- Was I allowed to sell this design?
Most spreadsheets answer the first three and skip the fourth. That is the one that is hard to reconstruct later, because it depends on what you were granted on a particular date rather than on anything you can work out from your own numbers.
Three tabs cover all four: filament, prints and licences. Keep them separate. If you put everything on one wide sheet, you'll soon stop keeping it up to date.
Tab one: filament
One row per spool, added when you buy it.
| Column | What goes in it |
|---|---|
| Spool ID | Your own reference. The prints tab points at this, so it has to be unique. |
| Brand, material, colour | Three columns, not one, so you can filter on material later. |
| Weight bought (g) | The filament weight, not the weight including the reel. |
| Price paid | Excluding VAT if you are registered, so it matches your other figures. |
| Cost per gram | Calculated. See below. |
| Grams used | Calculated from the prints tab. Do not type this in by hand. |
| Grams left | Weight bought minus grams used. |
| Retired | Yes or no. A part-used reel you have stopped using is not stock. |
| Remnant (g) | What was left on it when you retired it. This matters — see below. |
The two formulas:
Cost per gram = Price paid / Weight bought
Grams used = SUMIF(Prints!C:C, [Spool ID], Prints!D:D)
Taking grams used from the prints tab, rather than typing it in, is what keeps this sheet accurate. A total kept by hand falls behind within a couple of weeks, because the print you forget to add is usually the one that failed.
Tab two: prints
One row per print, including the ones that failed. People often leave those out, and they are the reason this tab exists.
| Column | What goes in it |
|---|---|
| Date | When it came off the bed. |
| Item | What you were making. |
| Spool ID | Matches the filament tab. More than one row if the print used more than one spool. |
| Grams | Filament used, from the slicer, plus purge and supports. |
| Print hours | For the machine cost. See running costs. |
| Outcome | Good, failed, or scrapped afterwards. One word, from a fixed list. |
| Notes | Why it failed, if it did. This is how you stop repeating it. |
The outcome column is what makes a failure rate calculable, and the failure rate is what makes your costs real:
Success rate = COUNTIF(Outcome, "Good") / COUNTA(Outcome)
If you only log the prints that worked, every cost you work out will be too low, and the difference is money you are losing.
Tab three: licences
One row per commercial licence you have bought.
| Column | What goes in it |
|---|---|
| Designer | Who you bought it from. |
| Model or scope | A single model, or the whole catalogue if the tier covers one. |
| Where | Patreon, MakerWorld, Cults3D, Thangs, direct. |
| Date bought | The date you agreed the terms. |
| Renews or expires | The date it lapses if you do nothing. |
| What it permits | In your own words. Physical sales only, attribution needed, unit cap. |
| Proof | A link to the receipt, and where the file itself is kept. |
| Terms saved | Yes or no. A copy of the wording as it was on the day. |
People often skip the last two columns and regret it later. A link to a designer’s terms page tells you where the terms live, not what they said when you agreed to them, and designers revise them. What a 3D print licence tracker does goes through this in more detail.
The three sums people get wrong
1. Dividing by the wrong number of prints
The cost of a good print includes the failures it took to get there. So divide by the number of good prints, not the number of prints:
Cost per good unit = (Grams x Cost per gram + Hours x Machine rate) / Success rate
At a 90% success rate that adds about a ninth to every unit. Skip it, and a busy shop can still be losing money. The cost calculator does this sum for you if you would rather check a figure than build the sheet first. What does a 3D print actually cost to make? works through the layers.
2. Leaving remnants out of the bottom of the waste sum
A remnant is the tail left on a reel you have retired. You paid for it and never printed it, so it is waste. It has to go into the bottom of the ratio as well as the top:
Waste ratio = (Failed grams + Purge + Remnants) / (Printed grams + Remnants)
Leave remnants out of the bottom and the ratio comes out higher than the filament you actually bought, which is a number that cannot be true. Where your filament actually goes covers the categories.
3. Adding fees to the cost instead of taking them off the price
Marketplace fees are a percentage of what the buyer pays, so they scale with the price. Adding “about 20% for fees” to your cost and marking up from there gets it the wrong way round and leaves you under-priced. Work out the price that leaves your margin after the fees come off it. What selling 3D prints actually pays you has the arithmetic.
What a spreadsheet cannot do
None of these three matter much when you have ten designs and print a few times a week. They start to matter as the number of licences grows past what you can hold in your head.
- It cannot tell you a date has passed. A renewal date in a cell is only a warning if somebody opens the file that week.
- It cannot hold the proof. The row says you bought a licence in January. The receipt is in an inbox and the screenshot was on a phone you have since replaced.
- Copies get out of step. You end up with one on the laptop, one in the cloud and one emailed to yourself, and no way of telling which is up to date.
If your spreadsheet is working, keep it. There is no prize for replacing a tool that answers your questions.
Where MakerProof fits
MakerProof does the three tabs above, with the sums already right. It works out cost per unit from the prints you log, including the waste and the failures, and shows every layer rather than a single total.
On the licence side it keeps each one with its receipt and a copy of the terms as they were worded on the day you agreed them, and it emails you before a renewal date passes.
It is not an order book, and that is on purpose. It does not track customers, orders or revenue by channel. Your marketplace already reports that, and it does it better. What it does not tell you is whether you were licensed to sell the design.