Track the unit lifecycle
For property developers, the question isn't only "how many open issues" — it's "how many apartments are actually delivered". The unit lifecycle answers that: each deliverable unit carries a state, and a timeline of when it reached each one.
Unit lifecycle is a separate product, not a plan feature. If you don't see lifecycle states on your zones, it isn't enabled for your organization — see Products.
Required role: Manager or Collaborator to record states. Guests can view them. Only a Manager can rename, recolor, or hide states.
Prerequisites: at least one zone type marked as a unit — see Build the zone hierarchy. Only zones of a unit type carry a meaningful lifecycle.
The states
| State | Meaning |
|---|---|
| Under Construction | The starting point. Every unit begins here. |
| Inspection | The unit is being walked and snagged. |
| Received | The unit has been accepted from the contractor. |
| Delivered | The unit has been handed over to its buyer. |
| Closed | Nothing further is expected on this unit. |
The order is a guide, not a rule. You can record any state at any time, in any order — Builddar surfaces unusual sequences instead of refusing them. A unit with no recorded milestone reads as Under Construction: that's where everything starts, not missing data.
What you see before you configure anything
A project that has never opened the lifecycle settings doesn't get all five states in its pickers. Out of the box:
- Under Construction, Inspection and Received — the construction chain — are available.
- Delivered and Closed are hidden until you opt in. They belong to the sales and after-sales side of the project, and most teams don't want them in the picker while the building is still going up.
- Received counts as the reception milestone and Delivered as the delivery milestone.
Turn the last two on in the lifecycle settings when you need them.
Record a state for one unit
- Open the unit's zone.
- Choose the lifecycle action and pick the new state.
- Optionally set:
- Effective date — when it actually happened on site. Leave it empty to use now.
- Note — context for the timeline ("keys handed over to Mr Dupont").
- Save.
Result: the unit's current state updates and a new entry appears on its timeline, stamped with who recorded it and when.
Effective date and recorded date are separate on purpose. Recording Friday's handover on Monday keeps the handover dated Friday.
Record a state for many units
Delivering a floor means delivering forty apartments. Do it in one action.
- Open the project's Zones area.
- Either select several units, or pick a parent zone to cascade from — every unit below it is included.
- Choose the state and, optionally, an effective date and a note.
- Review the preview: which units will change, and which are already in that state.
- Confirm to commit.
Result: every affected unit moves to the state and gets its own timeline entry. The whole action is one batch.
Bulk lifecycle changes are previewed by default. Nothing is written until you confirm.
Undo a milestone
- Open the unit's lifecycle timeline.
- Find the entry and choose Undo.
Result: the entry is removed and the unit's current state is recalculated from what's left on the timeline. A bulk change can be undone as one batch instead of unit by unit.
Customize the states
Required role: Manager (or Organization Admin).
- Open the project's lifecycle settings.
- For each state you can set:
- Label — rename it to your vocabulary. Leave blank for the default.
- Color — the color it shows in lists and dashboards.
- Visible — hide states you don't use so they never appear in pickers.
- Reception — mark which state counts as your project's reception milestone.
- Delivery — mark which state counts as delivery.
- Save.
Result: the project uses your labels and colors everywhere the lifecycle appears.
Two rules the settings enforce:
- Under Construction can never be hidden. Every zone starts there, with or without a recorded milestone.
- One reception state and one delivery state per project. Marking a new one clears the previous.
Hiding a state stops it being recorded from now on. It does not rewrite history — a unit already sitting in that state, and any milestone already logged in it, stays visible and filterable. A state you stopped using is not erased from the record.
The underlying state keys never change, only their labels — so portfolio reporting keeps working across projects even when each project names them differently.
Where a milestone came from
Each timeline entry records how it was created:
| Source | Meaning |
|---|---|
| Manual | Someone recorded it in the app |
| Import | It arrived through a unit import |
| Event | Builddar recorded it automatically |
Useful when a unit's history looks wrong — it tells you whether to look at a person or at a spreadsheet.