CRM migration
Field-level mapping, validation, and rollback between Inmovilla and Twenty CRM. We move data and schema; workflows are rebuilt natively in Twenty CRM.
Inmovilla
Source
Twenty CRM
Destination
Compatibility
12 of 12
objects map 1:1 between Inmovilla and Twenty CRM.
Complexity
BStandard
Timeline
48–72 hours
Overview
Inmovilla is a property-centric CRM built for Spanish real estate agencies, storing contacts, companies, properties, and deals in a schema optimized for real estate workflows. Twenty CRM is an open-source general CRM that stores data as People, Companies, and Opportunities, requiring real estate fields to be recreated as custom fields. The migration carries all contacts, companies, open and closed deals, notes, and tasks into Twenty, with Inmovilla property records translated into Opportunities using custom fields for property-type, price, surface area, and location data. Property-photo attachments re-upload to Twenty's file storage. Workflows, automation rules, and portal configurations do not transfer and must be rebuilt manually in Twenty's Settings → Data Model. We sequence the migration so parent records (Companies) land before child records (People), preventing orphaned contact-to-company links. Owner resolution happens by email match against Twenty workspace members — unmatched owners flagged before data commits. A 24–48 hour delta pickup window captures any records modified during cutover, and an audit log plus rollback is available if reconciliation reveals unexpected gaps.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a Inmovilla object lands in Twenty CRM, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Inmovilla
Contact
Twenty CRM
People
1:1Inmovilla contacts map 1:1 to Twenty People records. The contact's primary email, phone, job title, and address fields map to their corresponding Twenty People fields. Owner resolution uses email match against Twenty workspace members — any unmatched owner gets flagged before migration commits.
Inmovilla
Company
Twenty CRM
Companies
1:1Inmovilla companies map to Twenty Companies. Company name, industry, employee count, annual revenue, and website URL map directly. Inmovilla parent-child company hierarchies translate to the Twenty Companies ParentId field. Multi-contact companies in Inmovilla collapse to a single Company record with multiple linked People records in Twenty.
Inmovilla
Property
Twenty CRM
Opportunity (custom fields)
1:1Inmovilla properties do not have a direct Twenty equivalent — they become Opportunities with custom fields for property-type, price, surface area in m², number of bedrooms/bathrooms, energy certificate rating, and garage flag. Each property linked to its owner Contact and the agency Company record. Photos attached to properties re-upload to Twenty's file storage and linked to the Opportunity.
Inmovilla
Deal
Twenty CRM
Opportunity
1:1Inmovilla deal records map to Twenty Opportunities. Deal name, amount, stage, expected close date, and owner map directly. Deal stage values are mapped value-by-value to Twenty Opportunity Stage pick-list values. Stage-entered timestamps preserved as custom datetime fields on each Opportunity record.
Inmovilla
Deal Stage
Twenty CRM
Opportunity Stage
1:1Inmovilla deal stage names (e.g., 'Primera Visita', 'Negociación', 'Cerrada Ganada') are mapped to Twenty Opportunity Stage pick-list values. Custom stages require value-mapping setup in Twenty's Settings → Data Model before the migration runs. Stage probability is re-applied from source or set to Twenty defaults.
Inmovilla
Note (Contact/Company/Property)
Twenty CRM
Note
1:1Inmovilla notes attached to contacts, companies, or properties migrate as Twenty Notes linked to the corresponding People, Companies, or Opportunity record. Original timestamps and note author preserved. Rich-text formatting in Inmovilla notes is flattened to plain text in Twenty Notes.
Inmovilla
Task (call, email, meeting)
Twenty CRM
Task
1:1Inmovilla task records (call logs, email logs, meeting records) map to Twenty Tasks. Task subject, due date, completion status, and owner map directly. Task type (call, email, meeting) preserved as a custom select field on the Task record since Twenty Tasks do not natively distinguish activity type.
Inmovilla
Attachment (property photo, PDF)
Twenty CRM
File (on Opportunity)
1:1Inmovilla file attachments on properties and contacts are downloaded and re-uploaded to Twenty's file storage, then linked to the corresponding Opportunity (for property attachments) or People record (for contact attachments). File size limits apply — Twenty's upload handles files up to the storage configuration limit.
Inmovilla
User / Owner
Twenty CRM
WorkspaceMember
1:1Inmovilla owner IDs are resolved by email match against Twenty Workspace Members. Agencies must invite all team members to Twenty before migration so the email lookup succeeds. Inmovilla agents without matching Twenty accounts are assigned to a fallback owner and flagged for manual reconciliation.
Inmovilla
Custom field (real estate)
Twenty CRM
Custom field (on Opportunity)
1:1Inmovilla custom fields on properties (energy certificate rating, property type, orientation, floor number, elevator flag) have no native Twenty equivalent. We create corresponding custom fields on the Opportunity object in Twenty's Settings → Data Model before importing, then map values during the data load.
Inmovilla
Workflow / Automation rule
Twenty CRM
N/A
1:1Inmovilla automated email sequences, lead-distribution rules, and task triggers are platform-native constructs with no Twenty equivalent. These must be rebuilt manually in Twenty's workflow builder (available on Organization tier) or via third-party automation tools. FlitStack exports workflow definitions as a rebuild reference document.
Inmovilla
Portal configuration
Twenty CRM
N/A
1:1Inmovilla's client-facing property portal with virtual tour links and biometric signature integration does not translate to Twenty. The portal configuration must be replaced with a custom-built front-end connected to Twenty's API, or an alternative portal tool. This falls outside FlitStack's data-migration scope.
| Inmovilla | Twenty CRM | Compatibility | |
|---|---|---|---|
| Contact | People1:1 | Fully supported | |
| Company | Companies1:1 | Fully supported | |
| Property | Opportunity (custom fields)1:1 | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage | Opportunity Stage1:1 | Fully supported | |
| Note (Contact/Company/Property) | Note1:1 | Fully supported | |
| Task (call, email, meeting) | Task1:1 | Fully supported | |
| Attachment (property photo, PDF) | File (on Opportunity)1:1 | Fully supported | |
| User / Owner | WorkspaceMember1:1 | Fully supported | |
| Custom field (real estate) | Custom field (on Opportunity)1:1 | Fully supported | |
| Workflow / Automation rule | N/A1:1 | Fully supported | |
| Portal configuration | N/A1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
Inmovilla gotchas
Auto-renewing subscription causes unexpected charges
Pipeline stage names are agency-configured
No publicly documented API
Twenty CRM gotchas
Import order is enforced and critical
Export limited to 20,000 records and visible columns only
Soft-deleted records count toward uniqueness and trigger restores
API rate limits cap at 200 req/min on Organization tier
No native email sequences — follow-up cadences require external tools
Pair-specific challenges
Migration approach
Audit Inmovilla data and deliver field-creation checklist for Twenty
We extract a full inventory of Inmovilla objects — contacts, companies, properties, deals, tasks, notes, and attachments — using Inmovilla's REST API. We identify all custom fields on each object and categorize them as direct maps, value-mapping candidates, or custom-field-required fields. We deliver a Twenty field-creation checklist specifying every custom field that must be pre-created in Settings → Data Model before the migration runs. We also inventory attachment file counts and flag any records exceeding storage size limits.
Validate workspace members and resolve owner IDs
We export all Inmovilla owner IDs and email addresses and cross-reference them against Twenty workspace members. Any owner with no matching Twenty account is flagged with a fallback owner recommendation. We require agencies to invite all active Inmovilla agents to Twenty before the migration window opens. Owner resolution by email match ensures every migrated record lands with a valid Twenty owner — no orphaned records.
Migrate Companies before People; Properties and Deals after
Twenty's data model requires referential integrity — Companies must exist before People can link to them via companyId, and Opportunities must exist before activity records can link to them. We sequence the migration in dependency order: Companies first (the one side of relationships), then People linked to Companies, then Opportunities derived from both Inmovilla Properties and Deals, then Notes and Tasks linked to the parent records. This load order prevents orphaned foreign keys and ensures Twenty's relationship graph is intact at go-live.
Run sample migration with field-level diff
A representative slice of 100–500 records — spanning contacts, companies, property-Opportunities, and activity records — migrates first. We generate a field-level diff comparing source values against destination values so the agency can verify property-type value mapping, surface area preservation, owner resolution, and attachment re-linking before the full run commits. Any mapping gaps identified in the sample run are corrected before the production migration proceeds.
Execute full migration with delta-pickup and rollback readiness
The full migration runs against Twenty CRM, processing all contacts, companies, properties translated to Opportunities, deals, notes, and tasks. A 24–48 hour delta-pickup window captures any records created or modified in Inmovilla during the cutover period. An audit log records every record operation. One-click rollback is available for 72 hours post-migration — if reconciliation reveals unexpected gaps in field mapping or relationship integrity, FlitStack can revert and re-run with corrected mapping.
Platform deep dives
Inmovilla
Source
Strengths
Weaknesses
Twenty CRM
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Inmovilla and Twenty CRM.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
Inmovilla: Not publicly documented..
Data volume sensitivity
Inmovilla doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during Inmovilla to Twenty CRM migration scoping. Not seeing yours? Book a call.
Walk through your Inmovilla to Twenty CRM migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Inmovilla
Other ways to arrive at Twenty CRM
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.