
Real estate CRM · payment collection
Your buyer paid on Monday. On Wednesday he got an overdue notice.
Payment plans run for years, follow construction milestones and outlive the sales team. Reminders go out by hand, receipts match days late and promises live in one agent’s memory. Here is every pain we see in developer collections, and how we solve each in Salesforce: the screens, the reminders, the integrations and the techniques.
Salesforce consulting partner since 2010 · MVP Hall of Fame · 200+ agents in production · UAE, India and US desks
Every pain we see
Fourteen ways a payment plan leaks money.
None needs a new team. Each is a step that lives in a spreadsheet, an inbox or someone’s memory.
The reminder ladder
From two weeks before to the formal notice.
A sample ladder. Yours follows your SPA, your buyers and your tone. Every step checks the balance first.
14 days before
Notice with the statement
Amount, due date, the account to pay into and the unit reference, by email and message.
3 days before
Short reminder
With a pay-now link and the reference to quote on a transfer.
Due date
Checked against receipts
Skipped if the money landed or a bank disbursement is expected.
3 days after
Polite overdue note
From the customer care owner, not a no-reply address.
7 days after
Call task
Collections calls with the full history on screen and logs any promise to pay.
15 days after
Manager in Slack
The overdue buyer, the history and a proposed late fee, to approve or waive.
30 days after
Formal notice drafted
Drafted from the SPA terms and sent to legal for review before it goes out.
Then
The route your SPA sets
Legal steps follow the SPA and the law where the unit is. The record keeps every notice and date.
In Salesforce Lightning
The record, the list and the flow behind them.
Drawn by us with invented buyers and amounts to show the setup. Your fields and steps replace ours.
Illustration, sample data
Salesforce · Booking record (Lightning)Record
B-1204 · Rania K. and Sami K.
Payment schedule related list
Details
- Paid to date
- AED 588,000
- Overdue
- AED 392,000 · 9 days
- Promise to pay
- 20 Oct, by Rania K.
- Pays into
- Tower B escrow, ref B1204
Instalment Due Amount Status Booking 12 Oct 25 196,000 Paid Slab 10 05 Mar 26 392,000 Paid Structure 03 Oct 26 392,000 Overdue Handover Milestone 588,000 Not due Customer care and collections
The record page shows the balance, the promise and every instalment, with the account and reference to pay into.
Illustration, sample data
Salesforce · Collections list viewRecord
Overdue, Tower B · by age
Buyer Overdue Days Next step Al Noor Trading LLC 1,176,000 34 Formal notice, legal Daniel F. 245,000 16 Manager approval Rania K. 392,000 9 Promise 20 Oct J. Mehta 118,000 4 Overdue note sent Collections team
One list in age buckets, with the next step on each line. Agents work it top down from the console.
Illustration, sample data
Salesforce · Flow BuilderRecord
Instalment reminders · scheduled paths
Record-triggered flow on Instalment, runs from Due Date
When Only if Then 14 days before Not paid Email and message template 3 days before Not paid Reminder with pay link 3 days after Balance open, no promise Overdue note from owner 7 days after Balance open Create call task 15 days after Balance open Post to Slack for approval Salesforce admin
Scheduled paths run from each instalment’s due date. When a milestone moves, the due date moves and so does every reminder.
Notifications
What the buyer gets, what the team sees, what finance matches.
Messages carry the amount, the account and the reference from the record. Escalations reach the manager in Slack. Receipts come back from the bank statement.
Illustration, sample data
Salesforce · Message templateRecord
instalment_due_14d
WhatsApp Business Platform, utility template, approved
Details
- Language
- English and Arabic
- Sent to
- Paying buyer on the booking
- Opt-in
- Recorded 12 Oct 25
- Fallback
- Email, then SMS
Body Hello {{name}}, the {{instalment}} instalment for {{unit}} is due on {{date}}. Amount {{amount}}. Pay into {{account}} quoting {{reference}}, or use {{link}}. Customer care
Templates carry the amount, account and reference from the record, so buyers quote the right one.
Illustration, sample data
Slack · #collections-tower-b#collections-tower-b
CollectionsApp09:00
Daniel F., B-0907: AED 245,000, 16 days overdue. No promise to pay. Two calls, no answer. Late fee by the SPA: AED 2,450.
Approve feeWaiveCall me
CollectionsApp11:42
Received AED 392,000 for B-1204, matched in the ERP. Reminders stopped.
Collections manager
Escalations and receipts post to the tower’s channel. The decision is written back to the instalment.
Illustration, sample data
ERP · Bank statement matchingStatement 14 Oct · Tower B escrow
Credit Reference Match Result 392,000 VIBAN B1204 B-1204 Structure Matched 244,850 DANIEL F B-0907 Structure Short 150, bank fee 60,000 none Two candidates To review Finance
A reference or virtual account per unit lets most receipts match on their own; the rest go to a review queue.
Before and after
The same Sunday, without the spreadsheet.
Today
In Salesforce
- Due list exported and emailed by hand
- Reminders run from each instalment
- Reminders on dates nobody updated
- Due dates follow the milestone
- Receipts matched days later
- Receipts flow back as they match
- Promises in an agent’s head
- Promises are records that pause reminders
- Late fees argued by phone
- Fees approved in Slack, then billed
- Two numbers in the board pack
- One aging report from both systems
Integrations
Five layers, each in its own system.
Licences come from Salesforce today. We help you pick the plan and work with your Salesforce account team.
- 01
Channels
Email · WhatsApp Business Platform templates · SMS fallback · Buyer portal with pay now · Slack for the team
- 02
Salesforce
Bookings and instalments · Record-triggered and scheduled flows · Collections console and list views · Promises to pay and disputes
- 03
Payments
Payment provider webhooks · Virtual account or unit reference · Post-dated cheque register · Mortgage disbursements expected
- 04
ERP
NetSuite, SAP, Oracle, Dynamics or local · Invoices and receipts · Bank statement matching · Escrow and other accounts
- 05
Reports
Aging by tower and month · Collection forecast · Promises kept and broken · Commission release by collection
Mermaid source
flowchart TD
CH["Channels: email, message, SMS, buyer portal, Slack"] --> SF["Salesforce: bookings, instalments, flows, collections console"]
SF --> PAY["Payments: provider webhooks, virtual accounts, cheque register"]
PAY --> ERP["ERP: invoices, receipts, escrow, late fees"]
ERP --> SF
SF --> BI["Reports: aging, forecast, by tower and broker"]How we build it
Twelve techniques behind the screens.
Standard Salesforce: objects, flows, the console, Slack actions and connectors. No custom code where a flow will do.
FAQ
What finance teams ask first.
- Can Salesforce send payment reminders on its own?
- Yes. A flow on each instalment sends them on a schedule relative to the due date, by email and, through a connected provider, WhatsApp or SMS. It checks the balance before each send.
- How do you stop reminders to buyers who already paid?
- Receipts flow back from the ERP or the payment provider as they are matched, and every reminder checks the balance first. A unit reference or virtual account makes most receipts match the same day.
- Does this replace our ERP’s receivables?
- No. The ledger, VAT and escrow accounting stay in the ERP. Salesforce runs the plan, the reminders and the collections work, and reads receipts from the ERP.
- Can a late fee be charged automatically?
- It can be calculated automatically from your SPA rule. We recommend a person approves it, in Slack, before it reaches the ledger.
- What about cancellations for non-payment?
- The record keeps every reminder, call, promise and notice with dates. The legal steps themselves follow the SPA and the law where the unit is, and your legal team decides them.
The brief · one email
Tell us how many plans and which ERP.
The honest no: if the work is a software factory with a named delivery date, we are the wrong partner.