Skip to main content
Version: Next (nightly)

Inventory

The Inventory module tracks the parts and supplies you keep on hand: what you have, how much, and where it lives.

The loop:

  1. Get things in by scanning: scan a barcode and the item comes in with its name and details already filled.
  2. Give each item a quantity and a location, plus whatever fields you add (a supplier, a cost, a photo).
  3. Adjust the count with the inline +/- steppers next to the unit as you use or restock. Cobblr keeps the running total.
  4. Set Min qty on anything you re-buy, so it flags when you run low.

Editing from the list​

You don't have to open a record to change one field.

  • Click a cell and it becomes an input: type, then Enter (or click away) saves and Escape cancels. On a phone the cards carry the same edits in place of the table.
  • Each field keeps the control it has on the record: category and location open a dropdown, yes/no is a checkbox you tick, color opens the swatch picker, and a number never opens a text box.
  • Read-only cells say why on hover: a computed field is worked out from your other fields, an automatic field is stamped for you, and rich text opens on the record, where there is room for the editor.
  • Quantity keeps its +/- steppers. Every step writes a dated line to the item's history with the amount it moved, and a typed-over number would replace that story with a guess. Available follows on its own, as quantity minus what's reserved.
  • Settings tab: a list has two tabs, the list itself (named after what it holds: "Yarns" for a yarn collection, "Parts" for plain inventory) and Settings, with its fields and categories in one panel. Click a field's name to rename it and edit its dropdown options right below. Adding or removing fields, or changing a field's type, happens in the field builder.

Stock lists and catalogs​

Not every list is about stock. Cobblr reads which kind yours is from your data, so there is nothing to choose.

  • A stock list (filament, screws, a pantry: things you count and reorder) shows the full stock face: quantity, reorder point, cost, and allocations.
  • A catalog (films, books, recipes, no quantities) shows a lean face of just your own fields, with the stock machinery hidden.
  • To pin it yourself, open Settings → Stock tracking on the list and choose Auto, Always track stock, or Catalog only. Your quantities are kept whichever face shows.
  • A photo-first catalog opens as a gallery, a wall of covers rather than a table. When several records lack a picture, the collection header fills them all in one press.
  • Food is stock that goes off. Groceries, Tea and Spices are stock lists too, with use-by dates, lots bought on different days, and a shelf life Cobblr learns from what you throw out. See Groceries.
How the stock-or-catalog guess works, and where gallery pictures come from

A list that carries a real quantity, reorder point, or measured unit is stock, and one that never does stays lean. Recording a price alone does not tip a catalog into a stock list, and a list that has held stock stays stock even after you run it to zero. A catalog also speaks its own words: name a collection "Films" and it reads "New Film" and "search films", never "part".

In a gallery, each record's picture can be uploaded, fetched automatically from what the record is, or picked from a web search, and it shows at its own proportions instead of cropped to a square.

Low stock​

Set a reorder point on an item (the field is labelled Min qty in the app) and it flags when you drop below it.

  • See what to buy next with a filtered view of "what's low".
  • Draft the restock order: with Purchases enabled, running low can draft it for you.

How fast you go through it​

Cobblr learns how quickly you re-buy the things you re-buy, without you logging anything. Two values come out of it, and any table can show them:

FieldWhat it means
You re-buy everyThe typical number of days between your purchases.
Runs out inDays until the current stock is gone, at the rate you have been going through it.
  • To put them on a table, add a computed field with {{ cadence.replenish_every_days }} or {{ cadence.days_until_runout }} as the template. The Spice Rack, Tea and Groceries bundles ship with both columns already on their views.
  • Both stay blank until Cobblr has seen you buy the thing at least twice. A third and fourth purchase move the reading from "still learning" to a figure you can rely on.
Where the signal comes from, and why there are two numbers

Checking an item off a shopping list records a purchase, and the gaps between those purchases are the signal. One shop is not a pattern, and a made-up date is worse than an honest blank.

They are deliberately two different numbers. How often you re-buy does not depend on pack size, but how long stock lasts does. One 80-bag box of tea a month and two 40-bag boxes a month are the same habit but different quantities, and only one of the two columns should move.

Using things up​

Consumption is one tap.

  • One button per thing you did. Use one takes one off, Used up zeroes the last of it, Threw it out records waste rather than use, Restock one puts one on, and Replaced is the everyday swap: you finished a box and put an identical new one in its place, so the count stays the same, the old one ends as used and the new one starts today. Whether the thing goes off is the record's business, so the button does the right bookkeeping for a perishable or a plain part on its own.
  • Every tap teaches how fast you go through it. With Cadence on, each of those marks tells the consumption ledger what happened (used, thrown away, bought), which is how "replenish every N days" learns from ordinary use and not only from scans and shopping-list ticks.
  • A rough days-left estimate shows on things you use steadily. The stamps feed a burn rate, so Cobblr can predict when you'll run out and flag the reorder ahead of empty instead of at zero.
  • Something you measure rather than count (a spool, a roll): set its full amount as a capacity. The item shows a remaining-vs-capacity gauge and keeps a ledger of what drew it down and by how much. A print that declares its filament writes its own ledger line.
  • A consumable another system already measures (Spoolman, for filament): Cobblr syncs from it and defers to its number instead of counting the same spool twice.
  • Individual units under one model (skeins of yarn, spools of filament, a case of the same bottle): turn on per-unit tracking under Consumption (on a yarn it reads Track each skein separately). The item switches to a plain count by state, like "3 skeins, 2 new, 1 open". Opt-in per item, and reversible.
How the ledger reads, and how per-unit tracking behaves

A capacity ledger reads "started full, these jobs used this much, here is what is left".

With per-unit tracking on, open a unit when you start it (it's minted at the full per-unit amount you already entered, nothing to type) and log usage against it. Each open unit keeps its own running balance, and one that hits zero drops off the active view with its history kept. A unit can also be assigned to a project, so parallel projects each draw down their own ball: run one out and you continue onto a fresh unit in a tap. If a project finishes with some left, a clearly reusable amount returns to the pool while a small remainder asks whether to keep it or write it off.

Things you replace on a clock​

For a consumable swapped on a schedule rather than used up gradually (a furnace filter, a water filter, a printer nozzle):

  1. Set replace every (a number of days) on the part. The clock is armed.
  2. When the interval runs out, the part raises a replace-due event. It shows on the dashboard and can drive any notification or wire.
  3. Tap Replaced when you do the swap. It resets the clock, stamps when the old one ran out, and consumes one spare from on-hand, which reorders through the usual loop if that leaves you short.

The community darkroom example runs its chemistry entirely on this.

Setting some aside for a job​

Ask Cobb to reserve an amount of a part for a project, build or order. It holds that amount without moving your on-hand count, which is the point: stock you have promised to a job is not the same as stock you have.

  • Consume the reservation when the work is done: the stock comes off with a withdrawal line on the part's statement showing what it went to.
  • Release the reservation and it disappears with no stock movement at all.
  • A reservation can only be settled once, so asking again tells you it is already consumed rather than taking the stock twice.

Not everything is worth counting​

A bin of assorted adapters, a jar of odd screws, a drawer of cables: you will never enter them one by one, and Cobblr does not pretend otherwise. Record the whole lot as one thing, with a name and roughly how many ("Assorted adapters, about 50"). That is enough to find them again, and the bin stops looking empty just because you did not enumerate it.

  • Estimates look like estimates. Anything recorded as "roughly" is drawn softly and reads as "~50" rather than a bare number, so you can tell what you have counted from what you have guessed at. There are no plus and minus buttons to nudge it (a guess is not a thing you increment by one), and it is never flagged as low stock for being short on a count nobody took. Cobblr remembers when you made the guess.
  • Break it down whenever you like, or never. An assortment can hold kinds: "DB25 gender changers, about 7", "serial adapters, about 6". Each is still an estimate, and they live inside the assortment rather than loose in the bin.
  • Counting something does not start it over. When one kind turns out to matter, give it a real quantity and it becomes a counted item in place, keeping its history, tags, photos, and the QR label already stuck on the thing. Scanning a newly bought one in files it alongside, and your estimate is left alone rather than silently corrected.

What a record shows first​

A record shows what its collection is for and folds the rest into one More about this item row, so a box of tea does not carry a serial-number box, a lending form, a service log and a contents panel. Assets and machines fold the same way: the service fields, quantity and contents show when the collection wears that face and sit behind the row otherwise.

Quantity reads as the number in lists, cards and pickers, with the unit shown only when it is part of the value: a column of "each" said nothing the QTY header had not, so countable units are dropped, while a part measured in grams still shows "750 g". Your own units are classified the same way, so a custom countable one is dropped and a custom "sq ft" is kept. The unit is still set on the item's own page.

Serial numbers and units​

When you record serial numbers for something you also count (twenty laptops, each with its own serial), Cobblr keeps both numbers and doesn't pretend they are one.

  1. Open the item and use the Units panel.
  2. File each serial by typing, or tap Scan to read them off the labels one after another with the camera.
  3. Record who holds each one (a person, a department, whoever borrowed it) from the Assign cell next to it.
  • Every serial becomes its own record you can open, label, and place.
  • While you're still scanning serials in, the item just notes how many aren't scanned yet.
  • If the two numbers are still apart once you stop, it asks which is right instead of guessing: keep the count, or take the serials as the truth, which lands as a normal stock change with a line in the item's history.

Containers and contents​

An item can hold other items. Every item's detail has a Contents panel, the same one machines and assets use, so a container you track as a single item can be itemized in place. Fill it three ways from that panel:

  1. Add something you already track.
  2. Type a name to create a brand-new item and add it in one step.
  3. Tap Scan in to open the camera already filing everything you scan straight inside.
Nothing converts, and how to itemize a bag of parts from an invoice

Track "box of mugs" as one item today, and the day the individual mugs start to matter, open the box and add them inside. Nothing converts, and the box keeps its own record and history.

Scan in is how you itemize a bag of parts from an invoice: open the bag, Scan in, scan each one, and they land inside with no separate step to move them.

Getting things in​

The fastest way in is scanning. The pieces around inventory each have their own page:

  • locations for where things live
  • units for quantities that mean the same thing everywhere
  • catalogs for matching a new item to a reference set so its details fill in
  • purchases for the buy-side of the reorder loop