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.

CRM
Match detected
  • 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
Conceptual model of the system · fictional data

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 has to be managed—

What comes in

  • Portal lead
  • Web form
  • Phone call
  • WhatsApp
  • 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
With the CRM as the coreCRM
CRM
PropertiesBuyers and their criteriaOwnersVisitsDocumentsCalendarDeals in progress
  • 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.
Interface fragmentProperties

Flat · 3 bedrooms

City centre92 m²€285,000

Active
Land registry extractMandate
Record quality 85

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.

Official reference · PR-01840ID 01840

Flat · 3 bedrooms · City centre

€285,000€1,250 / month

ActiveAvailable

Record quality

85
No legal alerts

Publishing

IdealistaFotocasaMLS

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

  1. Acquisition
  2. Documentation
  3. Active
  4. MLS
  5. Negotiation
  6. Deposit
  7. Deed
  8. Sold
  9. Withdrawn
  • 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.

AcquisitionPROS-00912
  1. Initial
  2. Contacted
  3. In progress
  4. Acquisition visit
  5. Mandate pending
  6. Converted

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.

ContactSource: Fotocasa

M. Ortega

BuyerOwner
Hot
  • Active demand · L-01204
  • Call · callback scheduled
  • WhatsApp · 3 messages
  • Visit · Thursday 11:00

Contact types

BuyerSellerBuyer and sellerLandlordTenantEnquiryPartner agentCompany
DemandL-01204
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

  1. New
  2. Assigned
  3. Contacted
  4. Qualified
  5. Visiting
  6. Negotiating
  7. Won
First-contact controlL-01204
  1. 0 h

    Lead assigned

    The clock starts, in working hours.

  2. ≈ 4 h

    Salesperson warned

    A note and an activity if there's still no contact.

  3. ≈ 8 h

    Back to the queue

    The demand is released and coordination gets the alert.

  4. ✓

    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

IdealistaFotocasaWebWhatsAppPhone callReferralReception

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

Create the visitSend a pre-written WhatsAppDiscard with a reason

When a demand's criteria change or a property is published, the salesperson receives the best matches.

Demonstration with fictional data

Matching

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

3

Compatible 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.

ScheduledConfirmedDoneNo-showCancelled

The cycle of a visit

  1. Scheduled

    From the demand, the property or a match. The event is created in the agent's calendar.

  2. Reminders

    The day before and an hour before, to the agent and the client.

  3. Confirmed

    The client confirms; the moment is recorded.

  4. Done

    Result and feedback are required: interested, offer, neutral or not interested.

  5. Next action

    Second visit, follow-up, proposal or close. A second visit creates its task automatically.

Signed visit reportVIS-02311

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.

  1. PDF generated
  2. Sent
  3. Signed by the client
  4. Fully signed
  • 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.

OperationsOP-00318
  1. NegotiationBuyer, seller and the agents involved.
  2. OfferOffers and counteroffers; accepting one reserves the property.
  3. DepositDeposit date and associated documents.
  4. FinancingDeadline with an alert if it expires.
  5. DeedDate, notary and deed price.
  6. CompletedThe property becomes sold or rented and the demand is closed.
  7. After-salesWhat happens after signing.
  • 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

  1. Draft
  2. Pending
  3. Under review
  4. Approved
  5. Signed

Document types

Land registry extractMandateEnergy certificateIDDeedContractDepositProperty taxCommunity certificateCadastre
File · Flat · 3 bed.PR-01840
Land registry extractApproved
MandateSigned
Energy certificatePending · 10 d
Owner IDUnder review
  • 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.

  1. 01

    Message or call

    An incoming WhatsApp or a call to the agency's number.

  2. 02

    Contact identified

    By normalised phone number; if it doesn't exist, it's created.

  3. 03

    Context

    Demand, property enquired about, history and salesperson in charge.

  4. 04

    Action

    Reply, scheduled callback, visit or new demand.

Conversation · +34 6•• ••• •••

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.

Today09:00 — 18:00
  1. 09:30Flat · 3 bed. · City centreM. Ortega · Demand L-01204
  2. 11:00Demand with no contact since TuesdayAutomatic alert
  3. 13:30Energy certificate pendingRef. PR-01840
  4. 16:00Call 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

CallRevisitFollow-upAssignmentNew demandPhotosCollaborationDocumentReminder
  • 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

    1. EventLead assigned
    2. RuleDeadline in working hours
    3. Automatic actionWarning; with no contact, back to the queue
    4. ResultNo opportunity left unattended
  • Inactivity

    1. EventDemand with no activity
    2. RuleMore than a week
    3. Automatic actionAlert to the salesperson; goes cold after a month
    4. ResultA living demand portfolio
  • Matching

    1. EventCriteria change or a property is published
    2. RuleFilters and scoring
    3. Automatic actionThe salesperson receives the best matches
    4. ResultOpportunities detected

Properties and acquisition

  • Publishing

    1. EventMinimum documents approved
    2. RulePublishing gate
    3. Automatic actionThe property goes active and salespeople with matches are notified
    4. ResultPublished with guarantees
  • Mandates and exclusives

    1. EventMandate about to expire
    2. Rule30 days before
    3. Automatic actionLister warned; exclusives shared with the network after 15 days
    4. ResultNo mandate expires unseen
  • Property with no demand

    1. EventActive property
    2. Rule30 days without demands
    3. Automatic actionAlert to review price or record
    4. ResultA portfolio that doesn't stall

Visits, operations and documents

  • Visit reminders

    1. EventVisit scheduled
    2. RuleThe day before and one hour before
    3. Automatic actionAlert to the agent and a prepared message for the client
    4. ResultFewer missed visits
  • Closing

    1. EventDeposit signed
    2. RuleFinancing overdue or deed without a date
    3. Automatic actionAlert to those responsible
    4. ResultClosings that don't stall
  • Documents and checklists

    1. EventDocument approved
    2. RuleRequirement met
    3. Automatic actionChecklist updated and official reference assigned
    4. 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.

Real-estate CRMCRM
CRM → portal
PortalsIdealista
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.
IdealistaFotocasaMLS networkWhatsApp BusinessGoogle CalendarOdoo SignMarket valuation

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.

Dashboard · this month—
128Leads received
2 h 40 minAverage response time
46Visits done
9Active operations
FotocasaMain channel
7 %Conversion rate
  1. New
  2. Assigned
  3. Contacted
  4. Qualified
  5. Visiting
  6. Negotiating
  7. 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

Odoo engineeringCustom modulesPython logicAPIs and webhooksCustom web applicationsDatabasesExternal integrations

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

PropertiesClientsOperationsCalendarVisitsDocumentsWhatsApp

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:

  1. 01

    Process analysis

    How the agency works today: people, tools, information and timing.

  2. 02

    Functional map

    Entities, states, workflows and rules the system has to understand.

  3. 03

    Data model

    Properties, contacts, acquisition, demands, visits, operations and documents.

  4. 04

    Architecture

    Technical base, integrations and boundaries of the system.

  5. 05

    CRM implementation

    Custom modules, interfaces and workflows.

  6. 06

    Automation

    Deadlines, alerts, synchronisations and recalculations.

  7. 07

    Integrations

    Portals, messaging, calendar, signature and market data.

  8. 08

    Migration

    Data and processes coming from the current tools.

  9. 09

    Testing

    Validation with the team on real cases.

  10. 10

    Deployment

    Going live and support.

  11. 11

    Documentation and training

    Of the system and of how it is used.

  12. 12

    Maintenance and evolution

    The system changes when the operation changes.

How we approach the project

A structured project that starts with the agency.

  1. 01

    Understand the agency

    Team, offices, zones, incoming channels and current tools.

    → Diagnosis

  2. 02

    Map the operation

    Acquisition, demand, visits, closing, documents and communication with their states and rules.

    → Functional map

  3. 03

    Design the CRM model

    Entities, relationships, permissions, automation and integrations.

    → Architecture

  4. 04

    Build modules and automation

    Development in blocks, reviewed on real cases.

    → System

  5. 05

    Connect systems and migrate data

    Portals, messaging, calendar, signature and data from the previous tools.

    → Ecosystem

  6. 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.