One cycle connects the unit from sales launch to handover
A real-estate developer does not just sell units. Every unit moves through four connected cycles at the same time:
- Inventory that moves from available to reserved, then contracted, then handed over.
- A commercial journey that starts with a lead and ends in a contract and a commission.
- A financial commitment that runs from the down payment to the last installment.
- Construction cost that accumulates through contractor agreements, payment certificates, and variation orders.
Split these cycles apart and you get four versions of the truth: the unit’s status in sales, the customer’s position in collections, the cost recorded in finance, and what is actually happening on site.
That is why the system is designed around the full journey of the project and the unit, not around the sales or accounting app in isolation.
Before the sales launch
The system starts with the company’s business model. Does it own the land, or partner with a landowner in exchange for a share of revenue or a number of units? Is construction handled by a main contractor, or by several contractors and subcontractors?
These are not just profile details: they determine how commitments are recorded, how cost and revenue are allocated, and how contracts and payment certificates are managed.
The real-estate product is then built in the system on a clear hierarchy:
Project → Phase → Building or block → Unit
Each unit carries its core data: type, area, floor, finishing, price, current status, and expected handover date.
Units are then linked to pricelists, payment plans, and sales launch phases, so part of the project can go to market at a different price and plan without touching the other phases.
The Go / No-Go approval
A unit does not enter the market just because it was added to the system. Before the sales launch, the company prepares and approves:
It all ends with a documented Go / No-Go decision. Only after approval do the selected units become inventory available for sale.
From lead to contract
Developers typically sell through an in-house sales team, brokers, and freelancers, and the same customer may arrive through more than one channel.
Here the CRM’s job is not just storing customer data. It has to answer:
The system uses phone number, national ID, and email to detect duplicates, and records each lead’s source, owner, and stage history. Any reassignment or change in attribution stays in the audit trail.
Sales channels and what each one can do
All three channels work on one CRM and one inventory, with different access rights:
In-house sales team
Manages the customer, works the opportunity, shows available units, and issues the commercial offer.
But cannot override approved prices, discounts, or payment plans without sign-off.
Broker
Registers the lead and follows it through the protection period, and earns the commission once its conditions are met.
But cannot change prices, reserve a unit outside availability, or offer the customer an unapproved exception.
Freelancer
Refers opportunities with narrower rights than a broker: can register a lead and track its status within set limits.
But cannot see customer lists or the full inventory, and cannot edit offers, prices, or unit data.
Separating access rights protects company data, blocks unapproved promises, and makes each channel accountable only for what it actually controls.
The customer moves from initial interest to contact, qualification, and a site visit. Then commercial conversion begins. At this stage, three distinct commitments must be kept apart.
Expression of Interest (EOI)
Registered against the project before a specific unit is chosen, and may give the customer priority in the sales launch. The amount remains a temporary commitment until it converts into a reservation or is refunded per policy.
Reservation
Tied to a specific unit, blocking its sale to anyone else for a defined period. If payment or paperwork is not completed in time, the reservation expires and the unit returns to available inventory automatically.
The contract
The final commitment that locks in the unit, the price, the payment plan, the handover date, and the remaining legal terms.
A reservation does not become a contract before the customer’s data, documents, discounts, exceptions, and channel attribution are reviewed. Once the contract is signed, the system generates the installment schedule and links it to the customer, the contract, and the unit.
So an EOI payment is never treated as a reservation, a reservation is never treated as a contract, and no unit stays blocked by a process that never finished.
Commission is part of the sales cycle
Booking the deal does not mean the commission is ready to pay.
Commission passes through several gates: a valid registered lead, a confirmed reservation, a signed contract, collection of the required payment, and a review period that ends with no cancellation.
Only then is it cleared for payout, after verifying the broker’s details and tax documents.
And if the contract is canceled after the commission was paid, the system applies the clawback policy (a refund or a deduction from future dues), keeping the cancellation reason and its full financial impact on record.
After the contract
Signing the contract opens the longest phase of the relationship: installments, arrears, service requests, amendments, and handover.
The system generates the payment schedule from the approved contract, then tracks every installment from the approach of its due date to full payment.
An installment moves through clear states, such as:
Scheduled → Due soon → Due → Partially or fully paid → Overdue
When a payment is late, the actions defined by company policy kick in: reminders, promises to pay, penalties, escalation, or rescheduling.
Placing an installment on hold during a dispute
An installment can enter a Frozen state when a dispute or open request affects it: a rescheduling request, a cancellation, or a disagreement over the contract.
Placing it on hold does not delete the installment or mark it as paid. It pauses collection actions and penalties until the case is resolved.
Once a decision is made, the installment resumes its original schedule, moves to a new one, or is settled per the financial and legal approval.
The system separates three roles:
Collections
Tracks dues and arrears and handles customer follow-up.
Customer service
Receives requests and gathers their reasons and documents.
Finance
Executes the approved financial impact: a settlement, a refund, or a new schedule.
This separation prevents one employee from receiving the request, changing the financial commitment, and executing it, all without review.
Exceptions are never handled by hand
After signing, requests like these appear:
Every request starts as its own case, with a reason, documents, an owner, and a deadline. It then passes through the required approvals (commercial, finance, legal) depending on the size of its impact.
Take rescheduling: collections reviews the payment history, finance calculates the principal and penalties, commercial sets the allowed alternatives, and legal issues the addendum.
Once the addendum is approved, a new installment schedule is created. The old schedule is closed and kept on record, never deleted or edited as if it had never existed.
Cancellation resets more than one thing
Canceling an EOI is not the same as canceling a reservation, and canceling a reservation is not the same as terminating a signed contract.
In every case, the system must determine:
The unit does not return to inventory automatically before the legal and financial impact is closed, and no money is refunded before calculating what was collected and what deductions apply.
This is one of the highest-risk areas in real estate: it touches the customer, the unit, the commission, cash, and reputation all at once.
Construction and project cost
On the other side of the customer cycle, the system runs contractor agreements, payment certificates, and execution cost.
The cycle starts with the contractor’s agreement, the BOQ, and the execution program. The contractor submits a payment certificate, project management reviews the progress percentage, and Cost Control reviews the quantities, variation orders, retention, and advances.
Only after approval does the certificate move to accounts payable and treasury for payment.
Cost is allocated at clear levels:
Project → Phase → Building or block → Cost item
It can be analyzed by contractor, by type of work, original contract vs. variation orders, committed cost vs. actual cost, and retentions and advances.
Which means management can see:
Collections are not revenue
Collecting money from a customer does not automatically make it company revenue, just as receiving a contractor’s payment certificate does not make its cost fully due without approval.
The system keeps these apart:
When revenue is recognized, and which journal entry each event triggers, is decided with the finance team based on company policy and the nature of the contracts, never assumed in advance by the system.
From readiness to handover
As the handover date approaches, the system brings the unit’s construction status together with the customer’s financial and legal position.
A unit does not jump straight from Contracted to Handed over. It first passes through Ready for handover after confirming:
Once complete, the handover is recorded, and the unit, customer, contract, collections, and amendments stay linked in one file.
Governance sits above every operation
Having workflows is not enough: decision authority has to be clear at every stage.
The system relies on four connected layers:
Approval matrix
Defines who approves discounts, payment-plan changes, waivers, rescheduling, cancellations, variation orders, and payment certificates.
Audit trail
Records who changed the data, when it changed, why, and the value before and after the change.
Status dictionary
Standardizes what unit, lead, reservation, contract, installment, and request statuses mean, so no two departments define the same status differently.
Management indicators
Connect sales, inventory, collections, and cost, instead of tracking each department in isolation.
The indicators cover: lead flow and conversion; units available, reserved, and contracted; collections and arrears; cancellations; commissions; and actual cost vs. budget.
Who owns the decision?
In smaller companies one person may wear more than one hat, but every decision must still map to a clear role, so accountability never gets lost between departments.
| Role | Decisions they own |
|---|---|
| Account Manager | Prices, payment plans, which units go to market, and commercial discount limits. |
| CRM Manager | Lead ownership, duplicate prevention, channel attribution, and customer reassignment. |
| Direct Sales | Qualifying the customer, site visits, the offer, and moving them to EOI or reservation. |
| Sales Admin | Confirming reservations, verifying availability, documents, and reservation validity. |
| Legal / Contracts | Contracts, addenda, assignments, cancellations, and legal changes. |
| Customer Service | Logging after-sales requests, verifying them, and flagging what needs escalation. |
| Collections | Tracking dues, arrears, promises to pay, and default cases. |
| Finance: AR / GL | Customer collections, settlements, refunds, journal entries, and receivables. |
| Finance: AP / Treasury | Contractor dues, payments, retentions, advances, and payment timing. |
| Engineering / Project Management | Approving progress percentages, reviewing payment certificates, and unit readiness for handover. |
| Cost Control | Budget vs. actual, commitments, variation orders, and cost allocation. |
| Channel Operations | Registering brokers and freelancers, protection periods, commission eligibility, and attribution disputes. |
- Decisions they own
- Prices, payment plans, which units go to market, and commercial discount limits.
- Decisions they own
- Lead ownership, duplicate prevention, channel attribution, and customer reassignment.
- Decisions they own
- Qualifying the customer, site visits, the offer, and moving them to EOI or reservation.
- Decisions they own
- Confirming reservations, verifying availability, documents, and reservation validity.
- Decisions they own
- Contracts, addenda, assignments, cancellations, and legal changes.
- Decisions they own
- Logging after-sales requests, verifying them, and flagging what needs escalation.
- Decisions they own
- Tracking dues, arrears, promises to pay, and default cases.
- Decisions they own
- Customer collections, settlements, refunds, journal entries, and receivables.
- Decisions they own
- Contractor dues, payments, retentions, advances, and payment timing.
- Decisions they own
- Approving progress percentages, reviewing payment certificates, and unit readiness for handover.
- Decisions they own
- Budget vs. actual, commitments, variation orders, and cost allocation.
- Decisions they own
- Registering brokers and freelancers, protection periods, commission eligibility, and attribution disputes.
Owning a decision does not mean making it alone. Some cases pass through more than one department per the approval matrix, but one party always owns starting the decision and seeing it through.
What does Odoo actually run?
Odoo brings into a single cycle: