Opportunity stages, lead sources and system activities
An opportunity moves through Lead, Estimate, Approval and Booked (or Lost) only through the actions taken on it; every move is written to its stage history and its timeline, where locked system activities sit beside the calls and visits the team logs.
Opportunity stages, lead sources and system activities
An opportunity is one buyer's enquiry on one project. Its stage says how far it has travelled: Lead (an enquiry), Estimate (a unit has been priced), Approval (an estimate is waiting for or has had a decision), Booked (the deal is closed) or Lost. The lead source records where the enquiry came from. The timeline records what happened, part of it written by the team (calls, visits) and part by the application itself (stage changes, estimates, holds), which nobody can edit.
How it works in NirmaanOne
Stages move only through actions
You never set a stage by hand: Edit opportunity has no stage field and the pipeline board's cards cannot be dragged ("Cards move between stages through the actions on the opportunity"). The moves are:
| From | To | What moves it |
|---|---|---|
| (new) | Lead | Create opportunity |
| Lead | Estimate | the first estimate is saved (Save & continue to payment plan / Save & close) |
| Estimate | Approval | approval is requested (finalizing the payment plan, or Request approval) |
| Estimate / Approval | Booked | Book in the booking wizard |
| Estimate / Approval | Estimate or Lead | the current estimate is cancelled or expires: back to Estimate if another live version exists, else Lead |
| Estimate | Lead | the last draft is deleted and no live estimate is left |
| any open stage | Lost | Mark lost with a reason (every live estimate is cancelled and its holds released); also a booking cancellation ("Booking cancelled: <reason>") |
| Lost | Lead | Reopen (an opportunity lost before 28 September 2026 that kept a live estimate returns to Estimate) |
Some things to know about the ladder:
- An opportunity is open while it is not Booked or Lost. The list's Open only filter and the board's columns use that meaning.
- Saving a new estimate version does not move the stage back: v2 drafted while v1 was Approved leaves the opportunity at Approval. A rejected estimate also stays at Approval.
- A Booked opportunity is closed only by cancelling the booking; Mark lost refuses it with "This opportunity is booked. Cancel the booking to close it."
- Only a Lead with no estimates can be deleted; anything further along is marked lost instead.
- Allottee purchases (a landowner, PAP tenant or member buying the unit their offer allots) use the same stages but stay out of the pipeline list, the board and the funnel.
Every move writes one row of stage history (the History tab: from-stage, to-stage, date and a note such as the lost reason, "reopened", "current estimate cancelled", "estimate expired", "last estimate deleted" or the booking number) and one Stage Changed entry on the timeline, and raises a workflow event that rules can act on (the seeded "Opportunity lost: tell sales management (system)" is one).
The dashboard's sales funnel counts each stage as reached, not as where the opportunity sits today: a deal that went Lead, Estimate, Approval, Booked counts at all four steps, and one lost after an estimate still counts at Lead and Estimate.
Lead sources
A lead source is an organization-level lookup kept under Settings, Lookups, Lead sources ("Where enquiries come from: walk-in, portal, referral, channel partner…"). Every organization starts with Walk-in, Website, Channel Partner, Referral and Social Media; you can add, rename, reorder and deactivate them (any permission on Lookups to see them, Create / Edit / Delete to change them). Deleting a source that opportunities use does not stop them; the field is simply cleared on those records, so deactivating is the safer choice.
The source is picked in the Source & owner section when the opportunity is created (the picker needs the View permission on Lookups) and can be changed on Edit opportunity. It shows under Owner / source on the list, filters the list (Lead source, "Any source"), and appears on the overview's Contact & source card. An allottee purchase has no lead source and no channel partner; trying to set one is refused.
System activities
Activity types are another lookup (Settings, Lookups, Activity types), with two kinds of row:
- User types, which the team picks in Log activity: Call, Site Visit, Meeting, Email and WhatsApp are seeded, and you can add your own.
- System types, marked "(system)" in the filter and locked on the timeline: Stage Changed, Opportunity Created, Assigned, Estimate Created, Estimate Sent, Estimate Finalized, Approval Requested, Estimate Approved, Estimate Rejected, Estimate Cancelled, Estimate Expired, Estimate Validity Extended, Unit Held, Unit Released, Payment Plan Drafted, Payment Plan Finalized, Payment Plan Cancelled, Booking Created, Booking Cancelled, Opportunity Lost and Opportunity Reopened, plus Parking Held and Parking Released, which join the list the first time a parking slot on an estimate is held or released.
System entries are written by the application when the action happens, with a summary such as "Opportunity created for Rakesh on Sea Breeze Residency", "Estimate v1 created for unit A-1203: 13694683.00", "Unit A-1203 held for this buyer until 2026-10-08" or "Stage Lead -> Estimate". They cannot be added, edited or deleted: "System activities are written by the application and cannot be added, edited or deleted." A system type keeps its code and cannot be deleted from the lookups ("System rows cannot be deleted; deactivate instead"). The Activities tab shows a lock icon on them and offers Hide system entries to read only the team's own notes. The reason is audit: the timeline is the record of how the deal moved, and that record must not be tidied up afterwards.
User activities carry a Summary, When, an optional Next follow-up, Details and an optional link to the estimate they concern; anyone with the Edit permission on Opportunities can log, edit or delete them.
Example
Rakesh Shah walks into the site office of Sea Breeze Residency on 28 September 2026.
| Date | What the team does | Stage after | Timeline entries written by the app |
|---|---|---|---|
| 28 Sep | Create opportunity with lead source Walk-in, assigned to Priya Nair | Lead | Opportunity Created; the seeded rule opens a "First call" task |
| 28 Sep | Priya logs a Call ("Wants 2 BHK on a high floor, budget ₹1.3 crore") | Lead | — (a user entry, editable) |
| 29 Sep | Priya saves estimate v1 on A-1203 | Estimate | Estimate Created; Payment Plan Drafted; Stage Changed "Lead -> Estimate" |
| 30 Sep | Mark sent | Estimate | Estimate Sent; Unit Held (until the estimate's Valid until date) |
| 3 Oct | Finalize pricing & plan, request approval | Approval | Estimate Finalized; Payment Plan Finalized; Approval Requested; Stage Changed "Estimate -> Approval" |
| 4 Oct | The Sales Manager approves | Approval | Estimate Approved |
| 5 Oct | Book | Booked | Booking Created; Stage Changed "Approval -> Booked", note "BK-2026-27-00007" |
Had Mr Shah chosen a competitor on 4 October, Mark lost with the reason "Chose a competitor" would have cancelled v1, released A-1203, moved the opportunity to Lost and written Estimate Cancelled, Unit Released, Stage Changed and Opportunity Lost. If he came back in November, Reopen returns it to Lead with "Reopened; create a new estimate", and the new estimate starts fresh on whatever unit is free then.
Where you see it
- Opportunities: the Stage column and filter, the Board view, the Lead source filter, and Reopen on lost rows.
- New opportunity and Edit opportunity: the Lead source picker.
- Opportunity overview: the stage badge, Mark lost, Reopen, Delete, and the Activity card.
- Opportunity activities: the timeline, Log activity, Hide system entries.
- Opportunity stage history: every move with its note.
- Lookups: Lead sources and Activity types.
- Dashboard: the sales funnel.
Related
Related
- OpportunitiesScreen
The sales pipeline as a list or a stage board: every buyer enquiry with its stage, owner and current estimate, with filters, search and shortcuts to open, edit, delete or reopen one.
- New opportunityScreen
Start a lead: the project, the buyer (a new person or an existing contact), where the enquiry came from, who works it, any channel partner to credit, and what the buyer is looking for.
- Opportunity (Overview tab)Screen
One buyer's enquiry on one project: who they are, what they want, the current estimate, the latest activity, documents and tasks, with the pipeline actions (estimate, assign, book, mark lost, reopen) in the header.
- ActivitiesScreen
The opportunity's timeline: calls, site visits and meetings logged by the team, alongside the locked entries the system writes for stage changes, estimates and bookings.
- Stage historyScreen
Every move of an opportunity through the pipeline, newest at the top: the stage it left, the stage it entered, when, and the note that explains why.
- Edit opportunityScreen
Change an opportunity's lead source, owner, channel partner or requirements; the project and the buyer stay fixed, and only the fields you touch are saved.
- EstimateScreen
One estimate version: its charges by group, payment plan, approvals, unit and parking hold and validity, with the lifecycle actions to send, finalize, request approval, approve or reject, extend, cancel, version and book.
- Book <unit> for <name> (booking wizard)Screen
The three-step wizard that turns an approved estimate into a booking: review exactly what was approved, add co-applicants and their shares, set the booking date and book the unit.
- Cancel bookingScreen
The four-step wizard that cancels a booking: it shows the demands and receipts that will be reversed, suggests the forfeiture and charges from the rule in force, sets the refund and posts everything in one go, releasing the unit and parking and marking the opportunity lost.
- LookupsScreen
The dropdown lists every form draws on: contact types, lead sources, activity types, company types, bank account purposes, parking types, amenities, unit types and unit configurations.
- DashboardScreen
The page you land on after signing in: shortcuts to common jobs, a queue of what is waiting on you, the headline figures and one card each for projects, sales, stock, receivables, construction and the RERA accounts.
- Estimate versions, price lock, overrides and the approval gateConcept
Every priced offer to a buyer is a numbered version of the opportunity: a Draft is edited in place, any later price change is a new version that supersedes the current one, the price is locked when finalized, and every estimate must be approved before it can be booked.
- Estimate validity and the unit holdConcept
A sent estimate holds its unit (and the parking slots it picked) for that buyer until its Valid until date; the hold starts on sending, can be extended with a reason, and an hourly job expires the estimate and frees the unit the day after the date passes.
- Booking: agreed total, applicants and sharesConcept
A booking is the closed deal on one unit for one opportunity, made from the current Approved estimate: it fixes the agreed total, numbers itself by financial year, books the unit and parking, and names the primary applicant and the co-applicants with their ownership shares.
- Lookups and their codesConcept
The dropdown lists each organization maintains (contact types, lead sources, activity types, company types, bank account purposes, parking types, amenities, unit types, unit configurations), the machine code each value carries, how the code is derived from the name, and why some codes must not be retired.
- Dashboard figures: absorption, funnel and operational moneyConcept
How the dashboard's tiles and cards are worked out: absorption of saleable stock, the sales funnel by stage reached, money read from demands and receipts rather than the ledger, the RERA accounts card, and the period with its comparison window.
- Contacts, companies and company typesConcept
A contact is a person; a company is a legal entity with people attached. The company type decides which registrations the form asks for (promoter, channel partner, vendor, contractor), and a channel partner's default commission feeds the commissions on the bookings it brings.