Account lifecycle status

One control that can express the whole vocabulary of account states — active, inactive, paused, suspended, banned, scheduled for deletion — with an optional reason logged alongside the change.

What it is

A single Select on the Overview tab, backed by a shared status vocabulary used by the tenant list, this control and the per-account notifications screen. It keeps the older columns in step so nothing that already read them breaks, and the dedicated suspend/reactivate buttons continue to work as a subset.

Also called: suspend account · pause account · ban · account state · is my account active

See it
Account lifecycle status
Apr
May
Jun
Jul
Sutter Kline — Barndominium
Framing
Gideon Alt — Hobby Shop
Concrete
Gideon Alt — Riding Arena
Trim
Gideon Alt — Riding Arena
Framing
Gideon Alt — Barndominium
Concrete
Framing crewConcrete crewTrim crew
The Account Status panel card: current chip with its description, the status Select with per-option descriptions, and the 'Why?' input under it. Sample data — no customer information appears here.
How it works
  1. 1Pick a status, optionally type why, and Apply. The reason is logged with the change.
  2. 2Entering suspended or banned stamps the suspension time; leaving it clears it. Entering scheduled deletion stamps the deletion timestamp.
  3. 3Only active, inactive and paused accounts appear by default on admin screens, so suspended and banned stop cluttering the work.
  4. 4The status chip carries a plain-English description of what the state actually means.
Why we built it

The status module explains why the old free-text column was not rewritten: 'organizations.status is a free-text column (migration 013) with no CHECK constraint, and it already carries two legacy values from before this list existed. Those stay recognized rather than being rewritten — a migration that silently reinterpreted someone's account state would be worse than a slightly longer list.' The control replaced 'the previous two-button suspend-or-reactivate flow with something that can express the states in between.'

The problem
  • Two buttons could only say on or off, so real situations were recorded as the wrong one.
  • A status change with no reason is unexplainable later.
  • Dead test accounts cluttered every admin list.
Sound familiar?
What you get
The account state matches reality instead of the nearest available button.
Every state change carries a reason on the record.
Admin screens show the accounts actually being managed.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →