← Back to Docs
Last updated: 2026-07-06

Inventory Sessions (Audits)

Inventory Sessions are the fastest way to verify “what’s really there” and keep your asset register audit-ready.

What it is

An Inventory Session is a tenant-wide audit workflow that:

  • takes a snapshot of the assets included in the session,
  • lets your team verify assets by scanning QR codes (or manually checking),
  • records changes (condition, assignee, location, notes, photos),
  • applies all staged changes to assets when the session is finished,
  • keeps a session history (visible in the sessions list and in each asset’s history).

How it works

  1. Create a session (ad-hoc) or schedule one (scheduled sessions create an upcoming ad-hoc session ahead of time).
  2. Configure scope:
    • location (or All Locations), and
    • whether to include all asset statuses (or exclude retired assets).
  3. Start the session to generate the asset snapshot (the “expected list” for this audit).
  4. Verify assets by scanning QR codes; capture updates (condition/assignee/location/comments/photos).
  5. Finish the session to apply the changes.
  6. Review results and download a CSV summary.

In-app workflow (current UI)

  • Sessions list: /inventory-checks
    • Search sessions
    • Create New Session (modal)
    • Schedules (go to /inventory-checks/schedules)
  • Dashboard card: shows one session summary at a time, in this order:
    • active session
      • includes the latest scan details while the session is in progress
    • scheduled session
      • shows the earliest upcoming scheduled session, with today allowed
      • shows assignee name or Not assigned
      • shows location name or Multiple
    • last completed session
      • shows the completed timestamp when available
    • Schedule Now block when no session exists
  • Session detail: /inventory-checks/:id
    • Status: ScheduledIn progressCompleted
    • When Scheduled, Edit opens the session modal so you can update the session before it starts
    • On mobile layouts, Edit lives in the Actions menu instead of a separate button
    • Start generates the asset list
    • Progress shows scanned count and % complete
    • When In progress, Complete opens a confirmation prompt if some items are still unscanned
    • Mobile scan mode: /inventory-checks/:id/scan (camera-first flow for phone audits; the entry button is shown on mobile layouts)
    • During In progress, you can manually adjust scope:
      • Include item (add asset to this active session snapshot)
      • Exclude on a row (remove asset from this active session snapshot)
    • Exclude guardrail: already scanned items cannot be excluded
    • During In progress, each item has a View action that opens the scan modal
    • When Completed, you can request a downloadable report

Important constraints

  • Optional enforcement: when enabled in workspace settings, completing a session will mark unscanned items as Lost.

Mobile scan loop

  • Open Mobile scan from an in-progress session on a mobile layout.
  • Camera scans QR labels in a loop with immediate feedback.
  • Mobile scans accept the short /t/:uniqueTag QR label route used by printed asset labels.
  • Mobile scan uses native browser QR detection when available and automatically falls back to a compatibility decoder for browsers with limited BarcodeDetector support.
  • Progress and recent scans update after each scan.
  • Accepted camera scans show a centered confirmation overlay for about 2 seconds, with an OK button for immediate dismissal.
  • Scan result feedback stays on screen briefly before the next automatic camera detection cycle.
  • Duplicate scans are non-blocking (already_scanned).
  • If asset is outside the session scope: not_in_session.
  • If session is location-scoped and asset location differs: wrong_location, with optional Mark anyway override.
  • Undo last scan is available directly from mobile scan mode.
  • Manual code input is always available below the camera as a fallback path.
  • Optional scan feedback controls are available in mobile scan: Beep, Haptic, and Test feedback.
  • Feedback depends on browser/device support and permissions (some mobile browsers restrict audio or vibration).
  • Camera unavailable is shown only when camera initialization fails; scan processing errors should not replace an active camera preview with this message.
  • Optional tenant setting: Configuration → Workspace → Allow edit fields in mobile scan mode enables condition/location/assignee/comment updates while scanning.