Skip to content

Inventory

Inventory in Lyra is a bounded activity (with a start and an end). You start a session, walk the shelves with a scanner, and close the session for a report of what was found, what was missing, and what turned up unexpectedly.

This page covers the model and the routine. For the troubleshooting view of “the scanner isn’t working,” see Troubleshooting: scanning.

A session is a snapshot of the collection taken at the moment you start, plus the scans you make against it.

The snapshot matters because the collection could move while you’re walking the shelves: books get checked out and checked in, new copies arrive, lost ones get found. Every scan checks against the world as it was at session start.

Sessions are bounded in time. They open, they get scanned against, they close.

Go to Library level navigation path: Catalog then Inventory, then select button: Start inventory. Only one inventory can be open per library at a time — while one is running, the button is unavailable and the page says message: An inventory is already open. Close it before starting another.

At session start, pick the scope. Two choices:

  • button: All copies. Every copy in the library enters the snapshot, regardless of where it is right now. The standard choice for an annual inventory.
  • button: On-shelf copies only. Excludes copies that are checked out at session start, so active loans aren’t counted against the missing list.

The snapshot of the copies in scope is locked the moment you start, and the scope is fixed for the rest of the session. New checkouts and returns during the session don’t change what’s in scope — you’d start a new session to re-scope.

With the session open, every barcode you scan is matched against the snapshot and lands at the top of the tab: Recent scans feed, one row per scan: the item and its cover, the copy’s barcode, its call number, what the scan did, and when. What the scan did is usually nothing worth saying — a copy counted is the ordinary outcome, so its row carries no mark at all, and the marks are saved for the three scans that need reading.

  • Counted. The copy is in scope, wasn’t checked out at session start, and this is its first scan. The row arrives with an empty result and the Found tally goes up.
  • Unexpected Matched, but not expected on the shelf. Either the copy was checked out at session start — a return that came in mid-session, or a copy the system still thinks is with a patron — or it isn’t in the snapshot at all (added to the catalog after start, or excluded because it was on loan when you chose “on-shelf copies only”). A line under the badge says which.
  • Already scanned. The same copy was scanned earlier in this session. Usually a stray double-scan at the desk.
  • No matching copy. The barcode doesn’t match any copy in this library — an old vendor sticker, an ISBN, a Library of Congress number, a label from another system, a copy that lives at a different library, or one that was never created in Lyra.

Every scan sounds, too, which is what you work by when you’re looking at spines rather than at the screen: one tone for a copy counted, a second for a scan that didn’t add to the count (already scanned, or unexpected), and the error tone for a barcode that matched nothing. The cue is the same whether the barcode came from a wedge scanner or the camera. If you’d rather work in silence, turn scan sounds off in your preferences.

The field: scan bar is the same control as the one on Check In and Check Out, and behaves the same way: it takes the cursor when the page loads, and if the cursor has landed on a button or a row, the first character of the next scan pulls it back and is typed in, so the scan still lands. Pressing key: / does it deliberately. If a scan does nothing at all, the cause is almost always a browser extension or the wrong tab being in front (see Troubleshooting: scanning).

At the shelf with a phone there is no wedge scanner, so use button: Scan with the camera under the field: scan bar instead. The camera stays open as you work along the shelf, counts what it has read, and shows each scan’s classification — found, unexpected, already scanned, or unknown — inside the camera view. Scans land in the session the moment they’re made, so a session left open on the desk computer shows the shelf walk’s tallies building as it happens. This pairs with a wireless scanner’s use case in What you’ll need: the phone in your pocket already covers it.

An Unexpected scan also says so under the field: scan bar, since it’s the one classification worth pausing on mid-walk; a counted copy and an already-scanned one are the arriving feed row and nothing else. Dismiss the note with its ✕, or just scan the next barcode — the next scan replaces it.

None of these is a step you have to clear. The results are informational and per-session — they tell you what just happened, don’t carry over to the next session, and roll up into the running tallies at the top of the session (Found, Remaining, Unexpected, Unknown) and into the report when you close. An already-scanned scan stays in the live feed only; the rest reappear on the report. A high Unexpected count is worth a look — a returned book scanned on the shelf can point to a check-in that never happened or a return that bypassed the system.

Alongside tab: Recent scans, the session has a tab: To be scanned tab listing every in-scope copy that hasn’t been scanned yet (copies that were on loan at session start aren’t on it). As you scan, rows drop off.

Sort by call number to plan a walk; sort by location to sweep one shelf section. You can also sort by title or barcode, and narrow the list by search term or location. The setting: Locations filter lists every location in the session’s scope, not just the ones still on the list, and counts what is left to scan in each — so a room reading 0 is one you’ve finished, and it stays there rather than disappearing out from under the filter you set. Copies that remain at session close are the ones that weren’t found.

For walking the shelves with a paper list when scanning isn’t practical (a power outage, a contractor cleaning carts, an older mobile setup), the tab: To be scanned tab exports to a spreadsheet: the toolbar’s button: Download menu, or button: Download in the selection band for just the rows you’ve ticked. The button: Download menu says what it covers before you press it — every copy left to scan, or the number your filters have narrowed that to. The download is the same catalog export workbook, scoped to the unscanned copies, and it is a snapshot of that list at the moment you export.

Use the paper list to physically check copies off as you find them, then come back to the desk and scan them into the session. There’s no re-import step: the CSV is for walking the shelves, and scanning is how copies get marked found.

Close a session from the session page with button: Close inventory, then confirm with button: Close inventory in the dialog. Closing finalizes the report and is irreversible — once closed, no more scans can be added, and you’d start a new inventory to scan again.

The report opens on the tab: Missing tab and has four tabs, each with a count:

  • tab: Found. Copies in scope that you scanned. The session validated them.
  • tab: Missing. Copies in scope that were never scanned — flagged for follow-up. They’re listed in call-number order with each copy’s location, so the list reads in the order you’d walk the shelves to look for them. A copy that got checked out mid-session shows a status: Checked out status (with patron and due date), one you’ve since marked lost shows status: Lost, and the rest show status: Not accounted for. Search the tab by title or barcode, and use the pinned setting: Status filter, which carries those same three values, each with its count — so “which of these is nobody holding and nobody has written off” is one filter.
  • tab: Unexpected. Copies you scanned that weren’t expected on the shelf: returned mid-session, or not in the snapshot. Each row says when it was scanned, newest first.
  • tab: Unknown barcodes. Barcodes you scanned that don’t match any copy in the catalog.

Summary cards above the tabs show In scope, Found, Missing, Unexpected, and Unknown counts.

Each tab exports as menu item: Excel or menu item: CSV: the toolbar’s button: Download menu exports the tab as searched and filtered, and button: Download in the selection band exports just the rows you’ve ticked. The workbook has one sheet named for the tab, and scan times are on your school’s clock.

On the report’s tab: Missing tab, a library manager can mark a status: Not accounted for row as lost with the row’s button: Mark lost, which confirms the copy’s barcode and what marking it lost does before it happens. The copy is treated as missing and is no longer available for circulation. The item still exists, and another copy may circulate if the item has multiple. The lost status is reversible if the copy turns up.

The row keeps the record: a copy you marked lost stays on the tab and reads status: Lost rather than still claiming to be unaccounted for, and its action becomes button: Mark found — the way back, in the row that took the copy out of circulation. Recovering a copy is open to any staff member, not just a manager, because the barcode confirmation is the gate.

Copies that were checked out mid-session show a status: Checked out status and no action at all — they’re with a patron, not missing. Weeding (removing copies that are damaged or out of scope) is a separate workflow on the catalog surface, not part of inventory.

Sessions persist. Open the screen: Inventory page in the staff app and you’ll see every prior session for the library: its dates, what the scope was, its final counts, and whether it is still open.

Two things this enables:

  • Year-over-year comparison. Look at last year’s missing list against this year’s. Items that show up in both are stable losses; items new to this year are recent.
  • Audit trail. If a board or business office asks “what happened to that book,” the inventory record has the date the copy was last verified on shelf.

The historical record is read-only. Closing a session locks it.

  • Lists are the curation surface that sits separately from inventory.
  • Troubleshooting covers scanner issues that come up during inventory walks.
  • Item import is the path for adding new copies to the catalog.