Items and stock
Your stock items in the back office — what is on hand, what each costs, barcodes, bottle weights, stock areas, adjustments, pars and Activity.
On this page
Inventory is where you keep the things you stock — bottles, mixers, garnish, consumables — with what is on hand, what each one costs and a record of every movement. This page covers the Items tab and everything on it, and the Activity log. Inventory is only on plans that include it — see Plans and billing.
The Inventory section
In the back office, click Inventory in the sidebar, under Catalogue. It always opens on Items. The other tabs are Counts, Purchasing (with Orders, Invoices and Suppliers inside), Waste and Activity.
Who can do this: admins and managers.
- On a plan without inventory, Inventory isn't in the sidebar, and an inventory page shows "Inventory isn't part of your plan" instead, with Change plan in Billing for an admin (see Plans and billing). On the iPads, Waste, Count and Purchasing are left out of More too.
- While Barform is paused (the subscription unpaid for 15 days) or after the subscription has ended, the whole back office is read-only, inventory included: you can still look and export, but saving changes nothing ("Nothing was saved."). See Plans and billing.
Read the Items list
Items has one row per item, with what is on hand, its par, a badge when it needs a hand, and its cost. The switch at the top left changes between Stock (this list) and Par & reorder (see Set par and reorder points).
Each row shows:
- The item's name, with its category, area, container size, supplier and SKU under it.
- On hand — for a bottle, whole bottles to one decimal ("4.3 bottles") with the millilitres under it; for anything else, the quantity and its unit. An item that has never been counted and has nothing shows "—".
- Par — in bottles, or in the item's unit if it isn't a bottle. "—" when no par is set.
- Status — a badge, only when the item needs a look (see below).
- Cost — the price of one bottle at the item's average cost ("per 750ml"), or the cost per unit for an item that isn't a bottle. See How item costs work.
The list shows 50 rows per page. Click a row, or its ··· menu › Edit, to open the item.
What the status badges mean
| Badge | When it shows |
|---|---|
| Recount | On hand is below zero: more was sold than the books held, so the shelf needs a look. |
| Not counted | On hand is 0 and no finished count has ever recorded the item. |
| Out (red) | On hand is 0 and a finished count has recorded the item before. |
| Low (amber) | On hand is at or below the item's reorder point, when one is set. |
| No badge | The item is in stock. |
Find, filter and sort
- Type in Search name, SKU, or barcode. It matches the name, the Spanish name, the SKU, or any part of any of the item's barcodes. Accents count in this search: "limon" doesn't find "Limón".
- Narrow the list:
- All categories — one category.
- All areas — one stock area, or Unassigned. This menu appears once you have stock areas.
- The status menu — All items, Needs attention (any badge), To reorder (Low or Out), Recount or Not counted. Each option shows how many active items it holds.
- Click the Item, On hand, Par or Cost column header to sort. Click it again to reverse the order.
Export the list
Click More › Export CSV. The file holds the rows your search and filters show, with the columns Name, SKU, Barcode (all of an item's codes), Category, Unit, Unit cost (MXN), On hand, Par level, Reorder point and Supplier.
- Category and unit are written as short codes, such as
spiritandml. - On hand, par and reorder point are in the item's unit — millilitres for a bottle.
- Unit cost is the exact average cost of one unit (one ml for a bottle).
The "not counted" banner
When the on-hand figures are estimates, a banner above the list says so, with a Start a count link to Counts:
- "Stock has never been counted, so on-hand figures are estimates." — no full count has ever been finalized.
- "Stock has not been counted since …, so on-hand figures are estimates." — the last finalized full count is more than 30 days old.
- "Only 40 of 120 items have ever been counted, so most on-hand figures are estimates." — fewer than 80% of your active items have ever been counted.
See Stock counts.
Create an item
An item is one thing you stock. It can start with an opening quantity; after that, its stock changes only through counts, deliveries, waste, sales and Adjust.
- Go to Inventory › Items and click New item.
- Under Identity:
- Type Name (EN) — required, up to 120 characters. Optionally type Nombre (ES); the back office searches it too, and the lists show the main name.
- Pick a Category: Spirit (the default), Beer, Wine, Mixer, Garnish, Food or Consumable.
- Optionally type a SKU (up to 64 characters) and pick the Supplier you usually buy it from, or leave No supplier.
- Under Size and cost:
- Pick the Unit: oz, ml, each (the default) or g.
- Type the Container size, for example
750mlor1 L(up to 40 characters). - Type the cost. For a bottle the box is named after your container size — for example Cost per 750ml — and takes the price of one bottle; the exact cost per ml shows under it. For anything else it's named after the unit, for example Cost per each.
- For a bottle, Sealed bottle (g) and Empty bottle (g) appear. Fill them in if you know them (see Bottle weights).
- Under Counting:
- Type any Barcodes, separated by commas.
- Pick an Area. This appears once you have stock areas.
- Type the Opening quantity on hand.
- Under Reordering, type Par (containers) and Reorder at (containers). What Barform stores shows under each box, for example "= 1500 ml".
- Click Create. You see "Item created".
Warning
Opening quantity on hand is in the item's unit, not in bottles — for a bottle, in millilitres. For three 750 ml bottles, type 2250. Typing 3 records 3 ml. (Par and reorder on the same sheet are in bottles.)
The opening quantity is recorded in Activity as a Count correction, so the log and the on-hand figure always agree. If it can't be recorded, the item isn't created and the sheet says "Could not record the opening balance: …".
If a par or reorder box can't be read, you see "Enter par and reorder as a number of containers"; if the cost can't be read, "Enter a valid unit cost".
What makes an item a bottle
An item is a bottle when its unit is ml and its container size reads as millilitres or litres. For a bottle, par and reorder are typed in bottles, on hand shows bottles, the iPad counts it in bottles (by tenths or on a scale), and waste can be entered in bottles.
How the container size is read:
- If "ml" appears anywhere, the first number is the millilitres: "750ml", "1000 ml bottle".
- Otherwise, a number next to a litre word — l, lt, lts, litro, litros, litre, litres, liter, liters — is litres: "1 L", "1,5 litros". A comma counts as a decimal point here.
- Anything else — oz, each, g, or ml with no size Barform can read — is counted in its own unit, and one "container" is one unit.
Good to know about items
- Category groups the item on the iPad count, sets how an open bottle is worked out from its weight, and sets which bottle weights are believable.
- Par (containers) and Reorder at (containers) are typed in bottles and stored in the item's unit (bottles × the bottle's ml).
- Supplier is the item's usual supplier. Ordering proposals group items by it.
- SKU is free text you can search. A supplier invoice can match a line to the item whose SKU equals the line's product code (see Receiving and supplier invoices).
- A new bottle saved without weights takes the shared catalogue's weights straight away, if the catalogue knows it.
- An item you add while a full count is open joins that count (see Stock counts).
- Two items can have the same name.
- Items can't be deleted, only archived.
- Items are created here or by importing a spreadsheet. Admins also find Import under More on Items. The iPad can't create items.
Edit an item
- Click the item's row, or its ··· menu › Edit. The Edit item sheet says "Stock on hand changes through Adjust, not here."
- Change any field. The cost is locked: click Edit cost to change it. (It's open from the start only when the item's cost is 0.)
- Click Save. You see "Item updated".
Only what you change is saved. A cost you didn't touch is never rounded, and a barcode or weight an iPad added while the sheet was open is kept. If you change the bottle size, the old bottle's weights are cleared: "Saved. The bottle's size changed, so the weights recorded for the old bottle were cleared — weigh a sealed one again."
How item costs work
Each item keeps two costs, both before IVA:
- The average cost, shown as Cost, is the average of what is on the shelf. Every delivery blends in what it cost. Everything valued at cost uses it: waste, count differences, drink costs in recipes and the Cost column on Items. The item sheet explains it: "The average of what is on the shelf: each delivery blends in what it cost."
- The last price paid is what the supplier charged on the latest delivery. New orders and deliveries start at it. The item sheet shows it under the cost, for example "Last paid: $300.00 per 750ml".
For example: you have 10 bottles that cost $280.00 each, and a delivery brings 2 more at $300.00. The cost becomes $283.33 a bottle — (10 × $280.00 + 2 × $300.00) ÷ 12 — and the last price paid becomes $300.00.
- When on hand is 0 or below, or the item never had a cost, the price paid becomes the cost.
- A line at $0 (a free bottle) adds the stock and changes neither cost.
- A cost typed by hand — on the item, in Edit costs or in a spreadsheet import — sets both the cost and the last price paid. Barform stores what you type: it doesn't add or take off IVA.
- Counts, waste and sales move stock at the average cost. They never change it.
- Costs are kept exact, to fractions of a cent. For a bottle you type the price of the bottle; Barform keeps the cost per ml and shows the bottle's price back, rounded to the cent. A cost per unit shows at least two and up to six decimals ("0.017").
- You can type amounts like "1,500.50", "289", "289,50" or "0,385". A $ sign and spaces are ignored.
Tip
The average is only as good as the on-hand figure. An item whose stock reads below zero takes the next delivery's price as its cost, so count the bar before your first deliveries.
Correct one item's cost
- Open the item and click Edit cost beside the cost.
- Type the price of one bottle (for a bottle) or of one unit. The exact cost per ml shows under the box.
- Click Save.
Set costs for many items
Use this when you start out, or to fix mistakes. Deliveries keep costs up to date by themselves, so this is mostly for items no delivery has come in for yet.
- Go to Items › More › Edit costs. Every active item is listed A–Z, with a search box that looks at the name, the Spanish name and the SKU.
- Type the cost in each row you want to change, under Cost (MXN): the price of the bottle for a bottle, the cost of one unit for anything else.
- Click Save. You see "X items updated". Rows you didn't touch aren't saved.
A row Barform can't read, or a bottle price over $1,000,000, is refused: "Check the numbers for Ron blanco."
Barcodes
An item can answer to several barcodes — the same rum from two suppliers carries two codes. On the iPad, scanning a bottle finds its item in Count, Waste and Receive delivery. A code nobody has taught yet asks once which item it is, and every later scan knows it.
Add or remove codes in the back office
- Open the item. In Barcodes, type the codes separated by commas ("Several codes? Separate them with commas. The iPad adds codes as it scans them.").
- Click Save.
- You can add up to twenty new codes per save ("Up to twenty new barcodes per save.").
- A code belongs to one item. If another item has it, you see a message such as "1234567890128 is already on Ron blanco."
- "“…” isn't a barcode — 6 to 64 letters or digits." means Barform can't read what you typed as a code.
- To move a code to another item, remove it from the first item and add it to the second. Only the back office can move a code.
Scan a bottle on the iPad
- Tap the barcode button beside the search field. Scan a barcode opens.
- Point the camera at the barcode inside the frame, or type the numbers in Type the code and tap Look up. Torch lights the label.
- A code Barform knows closes the scanner and opens that item.
Teach the iPad a new code
Who can do this: anyone signed in on the iPad.
- Scan the code. The scanner changes to New barcode: "1234567890128 isn't known yet. Which item is it? Every later scan will know it."
- Type part of the item's name in Search inventory and tap the item. The code is saved and the item opens.
- Scanned the wrong thing? Tap Scan another code.
A scan never takes a code away from another item: "That code is already on Ron blanco. A manager can move it in the admin."
How codes are read
- Only letters and digits count, and capitals don't matter. A 12-digit UPC code and the same code with a 0 in front are the same code. A code has 6 to 64 characters.
- In the back office box, codes are split at commas, semicolons and new lines — and at spaces only when every piece has 8 or more characters, so a code printed with spaces, like "1 234567 890128", stays one code.
- The camera reads EAN-13, EAN-8, UPC-E, Code 128, Code 39 and ITF-14 codes — not QR codes. With two labels in view, the one nearest the centre wins, and the same code read twice within 2 seconds counts once.
- Each scan opens and closes the scanner, so scan one bottle at a time.
- "That code belongs to an archived item — restore it in the admin first." — restore the item to use its code.
- Teaching a code needs the connection: "Offline — the code can be taught once the connection is back."
- The scanner needs the iPad's camera. Without one: "No camera on this device — type the code below." If the camera is turned off for Barform: "The camera is off for Barform POS. Allow it in Settings, or type the code below." — Open Settings takes you there.
Bottle weights
A bottle's sealed weight — and, better, its empty weight — lets the iPad count an open bottle on a kitchen scale instead of by eye. You can type the weights here, record them on the iPad the first time a bottle is weighed, or take them from Barform's shared catalogue.
Who can do this: in the back office, admins and managers. On the iPad, anyone can record a weight that is missing; changing one already recorded needs an admin or manager.
Type a bottle's weights
- Weigh a sealed bottle with the cap on and the pourer off. For exact counts, also weigh an empty one the same way.
- Open the item and type the grams in Sealed bottle (g), Empty bottle (g) or both ("For weighing the open bottle during a count: pourer off, cap on. The iPad records these the first time a bottle is weighed.").
- Click Save.
Use the catalogue's weights
- For one bottle: when the catalogue knows a bottle that has no weight yet, its row shows a line such as "Suggested weight: 1,200 g sealed · 450 g empty" and Use. Click Use: "Weight filled for Ron blanco".
- For every bottle the catalogue knows: click Fill weights from catalogue (X) above the list. Confirm with Fill weights: "Only bottles with no weight yet take one — a weight you already recorded is never changed. Each one stays editable." You see "X weights filled".
Rules for weights
- Weights are whole grams, from 1 g to 20 kg. Only a bottle can be weighed: "Only a bottle with a size in ml is weighed."
- Barform refuses weights that can't belong to the bottle. The drink inside (sealed minus empty) must weigh like the category's drink: spirits 0.85–1.30 g per ml, wine 0.90–1.15, beer 0.95–1.10, mixers 0.95–1.45, anything else 0.60–1.60. A sealed bottle must be heavier than an empty one, and each weight must be believable for the bottle's size. Otherwise you see "Those weights don't fit a 750 ml bottle — check the scale."
- Other messages: "Enter each weight in grams, as a number.", "A weight must be between 1 g and 20 kg.", and "No weight to fill: it no longer fits this bottle." when a suggestion no longer applies.
- Weights are edited one item at a time in the back office.
The shared weight catalogue
- The catalogue is shared by every Barform venue and is anonymous: it keeps no venue, item or person — only a barcode, or a name and size, with the average sealed and empty weights and how many items taught them.
- It learns from every weight recorded on an iPad, from weights typed in the back office, and from saves of items whose weights were measured at your venue. Weights that were only filled from the catalogue never teach it.
- A suggestion is found by barcode first, then by name and size (names match ignoring capitals, accents and extra spaces). Only weights that fit the item's bottle and category are offered; when there are several, the one most items taught wins.
- Use and Fill weights never overwrite a weight the item already has.
Whether the iPad counts open bottles by weight is set by Counting method — see Stock counts.
Stock areas
Stock areas are the stops on your counting walk — Bar, Walk-in, Storeroom — in walking order. Each item can be in one area. Areas only organise counts and lists: every item keeps one stock figure for the whole venue.
Set up your areas
- Go to Items › More › Stock areas.
- Type a name in New area name and click Add (or press Enter). New areas go to the end of the walk.
- Use Move up and Move down to put them in walking order. Click Done.
- To rename an area, edit its name in its box and click away.
- To delete an area, click its bin icon and confirm "Delete "Walk-in"? Its items keep their stock and move to Unassigned."
Put an item in an area
Open the item, pick its Area and click Save.
Rules for areas
- A name has 1 to 40 characters and can be used once (capitals and spaces at the ends don't make a new name). You see "An area with this name already exists." or "Enter a name of 1–40 characters." otherwise.
- An item is in one area or none (Unassigned). Deleting an area moves its items to Unassigned and never changes a quantity.
- Areas show in the area filters on Items and Par & reorder, on each item's row, in the area sections of the iPad count and the back-office count, and in the iPad's Count only… menu.
- There is no stock per area and no moving stock between areas: a bottle on the rail and its twin in the storeroom are counted as one total.
Adjust stock
Adjust changes an item's on-hand quantity outside counts, deliveries, waste and sales — for a correction, or stock that arrived without a delivery record. Every adjustment is a line in Activity.
Open the item's ··· menu › Adjust. The dialog Adjust stock — Ron blanco (with the item's name) opens and shows "On hand now: …".
Set the quantity on hand
- Click Set on-hand to.
- For a bottle, choose Bottles or ml beside the box ("One bottle is 750 ml."). Type the new figure in New on-hand count.
- Check the preview, from the figure now to the new one, and click Apply. You see "Stock adjusted".
Barform records the difference from what is on hand at that moment as a Count correction, so a sale that lands at the same time isn't lost.
Add or remove stock
- Leave Adjust by selected.
- Type the amount in Change (+ adds, − removes), in bottles or in the item's unit: 2 adds two, -1 takes one away (a typed − or + works too).
- Pick a Reason: Received (the default), Transfer, Adjustment or Count correction.
- Click Apply. You see "Stock adjusted".
The box reads 1,500 as fifteen hundred and 1,5 as one and a half; a figure it can't read shows "Enter a number".
Rules for adjustments
- Quantities are rounded to 3 decimals, and bottles are turned into the item's unit.
- An adjustment never changes the item's cost.
- Waste isn't a reason here: "Broken, spilled or spoiled stock is recorded as waste, so it keeps why, who and what it cost." The Record waste link opens the Waste page (see Waste).
- "On-hand can't be negative" — Set on-hand to takes 0 or more. "That doesn't change anything" — the result would be what is on hand now.
- The preview warns "(will go negative)" when the result would be below zero, for example when you add to an item that is already below zero. It still applies.
- Archived items can't be adjusted.
- There is no undo. Correct a mistake with another adjustment.
Archive and restore items
Archiving retires an item you no longer stock: it disappears from the item lists and every picker, but keeps its stock and history. You can restore it at any time. Items are never deleted.
Archive an item
- Open the item's ··· menu › Archive.
- Confirm "Archive "Ron blanco"? It will hide from inventory." with Archive.
- "Item archived" appears, with Undo to bring it straight back.
Barform won't archive an item that a recipe or a modifier option still pours: "Can't archive — still poured by 2 recipes (Mojito, Daiquiri). Remove it from those first; an archived bottle would keep depleting while hidden from counts." The message names up to four recipes or options. Take the item out of those recipes, or unlink it from those options, first (see Recipes and wells and Modifiers).
Restore an item
- Go to Items › More › Archived (X). This appears only when you have archived items.
- Click Restore on the item. You see "Item restored".
- More › Stock takes you back to the normal list.
What archiving changes
- Archived items are left out of new full counts, waste, barcode teaching, weighing, Adjust, Par & reorder, par suggestions and every picker.
- An item archived during an open count keeps its line in that count, and finalizing still posts what was counted.
- Restoring an item while a full count is open adds it to that count.
- On the iPad, scanning an archived item's barcode says "That code belongs to an archived item — restore it in the admin first."
Set par and reorder points
Par is the level you buy back up to, in whole bottles. The reorder point is the level at which an item reads Low. The ordering proposals — From par on the iPad and Draft from stock in the back office — order up to par (see Purchasing and suppliers).
On Items, click Par & reorder in the switch at the top left, or More › Par & reorder. Back to items returns to the list. The table lists every active item.
Set pars by hand
- Optionally type in Search name or SKU, filter by category or area, or click No par set to see only items with no par.
- For each row, type the par in Par (containers) and the reorder point in Reorder at (containers). The ml figure shows under each box.
- The bar at the bottom counts your edits across pages and filters ("Unsaved changes: X rows"). Click Save par levels — you see "X items updated" — or Discard to drop the edits.
- A reorder point above par shows "Above par" in amber, but still saves.
- The Reorder at column's tip says what it does: "Below this, the item shows as Low. Orders always top up to par."
- One save takes up to 500 rows: "Too many rows at once — save up to 500 at a time. Nothing was saved."
- A box you didn't touch is never saved again, so its stored figure isn't rounded.
Accept suggestions from sales
Barform suggests a par for each item from what it sold over the last 28 nights.
- When there are suggestions, a line says "X items sell enough to suggest a par." Click Review suggestions.
- Suggested par levels lists each item with Sold / week, Par now and Suggested. Untick any you want to set yourself. Reorder points are left as they are.
- Click Accept X. This saves at once: "X par levels set".
To take one suggestion, click Accept X in its Sold / week cell, where X is the suggested par. It types the suggestion into the par box; then click Save par levels.
Choose how long a par should last
Pick Cover 1 week (the default), Cover 10 days or Cover 2 weeks. The suggestions reload; boxes you have typed in stay as they are.
How suggestions are worked out
- Sold / week is what the item sold over the 28 nights before the current one, per week. Barform counts back in seven-night blocks from the last night, leaves out blocks in which the bar sold nothing at all, and for an item first sold inside those 28 nights counts only the nights since its first sale. Waste doesn't count as sales.
- It shows in bottles — whole numbers from 10, one decimal from 1, two decimals below that, and "<0.01" for a trickle — with the number of nights it sold under it ("X nights").
- Suggested par = sold per week × the cover's days ÷ 7, rounded up to whole bottles, and at least 1.
- Less than a week of sales is thin: it shows "only X nights — check it" in amber. Thin items are left out of Review suggestions and get no grey suggestion in an empty par box, but their own Accept X still works.
- "no bottle size" — an ml item with no bottle size gets its par in ml. "no sales in 28 nights" — no suggestion. Items with no sales and no par are hidden unless you search or click Show them.
- Review suggestions lists every active item with a sound suggestion that differs from its par, whatever the filters show.
- Nights start at your Service time in Settings › Hours & scheduling, in the venue's time zone (see Venue settings).
- It's a flat average with no seasons, and pars change only when someone saves them. If the suggestions can't load, the table still works: "Could not load the sales suggestions."
Note
The reorder point only drives the Low badge and the To reorder filter on Items. The ordering proposals don't use it: they order whatever is below par.
Activity
Activity is the record of every change to stock — each delivery, sale, waste entry, transfer, adjustment and count correction — newest first. The on-hand figure is the sum of this record.
- Go to Inventory › Activity. It opens on Everything except sales, because sales are most of the record.
- Pick All reasons or one reason in the reason menu.
- Type an item's name in Search item.
- Click Export CSV to download what is shown, with the columns When, Item, Reason, Qty change and Unit (quantities in the item's unit).
The columns are When (in the venue's time zone), Item, Reason and Change. Bottles show as "+2 bottles" with the millilitres under them; other items show the quantity and unit. Waste and adjustments that take stock away are amber; sales are grey.
| Reason | What writes it |
|---|---|
| Received | Posting a delivery — on the iPad or in the back office, against an order, without one, or from a supplier invoice — and Adjust › Adjust by with the reason Received. |
| Sale | A check paid in full: its drinks come off stock (see Recipes and wells). |
| Waste | A waste entry, from the iPad or the Waste page. |
| Transfer and Adjustment | Adjust › Adjust by only. |
| Count correction | Finalizing a count, Adjust › Set on-hand to, a new item's opening quantity, and opening stock from a spreadsheet import. |
-
When voiding a payment reopens a paid check, its stock comes back as a Sale movement with a plus sign. Paying the check again takes off whatever is on it then.
-
The page loads the latest 200 movements other than sales and the latest 200 sales. The reason menu and the search work inside those, and older movements can't be reached here. "Showing the most recent 200 movements." appears when a view is full.
-
Activity doesn't show who made a movement.