Walking a Stock Through Its Lifecycle
A stock travels from a wish-list idea to a fully sold asset through a series of statuses. You don't type the status — you choose the next one from the allowed options, and the system records who changed it and when. This page shows the full map of allowed moves, how to change status, and the special Split behavior.
The full status map
The diagram is simplified for readability. On Hold can return to whichever status the stock came from, and Cancelled can be reopened to most earlier working statuses. Split and Completely Sold are terminal. For the authoritative, product-wide version of this lifecycle, see Status lifecycles.
What each move means
| From | Allowed next statuses | Typical trigger |
|---|---|---|
| Wishlist | In Negotiation, Cancelled | You start talking to the seller, or drop the idea. |
| In Negotiation | Under PO, On Hold, Cancelled, Wishlist | Terms agreed, paused, abandoned, or sent back to the shortlist. |
| Under PO | Advanced, On Hold, Cancelled | An advance is paid, or the deal pauses/falls through. |
| Advanced | Registered, On Hold, Cancelled | The deed is registered, or the deal pauses/falls through. |
| Registered | Allocated, On Hold | You assign it to a project, or pause it. |
| Allocated | Partially Sold, Completely Sold, On Hold, Registered | Units start selling, all units sell, it pauses, or the allocation is removed. |
| Partially Sold | Completely Sold | The last remaining units sell. |
| On Hold | Returns to the prior working status | The block is lifted. |
| Cancelled | Reopens to an earlier working status | The deal is revived. |
| Completely Sold | (terminal) | Nothing further. |
| Split | (terminal — locked) | Set automatically when the stock is split. |
Changing a status
- Open the stock and go to its Status section (or use the status control on the detail page).
- The status dropdown shows only the statuses you're allowed to move to from the current one. If a status isn't listed, the move isn't permitted from here.
- Pick the new status, add any required document or remark, and confirm.
- The change is recorded in the status history — you can see every transition, who made it, and when, on the stock's status timeline.
If you try an invalid jump (for example, Wishlist straight to Registered), the system refuses it with a clear error.
Putting a stock On Hold and bringing it back
On Hold is a pause button. When you take a stock off hold, you tell the system which status to return to (its previous working status), so it picks up exactly where it left off.
Automatic status changes
Some transitions happen for you as a side effect of other actions:
- Creating a full allocation to a project can move a Registered stock toward Allocated (you confirm the move via the status control when ready).
- Removing the last allocation from an Allocated stock reverts it to Registered.
These keep the stock's status honest with what's actually happening to it.
Documents and status
Certain statuses expect supporting documents (for example, the registered sale deed when moving to Registered). The system can block a status change until the required document is uploaded. Documents that are mandatory for a status can't be deleted while that status holds. Upload status documents from the stock's status section — allowed file types are PDF, DOC/DOCX, JPG/PNG, up to 10 MB.
Splitting a stock
Sometimes a single large parcel needs to become several smaller, independently managed stocks — for instance, when one survey number is divided for separate projects. Split does this in one irreversible step.
Rules for splitting:
- The parent must not be in a terminal state (Split, Cancelled, Completely Sold).
- The parent must not have an active project allocation (it must not be Allocated).
- The parent must have a recorded area (
areavalue). - You must create at least 2 child stocks.
- The children's areas must add up to the parent's area (within a tiny ±0.01 tolerance).
What happens when you split:
- New child stocks are created, each linked back to the parent. Their codes follow the pattern
{PARENT}-CHILD-{n}(for example,STK-001-CHILD-1). - Children inherit the parent's category, subcategory, and location, and each starts at Wishlist.
- The parent's status flips to Split and locks — you can't change a split stock's status again or run further status transitions on it.
- A
STOCK_SPLITentry is written to the audit log.
Splitting is irreversible. Once a stock is split, the parent is permanently locked at Split. Double-check the child areas add up before you confirm.
Note: Split is never offered in the status dropdown. It is only ever set by the Split action itself — this prevents anyone marking a stock as "Split" without actually producing child stocks.