Back to knowledge

What does a CRM setup cost for real estate agents?

A CRM is only as good as the data inside it. Clean means no duplicates and no conflicting information. Both appear the moment new leads come in or multiple agents maintain the same portfolio. The list price makes the license easy to quote. The value of a strong setup comes from ongoing data maintenance.

Cost blocks at a glance

Every setup budget has four blocks. Only the first two are visible on pricing pages.

BlockWhat is publicly visibleHow you recognize the effort
LicenseEuro per user/month, term, base feeFixed once product tier and headcount are fixed
Stated setup feeOne-time fee or service package from the vendorStill does not guarantee field mapping and duplicate rules
Data qualityNot shown on pricing pagesDuplicates, conflicting fields, stale entries as leads and team activity grow
Ongoing maintenanceSame license after go-liveWho writes back new information, under which rule, and who approves

The license is the block you can compare without knowing a specific office. Data quality is the block that keeps the CRM usable after launch instead of looking full but behaving empty. Both belong in the budget. Only one has a public euro amount.

What list prices actually prove

This section makes the visible block comparable. It does not tell you whether data is still correct six weeks later. Status of figures: 4 November 2026. All amounts are net and exclude VAT. Prices may change. The vendor page remains authoritative.

Propstack lists Standard at €99 per license/month, plus a one-time €279 setup and a 12-month minimum term. Included are, among others, email inbox, standard processes and workflows, inquiry manager, mobile app, and services/training. The page does not list a base fee or interface fee. Enterprise has no public list price. On its comparison page, Propstack states automatic 12-month renewal and a three-month cancellation period before term end.

onOffice lists enterprise pro at €79 and enterprise all-in at €99 per user/month. Both have an asterisk note. The note adds a monthly €50 service fee per company and setup, waived from 10 users onward. The minimum term is 24 months with a five-year price guarantee. enterprise expert has no euro price on the page. onOffice names process manager, inquiry manager, and onOffice AI Studio for all-in, not in pro's short summary.

Propstack StandardonOffice enterprise proonOffice enterprise all-in
List price€99 per license/month€79 per user/month€99 per user/month
Setup or serviceone-time €279monthly €50 per company, waived from 10 userssame €50 note
Minimum term12 months, then renewal per comparison page24 months24 months

For three licenses, without discounts, VAT, or portal contracts, the roll-up looks like this. The onOffice €50 fee applies because the example is below ten users. This is a list-price calculation, not an offer and not a vendor recommendation.

Per month after go-liveOver stated minimum term
Propstack Standard3 × €99 = €297€297 × 12 + €279 setup = €3,843
onOffice enterprise pro3 × €79 + €50 = €287€287 × 24 = €6,888
onOffice enterprise all-in3 × €99 + €50 = €347€347 × 24 = €8,328

The last column is not a ranking. Terms differ, and so does scope: Propstack Standard includes workflows and inquiry manager in the listed price, onOffice lists those parts for all-in. The €279 and €50 fees are stated setup items. They are not a promise that legacy data arrives duplicate-free with a stable field model. onOffice states that setup and migration duration depend on scope, without a listed day rate. Portal access is not part of these license rows.

Contacts and call notes are personal data. If the vendor processes this data on behalf of the office, Art. 28 GDPR requires a data processing agreement. That is a setup obligation, not a pricing-row detail.

Why data is the expensive block

There is no second invoice for this. It becomes expensive because teams spend time searching, correcting, and building downstream work on conflicting fields.

Three patterns are enough to detect this in your own data.

A new lead matches a person already known by the CRM. Portal email, name spelling, or phone number differ. A second contact card appears. Follow-up, property reference, and latest commitment now live on separate records.

A team updates the same owner after two separate appointments. One person records price expectations, another records next steps, a third leaves the previous month’s value untouched. The CRM now holds multiple truths. The next person cannot tell which one reflects yesterday’s call.

One field goes stale without anyone clearing it. The lead called back, the appointment changed motivation, a document is now missing. Until someone writes this back, the outdated value still looks current. The more people work in the portfolio and the more leads arrive, the faster this gap grows.

Three recurring patterns

Each pattern makes the next person search for the right entry.

  1. 01Second contact cardNew lead, known person
  2. 02Two truthsOne field, two appointments
  3. 03Stale stateNo one writes back

Any automation built on these fields accelerates exactly this gap. That is why a big cleanup is rarely the first useful automation step. The process-prioritization grid includes control and correction in remaining effort and only moves a data gap forward when sampling shows which missing fields actually block the chosen flow.

What a good setup defines

A good setup is the rule by which data enters and stays correct. Four decisions belong here. None of them appears on the pricing pages above. The fourth one includes an agent: it prepares maintenance; a human approves.

DecisionWhat must be clear upfront
Field modelWhich fact belongs where: lead, owner, property, next step. One field per fact, not three notes.
Duplicate ruleWhen two records are the same person/property, which one remains authoritative, and what happens to the other one.
Maintenance flowWhat happens for each new lead and after each appointment before data becomes part of the official portfolio.
AgentWho prepares maintenance suggestions. The agent proposes; a human approves before CRM changes.

One-time migration is only the start, not maintenance. New leads and the next appointment create the next deviations. Without a process for this exact intake, the field model becomes an empty template again soon after go-live.

Where skib’s maintenance work sits

The list price remains the CRM vendor’s invoice. The work that defines setup value on our side is the data base: assign information unambiguously and keep it clean over time as leads and teams scale. Agents prepare these maintenance steps and generate proposals from newly incoming signals.

From portfolio state to CRM state

skib proposes. CRM changes only after approval.

  1. 01PortfolioDuplicate and conflict
  2. 02skibProposal for approval
  3. 03CRMOne fact, one field

They do not change CRM records silently. In appointment analysis, the system shows changes as a preview. A property address without evidence remains “unclear, please verify.” The proposal is only applied after approval. This keeps a clean state that a human can own, instead of hidden overwrites.

To keep this maintenance stable in daily operations, add lightweight monitoring for automations to your setup. You will spot earlier when suggestions are rejected more often or rework starts increasing again.

You can always recalculate the license from vendor pages. Whether the CRM still reflects reality later is decided by maintenance quality. If someone resolves duplicates, conflicts, and stale fields with every new lead and every appointment, the license becomes real infrastructure. If not, you pay for the system while still searching for the actual information in your head, email inbox, or a second contact card.

Frequently asked questions

What is a realistic CRM setup cost for a small agency team?

List prices are good for license math. A reliable setup also needs time for field modeling, rules, and ongoing maintenance. That part determines whether the CRM stays trustworthy in day-to-day work.

Why is one-time setup not enough?

Because after go-live, new leads, appointments, and team edits keep coming. Without a stable maintenance process, CRM state and real-world state drift apart again.

How do you handle duplicates in an existing portfolio?

Before merging records, the team defines exactly when two records represent the same person or property. One leading record remains, and changes are merged in a traceable way.

Can an agent handle maintenance fully automatically?

An agent can prepare and prioritize suggestions. Approval stays with a human so uncertain entries do not silently become CRM facts.

Get in touch

Terms in this article

duplicate
Two records that refer to the same person or property and exist in parallel in the CRM.
agent
A program that turns incoming leads or meeting outcomes into CRM proposals and presents them to a human for approval.