Custom real-estate CRM
A CRM that works the way your agency works.
We design CRM systems around the real operation of a real-estate agency: properties, acquisition, clients, demand, matching, visits, operations, documentation, communication and automation inside a single system.
We don't start by installing a standard CRM. We study how the team works, what information it needs, which tasks repeat and which tools have to be connected. Then we design the system around that process.
- ContactBuyer · seller · owner
- PropertyRecord, status, price, portals
- AcquisitionProspect → listed property
- DemandWhat each client is looking for
- MatchingDemand ↔ property
- VisitScheduled, confirmed, feedback
- OperationFrom the offer to the deed
- DocumentsRequirements, review, signature
- CommunicationWhatsApp and calls in context
- CalendarTasks, visits and callbacks
The operation before the software
A real-estate agency already works.What's usually missing is a system that understands it.
Leads arriving through several channels, properties with their paperwork, owners, buyers with criteria, visits in a calendar, messages on each agent's phone. Everything exists; what doesn't exist is the connection between the pieces.
What comes in
- Portal lead
- Web form
- Phone call
- Referral
- Owner who wants to sell
- Properties
- Buyers and their criteria
- Owners
- Visits
- Documents
- Calendar
- Deals in progress
What the team connects by hand today
- Copying the lead into the CRM
- Remembering which client fits which flat
- Updating every portal separately
- Writing the visit down in two places
- Chasing the paperwork
- Searching for the conversation on a phone
- Every lead arrives as a contact and a demand
- The system matches demand and properties
- The property record publishes to the portals
- The visit lives in the CRM and in the calendar
- Documents move forward as part of the process
- Messages and calls stay in the client's record
The goal isn't more software. It's one place where the operation happens.
The system
A complete map of the real-estate operation.
These are the subsystems a CRM of this kind can have. Select one to see what it does, what it connects to and what work it removes. All of them exist in a system we have already built.
Explore the system
The operational record of every property
Properties
- Why it exists
- A single property record with its lifecycle, sale and rental prices, documents, record quality, legal alerts and publishing.
- What happens inside
- Nine-state lifecycle, from acquisition to sale or withdrawal
- Simultaneous sale and rental modalities, with price history
- Computed record quality: photos, GPS, price, description, energy certificate
- Connects with
- DocumentsPortals
- Work it removes
- Re-entering the same property in every tool and checking by hand whether a record is ready to publish.
Flat · 3 bedrooms
City centre92 m²€285,000
No subsystem lives in isolation: each one knows its relationship with the others. That is what turns a CRM into the operating system of the agency.
Properties
A property isn't a record. It's an operational object connected to the whole company.
The property record brings together data, prices, documents, quality, publishing, matches, visits and operations. Every part of the system knows which state it is in and what it can do with it.
Flat · 3 bedrooms · City centre
€285,000€1,250 / month
Record quality
Publishing
Property lifecycle
Active · 3/9
Publishing has a gate
A property doesn't become active until it has a location and the minimum documents approved. When it's published, the system notifies the salespeople whose demands fit.
- Land registry extract approved
- Mandate signed
- Location verified
Exclusives with a traffic light
If the property is exclusive, the record shows the days left and the system warns before it expires.
Property lifecycle
Sale and rental at the same time
One property can carry a sale and a rental modality, each with its own price, previous price and price-drop date.
Computed record quality
The system scores the record (photos, GPS, price, description, energy certificate) and shows what's missing to complete it.
Visible legal alerts
Protected housing, inheritance, usufruct or keys not located are flagged on the record. Whoever opens it must confirm they have seen them, and that confirmation is recorded.
Market valuation
The record can include an automatic valuation and zone statistics to position the price.
When the record is the centre, publishing, matching, visiting and closing are consequences of the same record.
Acquisition
The property starts to exist before it's listed.
The prospect is the acquisition: an owner, a property not yet listed and a follow-up with its own states, mandate and deadlines. When the mandate is signed, it becomes a property with everything already collected.
Quick follow-up
Mandate with an expiry
Exclusive, open or multi-exclusive, with signing date, duration and alerts when it expires or has had no activity for days.
Interested buyers ahead of time
With a zone and an estimated price, the prospect already shows the demands that could fit once it becomes a property.
Conversion without losing anything
Photos, links, keys, legal alerts and owner data move to the property at the moment of conversion.
Acquisitions that don't go cold
The system warns about stalled prospects and mandates about to expire.
Acquisition stops being the lister's notebook and becomes the first phase of the system.
Clients and demand
Every person in a single record. Every search, structured.
A contact can be a buyer, a seller, an owner or a tenant, and often several at once. Their demand turns what they want into criteria the system can match.
M. Ortega
- Active demand · L-01204
- Call · callback scheduled
- WhatsApp · 3 messages
- Visit · Thursday 11:00
Contact types
- Zones
- Centre · Ensanche
- Budget
- €220,000 – 300,000
- Type
- Flat
- Bedrooms
- ≥ 3
- Surface
- ≥ 80 m²
- Garage
- Required
- Financing
- Mortgage
- Purpose
- Main home
- Urgency
- High
No duplicates
The normalised phone number is the key: the system finds the existing contact before creating another and lets you merge duplicates with an audit trail.
Lead, demand, opportunity
An enquiry classifies itself: it's a demand once it has a contact, a zone and a maximum budget, and an opportunity once it's assigned.
Interest that is measured
Every contact gets a score (hot, warm, cold) recalculated daily from their activity.
The whole history in the record
The contact's demands, calls, messages, visits and operations in one place.
A well-structured demand is what later feeds matching, visits and communication.
Leads and first contact
No opportunity should depend on someone remembering.
A lead arrives with its source, is assigned to a salesperson and the system starts counting. If there's no first contact within the deadline, it warns; if there still isn't, it returns the demand to the coordination queue.
Demand pipeline
- 0 h
Lead assigned
The clock starts, in working hours.
- ≈ 4 h
Salesperson warned
A note and an activity if there's still no contact.
- ≈ 8 h
Back to the queue
The demand is released and coordination gets the alert.
- ✓
First contact
Once it's logged, the clock stops.
What the system watches
- Inactivity for more than a week
- Demands going cold
- Reassignments (they restart the deadline)
- Referral to financing when a mortgage is needed
Sources it recognises
Deadlines are company parameters: they are configured, not programmed.
Matching
The system finds opportunities. It doesn't just store them.
From a demand, the engine finds the compatible properties. From a property, the clients who could be interested. And from an acquisition, the buyers who would fit even before the property exists.
It's the kind of operational logic we can build into the CRM, adapted to the criteria each agency works with.
Criteria that filter out
- Requested zone
- Budget with a margin
- Property type
- Minimum bedrooms
- Minimum bathrooms
Criteria that score
- Surface
- Garage
- Terrace
- Lift
- Pool
- Availability
- Exclusive
From a match
When a demand's criteria change or a property is published, the salesperson receives the best matches.
Demonstration with fictional data
Matching
Supply ↔ Demand
Demand
Purchase · Home- Area
- City centre
- Budget
- ≤ €300,000
- Type
- Apartment
- Bedrooms
- 3
- Surface
- ≥ 80 m²
Matching
DemandSupply
- Area
- Price
- Type
- Bedrooms
- Surface
Compatible properties
3Compatible criteria
- Area
- Price
- Type
- Bedrooms
- Surface
Searching stops depending on someone remembering which client could fit which property.
Visits
A visit isn't an appointment in a calendar. It's a step in the process.
Every visit is linked to the property, the client, the demand, the agent and the calendar. It has states, feedback, a signed visit report and a next action.
The cycle of a visit
Scheduled
From the demand, the property or a match. The event is created in the agent's calendar.
Reminders
The day before and an hour before, to the agent and the client.
Confirmed
The client confirms; the moment is recorded.
Done
Result and feedback are required: interested, offer, neutral or not interested.
Next action
Second visit, follow-up, proposal or close. A second visit creates its task automatically.
The report is generated as a PDF and signed digitally by email or through a WhatsApp link. The system tracks the state of each signature.
Owner privacy
The visit report never includes the owner's details: the buyer signs without seeing them.
Mirror in the calendar
Changes of time or place made in Google Calendar flow back to the visit, and vice versa.
From the visit to the operation
If there was an offer, the operation is created from the visit with property, buyer and agent already filled in.
Nothing is left hanging
Past visits that were never closed are marked as no-shows automatically.
The lister receives the result of every visit to their properties without having to ask.
Operations
From the first “yes” to the deed, without leaving the system.
The operation models the closing of a sale or a rental: states, offers, dates, documents, people involved and alerts. Management sees where every closing stands and what is holding it back.
Offers with a history
Every offer or counteroffer is recorded with amount, deposit and state.
Closing alerts
Overdue financing, a deed without a date weeks after the deposit, or a deed price different from the agreed one.
Controlled closing
Closing requires a deed date and is reserved to management; the system updates the property and the demand.
AI drafts
Deposit contract drafts can be generated from the operation's data, for human review.
Each phase keeps its states, tasks, documents and dependencies inside the same process.
Documentation
Documents are part of the process. Not forgotten attachments.
Every document has a type, a state, a reviewer and a signature, and belongs to a property, an acquisition, a contact or an operation. The system knows what's missing, what expires and what blocks.
States of a document
- Draft
- Pending
- Under review
- Approved
- Signed
Document types
Publishing gate
Without the land registry extract and the mandate approved, the property isn't published. Once they're validated, it receives its official reference.
Deferred documents
Those that don't block the listing raise alerts at 10 and 15 days if they're still pending.
Office mailbox
Templates and models organised in folders, converted to PDF automatically.
Smart checklists
Every property, demand or acquisition has a checklist generated from templates; steps tick themselves off when the system detects them and blocking items warn when they expire.
The file moves forward as the system detects that each step has been completed.
Communication
The conversation happens where the client is. The context, in the CRM.
Messages and calls are linked to the contact and to their demand or property. Whoever opens the record sees what was said, when, and what needs doing.
- 01
Message or call
An incoming WhatsApp or a call to the agency's number.
- 02
Contact identified
By normalised phone number; if it doesn't exist, it's created.
- 03
Context
Demand, property enquired about, history and salesperson in charge.
- 04
Action
Reply, scheduled callback, visit or new demand.
Hi, I'm looking for a 3-bedroom flat in the centre, up to 300,000.
Contact identified · Demand L-01204 updated
Could I see it on Thursday?
Visit proposed · Thursday 11:00
WhatsApp Business
Sending and receiving from the records, with templates and the state of every message. A visit reminder or a match can go out as a prepared message.
Calls
A log with direction, outcome (connected, no answer, callback requested, visit scheduled…) and a callback that goes into the calendar.
AI phone assistant
It can answer the call, detect the language, create the contact and the demand or prospect, save a transcript and a summary, and hand over to a person when needed.
AI WhatsApp agent
It asks for the data a demand is missing and, when the client replies, applies it to the record; coordination is notified when something needs a person.
No conversation depends on one person's phone.
Calendar
The agenda is the day's operation, not a separate list.
Tasks, visits and callbacks live together in one unified agenda mirrored in each agent's calendar. Every entry knows which client, property or demand it belongs to.
- 09:30VisitFlat · 3 bed. · City centreM. Ortega · Demand L-01204
- 11:00Follow-upDemand with no contact since TuesdayAutomatic alert
- 13:30DocumentEnergy certificate pendingRef. PR-01840
- 16:00CallbackCall J. RíosCall log · callback requested
Google Calendar both ways
Every task, visit or callback creates its event in the agent's calendar; if the time or place changes there, it flows back to the CRM. No invitation emails.
Task types
- Overdue task
- Task done without notes
- Tomorrow's visit
- One hour before the visit
Everyone opens the day with what's theirs, and management sees the team's activity without asking for it.
Automation
The CRM shouldn't just store information.It should also do work.
Depending on how the operation works, the system can automate deadlines, alerts, synchronisations and recalculations. These are examples already running in a system we built; the thresholds are company parameters.
Leads and demand
First contact
- EventLead assigned
- RuleDeadline in working hours
- Automatic actionWarning; with no contact, back to the queue
- ResultNo opportunity left unattended
Inactivity
- EventDemand with no activity
- RuleMore than a week
- Automatic actionAlert to the salesperson; goes cold after a month
- ResultA living demand portfolio
Matching
- EventCriteria change or a property is published
- RuleFilters and scoring
- Automatic actionThe salesperson receives the best matches
- ResultOpportunities detected
Properties and acquisition
Publishing
- EventMinimum documents approved
- RulePublishing gate
- Automatic actionThe property goes active and salespeople with matches are notified
- ResultPublished with guarantees
Mandates and exclusives
- EventMandate about to expire
- Rule30 days before
- Automatic actionLister warned; exclusives shared with the network after 15 days
- ResultNo mandate expires unseen
Property with no demand
- EventActive property
- Rule30 days without demands
- Automatic actionAlert to review price or record
- ResultA portfolio that doesn't stall
Visits, operations and documents
Visit reminders
- EventVisit scheduled
- RuleThe day before and one hour before
- Automatic actionAlert to the agent and a prepared message for the client
- ResultFewer missed visits
Closing
- EventDeposit signed
- RuleFinancing overdue or deed without a date
- Automatic actionAlert to those responsible
- ResultClosings that don't stall
Documents and checklists
- EventDocument approved
- RuleRequirement met
- Automatic actionChecklist updated and official reference assigned
- ResultThe file moves forward by itself
Every automation is designed on the company's own rules. Deadlines are configurable from settings, without touching code.
AI
What AI really does inside the system.
Not a chatbot on top of the product: concrete functions that work on the CRM's data and rules and always leave the decision to a person.
Answer the call
INIncoming call from an individual- Contact created or identified
- Purchase demand or sale prospect
- Transcript, summary and language
- Handover to a person if requested
- Doesn't count as human first contact
An AI phone assistant can take the first call and leave it logged in the CRM with the context the team needs.
Complete the demand
INDemand with missing data- WhatsApp message asking for what's missing
- Client's reply applied to the record
- Coordination notified if someone needs to step in
An AI WhatsApp agent asks for zone, budget or type when they're missing and structures the reply.
Draft the contract
INOperation with a deposit and a complete file- File checked before generating
- Deposit contract draft
- Human review and signature
The system can generate contract drafts from the operation's data for the team to review.
AI works on the system's data and rules. It doesn't replace the business logic or the team's decision.
Which AI functions make sense depends on each operation and is decided in the project.
Integrations
The CRM connects the tools the agency already uses.
Portals, calendar, signature and messaging are part of the same system. Select an integration to see what moves, in which direction and which manual work disappears.
- What moves
- Publish, update and withdraw properties, for sale and for rent, from the record.
- When
- From the record, after checking everything the portal requires; optional scheduled synchronisation.
- Work that disappears
- Duplicating the record on the portal and maintaining it by hand.
Possible integrations depending on the project. They are not a fixed part of every system and imply no agreement with the vendors.
Management and team
Each person sees what's theirs. Management sees the whole.
Operational data becomes visibility: indicators by role and period, funnel, recent activity and reports, without anyone having to build them by hand.
- New
- Assigned
- Contacted
- Qualified
- Visiting
- Negotiating
- Closed
What it includes
- Indicators by role, period and agent
- Demand funnel
- The team's recent activity
- Agent ranking for management
- “My day”: what's pending for each person
- Exportable reports on visits and conversion
- Marketing campaigns with a funnel and attribution to closed operations
Roles and visibility
Management, administration, signing, coordination, acquisition, sales and marketing have different permissions. Each agent sees their portfolio; coordination and management see the office or the whole.
- Reassigning a demand: coordination or management only
- Internal notes visible by role
- Owner details hidden from the buyer on the visit report
- Offices and zones define what each team sees
Information isn't requested. It's there.
Generic versus custom
A generic CRM models generic sales. This one models the agency.
Generic CRM
- Contact
- Opportunity
- Task
- Note
Real-estate operating system
- Property
- Owner
- Acquisition
- Demand
- Matching
- Visit
- Operation
- Document
- Portal
- Communication
- Automation
With the first, the team adapts the way it works to the software. With the second, the software understands how the team works.
Technology
The technology is decided after understanding the operation.
For many operations, Odoo is an excellent base: it provides users, permissions, chatter, activities, calendar, signature and extensibility, and on top of it we build custom models, logic, automation, integrations and interfaces. In other cases a custom architecture makes more sense. We choose the base according to the process, the integrations, the scale and the evolution the system needs.
Odoo as the base, the operation as the design
In the system we have already built, the platform provides the infrastructure and everything else is custom:
- Own data models: property, contact, acquisition, demand, visit, operation, document
- Business logic: states, rules, validations, dependencies
- Scheduled automation and reactions to events
- Integrations with portals, messaging, calendar and signature
- Purpose-built interfaces where the standard ones don't fit the team's work
Custom architecture when needed
A purpose-built web application, a database designed for the operation and APIs, when the process, the scale or the integrations call for it.
What we work with
Process first.Technology second.
A system of this kind is already running.
This is not a theoretical proposal.
40K+
Properties managed in the system we built
20+
Custom Odoo modules in that project
In one of our projects, a complete real-estate operation was turned into a custom system that connects properties, acquisition, clients, demand, matching, visits, operations, documentation, communication, automation and integrations. Everything described on this page exists in that system.
Every new system is designed around its own operation: the scope doesn't have to be identical.
Real Estate CRM
Filters
Area
Type
Price
Bedrooms
128 results
- Apartment · North district€ 248,000REF-1042 · 3 bed · 2 bath · 92 m²New
- Penthouse · City centre€ 195,000REF-2210 · 2 bed · 1 bath · 74 m²Reserved
- Villa · South district€ 410,000REF-3078 · 4 bed · 3 bath · 180 m²Active
A surface of the system we built · fictional data
Who is it for?
This kind of CRM makes sense when…
The current CRM forces the team to work around it.
Properties, clients and demands live in several tools and spreadsheets.
Matching depends on agents remembering their clients.
Follow-ups and first contacts get lost during the week.
Portals are updated by hand, one by one.
Visits and communication happen outside the CRM.
Paperwork is hard to control before publishing or signing a deposit.
The agency has its own ways of working that generic software cannot model.
If several of these situations sound familiar, it's probably worth talking about the process before talking about software.
What we deliver
What the project can include.
This is not a fixed package. The scope is defined with the operation and can cover:
- 01
Process analysis
How the agency works today: people, tools, information and timing.
- 02
Functional map
Entities, states, workflows and rules the system has to understand.
- 03
Data model
Properties, contacts, acquisition, demands, visits, operations and documents.
- 04
Architecture
Technical base, integrations and boundaries of the system.
- 05
CRM implementation
Custom modules, interfaces and workflows.
- 06
Automation
Deadlines, alerts, synchronisations and recalculations.
- 07
Integrations
Portals, messaging, calendar, signature and market data.
- 08
Migration
Data and processes coming from the current tools.
- 09
Testing
Validation with the team on real cases.
- 10
Deployment
Going live and support.
- 11
Documentation and training
Of the system and of how it is used.
- 12
Maintenance and evolution
The system changes when the operation changes.
How we approach the project
A structured project that starts with the agency.
- 01
Understand the agency
Team, offices, zones, incoming channels and current tools.
→ Diagnosis
- 02
Map the operation
Acquisition, demand, visits, closing, documents and communication with their states and rules.
→ Functional map
- 03
Design the CRM model
Entities, relationships, permissions, automation and integrations.
→ Architecture
- 04
Build modules and automation
Development in blocks, reviewed on real cases.
→ System
- 05
Connect systems and migrate data
Portals, messaging, calendar, signature and data from the previous tools.
→ Ecosystem
- 06
Deploy, validate and evolve
Going live, support and improvements as the operation changes.
→ Operation
Your operation
Tell us how your agency works today.
You don't need to know which CRM you need. Explain how you manage properties, clients, demand, visits, operations, communication and follow-up. From there we can determine which system would make sense to build.