Glass skyscrapers seen from below, in Arcsen colours

Off-plan sales on Salesforce: from launch day to collections

In Dubai, most homes now sell before they are built. In June 2026, off-plan sales were 76 per cent of residential transactions, 9,442 in one month, according to Cavendish Maxwell figures reported by Gulf News. Each of those sales then runs for years, from the expression of interest (EOI) to the last instalment.

The weak points look the same from Cairo to Riyadh. On launch day, two people promise the same unit. Price lists live in spreadsheets, payment-plan exceptions are approved on WhatsApp, sale and purchase agreements (SPAs) are retyped by hand, and commission disputes start because nobody recorded which broker brought the buyer first. Collections sit in the ERP, out of sight of sales. This guide covers running the whole cycle on Sales Cloud and what to connect it to. AI agents for buyers and brokers are a separate subject, covered on our Agentforce page.

Inventory, holds and launch day

Start with the inventory model. We model projects, buildings and units as their own records. Each unit carries its type, area, price and one status that every channel reads: available, held, reserved, sold or blocked. Price lists are versioned and approved before release, and every deal records the version it used.

Holds need an end. Give each hold an owner and an expiry time, and release it with a scheduled path in a record-triggered flow, timed from a date field on the record. Salesforce cancels pending scheduled paths when an update means the record no longer meets the flow’s conditions, so a hold that becomes a reservation stays reserved. Test that case before launch.

Launch day is a concurrency problem: dozens of people press reserve on the same unit within seconds. In Apex, a query with FOR UPDATE locks the records it returns until the transaction completes, so the availability check and the status change happen together. A competing request waits up to 10 seconds for the lock, then finds the unit taken or fails, and your screen should show both as “unit no longer available”. The same page warns that callouts release locks, so keep payment-gateway calls out of that step.

Record each EOI against the project and the preferred unit types, with the broker, any deposit and consent. Fix the allocation rule before launch, such as the order in which EOIs were confirmed, and log who chose which unit.

From reservation to registration, stage by stage

Stage What Salesforce records Control before the next step
Hold Unit, owner and expiry time One active hold per unit, released automatically at expiry
Reservation Booking form, buyer, unit, price list version and fee receipt Finance confirms the fee. In Saudi Arabia, where a project’s marketing licence allows reservations, the Real Estate General Authority’s Wafi rules send the reservation amount to the designated escrow account and cap it at 5 per cent of the unit’s value
Payment plan The standard plan, or an exception with its reason Approval for any change to price, discount, dates or the handover payment
SPA and KYC The SPA generated from approved data, identity documents and signature status Compliance clears the file before signature
Registration Registration reference and date In Dubai, registration within 90 days of signing
Collections Instalments, receipts and overdue amounts, read from the ERP Reminders and escalation, with rescheduling approved by finance

Payment-plan exceptions are where margin leaks. Build them as Flow Approval Processes: sequences of stages and steps, where each approval step assigns a work item to a user, group or queue, and decision elements choose the path by condition. A small discount goes to the sales director, a change to the handover payment goes to finance, and the history stays on the record.

Rule of thumb: one status per unit, one price list version per deal, one approval history per exception, and no SPA generated from data that has not been approved.

SPA, KYC and registration

Generate the SPA from approved data: buyer, unit, price list version and payment plan. Keep the Arabic and English templates in step under one owner, and store the signature date, because deadlines run from it. In Dubai, the developer registers the sale through the Dubai Land Department’s Oqood portal, and the SPA must be registered in the provisional register within 90 days of signing, with a valid UAE ID, or a passport for non-residents, and company documents for corporate buyers.

For KYC in the UAE, Ministry of Economy Circular No. 05/2022 requires licensed real estate brokers and agents to file a Real Estate Activity Report on goAML when a freehold sale is paid in cash of AED 55,000 or more, in one payment or several, or with virtual assets. It lists the records to hold, from Emirates ID or passport copies to the register of beneficial owners for companies, kept for at least five years. Ask your compliance team how this applies to your direct sales, then model it: a payment method on every receipt, a document checklist by buyer type, and no SPA signature until compliance clears the file.

Brokers: registration, protection and commission

Give brokers a portal on Experience Cloud. Its Partner Central template lets partners register deals from the site, and once a deal is registered, other resellers or your direct sales team cannot compete for it. Set the same rules in the agency agreement and in Salesforce: what counts as a registration, how long it lasts, and what happens when a buyer arrives through two agencies.

Check each agency’s licence and broker registration when they join, store the expiry dates, and stop new registrations when one lapses. Calculate commission in Salesforce from the agreement, with its conditions, such as a signed SPA and a share of the price paid, and clawback on cancellation, then pay it through the ERP. Salesforce supports Arabic as an end-user language, with right-to-left layout by default in Experience Builder sites and some limitations, so test the portal in Arabic with real brokers.

Collections, escrow and the ERP

Once the SPA is signed, collections are finance’s job. In Dubai, off-plan buyers’ payments go into the project’s escrow account under Article 7 of Law No. 8 of 2007, and the ERP reconciles receipts against it. Salesforce shows what each buyer has paid and owes, without becoming a second ledger. This is the integration map we start from:

Data System of record Direction and timing
Projects, buildings, units The property system or ERP, such as Farvision, Oracle Fusion or NetSuite Into Salesforce before launch and on change
Unit status, holds, reservations Salesforce Out to the ERP and the website on every change
Buyer, SPA, payment plan Salesforce until signature Out to the ERP at signature, creating the customer, contract and instalments
Receipts and balances The ERP Into Salesforce on each receipt, or daily
Broker commission Salesforce calculates, the ERP pays Out as approved payables, with payment status back

Run these flows through one integration layer, such as MuleSoft, with retries and alerts, so a failed sync is caught before a buyer sees a wrong statement.

Our work in real estate

For Palm Hills Developments, Sales Cloud carries real-time inventory, reservations and payment-plan approvals through SPA signature and collections, with broker commissions. For Al Barari, the work runs from launch day to resale: The Cape launch, EOI and SPA with KYC, broker commissions through NetSuite, and tenant, contractor and amenity processes. We are implementing Sales Cloud and Marketing Cloud for Soudah Development, the developer of Soudah Peaks in Asir, integrated with Oracle Fusion. For Oris in Oman, the scope covers residential sales to SPA, commercial leasing to renewal, and case-managed snagging and handover, with WhatsApp messaging.

Where to start

  1. Write the unit statuses and the allocation rule for your next launch, signed by sales, finance and legal.
  2. Name one system of record for each row of the integration map.
  3. Turn the payment-plan exceptions from your last launch into one flow approval process.
  4. Rehearse launch day in a full sandbox: many users reserving the same units, holds expiring, a reservation cancelled.
  5. Agree the KYC checklist and the broker registration and commission rules before the first EOI.
Preparing a launch on Salesforce? Our free Salesforce Health Check takes ten working days and gives you a scored report on your whole org, yours to keep. See our real estate work, talk to our real estate team or send us your RFP.

Frequently asked questions

Can Salesforce stop a unit being sold twice?

Yes, if you design for it: one status per unit, holds that expire automatically, and a reservation step that locks the unit record, so a competing request waits and then finds the unit taken.

How should payment-plan exceptions be approved in Salesforce?

With Flow Approval Processes, which route each exception through stages and steps assigned to users, groups or queues, and keep the approval history on the record.

Should off-plan collections run in Salesforce or in the ERP?

In the ERP, which owns receivables and reconciles them against the escrow account. Salesforce sends the customer, contract and instalment schedule at signature, and shows the receipts that come back.

How do brokers register buyers with a developer?

Through a partner portal on Experience Cloud. With deal registration in Partner Central, other agencies and your direct sales team cannot compete for a registered deal.

When must an off-plan SPA be registered in Dubai?

Within 90 days of signing. Dubai Land Department says the developer registers it in the provisional register through the Oqood portal.

Sources