How can we help?

Setup guides and configuration reference for Edventory. Search below, or browse by topic.

🚀

Getting started

Create your account and find your way around.

Creating your account & first sign-in #

Edventory accounts are created one of two ways: your district is set up by an Edventory team member, or you accept an emailed invitation from your technology director. Requesting a new district through the signup form works the same way — we review every request, and when it's approved (usually within one business day) you get an email with a link to set your password.

Open your invitation

Click the link in your invitation email. It takes you to a short setup page showing your district name and role.

Choose your name and password

Enter your full name and pick a password of at least 12 characters.

Sign in

Your account is created and you're taken straight into the dashboard. Next time, sign in at /login with your email and password.

💡
Invitation links expire after 72 hours. If yours has expired, ask your technology director to send a new one from Settings → Team.

The dashboard at a glance #

The dashboard is your daily starting point. It surfaces what needs attention so the app is worth opening every morning.

  • Fleet summary — device counts by lifecycle stage, with the next end-of-life wave highlighted.
  • Ticket metrics — open tickets, opened this week, resolved this week, and average resolution time.
  • Needs attention — devices reaching end-of-life within 90 days, overdue loaners, overdue recurring tasks, and licenses renewing soon.

Navigating Edventory #

Everything is reachable from the left sidebar. What you see depends on the permissions your administrator granted you.

The main areas are Dashboard, Devices, Inventory, Loaner Pool, Licenses, Help Desks, Recurring Tasks, Activity Log, AI Forecast, Reports, and Settings. Administrators see all of them; members see only the areas they've been given.

💻

Devices

Track your whole fleet — Chromebooks, laptops, tablets, and more.

Adding a device manually #

Most districts sync devices automatically (see Google Workspace sync and Data connectors), but you can add any device by hand from Devices → + Add Device.

Add Device
Asset tag
e.g. CB-0142
Serial number
e.g. 5CD1234XYZ
Make
Dell, HP, Apple…
Model
Latitude 3120
Device type
Chromebook
Operating system
ChromeOS
Purchase date
mm / dd / yyyy
EOL / AUE date
mm / dd / yyyy
Location / label optional
Room 204 cart
Save device
Illustration of the Add Device window. Field labels match the live app.
FieldWhat to enter
Asset tagYour district's own identifier for the device (printed on the asset label).
Serial numberThe manufacturer's serial. Used to match devices during sync, so keep it accurate.
Make / ModelManufacturer and model name — powers the AI forecast's per-model pricing.
Device typeLaptop, Chromebook, iPad / Tablet, Desktop, Printer, Monitor, or Other.
EOL / AUE dateEnd-of-life, or for Chromebooks the Auto Update Expiration date. Drives lifecycle staging and budget forecasts.
StatusActive, In repair, Loaner, or Retired.
Device name, PO number, MAC addressesOptional extras: a friendly name/description, the purchase-order number, and the wired and wireless MAC addresses. All are searchable in the device table.
Assigned toWho or where the device is for (a student, room, or cart). As you type it suggests people from your team, but free text is fine too.
ℹ️
MAC address fields only accept hex digits and separators, and must be a full 6-octet address (e.g. aa:bb:cc:dd:ee:ff) to save. Google Workspace sync and file/push imports apply the same rule, so a malformed MAC from a source is dropped rather than stored.

Device custom fields #

Track the attributes your district cares about (who a device is for, how it was funded) without waiting on a new column.

Under Settings → Device fields (administrators), define your own fields: text, number, dropdown, date, checkbox, and more. Every district starts with two dropdowns you can edit: Assigned user type (Staff, Student, Lab, Network Equipment, Kiosk) and Funding source (Grant, ESSER, Perkins, E-RATE, Department).

Fill in custom fields when you add or edit a device. Dropdown fields also appear as filters in the device table, so you can answer "show me every student device" or "everything bought with ESSER funds" in a click.

Understanding lifecycle stages #

Edventory computes a lifecycle stage for every device automatically, from its age and end-of-life date. You never set the stage by hand.

StageMeaning
NewLess than a year old — recently purchased.
ActiveWithin its expected service life and healthy.
AgingApproaching end-of-life (within roughly 18 months) or past your aging threshold in years.
EOLPast its end-of-life or Chromebook AUE date — plan a replacement.
ℹ️
The aging and lifecycle thresholds are configurable per district under Settings → District → Lifecycle thresholds. See Replacement cost & lifecycle defaults.

Importing devices in bulk #

To bring in many devices at once — from a spreadsheet, an MDM export, or another system — use a Data connector rather than adding them one by one.

  • From a CSV or spreadsheet — create a File connector and map your columns to Edventory's fields. See File (CSV) import.
  • From an MDM on a schedule — create a Pull connector. See Pull connectors.
  • From your own scripts — create an API connector and push records. See API push connector.

Printing & scanning asset labels #

From the Devices page, click 🏷 Labels to download a printable PDF of asset labels — 10 per US Letter page, ready to cut (or print on 2×5 label stock) and stick on hardware.

Choose the devices

Tick checkboxes to label specific devices, or apply filters and leave everything unticked to label the whole filtered list (up to 200 per PDF).

Pick a format

QR code or Barcode (Code 128) — see below for which to choose. For QR labels, also pick where scans land: the problem-report page (default — anyone can report an issue, no sign-in) or the device record (staff only, sign-in required). Each label also prints the asset tag, model, serial number, and school in plain text.

Download & print

Click Download labels PDF and print at 100% scale (no "fit to page" shrinking) so barcodes stay crisp.

FormatHow it's read back in
QR codeScan with any phone or tablet camera. With the default problem-report link, the code opens a public "report a problem" page for that exact device (see the next article). With the device record link, it opens Edventory on that device's record (sign-in required) — and if you're signed in on another screen too, the record pops open there at the same moment, so you can scan with the phone and read on the big monitor.
Barcode (Code 128)Use a handheld USB or Bluetooth scanner — it types the asset tag like a keyboard. Click the search box on the Devices page and scan: the list filters instantly, and when exactly one device matches, the scanner's Enter keystroke opens it. The query is re-selected after each scan, so you can scan device after device without touching the keyboard.
ℹ️
No scanner hardware? The plain-text asset tag is printed on every label — type it into the Devices search box and press Enter.
⚠️
iPhone tip: scan QR labels with the regular Camera app (point and tap the yellow link), which opens Safari and keeps you signed in between scans. The Control Center Code Scanner and many third-party scanner apps open each link in an isolated in-app browser that forgets your session — making you sign in on every single scan.

QR self-service problem reports #

Every QR label printed with the default problem-report link doubles as a help desk intake point: a student or teacher scans the sticker, describes what's wrong, and a ticket is filed against that exact device — no app, no sign-in, no asset tag to copy down.

Scan the label

Any phone camera works. The page shows the device (asset tag, model, school) so the reporter knows they hit the right one.

Describe the problem

Pick a category — won't turn on, cracked screen, battery, Wi-Fi, and so on — optionally add details, and leave a name and email.

The ticket files itself

It lands in your help desk already linked to the device and school, marked with a QR source badge. The reporter gets a confirmation email with a reference number, and replies you write on the ticket go straight to their inbox.

Which help desk receives the reports? By default Edventory routes them automatically — your public help desk if you have one, otherwise your oldest active one. Districts running several desks can pick the exact destination under Settings → District → QR label reports.

ℹ️
The report page also has a footer link for staff — "Open this device in Edventory" — so the same label serves technicians and students alike.
⚠️
Labels printed before this feature shipped (or printed with the device record link) point at the sign-in flow instead. Reprint labels with the problem-report link to enable self-service reporting on those devices.

Collecting devices back in #

When devices come back — end of the year, a grade rollover, or any handed-back batch — turn on Collection mode right on the Devices page and check them in by scanning. No spreadsheets, no opening each record by hand.

Start collecting

On the Devices page, click 📥 Collect. A scan box opens with a running tally — how many you've collected, and how many devices are still assigned.

Scan each device

Scan its QR label or barcode, or type the asset tag or serial, and press Enter. Edventory clears the assignment and tells you who it came back from. The box re-focuses after every scan, so you can work straight through a cart without touching the keyboard.

Flag any damage

Leave the condition on ✓ Good for clean returns, or switch to ⚠ Damaged and add a note (cracked screen, missing keys). With Open repair ticket ticked, a damaged scan also moves the device to In repair and files a ticket automatically.

ℹ️
Scan a device that isn't currently assigned and Edventory simply says so and leaves it untouched — a stray scan never causes a wrong check-in. QR labels work too: scan the sticker and Edventory resolves the link to the right device. See Printing & scanning asset labels.

Bulk deprovisioning #

When you retire a batch of Chromebooks, select them on the Devices page and choose Deprovision selected. You can process up to 100 at a time.

Pick a reason — same-model replacement, different-model replacement, retiring the device, or upgrade transfer. If Google Workspace sync is connected and a Deprovisioned OU is set, Edventory moves each device into that OU in Google before deprovisioning (Google locks the OU once a device is deprovisioned).

⚠️
Deprovisioning in Google is permanent and frees the Chrome Education Upgrade license. Double-check your selection before confirming.
🔄

Google Workspace sync

Pull your entire Chromebook fleet from Google Admin automatically — serial numbers, model, OU placement, AUE dates, and last check-in.

Before you begin #

Connecting Google Workspace lets Edventory import your Chromebooks — enrollment, organizational unit, AUE dates, last check-in — and read your Workspace/Chrome license seat counts. Setup is a one-time job for a Google super administrator.

You'll need:

  • Super administrator access to your Google Admin console (admin.google.com).
  • Access to the Google Cloud Console (console.cloud.google.com) to create a service account.
  • About 15 minutes. You only do this once.
ℹ️
This connects the technical-management side of Google Workspace. It does not read student or staff email, documents, or any user content — only Chrome device and license data. See Why these permissions?

Step 1 — Create a Google Cloud project & enable the APIs #

Create or pick a project

In the Google Cloud Console, create a new project (for example, "Edventory Sync") or select an existing one.

Enable the Admin SDK API

Go to APIs & Services → Library, search for Admin SDK API, and click Enable. This is what reads your Chrome device list.

Enable the Enterprise License Manager API

Back in the Library, search for Enterprise License Manager API and click Enable. This reads your license seat counts.

Step 2 — Create a service account & JSON key #

A service account is a non-human identity that Edventory uses to talk to Google on your behalf.

Create the service account

Go to IAM & Admin → Service Accounts → Create service account. Give it a clear name like edventory-sync. You can skip the optional role and access steps.

Create a JSON key

Open the new service account, go to the Keys tab, and choose Add key → Create new key → JSON. A .json file downloads to your computer — keep it safe; you'll upload it to Edventory in Step 4.

Copy the Client ID

On the service account's Details tab, copy its Unique ID (a long number, also called the OAuth client ID). You'll need it in Step 3.

🛡️
The JSON key is a credential — treat it like a password. Don't email it or commit it to a repository. Upload it directly to Edventory, then delete the local copy. You can revoke and recreate the key in Google at any time without affecting anything else.

Step 3 — Grant domain-wide delegation #

This authorizes your service account to read device and license data across your domain, using only the specific scopes below.

Open domain-wide delegation

In the Google Admin console, go to Security → Access and data control → API controls → Manage Domain-Wide Delegation.

Add the service account

Click Add new. Paste the Client ID you copied in Step 2.

Enter the OAuth scopes

In the scopes box, paste these three scopes, comma-separated, then click Authorize:

OAuth scopes
https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly,
https://www.googleapis.com/auth/admin.directory.device.chromeos,
https://www.googleapis.com/auth/apps.licensing
Copy all three scopes exactly. Order doesn't matter.

Step 4 — Connect in Edventory #

Now bring it together in Settings → Google Workspace.

Settings · Google Workspace
Google admin email required
superadmin@yourdistrict.org
Service account JSON key required
Drag the .json file here, or click to paste its contents
Deprovisioned OU path optional
/Deprovisioned
Connect & run first sync
Illustration of the Google Workspace settings panel.
FieldWhat to enter
Google admin emailA Google super admin address the service account acts on behalf of. A dedicated admin account works well.
Service account JSON keyThe .json file you downloaded in Step 2. Drag it in or paste the contents.
Deprovisioned OU pathOptional. The organizational unit devices are moved to before deprovisioning, e.g. /Deprovisioned.

Click Run sync now to pull your fleet immediately. After the first connection, Edventory re-syncs automatically every night.

💡
The sync log on this panel shows each run's time, how many devices were added, updated, and deprovisioned, and whether it succeeded — a quick way to confirm everything is healthy.

What gets synced, and why these permissions? #

Edventory requests the narrowest set of scopes that make the feature work — nothing more.

ScopeWhat it allows
…device.chromeos.readonlyRead your Chrome device list: serial, asset ID, enrollment, organizational unit, AUE date, and last activity.
…device.chromeosMove and deprovision Chrome devices — used only when you choose to deprovision from Edventory.
…apps.licensingRead seat counts for your Google Workspace for Education and Chrome Education Upgrade licenses.
🔒
None of these scopes can read user email, Drive files, calendars, or any personal content. They cover Chrome device management and license counts only. You can review or revoke the authorization any time from the same Domain-Wide Delegation screen in Google Admin.
🔌

Data connectors

Bring devices in from spreadsheets, MDMs, filtering tools, or your own scripts.

Choosing a connector type #

Connectors live under Settings → Data Connectors. There are three kinds, depending on how your data arrives.

TypeUse it when…
FileYou have a CSV or spreadsheet export to upload — a one-time or occasional import.
PullEdventory should fetch from your MDM on a schedule (currently Securly; more via custom builds).
API pushAnother system or script should send devices to Edventory automatically.
CustomNeed a pull connector for an MDM we don't support yet? We'll build it for a flat $1,000 fee.

File (CSV) import with field mapping #

Upload a spreadsheet and tell Edventory which of your columns maps to which field. The mapping is saved, so repeat imports from the same source are one click.

Create a File connector

Give it a Name (e.g. "Fall iPad import") and an optional Source label stamped onto each imported device.

Pick the match key

Under Match devices on, choose whether records are deduplicated by serial number, asset tag, or external ID. Re-imports update existing devices instead of creating duplicates.

Map your columns

Match each spreadsheet column to an Edventory field (see the field reference below). Unmapped columns are ignored.

Upload & review

Upload the file; Edventory reports how many devices were added and updated.

Pull connectors (Securly MDM) #

A pull connector signs in to your MDM and fetches devices on a schedule you choose — no manual exports.

FieldWhat to enter
MDM providerCurrently Securly.
Organization URLYour Securly organization's base URL.
API tokenAn API token generated in your MDM. Stored encrypted.
Client ID / Token URL opt.Only if your MDM uses OAuth2 client credentials.
Sync scheduleHourly, every 6 hours, daily, or manual only.
ℹ️
Credentials you enter for a connector are encrypted at rest. If a scheduled sync ever fails (for example, an expired token), the connector records the error and retries on its next cycle — it never blocks your other connectors.

API push connector #

For custom integrations, an API connector gives you a key your own systems use to push device records into Edventory.

Create the connector

Choose the API type and name it. Edventory generates an API key; copy it from the setup panel, where an admin can also reveal it again later (reveals are recorded in the activity log).

Send your devices

Your system posts device records using the key. Up to 20,000 records can be sent per request.

Rotate when needed

You can rotate the key at any time; the old key stops working immediately.

🛡️
Your API key authenticates writes to your district's data — keep it secret. If a key is ever exposed, rotate it right away from the connector's settings.

The Edventory Agent for unmanaged Windows PCs #

Windows machines that live outside Active Directory and any MDM (front-office PCs, shop computers, donated laptops) can inventory themselves with the Edventory Agent: a small installable client that reports hardware facts at every boot and once a day.

Create the connector

Settings → Connectors → New data connector → choose Edventory Agent. You get an enrollment key and a ready-made install command. Need the key again later? Open the connector's setup panel and click Reveal key — enrolling more PCs never requires generating a new one.

Install on each PC

Download EdventoryAgent.msi from the connector's setup panel, double-click it on the PC, and paste the enrollment key when the installer asks. For mass rollout, install silently with the key baked in — msiexec /i EdventoryAgent.msi ENROLLKEY=evk_… /qn — from any deployment tool, a startup script, or your standard image.

Watch devices appear

Each PC checks in within a minute of install, then at every boot and once a day (at a randomized time). The device record shows an Agent check-in section: CPU, RAM, disk & free space, BitLocker status, last user, last boot, and OS build.

QuestionAnswer
What does it send?Hardware facts only: hostname, make/model, serial, OS build, CPU, RAM, disk size/free, MAC addresses, BitLocker status, last logged-on user, last boot. No files, no browsing history, no screenshots.
Can Edventory control the PC?No. The agent is read-only by design: it sends facts and receives nothing. There is no remote-command channel.
How do I audit it?The collector is a plain PowerShell script installed at C:\Program Files\Edventory Agent — open it and read every line. Run it with -DryRun to print exactly what would be sent without sending it.
How do I remove it?Settings → Apps → Edventory Agent → Uninstall (or msiexec /x EdventoryAgent.msi /qn). The scheduled task, files, and registry entries are all removed.
Duplicate serials?Budget PCs sometimes ship placeholder BIOS serials ("To be filled by O.E.M."). The agent detects these and uses the Windows machine GUID instead, so those machines still get one record each.
ℹ️
A machine that stops checking in for 14+ days is flagged as stale in the connector panel and on its device record. That's the usual sign a PC was retired without telling anyone.
🛡️
The enrollment key can only write device records; it can't read any district data. Admins can reveal it from the connector panel at any time (each reveal is recorded in the activity log). If the key leaks, rotate it — installed agents keep the old key and stop reporting until reinstalled with the new one.

Importing from Jamf (Apple devices) #

Jamf School and Jamf Pro can export your Apple fleet as CSV. Upload that file to a File connector and map the columns.

Export from Jamf

Jamf School: Go to Devices → All, click Export, choose CSV. Jamf Pro: Go to Devices → Search Inventory, run a search for all devices, click Export.

Create a File connector in Edventory

Under Settings → Data Connectors, click + New connector. Choose File upload, name it (e.g. "Jamf iPads"), and set Match devices on to Serial number.

Map columns

Jamf columnEdventory field
Serial Numberserial_number
Asset Tagasset_tag
Modelmodel
Device Namenotes (or assigned_label)
OS Versionos
Building / Siteschool_name

Upload & review

Drop the CSV and Edventory imports the devices. Re-run monthly or whenever you want a fresh snapshot — serial-number matching prevents duplicates.

Importing from Mosyle (Apple devices) #

Mosyle Business and Mosyle Fuse can export device lists as CSV. Upload that file to a File connector.

Export from Mosyle

Go to Devices, use the filter to select the device types you want, then click the Export (download) button in the top-right. Choose CSV.

Create a File connector in Edventory

Under Settings → Data Connectors, click + New connector. Choose File upload, name it (e.g. "Mosyle iPads"), and set Match devices on to Serial number.

Map columns

Mosyle columnEdventory field
Serial Numberserial_number
Asset Tagasset_tag
Device Modelmodel
Device Namenotes (or assigned_label)
OS Versionos
Tagsnotes

Upload & review

Drop the CSV to import. Re-run as needed — serial-number matching updates existing records.

Custom connector (we build it for you) #

Need a live API connector for an MDM we don't support yet? We'll build one for a flat $1,000 fee.

When you create a new connector and choose Custom integration, you tell us which system and we take it from there:

  • You provide test credentials so we can build and test against your real environment
  • We build a native pull connector — automatic scheduled sync, no manual exports
  • One-time fee, no recurring charges
ℹ️
Common requests: Jamf Pro API, Mosyle API, Microsoft Intune, FileWave, Kandji, Addigy. If it has an API, we can connect it.

Import field reference #

These are the device fields any connector can populate. Only the match key is strictly required; everything else is optional.

FieldNotes
serial_numberManufacturer serial. Common match key.
asset_tagYour district's asset identifier.
external_idThe source system's own device ID — useful as a stable match key.
make / modelManufacturer and model name.
device_type / osType (Laptop, Chromebook, Tablet…) and operating system.
purchased_datePurchase date.
warranty_expiry / eol_dateWarranty end and end-of-life / AUE dates.
costUnit cost — feeds budget forecasts.
statusactive, repair, retired, loaner, lost, or deprovisioned.
assigned_labelFree-text location or assignment (e.g. "Grade 5 cart").
school_nameMatched to one of your schools/buildings.
notesAny additional detail.
🎫

Help desks

Run IT, Facilities, HR, and any other queue side by side.

Creating a help desk #

Every district starts with a Technology help desk. Add more — Facilities, HR, Transportation — each with its own form, statuses, and inbox.

New help desk
Name required
Facilities
Description optional
Building maintenance, HVAC, and grounds requests
Icon
🔧
Color
#5b9cf6
Create help desk
New help desks start with a standard status board: New → In Progress → Waiting on Parts → Resolved → Closed.

Custom fields #

Add fields to a help desk's form so every request captures what your team needs to act — a room number, a building, an asset tag.

SettingOptions
Field labelThe question shown on the form, e.g. "Room number".
Field typeText, Text area, Number, Dropdown, Checkbox, Date, or URL.
OptionsFor dropdowns — one choice per line.
RequiredWhether the submitter must fill it in.
Sort orderWhere the field appears on the form.

Statuses & the board #

Each help desk has its own status board. Rename, recolor, reorder, add, or remove statuses to match how your team works.

Mark a status as Closed to tell Edventory a ticket in that status is done — closed tickets drop out of your open-ticket counts and (optionally) trigger a notification to the submitter.

When you move a ticket into a closed status, Edventory gently prompts you to add a closing note (and focuses the reply box). It's a nudge for the record, not a requirement — the status still changes either way.

Canned responses #

Save the replies your team types over and over (password reset steps, "we've ordered the part," closing notes) and drop them into any ticket in one click.

Open a help desk, expand its settings, and add canned responses under Canned responses (a title and the reply text). They're scoped to that help desk. When you're working a ticket, pick one from the Canned response dropdown in the reply box and it fills the reply for you to send or edit.

Need to tweak a saved reply? Click Edit next to it, change the title or body, and save — no need to delete and recreate it.

Filing a ticket for someone else #

When someone calls or walks up, file the ticket on their behalf so the record shows who actually has the problem.

In + New ticket, fill in On behalf of (name) and their email. That person becomes the ticket's submitter (they get the status and reply emails), while you're recorded as "Logged by" on the ticket. Leave the fields blank and the ticket is simply attributed to you.

Attaching a device & logging parts #

Tie a ticket to the device it's about, and record the parts you used to fix it.

Attach a device

On the new-ticket form or in the ticket's sidebar, search by asset tag or serial number and pick the device. You can change or remove it later from the sidebar.

Log parts used

In the ticket sidebar's Parts used section, search your inventory (or type a one-off part name), set the quantity and cost, and add it. Parts pulled from inventory draw down the on-hand count automatically; removing a part restores the stock.

💡
Parts logged here roll up into Reports → Parts used & repair spend, so you can answer "how many Chromebook screens did we go through this year, and what did they cost?"

Merging duplicate tickets #

When the same issue comes in twice (someone emails and then files the web form, or two people report one broken cart), fold the duplicate into a single ticket instead of working both.

Open the duplicate

Open the ticket you want to fold away and click Merge in its header.

Pick the ticket to keep

Search for the canonical ticket (same help desk) and confirm. Its replies, parts, and custom fields move onto the ticket you keep, repair cost is added in, and a device is adopted if the kept ticket doesn't have one.

Done

The duplicate is closed and hidden from the board, lists, and open counts, with an internal note recording the merge. You land on the canonical ticket.

ℹ️
Merging is limited to the same help desk, since statuses and custom fields are defined per help desk.

Filtering & searching tickets #

Inside a help desk, narrow the board or list to exactly what you're looking for.

  • Filter bar: dropdowns for status, assignee, and priority narrow both the board and list views; Clear filters resets them.
  • Search: the search box in the top bar filters the open help desk's tickets by title, submitter, location, or assignee as you type.

Archiving & restoring a help desk #

Deleting a help desk is reversible: it's archived, not destroyed, and every ticket is preserved.

Deleting from a help desk's settings sets it aside (its tickets are kept). To bring one back, use View archived on the Help desks grid and click Restore. (Archiving and restoring are administrator actions.)

Public web submission form #

Turn on Allow public web submissions and a help desk gets a shareable link anyone can use to file a request — no account required.

  • Post the link on your staff intranet, a poster QR code, or a help page.
  • Submitters enter their email and are notified by email as the team replies or changes status.
  • A district landing page lists all of your public help desks in one place.
ℹ️
Public forms include built-in abuse protection so they can be shared openly. You don't need to configure anything.

Inbound email (turn emails into tickets) #

Each help desk can accept tickets by email. Replies thread back onto the original ticket automatically.

OptionHow it works
Shared addressEdventory gives the help desk a ready-to-use address like yourdistrict-facilities@helpdesk.edventory.com. No DNS changes — works immediately.
Forward your own addressKeep an address staff already know (e.g. facilities@yourdistrict.org) and forward it to the unique address Edventory provides.
Display aliasOptional. A friendly address shown to submitters. It's cosmetic and doesn't affect routing.
💡
Replies are matched to the right ticket by the reference code in the subject line — so as long as people reply normally, the conversation stays on one ticket.

New-ticket notifications #

Open a helpdesk, expand its settings, and add addresses under New-ticket notifications — those people get an email the moment a ticket arrives, whatever the source: the web, the public form, inbound email, or a scanned QR label.

The notification carries the title, description, submitter, and device, and its Reply-To is the submitter — a tech can answer right from the inbox. You won't be emailed about tickets you file yourself, and assignees additionally get an "assigned to you" email when a ticket lands on them.

ℹ️
Up to 10 addresses per helpdesk, comma-separated. Leave the field empty to turn notifications off for that desk.
📅

Events & facilities

Take requests to use the gym, cafeteria, or a classroom — and approve them in one place.

Setting up locations & items #

Open Events → Configure (administrators only) to define what people can request. New districts start with a sensible set — gym, cafeteria, auditorium, library, conference room, plus tables, chairs, a podium, a PA system, a projector, and trash bins — that you can rename, hide, or replace.

Locations

Add each bookable space with an optional capacity. A location is just a name you control — it isn't tied to a building or org unit, so you can list anything from "Main Gym" to "Room 204". Optionally give a location its own approver and coordinator email to route that building's requests to the right person; leave them blank to use the district-wide pair.

Items

Add the gear a requester can ask for. Flag an item as having a quantity (tables, chairs) and requesters enter how many; leave it off for one-offs like a podium or microphone.

Hide instead of delete

Toggle a location or item to Hidden to retire it from new requests without erasing the ones that already reference it.

Submitting & approving a request #

From Events → + New request, staff pick a location, the date and time, expected attendance, and check off the items they need. Requests land as Pending for a coordinator to review.

Open any request to see the details, then Approve or Deny with an optional note to the requester. If another request already overlaps that location and time, Edventory shows an overlap warning on the request — it never blocks you, so you stay in control of double-bookings (a setup-and-teardown overlap is sometimes exactly what you want).

ℹ️
When a request arrives it goes to the location's approver if one is set, otherwise the district-wide approver, otherwise everyone with Events access. The requester is emailed an acknowledgement on submit and again the moment you approve or deny; on approval the location's coordinator (or the district coordinator) is notified too — times are shown in your district's timezone (set it under Events → Configure).

Drawing a room layout #

Every request includes an optional room layout — a drag-to-draw grid for sketching exactly how the space should be set up.

Pick a tool — chair, round table, or rectangular table — then click or drag across the grid to place them; the eraser removes a cell and Clear all starts over. The finished diagram is saved with the request and shown to whoever reviews it, so your setup crew sees the arrangement at a glance instead of decoding a paragraph of instructions.

ℹ️
The layout is optional — skip it and the typed Setup instructions field works on its own.

The public request link #

To let PTAs, booster clubs, and community groups request space without an account, turn on the public link under Events → Configure and share the URL it gives you.

The public form shows your district name and the same locations and items as the staff form, and submissions arrive in your Pending queue marked Public link so you can tell them apart. The form is protected by rate limiting and a spam honeypot, and it's off until you enable it.

🪪

Visitor check-in / check-out

Log who comes through the door, who they're visiting, and when they left.

Checking a visitor in #

Open Visitors → Check In and fill in the visitor's name, who they're visiting, and their purpose. When you've seen their ID, tick ID verified and choose the document type — the record stores that a check was done, not the ID number itself.

Required fields

Visitor name and Visiting (host name) are required. Everything else — company, purpose, ID verification, badge number, and notes — is optional.

Purpose options

Choose from Meeting, Volunteer, Vendor/Contractor, Parent/Guardian, Interview, Delivery, or Other. This helps you filter the log later.

Badge number

If your school issues visitor badges, record the badge number in the form — it appears in the active visitors list so staff know which badge to collect at the door.

Checking a visitor out #

Every active visitor in the Currently checked in panel has a Check Out button. Clicking it timestamps the departure and moves the record to the log — you'll see the visit duration automatically.

Visitors who were never checked out (end-of-day orphans) still appear in the log with no checkout time. You can export the full log to CSV at any time from Visitors → Log → Export CSV.

ℹ️
Visitor records are kept permanently — they are not subject to the 90-day analytics purge — so your log stays intact for compliance, incident review, or records requests.

Searching and exporting the log #

Switch to the Log tab to search all past visits. Type in the search box to filter by visitor name, host, or company. Use the date picker to see all visits on or after a specific date.

Hit Export CSV to download the current filtered view with visit times, durations, ID verification status, and purpose for every row. Administrators can also delete individual records from the log.

👥

Team & permissions

Invite staff and control exactly what each person can see.

Inviting a team member #

From Settings → Team → + Invite, enter an email and choose what the person can access. They get an email link to set up their account. If it lands in spam or goes stale, hit Resend next to the pending invite — same link, fresh 72-hour expiry.

Invite team member
Email required
teacher@yourdistrict.org
Administrator
Full access to everything, including team management
Area access (for members)
Dashboard Devices Inventory Loaner Pool Licenses Help Desks Recurring Tasks Activity Log AI Forecast
Send invite
Illustration of the invite window with per-area permissions.

Roles & granular permissions #

There are two levels of access.

RoleAccess
AdministratorFull access to every area, plus team management, billing, and district settings. (This is the technology-director role.)
MemberAccess only to the areas you switch on — Dashboard, Devices, Inventory, Loaner Pool, Licenses, Help Desks, Recurring Tasks, Activity Log, AI Forecast.

For help desks, you can grant access to all help desks or pick specific ones — so a Facilities lead sees only the Facilities queue. Members can also be scoped to a single school or building.

Every member can always reach Settings → Account to manage their own password, two-factor, and theme.

Resetting a member's password or two-factor #

When a staff member is locked out, an administrator can help from the Team panel — no need to contact support.

  • Reset password — sends the member a secure link to choose a new password. The link expires in one hour. You never see or set their password yourself.
  • Reset 2FA — clears two-factor on a member who lost their authenticator and backup codes, letting them sign in with their password and set it up again. This button only appears for members who currently have 2FA on.
🔁

Loaner pool

Check devices out, track condition, and see what's due back.

Checking a device out & back in #

From Loaner Pool → + Check Out, look up the device and record who has it and when it's due.

FieldWhat to enter
DeviceThe loaner's asset tag or serial.
Checked out toFree text — a person, room, or cart (e.g. "Room 204", "Grade 3 cart").
Due dateWhen it should come back. Overdue loaners surface on the dashboard.
Condition outExcellent, Good, Fair, or Poor — compare against condition on return to flag damage.

When the device returns, check it back in and note its condition. Returned loaners stay in the history for the record.

Back-dating dates & fixing a loan #

Logging a checkout that already happened, or correcting a mistake after the fact? You don't have to return and re-check-out.

  • Checkout date: set it to a past date when you're recording a loan after the fact (it defaults to today). A future date isn't allowed.
  • Return date: when checking a device back in, you can back-date the return. It can't be in the future or before the checkout date.
  • Edit a loan: click Edit on an active loan to correct the borrower, due date, checkout date, condition, or notes in place.
ℹ️
The "Checked out to" field suggests people from your team as you type, but still accepts free text like a room or cart.
🔑

Licenses

Track software subscriptions, seats, and renewal dates.

Adding & tracking licenses #

Record software renewals, firewall subscriptions, and seat-based licenses so nothing lapses unexpectedly. Add them under Licenses → + Add License, or let Google Workspace sync import your Google seat counts automatically.

FieldNotes
Product nameRequired, e.g. "Microsoft 365 A3".
VendorWho you buy it from.
License typeSubscription, perpetual, concurrent, site, and so on.
Seats total / assignedPowers utilization tracking, so you can spot licenses you're over- or under-buying.
Annual costFeeds the budget forecast.
Renewal dateReminders are emailed 60, 30, and 15 days ahead.
Auto-renewsFlag whether it renews on its own.

Open a license to edit it and you'll find a Seat roster: add the people who hold a seat, either by searching your team or typing a name and email. For licenses you track by hand, the assigned-seat count follows the roster automatically; Google-synced licenses keep the seat count from the directory.

The seat fields stay editable on every license type (including subscriptions), and a value of 0 is kept as 0, so your seat counts won't silently disappear when you reopen a license to edit it.

📋

Inventory

Count the cables, chargers, adapters, and parts.

Tracking supplies & parts #

Inventory is for the countable items that aren't tracked individually — cables, chargers, hubs, repair parts. Add items under Inventory → + Add Item.

FieldNotes
Namee.g. "USB-C chargers".
CategoryA grouping like "Cables". The field suggests categories you've used before so they stay consistent, but you can type a new one.
Quantity / UnitHow many, and the unit ("each", "box"). Quantity must be a whole number (0 or more).
Unit costOptional per-unit price. Used to value parts logged on tickets and to total repair spend in reports.
LocationWhere it's stored, e.g. "Tech closet".
💡
When you log a part on a help-desk ticket from your inventory, its on-hand count drops automatically (and is restored if you remove the part). See Attaching a device & logging parts.

Editing items & the history view #

Inventory rows are fully editable, and every change to an item's count is recorded.

  • Edit: click Edit on a row to change any field (name, category, location, cost, quantity). Quick adjust is still there for a fast count change.
  • History: click History on a row to see a timeline of that item, with manual quantity adjustments and parts consumed against tickets, newest first.
📅

Recurring tasks

Never forget the quarterly switch-room cleaning again.

Setting up recurring tasks #

Capture the routine maintenance your team should do on a cadence. Overdue and due-this-week tasks surface on the dashboard. Add them under Recurring Tasks → + New task.

FieldNotes
Task titleRequired, e.g. "Clean switch-room fans".
DescriptionOptional checklist or notes.
FrequencyDaily, Weekly, Monthly, Quarterly, or Annually.
Next dueDefaults to one interval from today, but you can set any date. Change the frequency on an existing task and the next-due date recalculates.
ReminderOptionally email a reminder a chosen number of days (0–90) before the due date, to the assignee (or the tech director if unassigned).

Marking done, history & filters #

As tasks come due, mark them done and keep a record of who did what.

  • Mark done advances the task to its next occurrence and records the completion (who and when).
  • The Active / Completed toggle switches between upcoming tasks and the history of past completions.
  • The assignee filter narrows the active list to one person's tasks.

Budget forecast

Walk into budget season with a defensible replacement plan.

How the forecast works #

The Budget Forecast computes a five-year replacement plan directly from your fleet data: every device is scheduled into the school year its AUE/EOL date falls in (or purchase date plus your lifecycle policy when no AUE is set), and priced from its recorded cost, your per-model overrides, or your district's defaults — with inflation compounded per year.

The math is deterministic — the same data always produces the same numbers, and every figure traces back to real devices. The view shows your past-due backlog ("due now"), per-year replacement costs with growth, loss, repair, and software lines, plus a level-loaded alternative that smooths spending into even annual amounts.

Try what-if scenarios

Drag the lifecycle, inflation, device cost, and enrollment knobs — the whole plan recalculates instantly. Scenario changes are free and unlimited.

Generate the AI analysis

One click asks Claude to write the narrative around your numbers — executive summary, key risks, recommendations, and board talking points. The AI only explains figures the engine computed; it never invents its own.

Save and export

Saved forecasts keep a full snapshot of the model, so you can compare plans over time or rerun last year's report. Export any forecast as CSV or a print-ready PDF.

ℹ️
Accuracy depends on your data: purchase dates, AUE/EOL dates, and device costs drive everything. Devices the engine can't schedule are listed as data gaps rather than guessed at — the report tells you exactly what to fill in.
📊

Reports & activity

See the numbers and keep an audit trail.

Reports #

The Reports area summarizes ticket volume and resolution time, device lifecycle counts, and loaner activity, with a 14-day ticket trend. Use ↓ Export CSV to pull the figures into a spreadsheet for board packets.

Reports also includes a Parts used & repair spend table: pick a date range (it defaults to the current budget year, July 1 to June 30) to see how many of each part you consumed, across how many tickets, and what it cost. It has its own CSV export and answers questions like "how many Chromebook screens did we replace this year?"

A Tickets by help desk table breaks down open, resolved, and total ticket counts for each active help desk, so you can see where the volume is going.

The Report builder tab goes further: pick a data source, then drag fields into the columns tray — drag to reorder them (the tray order is the report's column order), click ✕ to remove, and add filters or a group-by summary. Run it, chart it, export CSV or PDF, save it for reuse, or schedule it to email itself.

One-click board report #

Click 🏛 Board report on the Reports page to open a print-ready summary built for a school-board packet: fleet size and value, devices by school and lifecycle stage, this year's purchases and repair spend, upcoming end-of-life counts, and helpdesk highlights — all in plain language with the math done for you.

It opens in a new tab styled for paper. Hit Print (or save as PDF from the print dialog) and drop it into the agenda — no screenshots, no spreadsheet surgery. School-scoped staff get a building-level version automatically.

ℹ️
Dollar figures use each device's recorded cost where present, your median per-model cost where not, and sensible per-type defaults as a last resort — the report stays honest when data is thin and improves as you fill costs in.

Activity log #

The Activity Log records who did what and when — created, updated, and deleted records across the app — so you have an audit trail. It exports to CSV.

🏫

District settings

Branding, terminology, and the numbers behind your forecast.

Branding & identity #

Under Settings → District, set how your organization appears throughout the app.

FieldNotes
District / organization nameShown in the sidebar and browser tab.
Department taglineOptional. A line under the name, e.g. "Technology Services".
Sidebar abbreviationUp to 3 letters, shown when no logo is set.
Organization logoOptional. PNG, JPG, SVG, or WebP up to 200 KB.
Organizational unit labelWhat you call your sub-units — School, Building, Campus, Site, Department, Location, or a custom word. Used everywhere those units appear.

Replacement cost & lifecycle defaults #

These settings feed the AI forecast. Good defaults make for a trustworthy budget projection.

SettingWhat it controls
Student device costDefault unit price for student devices (Chromebooks, tablets).
Staff / teacher device costDefault unit price for staff devices (laptops, workstations).
Model-specific overridesExact prices for named models — these win over the category defaults.
Device aging thresholdAge in years at which a device is considered "aging".
Device lifecycle targetExpected service life before planned replacement.
Annual loss ratePercentage of the fleet lost, stolen, or destroyed each year (default 4%).
Annual repair ratePercentage needing repair each year (default 12%).
👤

Account & security

Your password, two-factor authentication, and appearance.

Changing your password #

Go to Settings → Account → Password → Change. Enter your current password, then a new one of at least 12 characters.

If you've forgotten your password, use the Forgot password? link on the sign-in screen — you'll get a one-hour reset link by email. Administrators can also send you a reset link from the Team panel.

Setting up two-factor authentication #

Two-factor (2FA) adds a one-time code at sign-in, so a stolen password isn't enough to get in. We strongly recommend it for every administrator. Turn it on at Settings → Account → Security.

Start setup

Click Enable. Edventory shows a QR code and a manual setup key.

Scan with an authenticator app

Use Google Authenticator, Authy, 1Password, Microsoft Authenticator, or any TOTP app. Scan the QR code, or type the setup key if you can't scan.

Confirm the code

Enter the 6-digit code your app shows to verify the link.

Save your backup codes

You'll get 10 one-time backup codes. Store them somewhere safe (a password manager) — they're your way in if you lose your phone.

⚠️
Backup codes are shown only once. If you lose both your authenticator and your codes, an administrator can clear your 2FA from the Team panel so you can set it up again.

Worried a session is open on a machine you no longer control? Settings → Account → Security → Sign out everywhere ends every session except the one you're using. Changing or resetting your password does the same automatically.

Choosing a theme #

Pick a color theme under Settings → Account → Appearance. Every theme meets WCAG AA contrast.

Options range from light (Cloud, Slate, Chalk, Sage) to dark (Ink, Midnight). Vision is tuned for color-blind accessibility, and Contrast is a WCAG AAA high-contrast theme that reads well on projectors and whiteboards.

🧾

Billing & plans

Pay by card or purchase order — whatever your district uses.

Plans #

Plans are priced annually by district size, set by whichever is higher — your device count or your student enrollment. Every feature is included on every plan; nothing is gated behind a higher tier. See current limits and prices on the pricing page; manage your plan under Settings → Billing.

PlanPriceFor
Free$0/yrUp to 100 devices and up to 100 students — no charge, no card required. A real plan, not a trial.
School$750/yrUp to 500 devices and up to 500 students — a single school or small district.
Standard$1,500/yrUp to 2,500 devices and up to 2,500 students — a mid-size district.
District$4,500/yrUp to 10,000 devices and up to 10,000 students — a large district.
EnterpriseCustomBeyond 10,000 devices or students — contact us for a quote.

Paying by card #

Choose a plan under Settings → Billing → Change plan and check out securely by card. Card plans renew automatically each year, and your renewal date updates on its own.

Use Manage card & invoices to update your card, download invoices, or cancel. Card details are handled entirely by our payment processor — Edventory never sees or stores your card number.

Paying by purchase order #

Most districts pay by PO. Add your purchase order number and billing email under Settings → Billing → Billing contact, and we invoice annually before your renewal date.

Renewal reminders go to your billing email 60, 30, and 15 days before renewal. Leave the billing email blank to use the technology director's address.

💾

Data & backups

Your data is yours — export it any time.

District snapshots & automatic backups #

A snapshot is a complete export of your district — devices, tickets, inventory, loaners, team, and more — as a downloadable JSON file. Take one before a big change or to keep an off-site copy. Find them under Settings → Data & Backups.

  • Take snapshot — generate one on demand and download it.
  • Automatic nightly backups — Edventory snapshots your district every night and keeps the 14 most recent automatically.
  • Manual snapshots are kept until you delete them.
🔐

Single sign-on (SSO)

Sign in with the account your district already uses.

Signing in with SSO #

If your district has single sign-on enabled, the sign-in screen shows a "Sign in with…" button for your provider — Google or GitHub. Click it and authenticate the way you normally do.

ℹ️
Your email must already be linked to an Edventory account (your administrator invites you first), then SSO connects that account to your identity provider. SSO doesn't create new accounts on its own.
💡
Want SSO turned on for your district? Contact us — we'll enable your provider and walk you through it. SSO is configured by the Edventory team, so there's nothing technical for you to set up.
🛡️

Security & privacy

How we protect your district's data.

How Edventory protects your data #

  • Your data is isolated. Every record is scoped to your district. One district can never see another's data.
  • Sensitive credentials are encrypted. Connector tokens and service-account keys you provide are encrypted at rest.
  • Strong sign-in. Passwords are securely hashed, optional two-factor is available to everyone, and repeated failed sign-ins are rate-limited.
  • Least-privilege Google access. The Google integration requests only Chrome device and license scopes — never user email or files.
  • You can export any time. Snapshots let you keep your own off-site copy of everything.
📄
For data-handling specifics, see our Privacy Policy. Have a security or compliance question? Get in touch.