Scan, count and receive
Scan barcodes with a phone or the web app, work offline, run stock counts and cycle counts, and receive purchase orders into the right bin.
3 min read
Scan with the phone app
Tap the round scan button in the middle of the tab bar. The camera stays open: each scan shows the item’s SKU, name, variant and Current stock, and you can scan the next label straight away. Tap the card to open the item, where In, Out, Adjust and Transfer live.
- Supported codes: EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39 and QR. Deli-scale labels show Weight from barcode.
- A code is matched against barcodes, then SKUs. An unknown code offers Create item with this barcode to people allowed to create items.
- Batch Scan records many items in one go: choose Stock In, Stock Out or Adjustment, a Location and a reason, scan everything, then Submit Batch.
Working offline
The phone app keeps a list of every item code, so scans still find items without a connection. In, Out, Adjust and Batch Scan are queued and sent when you are back online (Sync now sends them right away). Anything the server rejects lands in sync issues, where you can Fix, Retry or Discard it.
If your organization requires a reason for stock out, an offline stock out without one is still posted, and flagged for review.
Scan on the web
On a laptop or tablet, open the command palette (Ctrl + K, or ⌘ + K on a Mac) and choose Scan barcode with camera, or use Scan on the dashboard. A USB barcode scanner works too: scan into the palette and press Enter to jump to the item.
Run a stock count
- In Stock counts, choose New Stock Count, give it a Name and a Location. Tick Blind count to hide expected quantities from counters.
- Start Count takes a snapshot of every active item’s current stock at that location.
- Enter or scan the counted quantities. Lines save as you go; filter on Uncounted or Discrepancies to see what is left.
- Review & complete: decide whether uncounted lines are excluded or treated as zero, check the variances, and complete. The adjustments are posted immediately.
Stock counts are on every plan. Your organization can require a reason for each variance in Settings → Reason codes (blind counts are exempt).
Cycle counts (Pro)
Instead of counting everything at once, Cycle counts spreads the work by value. Every night, items are ranked by annual consumption value (quantity used × cost): class A carries the top 80% of that value, B the next 15% and C the rest, counted every 30, 90 and 180 days by default. Change the thresholds and frequencies in ABC analysis under Thresholds and count frequency.
The page shows Overdue lines, Due this week and Next 30 days per location. Generate count creates a regular stock count for the items that are due. Days follow your organization’s time zone.
Receive a purchase order
A purchase order can be received once it is sent. On the order, use Receive Shipment to enter every line at once (leave 0 to skip a line), or receive line by line. On the phone, Scan to receive ticks lines off as you scan. Partial deliveries are fine: the order shows Partial until every line has arrived, then Received. A receipt entered by mistake can be undone.
- Batch number and Expiry date are asked for on each line, and required when lot or expiry tracking is Required.
- Put away to suggests a bin: one that already holds the item, where it was last received, or the receiving location. Stock stays within the order’s warehouse.
- Ordered in cases? Count by switches between packs and units and shows the conversion.
- Receiving more than ordered is blocked above the over-receipt tolerance (Settings → Inventory tracking, default 0%, overridable per supplier). A manager can still Receive anyway (manager override); the receipt is marked Over tolerance.
Have the supplier’s invoice? Read invoice in the receive dialog fills in quantities, lots and expiry dates from a photo or PDF. You still confirm before anything is posted. It uses one AI document read (Starter plan and above).