Material inventory Pro
Every cutting job needs stock. If you regularly work with the same sheet sizes — say 18mm MDF at 2440×1220, a 15mm birch ply at 2440×1220, and a 25mm MDF at 3050×1220 — re-entering those three materials from scratch every time is tedious and error-prone. The Material inventory solves this by letting you save your frequently used materials once and load them into any job with a single click.
The Material inventory is a Pro feature. It keeps two lists — sheet materials for 2D Panel mode, and bar materials for the linear side — and each entry can also carry the blade and edge trim that material is cut with.
The Material inventory (your saved standard materials) is different from the Offcut inventory (leftover pieces from past runs). Both let you add stock quickly, but the Material inventory holds full-size materials you buy regularly, while the Offcut inventory holds the reusable remnants a job leaves behind. Both are Pro features.
Opening the inventory
There are two ways in. The 📦 Material inventory box sits in the left sidebar under the Offcut Inventory, and opens the list for whichever mode you are working in. There is also a 📦 button in the Stock section header — in 2D Panel and 1D Linear. The Wood stock header does not have one; from Wood mode, use the sidebar box.
Either opens the modal. Inside you will find:
- An add form along the top — name, dimensions, thickness and unit price, then + Add
- A search field — type any part of a material name to filter the list instantly
- A list of all saved materials for the current mode (2D sheets, or bars)
- An editable name field on each row — click it and type to rename in place
- A ▶ Load button next to each entry to load it into your stock table
- A ✕ button next to each entry to delete it
- A Save current button to add every row of your current stock table to the inventory
On the Free plan the sidebar box is locked and clicking it opens the upgrade dialog — the Material inventory is a Pro feature, like the Offcut Inventory.
Saving a Material
There are two routes: save what is already in your Stock table, or type a material straight into the inventory.
Save current — from the Stock table
- 1
Fill in your stock table
In the Stock section, enter the materials you want to keep — dimensions, quantity, and a name in the Name cell of each row. The Name cell is what the inventory entry will be called, so it is worth filling in: '18mm MDF 2440×1220' or '50×50 SHS 6m' rather than leaving it blank.
- 2
Set kerf and trim first, if you want them captured
Save current also snapshots whatever kerf and edge trim are currently set in Advanced settings, and stores them on every entry it writes. So dial those in before saving if this material is cut differently from your default.
- 3
Open the Material inventory
Click the 📦 button in the Stock section header, or the 📦 Material inventory box in the left sidebar.
- 4
Click Save current
Every row of the current mode's stock table is added to the inventory in one go — not just one of them. A row already in the inventory (same name and same size) is skipped rather than duplicated, so clicking twice is harmless: you get 'All of these are already in the inventory' instead of duplicates. There is no name prompt and no confirm dialog — a toast reports how many materials were saved. A row with an empty Name cell is named from its dimensions.
+ Add — straight into the inventory
Open the inventory and use the add form along the top of the modal: name, dimensions, thickness (2D) and unit price, then + Add. The name is optional — leave it blank and CutOptim builds one from what you typed. This route captures the current kerf and trim in exactly the same way.
Save materials immediately after entering them for the first time on a job. This way your inventory builds up naturally as you work, without requiring a separate setup step.
Loading a Material
- 1
Open the Material inventory
Click the 📦 button in the Stock section header (2D Panel or 1D Linear), or the 📦 Material inventory box in the left sidebar.
- 2
Find your material
Scroll through the list or type in the search field to filter by name. The search matches any part of the material name — typing '18mm' will show all entries containing that text.
- 3
Click ▶ Load
Click the ▶ Load button next to the material you want. A sheet entry goes into the 2D Stock table; a bar entry goes into the 1D Linear stock table. Either way it arrives with quantity 1 — adjust it for the current job. If the material carries a unit price, that comes with it; if it carries kerf and trim, those are written back into Advanced settings and the toast names the fields it changed.
You can load several materials in one visit — click ▶ Load for each one you need before closing the modal. Note that loading also closes the modal, so re-open it for the next material.
Bar entries load into the 1D Linear stock table, not the Wood one. The inventory’s second list is a linear-bar list: ▶ Load and the sidebar ↑ both write to 1D Linear. If you are working in Wood mode, the row will land in a table you are not looking at, and nothing will appear in your Wood stock. Wood materials are entered in the Wood Stock section directly.
What an entry stores
| Feature | Type | Description |
|---|---|---|
| Name | text | How the material reads in the list. Leave it blank and CutOptim suggests one from what you typed — a 2D sheet with a thickness becomes '18mm 2800×2070'. |
| Dimensions | number | Width × height for sheets, length for bars. Stored in millimetres and shown in your current working unit. |
| Thickness | number | Sheet thickness (2D only). Optional, but it is what separates 18 mm MDF from 12 mm MDF at a glance. |
| Unit price | number | Price per sheet or bar. Optional — when set, loading the material carries the price onto the new stock row, so cost mode and the quotation pick it up without retyping. |
| Kerf | number | The blade thickness in Advanced settings at the moment the entry was saved. Restored when you load the material. |
| Edge trim | number | The trim in Advanced settings at the moment the entry was saved. A sheet stores all four edges (left, right, top, bottom); a bar stores two ends — left is the start trim, right the end trim. Restored when you load the material. |
Saving from the current stock table with Save current copies that row’s price too, so a material you have already priced for a job keeps its price in the inventory.
The blade and trim a material is cut with
An 18 mm MDF sheet on a panel saw and a 6 m steel tube on a cold saw are not cut with the same blade, and often not with the same clean-up allowance. Rather than ask you to re-dial those numbers every time you load a material, CutOptim stores them with the material.
Capture happens on the paths you already use. There is no extra form field and nothing to switch on: + Add and Save current both take a snapshot of the kerf and edge trim currently set in Advanced settings and store it on the entry. Set them the way that material is actually cut, then save.
A sheet stores four edges, a bar stores two ends. For a 2D entry the four per-side trim values are kept as they are. For a bar entry only two are meaningful, so left = start trim and right = end trim.
The capture is visible. A row that carries cut settings shows a ⚙ badge next to its size, listing what it holds in your current working unit, so nothing is being stored behind your back.
Loading puts them back and says so. ▶ Load writes the stored values into Advanced settings, and the toast names the fields that changed — a setting that moves without telling you is worse than one you have to set by hand.
A material you saved before this feature existed carries nothing, and loading it changes nothing. An empty field means “this material says nothing about that setting” — not “set it to zero”. Your kerf and trim are left exactly as you have them. If you want an older entry to carry its settings, dial them in and save the material again.
2D vs 1D materials
The Material inventory maintains two separate lists, and shows you only the one that fits the mode you are in.
| Mode | List shown | Where ▶ Load puts the entry |
|---|---|---|
| 2D Panel Cutting | Sheet entries (width × height, e.g. 2440×1220) | The 2D Stock table |
| 1D Linear Cutting | Bar entries (length only, e.g. 6000 mm) | The 1D Linear stock table |
| Wood Cutting | The bar list is shown | The 1D Linear stock table — not the Wood one |
The separation between sheets and bars prevents confusion: a 2440×1220 sheet entry should never appear when you are setting up a steel tube job, and vice versa.
The Wood row is the caveat. Wood mode is shown the bar list, but a bar entry is a plain length and a Wood material is a length plus a cross-section, so loading one writes it into the 1D Linear table rather than the Wood table. Enter Wood materials in the Wood Stock section instead.
Storage
The Material inventory is stored in the cloud on your account (a Pro feature). It is synced across every device and browser where you sign in — save a material on your workshop PC and it is there on your laptop or phone too. There is no manual backup or import step, and clearing a browser’s data does not lose it.
Because the inventory lives on your account rather than in a single browser, you build it up once and it follows you everywhere you sign in.
There is a cap of 200 entries per account. Nothing in the interface counts down to it, and hitting it shows only a generic save error — so if saves suddenly start failing, prune materials you no longer buy.
Tips
Good naming conventions make the inventory fast to use. The goal is to identify a material completely from its name alone, without opening a job to check dimensions.
Recommended naming patterns:
- Include thickness, material type, and sheet dimensions for 2D entries —
18mm MDF 2440×1220,12mm Birch Ply 2440×1220,25mm MDF 3050×1220 - Include profile dimensions and length for structural sections —
50×50 SHS 6m,90×45 MGP10 6m,100×50 RHS 7.5m - Add a grade or finish note when it matters —
18mm MDF 2440×1220 (Moisture Resistant),12mm Ply 2440×1220 (Structural) - Use a consistent unit convention across all entries (all lengths in mm, or all in metres) to avoid ambiguity
Avoid vague names like Sheet 1 or Standard bar — these become meaningless once you have more than a few entries.
Renaming is in place, and cheap. The name on every row is an editable field, in the modal list and in the sidebar panel alike: click it, type, and click away — it commits when you leave the field, like every other cell in the app. So a bad name from a hurried Save current is a five-second fix, not a reason to delete and re-create the entry.