The first and only US-based cloud POS with live GSX integration · Now open to the public

Inventory Management

Every count is computed from what actually happened. Parts received, units sold, serials moved. On-hand, reserved, available, and on-order are derived by the database in real time, across every location. The number on screen is the number on the shelf.

BenchOS inventory management: per-location stock levels, on-hand counts, serialized units, and purchase order status in a single view BenchOS inventory management in light mode: stock levels by location with on-hand, reserved, and available counts

Stock by location

Every product tracks stock independently at each store. On-hand is the signed sum of every movement (receipts, sales, adjustments, returns), computed by Postgres. Reserved stock is derived from open tickets and serial-unit status. Available is on-hand minus reserved. On-order is derived from open purchase orders. Close a ticket and reserved drops. Receive a PO and on-hand rises. No batch job, no nightly sync.

  • On-hand, reserved, available, and on-order. All database-derived.
  • Per-location stock: every store tracks its own shelf independently
  • Transfer units between locations without losing the audit trail
  • Event-sourced ledger: every movement is a permanent, auditable record
Stock levels · Stamford
Product On hand Reserved Available On order
iPhone 15 Pro Screen 8 2 6 4
MacBook Pro 14″ Battery 3 1 2 0
iPad Air Display Assembly 5 0 5 6
Lightning Charging Port 14 3 11 0

Every serial number, tracked individually

High-value parts (logic boards, displays, batteries) get individual tracking. Each serial unit carries its own status (in stock, reserved, sold, defective), its own location, and its own history. When a tech pulls a serialized display for a repair, that specific unit is reserved on the ticket. When the ticket resolves, the unit moves to sold.

  • Per-unit status: in stock, reserved, sold, defective, returned
  • Automatic reservation when a serial is linked to a ticket
  • Full movement history for every individual unit
  • Transfer individual serials between locations
Serial units · MacBook Pro 14″ Battery
Serial Status Location
H9G4X2MVNP In stock Stamford
H9G4X2MVQR Reserved Stamford
H9G4X2MVTS Sold Newtown

Purchase orders that close the loop

Create a purchase order, send it, then receive against it. Partial or complete. Each receipt posts a ledger entry, so on-hand rises the moment parts hit the shelf and on-order drops to match. Receive three of five units and on-order shows two remaining. Cancel a line and on-order adjusts instantly.

For Apple repairs on the AASP plan, submitting a GSX repair auto-posts the ticket's Apple parts PO. Once Apple accepts the repair, those parts are really on order, and the PO reflects it without anyone clicking a button.

  • Create, post, receive, and close POs from one screen
  • Partial receiving: receive what arrived, track what's still coming
  • On-order derived from open PO lines. Always current.
  • Manage suppliers centrally and link them to POs
  • GSX repair submissions auto-post Apple parts POs
PO-260905-STM1 · Stamford
Part Ordered Received Status
iPhone 15 Pro Screen 4 4 Complete
iPad Air Display Assembly 6 2 Partial
USB-C Charging Port 10 0 Ordered
Total: $1,247.50 Partially received

Apple parts, priced live from GSX

On the AASP plan, Apple parts lookup lives inside the repair ticket. Scan a serial and BenchOS pulls every eligible genuine Apple part from GSX with the correct warranty, exchange, and retail pricing tiers. The AASP labor tier that drives your reimbursement is read straight off the part card, so the invoice Apple pays you is always right.

Apple returns part prices as comma-grouped strings. BenchOS parses them exactly, so a $1,143 logic board is $1,143, not $1. Parts order directly from the ticket, and the purchase order posts automatically when you submit the repair to Apple.

  • Every eligible genuine Apple part, priced live from GSX
  • Warranty, exchange, and retail pricing handled correctly
  • AASP labor tier read from the part card for reimbursement
  • Parts order directly from the ticket, PO auto-posts on submit

Apple GSX integration requires the AASP plan. See plans →

GSX Parts Lookup AASP
Part Price Tier
Enclosure, iPhone 15 Pro Max $299.41 FR40
Display, iPhone 15 Pro Max $379.00 FR40
Battery, iPhone 15 Pro Max $0.00 Warranty

Import your inventory from anywhere

Migrating from another system, a spreadsheet, or a legacy POS? Smart import maps your CSV columns to BenchOS fields automatically when the column names don't match. Upload your file, confirm the mapping in an editable preview, and import. Products, serial numbers, suppliers, and purchase orders all import the same way.

Every confirmed mapping teaches the system, so the next shop migrating from the same source gets pre-matched columns with zero effort. And every export from BenchOS re-imports with zero mapping. Full round-trip, no lock-in.

  • AI-assisted column mapping for any CSV format
  • Preview every row before anything writes. New, updated, and skipped.
  • Products, serial units, suppliers, and POs all in one wizard
  • Export everything back out: your data, your format, no lock-in
Smart Import · Products
Your column → BenchOS field Match
Item Name → Product name AI
SKU → SKU Exact
Sell Price → Price AI
Qty In Stock → Stock quantity AI

Stop counting and start selling

BenchOS inventory is free on every plan. Serialized tracking, multi-location stock, purchase orders, suppliers, and smart imports. All included. Add the AASP plan for native Apple GSX parts integration.

More features

Repair Tickets Payments Apple GSX Customer Portal Multi-Location All features →