CRM migration
Field-level mapping, validation, and rollback between Combit CRM and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
Combit CRM
Source
Freshsales
Destination
Compatibility
6 of 10
objects map 1:1 between Combit CRM and Freshsales.
Complexity
BStandard
Timeline
4-6 weeks
Overview
Moving from Combit CRM to Freshsales is a structural migration from a German-language, on-premise-oriented platform to a globally accessible SaaS CRM with a documented REST API. Combit CRM stores Addresses (Anschriften) as separate records linked to Contacts (Kontakte); Freshsales embeds address fields directly on Contacts, so we flatten that relationship during transform. Combit has no public REST API, so we extract via direct database access (on-premise deployments) or structured CSV exports generated from the application's built-in export function, then load through Freshsales' REST API with batch chunking and exponential backoff. Custom fields, picklist values, and field labels in Combit appear in German and must be translated and typed before mapping to Freshsales field definitions. Workflows, automations, and reporting configurations do not migrate; we deliver a written inventory of every automation requiring rebuild in Freshsales' workflow builder for the customer's admin to handle post-migration.
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 Combit CRM object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Combit CRM
Address (Anschrift)
Freshsales
Contact address fields
1:manyCombit CRM stores addresses as separate Anschrift records that link to multiple Kontakte (Contacts). Freshsales has no separate address object; address fields live directly on the Contact record. We flatten this relationship by extracting each Anschrift linked to a Kontakt, then embedding the primary address fields (street, city, postal code, country) into the corresponding Freshsales Contact. Secondary addresses from Combit (billing, shipping) map to Freshsales' additional address fields on Contact. The Combit Anschrift-to-Kontakt foreign key relationship is preserved during extraction and resolved at transform time by matching the contact reference ID.
Combit CRM
Contact (Kontakt)
Freshsales
Contact (or Lead)
1:1Combit Contacts map directly to Freshsales Contacts. We map standard fields (name, email, phone, job title) and inherit the flattened address fields from the linked Anschrift. Combit Contacts with no associated Account map as standalone Freshsales Contacts; the customer's admin decides post-migration which should be converted to Leads in Freshsales' separate Lead model. We preserve Combit contact owner assignment in Freshsales OwnerId via email lookup.
Combit CRM
Company (Firma)
Freshsales
Account
1:1Combit Firmen (Companies) map to Freshsales Accounts. The Combit company name becomes the Account name, domain information maps to Website, and industry or type fields map to Freshsales' custom fields or standard Industry picklist where applicable. We create Accounts before Contact import so that the Account lookup relationship resolves at the moment of Contact insert.
Combit CRM
Deal (Verkauf/Geschäft)
Freshsales
Deal
1:1Combit Deals map to Freshsales Deals with their pipeline stages, deal value, owner, and expected close date. We reconstruct the pipeline structure by creating Freshsales pipeline stages that mirror the Combit stages during pre-migration configuration. Closed-Lost and Closed-Won statuses from Combit map to Freshsales Deal status values. Deal-contact associations migrate as Freshsales Deal contacts.
Combit CRM
Project (Projekt)
Freshsales
Custom Object or Deal
lossyCombit Projects do not map cleanly to a single Freshsales standard object because Freshsales lacks a native project record type. We evaluate project usage patterns during discovery: projects with line items and budgets map to Freshsales Deals with custom fields for project metadata; multi-contact projects map to a Freshsales Custom Object with lookups to the relevant Contacts and Accounts. The customer chooses the approach during scoping, and we document the chosen model with its schema in the migration scope.
Combit CRM
Activity (Aktivität)
Freshsales
Activity
1:1Combit Activities (calls, meetings, tasks, notes) map to Freshsales Activities, which is a unified module handling all engagement types. Activity type, date, duration, and description migrate directly. The link between an activity and its parent Contact or Project resolves to Freshsales Activity with the Contact or Deal reference preserved. Combit's separate activity type taxonomy (Anruf, Besprechung, Aufgabe, Notiz) maps to Freshsales Activity type values during transform.
Combit CRM
User (Benutzer)
Freshsales
User
1:1Combit User records map to Freshsales Users by email address. We extract all distinct Benutzer email addresses from Combit records and match them against the destination Freshsales User table. Any Combit User without a matching Freshsales User enters a reconciliation queue for the customer's admin to provision before record import resumes. Owner assignments on Contacts, Deals, and Activities resolve to Freshsales OwnerId through this mapping.
Combit CRM
Custom Field (Benutzerdefiniertes Feld)
Freshsales
Custom Field
lossyCombit custom fields across all objects require translation from German labels to English API-safe field names during mapping. We extract the full custom field schema (field name, data type, picklist values) during discovery, map data types to equivalent Freshsales field types (text, number, date, picklist, multi-select), and pre-create fields in Freshsales before data import. Any Combit custom fields with no Freshsales equivalent are flagged during scoping for the customer to decide whether to map to an existing standard field or create a new custom field.
Combit CRM
Attachment (Anhang)
Freshsales
Attachment via Freshsales Files
1:1Combit stores file attachments on records. We extract attachments to a file store with original filenames preserved, then create Freshsales attachment links pointing to the stored files using Freshsales' file attachment API. The Combit attachment-to-record relationship is preserved by linking each file to the migrated parent record (Contact, Account, or Deal) by record ID. Binary file content migrates in full; linked URLs that point to external storage do not migrate.
Combit CRM
Tag/Category (Kategorie)
Freshsales
Tag
lossyCombit supports categorical tagging of records. We extract tag values as a flat list per record, then map them to Freshsales Tags using the Freshsales Tags API. Multi-value tags from Combit (a contact can have multiple Kategorie values) map to Freshsales multi-tag format. We consolidate tags with identical names during deduplication to prevent tag proliferation at the destination.
| Combit CRM | Freshsales | Compatibility | |
|---|---|---|---|
| Address (Anschrift) | Contact address fields1:many | Fully supported | |
| Contact (Kontakt) | Contact (or Lead)1:1 | Fully supported | |
| Company (Firma) | Account1:1 | Fully supported | |
| Deal (Verkauf/Geschäft) | Deal1:1 | Fully supported | |
| Project (Projekt) | Custom Object or Deallossy | Fully supported | |
| Activity (Aktivität) | Activity1:1 | Fully supported | |
| User (Benutzer) | User1:1 | Fully supported | |
| Custom Field (Benutzerdefiniertes Feld) | Custom Fieldlossy | Fully supported | |
| Attachment (Anhang) | Attachment via Freshsales Files1:1 | Fully supported | |
| Tag/Category (Kategorie) | Taglossy | 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.
Combit CRM gotchas
No documented REST API for automated migration
German-language interface complicates discovery
On-premise deployments require database-level extraction
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Discovery and export method determination
We audit the Combit CRM deployment to determine extraction method. For on-premise customers, we negotiate read-only database credentials and document the proprietary schema (tables, primary keys, foreign key relationships, custom field storage). For cloud deployments, we work with bilingual contacts to navigate the German-language admin panel and identify the CSV/Excel export scope available. We extract record counts for all objects (Anschriften, Kontakte, Firmen, Projekte, Aktivitäten, Deals, Benutzer) and flag any objects with extensive custom field definitions for dedicated mapping sessions.
German field translation and mapping matrix
We translate every Combit field definition from German to English, matching each to a typed Freshsales field. Picklist values are translated in full. Custom fields are mapped to Freshsales custom fields (pre-created in the destination tenant during this phase). The mapping matrix becomes the source of truth for the entire project and is reviewed and signed off by the customer's admin before any data moves. Any Combit field with no Freshsales equivalent is flagged for a decision: map to an existing standard field, create a new custom field, or drop.
Freshsales schema pre-configuration
We configure the Freshsales destination tenant before migration begins. This includes creating custom fields (with API-safe names matching the translation matrix), setting up pipeline stages mapped from Combit Deal stages, configuring Deal fields and layouts, and provisioning any custom objects required for Combit Project records. We configure field-level security and validation rules to allow the migration user to write records without blocking on required fields that may not exist in the Combit source data. All configuration happens in a Freshsales sandbox or staging environment first for validation.
Data extraction from Combit
For on-premise deployments, we run extraction queries against the Combit database in read-only mode, exporting records in dependency order: Users first (for owner mapping), then Addresses, then Companies, then Contacts, then Deals, then Activities. We validate extracted row counts against Combit's reported totals at each step. For CSV-based extraction, we negotiate the field scope with the customer, run exports through Combit's built-in export function, and validate completeness (row counts, expected columns, no truncation) before accepting the export as the migration source.
Transform and relationship resolution
We transform the extracted Combit data into Freshsales API-compatible format. The critical step is resolving the Anschrift-to-Kontakt relationship: we extract each Combit address, match it to its linked contact by the foreign key, and embed address fields into the Contact record for Freshsales import. We apply the field mapping matrix (translated field names, data type conversions, picklist value translations) and chunk records into batches sized for Freshsales API limits. We maintain a migration manifest tracking every record's source ID, destination ID, and mapping status.
Freshsales API load and reconciliation
We load records into Freshsales via the REST API in dependency order: Accounts first (from Combit Firmen), then Contacts (with address fields embedded from Combit Anschriften), then Deals, then Activities, then Tags. Each phase emits a row-count reconciliation report comparing records written to Freshsales against records extracted from Combit. We investigate any discrepancy exceeding 1% before proceeding to the next phase. We apply exponential backoff and retry logic on 429 rate-limit responses and 5xx server errors. Attachments are uploaded to the file store and linked via Freshsales' attachment API after the parent record is confirmed present.
Cutover, validation, and automation handoff
We freeze writes to Combit during cutover, run a final delta migration of any records modified during the migration window, then enable Freshsales as the system of record. We deliver a written inventory of every Combit workflow and automation with its trigger, conditions, and actions, mapped to the equivalent Freshsales workflow configuration. The customer's admin rebuilds automations in Freshsales' workflow builder post-migration. We support a one-week hypercare window for reconciliation issues raised by the sales team. Post-migration admin support, training, and workflow rebuild are outside standard scope and are separate engagements.
Platform deep dives
Combit CRM
Source
Strengths
Weaknesses
Freshsales
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 Combit CRM and Freshsales.
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
Combit CRM: Not publicly documented.
Data volume sensitivity
Combit CRM 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 Combit CRM to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your Combit CRM to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Combit CRM
Other ways to arrive at Freshsales
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.