EO mode
Full-bleed inline editor for the Inventory Table — your fastest way to update dozens of cells.
Last updated: 2026-05-10
EO mode is a full-screen take on the Custom Inventory Table. The sidebar and top nav disappear, the grid lifts to 5,000 rows on one page instead of paginating at 50, and 13 columns become editable inline — no need to click into each unit.
Why this matters
When you sit down on a Monday morning and need to update gross rent on twelve units, change the agent-in-charge on five more, and adjust square footage on three rows your team just measured, doing it one unit page at a time burns half an hour. In EO mode it takes five minutes.
How to turn EO mode on
Three ways:
- From anywhere in the app, press ⌘E (Mac) or Ctrl+E (Windows / Linux).
- On
/inventory, click the EO toggle in the top-right. - Open
/inventory?mode=eodirectly.
The toggle is hidden on screens narrower than 1280 pixels and on touch devices — EO mode is desktop-only. On a phone or tablet, you will land back in the standard inventory view.
To exit, press ⌘E again, click Exit EO in the top bar, or remove ?mode=eo from the URL.
What changes in EO mode
EO mode is a chrome flip, not a different page. Every filter, search term, sort order, saved column view, and chip selection you had in standard mode carries over. The notes hover popover, the inline comment composer, and the suggested-rent column all work the same way.
The differences:
- The sidebar and top header are hidden, so the grid takes the full screen width.
- Pagination is replaced with virtual scrolling — up to 5,000 rows on one continuous list.
- 13 columns become directly editable in the grid.
EO mode does not change the data; it changes how you interact with it. The same access rules apply: if you cannot edit a unit in the standard view, you cannot edit it here either, and locked cells show a Lock icon.
The 13 inline-editable columns
In EO mode, clicking one of these columns and pressing Enter (or just typing) starts an edit:
| Column | What it edits |
|---|---|
| Gross rent | Monthly asking rent. Gated by the rent-cap rules (see below). |
| Status | The unit lifecycle status (vacant / occupied / rented / hold / etc.). |
| Agent | The agent-in-charge for this unit. |
| Lease term (months) | The advertised lease term, e.g. 12 or 18. |
| Listed date | The date the unit went on the market. |
| Description | The internal short description that shows on unit cards. |
| Beds | Bedroom count. Accepts text like "studio", "1", "2.5". |
| Baths | Bathroom count. Accepts text like "1", "1.5". |
| Sq ft | Square footage. Whole number, up to 20,000. |
| Floor | Floor number. 1 means ground floor by NYC convention. Hidden by default — turn it on in the Columns drawer. |
| Net rent | The net rent after concessions. Not rent-cap-gated; this is a descriptive number. |
| Previous rent | The prior tenancy's rent, kept for reference. |
| Concession months | Free months on the lease, e.g. . Range 0 to 12. |
Every other column is read-only in EO mode and renders with a Lock icon. To change those values, click into the unit detail page.
Rent-cap rollback
When you edit gross rent, Urbero runs the new value through the rent-cap gate before it commits. Three layers apply:
- Rent Stabilization Board (RGB) caps on rent-stabilized units.
- HCR maximum collectible rent (MCR) caps on rent-controlled units.
- Good Cause Eviction (GCE) local standard on free-market units flagged as GCE-covered.
If your new rent exceeds the applicable cap, the cell flashes red, rolls back to its previous value, and a toast appears with the verbatim reason ("Rent above RGB cap — override required", or similar). Brokerage admins get an Override... button on that toast. Clicking it opens a small confirm dialog where you record the justification, and the override is committed (it also writes a row to the override log for compliance). Agents and other roles see the rollback but no Override button — they need to ask an admin.
Net rent, previous rent, and the other numeric columns are not rent-cap-gated. They are descriptive, not regulatory.
Keyboard shortcuts
EO mode is meant to be driven from the keyboard. The full table:
| Shortcut | What it does |
|---|---|
⌘E / Ctrl+E | Toggle EO mode on or off from anywhere. |
Tab | Move to the next editable cell. Wraps to the next row. |
Shift+Tab | Move to the previous editable cell. |
Enter | Move down one row. Inside an edit, commits and moves down. |
Shift+Enter | Move up one row. |
↑ |
Typing a printable character on a focused cell also starts an edit and types that character into the input — so you can land on the rent cell and just start typing the new amount, no F2 needed.
Read-only cells
Some cells you cannot edit in EO mode at all. They render with a muted background and a small Lock icon:
- Locked entirely — the unit's access rules do not let you edit it (you are an agent without an assignment to that unit, for example).
- Wrong surface — fields like tenant name, lease end date, or photo captions belong on the unit detail page, not in a grid cell. Click the apartment label to jump there.
A Lock icon never blocks you from reading the value. It just tells you "this cell does not edit here."
Tips
- Save your column view first. Before a heavy edit session, open the Columns drawer in standard mode, pick exactly the columns you need, then flip to EO. Fewer columns means less scrolling.
- Filter before you edit. If you are updating rents across one landlord's portfolio, click that landlord's chip first. The grid drops to just those rows and your edits stay focused.
- One column at a time. Pick a column (rent, say), hit
⌘↑to jump to the top, then use↓to move row by row. Faster than zigzagging. - Audit log records every edit. Every inline change writes an audit entry. Your work is recoverable; nothing is destructive.
See also
- Custom Inventory Table — the standard view of the same grid.
- Comments — the unit comments thread that powers the Notes column.
- Unit detail — where the columns EO does not edit live.