Internal Operations · Field Reference

Tropilux Supply

The system your team uses to request, stock, move, and track everything that furnishes and maintains a Tropilux property — from a warehouse pallet to a resident's move-in checklist.

Rev. 2026.09 — Verified Edition
15 sidebar modules
5 roles · cross-checked vs. source
Admin Office Warehouse Staff / Employee

01 · Start Here

Signing In & Navigation

Open the app in a browser, or install it: on an iPhone using Safari specifically (other iOS browsers can't install home-screen apps this way), a banner styled like a native install prompt — built into the app itself — offers to walk you through Share → Add to Home Screen. Dismiss it once and it won't ask again on that device. Sign in with your work email and password.

  1. Where you land on login depends on your role: Admin lands on the Dashboard; Office is routed straight into Item Requests instead; Warehouse, Staff, and Employee all land on the same page — Task Manager — since the Dashboard doesn't exist for them. (If you later click into a page your role can't open, you're bounced to that same fallback — except Office, which bounces to the Dashboard rather than back to Item Requests in that case.) A link inside a notification email can also drop you somewhere specific, like directly on the request or task it's about.
  2. The sidebar on the left is your map of the system, in this order: Dashboard, Task Manager, Timesheet, Item Requests, Misc Requests, Item Intake, Inventory, Used Inventory, Manual Entry, Orders, Shelves, Locations, Users, Reports & Notifications, Backups — this manual follows that same order. The sidebar only lists what your role can actually use; if a section here isn't in your sidebar, that's expected, not a bug.
  3. Your name, initials, and role sit at the bottom of the sidebar, next to the sign-out button. On a phone or narrow screen, the sidebar tucks behind a hamburger menu.
Live updates — the app keeps an open connection to the server. When a coworker approves a request, receives a shipment, or dispenses stock, your screen updates itself in the background — no refresh button to hunt for, on almost every list screen in the app. It's resilient, too: if your connection briefly drops (laptop sleep, a flaky network), it automatically reconnects and refreshes itself rather than quietly going stale. Two screens are the exception and don't update live: the Users directory only pushes changes to Admin (Office has to refresh to see a newly-added user), and Backups' daily-runs grid never live-updates at all.
Date filters, everywhere — most list screens (Item Requests, Misc Requests, Orders, Task Manager, Used Inventory, Manual Entry, Item Intake, Timesheet Reports) share the same date-range control: quick presets like Today, Yesterday, Past 7/30 Days, This/Last Week/Month/Year, plus a custom range — so you rarely need to type a date by hand.
Scoped access — your account can be restricted to specific properties and inventory categories by an Admin. If a screen looks lighter than a coworker's — fewer properties in a dropdown, fewer items in the catalog — that's your account's scope working as intended. One sharp edge: a non-admin account with no properties assigned sees an empty property dropdown everywhere, not "everything" — only an unscoped Admin sees all properties by default. Ask an Admin if something you need is missing.
Search is forgiving — item and property search ignores case, and treats curly quotes, straight quotes, and written-out measurements as the same thing — 72", 72-inch, and 72in all match each other.
Photos get resized — any photo you upload — on a request, a task, an intake — is automatically compressed and resized before it's saved, so it doesn't need to match your camera's original resolution. A replaced or orphaned photo isn't deleted outright, either — it's moved to an archive rather than erased, in case it's needed again.
Staying current — when a new version of the app ships, a "Reload / Later" prompt appears so you can pick up the update on your own schedule instead of being forced out of what you're doing.
Locked out? There's no self-service "forgot password" — if you can't sign in, ask an Admin to reset your password or check whether your account has been deactivated.

02 · Start Here

Dashboard

Five stat cards, each a shortcut into the filtered list behind it.

CardTotal Inventory Items
ShowsCount + month-over-month growth
CardTimesheet Submissions
ShowsThis week's count
CardPending Admin Approval
ShowsRequests awaiting sign-off
CardSick Days
ShowsThis week's count
CardPending Returns
ShowsOpen return count

Below the cards, a Low Stock Alerts list flags anything running out — click an item to jump straight into Inventory, filtered to it — and a Recent Orders list shows the latest purchasing activity with status pills, plus counts of properties, units, and outstanding orders.

Scoping works differently on this page than elsewhere: the Inventory and Low Stock cards do respect your assigned categories, but the property/unit counts and the orders list do not — a location-restricted account still sees company-wide numbers there. If a variant item has more than one variant running low, Low Stock Alerts shows just the first one plus a count of how many more, rather than listing every low variant.
Who can see this pageAdminOffice
The Dashboard is exclusive to Admin and Office — there's no scaled-down version for other roles. Warehouse, Staff, and Employee accounts don't have this page at all; going to its address redirects them straight back out to Task Manager, their shared fallback screen.
Everything on it is wired to nearly twenty different live-update events, so it refreshes itself the instant something changes anywhere in the app.

03 · Daily Operations

Task Manager

A board of six task types tied to the apartment lifecycle, each with its own color and icon: Maintenance, Move In, Move Out, Transfer, Billing, Admin. The page has two views: Task List (browse) and Assign Task (create).

BrowsingTask List

Type tabs across the top show live counts for each of the six task types. Within a type, scope tabs narrow the list to All, Assigned to Me, or Assigned by Me (Admin gets the full "All" view by default). Status pills filter by Pending, Awaiting Admin, or Completed. Further filters cover location, staff member, priority, whether it's recurring, free-text search, and a date range. Admin/Office can export the current filtered view to CSV.

CreatingAssign a Task

Pick the task type, assign one or more employees, set a deadline and a priority (Low or Urgent). Maintenance, Admin, and Billing tasks can all be made recurring — Daily, Weekly, Bi-Weekly, Monthly, Quarterly, Bi-Annually, or Annually — which automatically spawns the next occurrence as soon as one is completed.

Creating and reassigning a task isn't locked to Admin/Office the way approvals are — any signed-in role can technically do both. In practice it's Admin/Office who set up property-wide tasks, but don't be surprised if a coworker in another role can too.

Maintenance & AdminSimple Tasks

A free-text description with photo uploads. Every assignee marks their part done; for Maintenance, Admin/Office still gives a final close once everyone has confirmed. Admin-type tasks close automatically the moment all assignees confirm — no separate sign-off step.

Move In / Move Out / TransferChecklist Tasks

These three share a 7-point checklist, each item marked Yes/No with notes: Cleaning, Utilities, Appliances, Linens & Bathroom, Kitchenware, Inspection, Keys.

  • Move In — date, time, and deposit details, plus the checklist.
  • Move Out — the checklist, plus key return and a damage log: for each damaged or missing item, record the item (picked from the catalog), quantity, a damage type, a photo, and a description.
  • Transfer — runs the whole thing twice: once for the unit being left, once for the unit being moved into. These aren't independent — the Move-Out half has to be completed before the Move-In half can be started.

Move In and Move Out both lock down a few fields as required, not optional: an Actual Move-In/Move-Out Date, and a note on any checklist item marked "No." Move Out additionally requires electric and water meter readings before it can be completed. If "Keys returned" is marked No, the system automatically adds a damage-log entry for the missing key rather than making you log it by hand. All three checklist types finish the same way — a step literally labeled Verify Billing & Close Task, which asks Admin to confirm the charges set up when the task was created have actually been collected before it closes.

Automatic follow-through — logging damage on a Move Out or Transfer can automatically create a High-priority Item Request (to replace what's damaged) and an Urgent Maintenance task in the same step — notifying the right people without anyone having to remember to file a separate ticket. Any photo attached to a task uploads as soon as you pick it, and submission is blocked until every photo has finished (or been removed, if one failed).

BillingBilling Tasks

Each assigned person submits a note (readings, amounts, whatever the billing cycle needs). A progress chip shows how many of the assigned staff have submitted so far. Anyone except Office can mark a Billing task complete.

Assigned Pending (every assignee confirmed) Completed
Consensus model — a task only advances once every assigned employee has recorded their own completion. Admin alone can force-close a task outright, bypassing consensus; Admin or Office can confirm a single step on someone else's behalf if there's a holdup. Both kinds of override are logged, along with every ordinary status change and comment, in that task's activity log — and Admin/Office can also reopen or delete a task.

04 · Daily Operations

Timesheet

Everyone logs their own hours, day by day.

SubmitMy EntriesReports

On Submit, fill in up to three shift slots for the day, each with a start/end time picker and one or more properties worked at (with notes per property):

Morning~6am – 12pm
Afternoon~12pm – 6pm
On-Call / Overtime~6pm – 12am

Or skip shifts entirely and mark the day a Sick Day — or flag it a Public Holiday, which also hides the shift-entry fields unless you additionally check Worked on Holiday. The three shift slots are checked against each other too; overlapping times are rejected.

My Entries shows your own submission history. Reports (Admin/Office only) shows everyone's hours with a bar chart by worker, CSV export, and a date range filter that follows the company's Thursday–Wednesday payroll week.

Edit or permanently delete an entry after submissionAdmin
Submitting for a date that already has an entry doesn't overwrite it — it only adds whichever shift slots weren't already there; submitting nothing new gets rejected. Once a day is marked Sick, or Public Holiday without Worked on Holiday, you can't add shifts to it from Submit at all — an Admin edit is the only way to change it, and an edit can't leave a day completely empty (delete it instead).
Edits to an existing entry are stamped with who made the change and when, so a correction is always distinguishable from the original submission.

05 · Daily Operations

Item Requests

The core daily loop: someone at a property needs something, the warehouse supplies it. (Shown in some places as Apartment Requests.)

Step 1New Request

Staff open a new request and work through: property → unit → rooms → items. A single request can cover multiple rooms, and each room can list multiple items.

  • Pick each item from the catalog (searchable, with a photo) — from either the new-stock catalog or the Used Pool directly — or type a description if it isn't a catalog item.
  • Set a quantity per item and an overall priority — Low, Medium, or High.
  • Give a reason per line — Damaged, Missing, Repair, New, or Other — plus a free-text note.
  • Attach a photo per item if it helps — a photo of the damage being replaced, for instance.

The system won't let you request more of an item than currently exists in stock — if you split one item across two lines (say, some damaged and some new), the check adds those lines together rather than checking each alone — and it warns you if the same item was recently dispensed to the same unit, to catch accidental duplicate requests.

The catalog picker doesn't show everyone the same detail: Admin and Warehouse see the real quantity on hand, while every other role — including Office — sees only an Available / Out of Stock badge rather than an exact count.

Step 2Review

WarehouseOfficeAdmincan act here
  • Approve All — clears every line as requested.
  • Partial Approve — adjust the approved quantity line by line; open to Warehouse as well as Admin/Office at this first-pass review stage.
  • Reject — declines the request outright.

If any line is flagged Requires Admin Approval — either because the item itself is flagged, or because the requested quantity crosses that item's approval threshold — a Warehouse approval doesn't finalize it. It routes instead to Pending Admin Approval, a second queue only Admin/Office can clear. Swapping in a substitute item at dispense time doesn't get around this: if the substitute is also flagged, the request bounces back to Pending rather than skipping the check. The Pending tab has its own toggle filter for "Requires Admin Approval" requests, plus filter chips by reason (Damaged/Missing/Repair/New/Other) with live counts.

Step 3Dispense

WarehouseAdmin
  • Disburse All — hands out every approved line in full.
  • Partially Disburse — hands out only some of the approved quantity. The request moves to Partial Dispensed, and a separate Disburse More Items button appears so the remaining approved quantity can be handed out later, in one or more further installments.
  • Substitute & Disburse — swap in a different catalog item (or a different pool — new vs. used) at the moment of hand-out, capturing that substitute's real price and stock impact.

Stock is deducted from whichever pool the item came from — for the new-stock pool, the oldest purchased batch is used first, so what the request "cost" stays accurate even as supplier prices move.

Step 4Return (when it applies)

Some catalog items — typically tools and equipment — are flagged Requires Return of Used Item. For those, the loop doesn't end at dispense:

  1. The requester (or anyone) marks the unused quantity as Return Unused Item.
  2. Warehouse then physically checks it back in with Accept Unused Item — this is the only moment stock is actually credited back. A flagged return never inflates the count just because someone said it was coming back.
This return step is skipped even on a flagged item if the line's reason was New or Missing — there's no used unit to send back in those cases, so no Pending Return record is created for that line.
Pending Pending Admin Approval Approved Dispensed Pending Returned Returned
Can end or split early Rejected· Partial Approved· Partial Dispensed
Finding things — the request list can be searched by property, unit, requester, item name, SKU, shelf, notes, or a substituted item's name. Roles with financial access see a running dollar total of what's been requested versus what's actually been handed out.
Exporting — a single request's PDF shows both the item's catalog photo and, separately, the photo you attached with your reason — a filtered-list PDF instead uses smaller thumbnails to keep it manageable. Either way, prices are automatically left off for roles without financial access; CSV export is also available. Reports & Notifications' Daily Usage Report can roll this activity up over a custom window of up to 31 days (7 by default), and each request's number (e.g. REQ-2026-168) starts counting at 101 each year, not 001.
Deleting — a request can be permanently deleted, not just rejected or archived — this is Admin-only and irreversible.

06 · Daily Operations

Misc Requests

For anything that isn't an inventory item — "the printer's out of toner," "need sign-off on this expense." Anyone submits a description, sets a priority (Low, Medium, or High — the same scale as Item Requests), and addresses it to either Admin or Warehouse, which routes it into that team's queue. Like Item Requests, each one gets a stable number, formatted MISC-2026-### — numbering starts at 101 each year on both, not 001. Search here only matches the requester's name and the notes field, not priority or who it's addressed to.

AllAdmin ReviewWarehouse ReviewCompleted
Complete Admin-addressedAdminOffice Complete Warehouse-addressedWarehouseAdminOffice
Pending Admin Review / Warehouse Review Completed
Marking one complete archives it — it isn't gone, and can still be filtered back into view. A true, permanent delete is Admin-only. Admin/Office can also edit a request after submission, filter by priority, and export the current list to CSV.

07 · Inventory & Stock

Item Intake

For things that show up without a purchase order — found items, donations, whatever gets pulled off a job site.

Step 1Submit Intake

AdminOfficeWarehouse

Pick an existing catalog item or type a new one, choose the destination pool (New or Used), a condition (Used–Good, Used–Fair, For Parts, or Damaged), a quantity, a shelf, and notes. A photo is required — the form won't submit without one.

Step 2Admin Review — this is where stock actually changes

Admin

Approve with one of: Add to New Inventory, Merge into Existing Inventory, Add to Used Inventory, Merge into Existing Used Inventory (a searchable picker lets you merge into a specific variant), Send for Repair, Discard / Trash, or Give Away. For the four add/merge decisions, the Inventory or Used Inventory record updates immediately — the count is live in the catalog the moment Admin approves, before Warehouse does anything further. "Add to New/Used Inventory" isn't a one-click choice — it opens the full item form right there, so category, min stock, unit cost, approval settings, and (if applicable) variant details all get filled in as part of approving. Or mark it Needs Info, which sends a message back to whoever submitted it (they can attach a new photo when they respond); it comes back for another look. It can also be marked Unresolved or rejected outright.

Merging can convert a simple item into a variant item — if you merge an intake in as a new variant of an item that's currently simple (one quantity, no variants) and already has stock, the system automatically converts that item to carry variants, folding its existing stock into a first variant. You'll be asked to type a name for that existing stock (up to 60 characters) so it has a label going forward — after this, the item behaves like any other variant item, including in Inventory and Item Requests.
Merging into the New Inventory pool can quietly tighten that item's rules: if either side required Admin approval, the merged item keeps that requirement (it's never loosened), and if both sides had a quantity threshold, the merged item keeps the stricter (lower) one. Merging into the Used pool only carries the approval-required flag over the same way — the existing item's quantity threshold is left as-is either way.

Step 3Warehouse Confirm

Warehouse

For decisions that need physical follow-through — sending something out for repair, discarding it, giving it away — the assigned person confirms it actually happened: Confirmed, Denied, or Unresolved, with notes. Admin/Office can also step in to deny or unresolve. For an add/merge decision, there's nothing left for this step to change in the catalog — it's a paper-trail confirmation, since the count already moved back at Review.

Pending ApprovalNeeds InfoPending ActionConfirmedDeniedUnresolvedSend for Repair
Submitted Needs Info (loops back) Reviewed (stock moves here) Pending Warehouse Action Confirmed
Can also end at Denied· Unresolved
CSV export and permanent delete are limited to Admin/Office.

08 · Inventory & Stock

Inventory

The master catalog of everything the warehouse can hand out.

BrowsingTwo Views, Plus Filters

Grouped shows one card per item, expandable to reveal its variants. Expanded flattens every sellable line — every size/color combination — into its own row, which is faster when you're hunting one specific variant. Your device remembers which view you last used. Quick-filter chips sit above the list for Low Stock and Out of Stock (each its own count, not just a colored border), plus one chip per category.

Adding / EditingThe Item Form

Name & categoryAutocomplete or create new
DescriptionFree text
VariantsToggle on for size/color/finish
PhotoRoot item + per variant
Quantity / min stockSteppers, drives low-stock alerts
Shelf locationDropdown
Unit costFeeds FIFO costing
Last restock dateReference only
Requires Admin ApprovalToggle + optional quantity threshold
Requires ReturnToggle — routes into Pending Returns
Edit photo & shelf onlyWarehouse Full edit / create / deleteAdmin View onlyOffice

When a Warehouse user opens an existing item, every field except photo and shelf is locked, with a banner explaining why — this keeps costs, thresholds, and approval flags in Admin's hands.

Bulk AddTwo Ways In

The Bulk Add modal has two tabs: a manual multi-row entry grid for typing in several new items by hand, or a CSV/XLSX upload using a two-sheet template (Simple Items and Variant Items).

Staying on top of stock — every quantity change — dispense, receipt, disposition, manual entry — is written to that item's history, viewable per item or per variant, grouped by day and showing who made each change. A single-field edit gets its own specific headline (e.g. "Shelf location updated") rather than a generic one, and most rows link straight through to the record that caused the change — the request, order, intake, or manual entry behind it.
Deleting — if an item is still referenced elsewhere (for example, on a draft or open order), deleting it shows a warning first and requires a second "Delete Anyway" confirmation rather than removing it outright.
Bulk export — the catalog supports CSV/Excel export. A separate export includes unit cost figures and is limited to roles with financial access.

09 · Inventory & Stock

Used Inventory & Returns

What happens to items that come back.

Pending ReturnsUsed Pool

Pending ReturnsThe Disposition Workflow

When a returnable or used-pool item comes back from a property, it lands here as a pending return, tied to the request it came from. The list can be narrowed by a property dropdown, and exported to CSV.

  1. Received — Warehouse stamps it once it's physically back on-site.
  2. Split (optional) — a multi-quantity return can be split into two records with different quantities, so part of a batch can take one outcome and the rest another (e.g. half restocked, half discarded).
  3. Suggest Disposition — Warehouse or Admin proposes what should happen, with condition, notes, and an optional photo: Restock, Discard at Property, Discard at Warehouse, Give to Staff, Send for Repair, Keep for Parts, Lost/Stolen, or Different Item (Logged via Intake) — used when what physically came back isn't a match for what was dispensed, and has already been logged separately through Item Intake instead.
  4. Approve — Admin approves, rejects, or overrides the suggestion; Office can view but not act on it here.
  5. Execute — Warehouse or Admin carries it out. A Restock outcome requires confirming a condition and shelf location, and creates or updates the matching Used Pool record.

Anything sitting in the queue too long is flagged with an aging badge so it doesn't get forgotten.

A faster path also exists — Warehouse or Admin can skip the queue above entirely and hit Resolve, closing a return out in one step with any final outcome — Restock, Discard, Give to Staff, Send for Repair, Keep for Parts, or even Lost/Stolen — without a separate Admin approval, and even before the item has been marked Received. It runs in parallel to the Suggest → Approve → Execute flow, for when someone just needs to close something out on the spot. Items sent for repair come back through this same Resolve action once the repair's done — restocked (with condition/shelf) or any other final outcome.
Returned Received Disposition Suggested Approved Executed
Disposition options Restock· Discard· Give to Staff· Send for Repair· Keep for Parts· Lost / Stolen· Different Item
Suggest / executeWarehouseAdmin ApproveAdmin

Used PoolThe Used Catalog

A sellable/available catalog of used items, laid out just like regular Inventory — its own add/edit modal, variant support, bulk import, history, and CSV export. It's fed by restocked returns and by Item Intake, and can also be stocked directly. A used-pool item dispositioned directly here (not through a return) has a slightly narrower set of outcomes than a Pending Return does — Lost/Stolen is only reachable via the Pending Returns flow.

View & disburseWarehouseEdit / delete outrightAdminView onlyOffice

10 · Inventory & Stock

Manual Entry

A quick way to adjust stock outside the normal request or order flow — logging items used off-book at a property, or correcting a count that's drifted from reality.

New EntryEntries

On New Entry, choose Use Inventory (deduct stock) or Add Inventory (add stock that was found or counted) — an entry can list several items at once via "Add Row," each independently picked from the new or used pool, alongside the property/unit it's for and who collected it. An optional Custom Date & Time field lets you backdate the entry to when it actually happened, rather than when you're submitting it. Submit, and it lands in the Entries queue as Pending. That queue has its own status tabs (Pending / Approved / Rejected), free-text search, and a date range filter, and Admin/Office can export the current view to CSV.

SubmitAdminWarehouse Approve or rejectAdmin

Stock only actually moves once Admin approves the entry (with a check that a "use" entry can't exceed what's on hand). Rejecting can include a reason, though the system doesn't require one — inventory is left untouched either way. Office can view the queue but can't create or approve entries; a separate hard delete (Admin-only) removes a record entirely regardless of status.

11 · Inventory & Stock

Orders

Purchasing from suppliers.

AllPendingOrdered

All shows every order as a card. Pending narrows to drafts not yet sent. Ordered is a flat, searchable list of every still-outstanding line across every placed order — useful because a shipment arrives mixed and doesn't respect purchase-order boundaries. It has its own sub-filters, each with a live count: All, Outstanding, Nothing yet, Partly in, Received, and Closed.

Step 1Draft & Place

AdminWarehousedraft

Pick a supplier and add line items to a draft. The Review & Order step (Admin) locks in the actual quantity and unit cost per line, with optional notes per line, then submits it to the vendor.

The moment an order is submitted to the vendor, the catalog's listed unit cost for each ordered item updates to match — before anything has actually arrived. This is separate from the FIFO cost layers used to price a dispense, which only get created once a line is actually received; it just means the price shown on the Inventory page can shift as soon as an order goes out, not only once it's in.

Step 2Receive

WarehouseAdmin
  • Receive All — a one-click close for a fully-arrived order.
  • Partial — a shipment modal with a per-line quantity-received stepper and progress bars, distinguishing what's "arriving now" from the running "total received."
  • Per-line controls — Receive, Correct, Mark Not Received, or Reopen a single line from the flat Ordered list, without touching the rest of that order. Two people can receive different lines of the same order at the same time without conflicting.

Receiving more than was ordered, walking back a quantity already marked received, and marking a line Not Received are all Admin-only — Warehouse's per-line controls are otherwise Receive, Correct, and Reopen.

Draft Ordered Received
Tracked per line Partly in· Closed (not received)
Good to know — every receipt is recorded at its actual cost, and when items are later dispensed from Item Requests, the oldest-purchased batch is used first — so reported costs stay accurate even as supplier prices change over time. Order and per-line history is viewable by Admin/Warehouse — opening history on a single line shows both that line's own events (received, corrected, closed, reopened) and a second section for how that item has moved warehouse-wide, not just on this order.
Exporting — PDF export comes in a financial version (with prices, Admin/Office) and a warehouse-safe version (no prices, also open to Warehouse) — a single order's PDF shows each line's real catalog photo, while a filtered-list PDF uses smaller cached thumbnails to keep it manageable. CSV export, by contrast, is Admin/Office only — there's no Warehouse-accessible CSV at all.
Admin/Office can also pull a lot-level FIFO report — remaining quantity, unit cost, received date, and source order for each item's individual purchase batches — a fully itemized look behind the "oldest first" costing above.

12 · Warehouse Setup

Shelf Locations

The warehouse's own shelf and bin labels — the dropdown you'll see throughout Inventory, Orders, and Used Inventory wherever an item needs a "where is it" answer.

A simple named list: search, add, edit, delete, or upload a CSV of labels in bulk.

ViewOfficeManage the listAdminAssign a shelf to an itemWarehouse
Renaming isn't just a label edit — changing a shelf's name immediately rewrites the shelf location on every inventory item, variant, used-inventory item, and used-inventory variant that pointed at the old name. It's a catalog-wide update, not a local one, so double-check before renaming a shelf that's already in heavy use.

13 · Warehouse Setup

Locations

The property list — every building Tropilux furnishes and maintains.

Add a property (name and address), then add its units three ways:

  • Single Unit — unit number, type (Standard or Studio), bed/bath count, and square footage.
  • Bulk Add — a sequential range of unit numbers (e.g. 101–120) sharing the same specs.
  • Upload CSV/XLSX — import a whole property's unit list at once.
ViewOfficeAdd / edit / deleteAdmin
A duplicate unit number is handled differently depending on how you add it: typing one in by hand is rejected outright, while a Bulk Add range or CSV upload silently skips any units that already exist and just tells you how many were added versus skipped.

14 · Administration

Users

The staff directory — stat cards up top, a role-filter chip row (All / Admin / Office / Warehouse / Staff / Employee), then a searchable card grid: name, email, phone, a color-coded role badge, and Active/Inactive status.

View directoryAdminOffice

Admin adds people, sets their role, and toggles them active or inactive — or removes an account entirely with a separate, permanent Delete User action, distinct from deactivating it. The important part beyond the basics: Admin can restrict a non-admin user to specific properties (assigned_locations) and inventory categories (assigned_categories) — this is what quietly narrows what that person sees everywhere else in the app.

A user is force-logged-out immediately, wherever they're currently signed in, whenever their account is deactivated, or when their password or email is changed.

15 · Administration

Reports & Notifications

Admin-only.

Daily Usage ReportsEmail Notifications

Daily Usage Reports rolls up item-request activity over a window you choose — 7 days by default, up to 31 — with per-day CSV export, plus a full inventory-snapshot export you can pull any time.

Email Notifications is a grid: every Admin or Office account down the side, every event type across the top — new item request, misc request, maintenance, move-in/out, transfer, billing, admin tasks, and a "staff marked done" row that exists only for Move In and Move Out (the other task types don't have a completion email at all). Flip a switch to decide who gets emailed for what, with a live preview of the exact subject and body of each notification.

This grid doesn't control every notification email, though — Warehouse is automatically emailed on every new Item Request and on any Misc Request addressed to Warehouse, regardless of these toggles, since Warehouse has no row in the grid to opt out from.
Admin only

16 · Administration

Backups

Admin-only. A defined set of core collections — users, properties, shelf locations, inventory (new and used), stock lots, pending returns, orders, item requests, misc requests, manual entries, item intakes, tasks, and timesheets — is backed up automatically once a day, written to two independent places (Google Drive and cloud storage), so a failure in one doesn't take out both copies.

What's not included — the backup does not capture audit/history logs — the records behind the "History" views you'll see on Inventory, Orders, Used Inventory, and Pending Returns — or archived item photos. Day-to-day stock, requests, and orders are fully protected; the detailed "who changed what and when" trail is not. Keep that in mind before relying on a restore to reconstruct exactly what happened, not just where things ended up.

The main screen is a grid of daily runs: status (Completed / In Progress / Failed), size, and what triggered it. A Run backup now button starts one on demand — though the daily backup itself is actually triggered from outside the app, by a scheduled job that runs overnight (roughly 2–3am); a failed run is logged as Failed and doesn't hold up the next day's backup. Pre-restore safety snapshots are hidden from this grid by default — a "Show pre-restore snapshots" checkbox reveals them, and unlike a regular backup, a snapshot can only be restored as the whole database, not one collection at a time. Opening a backup shows a per-collection breakdown with links to the stored files.

Restoring is deliberate — whether you restore the whole database or a single collection, the system automatically takes a safety snapshot first, and requires typing RESTORE to confirm. It can't be undone lightly, on purpose.
A backup run can also be permanently deleted — except a pre-restore safety snapshot, which is protected from deletion for 7 days after it's taken.
Admin only

17 · Reference

Roles at a Glance

One shared rulebook governs every screen in the app — roughly 140 individual permission switches, but they break down into a consistent shape per role:

RoleWhat they're for
AdminFull control of everything — financials, final approvals, edits and deletes, user management, permissions, backups and restore. The only role that can override a receiving quantity, edit a placed order, or force-close a task outright.
OfficeApprovals, reporting, and financial visibility from a desk — reviews and signs off on requests, sees cost figures, exports reports. Cannot dispense stock, receive shipments, or execute dispositions, and cannot mark a Billing task complete.
WarehouseThe physical operator — receives shipments, dispenses items and accepts returns, executes used-item dispositions, keeps shelves and photos current. Final approval sign-off still routes to Admin/Office.
Staff / EmployeeFront-line property staff — submit item and misc requests, work their assigned Task Manager checklists, log their own timesheets. Generally see only their own requests, tasks, and entries.
A handful of actions are more open than their module's overall theme suggests — for instance, creating and reassigning a Task Manager task is available to every role, not just Admin/Office. Where that's the case, it's called out in that module's own section above rather than in this summary table.
Within a role, an account can also be scoped to specific properties and inventory categories — so two people with the same role badge may not see exactly the same data.

18 · Reference

Status Glossary

The same handful of status words recur across modules. Here's what each one means when you see it.

PendingSubmitted and waiting on someone's review — the default starting state almost everywhere.
Pending Admin ApprovalA first approval happened, but at least one line needs Admin/Office sign-off before it can move further (Item Requests).
Approved / Partial ApprovedCleared to fulfill — in full, or for only some of the requested lines.
Rejected / DeniedDeclined. Stops here; nothing is deducted from or added to stock.
Dispensed / Partial DispensedStock has physically left the warehouse for this request, in full or in part. A Partial Dispensed request can still be topped up via "Disburse More Items."
Returned / Pending ReturnedThe requester says an item is coming back — it isn't credited to stock until Warehouse also marks it Received.
DraftA purchase order being put together — not yet sent to the supplier.
OrderedSent to the supplier and awaiting delivery. The catalog's listed cost updates at this point too, ahead of anything arriving.
Received / Partly In / ClosedHow much of an order's line items have actually arrived; "Closed" is the current label for a line marked not received.
AssignedA task has been created and handed to one or more staff.
Awaiting AdminA Task Manager status filter for tasks where every assignee has confirmed but final sign-off is still outstanding.
CompletedEvery assignee has confirmed, and (where required) Admin/Office has given final sign-off.
Needs InfoSent back to the submitter for more detail before review can continue (Item Intake).
Disposition SuggestedWarehouse or Admin has proposed what should happen to a returned item — restock, discard, repair, etc.
ExecutedAn approved disposition has actually been carried out — e.g. the item is now back on the shelf in the Used Pool.
Different Item (Logged via Intake)A Pending Return disposition meaning what physically came back wasn't a match for what was dispensed — it's handled separately as its own Item Intake instead of being restocked here.
UnresolvedNeither confirmed nor denied — left open for follow-up (Item Intake, Pending Returns).
AgingA visual flag on anything that's sat in a queue — usually Pending Returns — longer than expected.