CRM migration
Field-level mapping, validation, and rollback between work4all and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
work4all
Source
Freshsales
Destination
Compatibility
7 of 12
objects map 1:1 between work4all and Freshsales.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Migrating from work4all to Freshsales is a cross-architecture move: work4all is a Windows-desktop ERP-CRM hybrid with no published REST API, while Freshsales is a cloud-native AI-powered CRM with a fully documented API and CSV import tooling. The primary migration constraint is export access. work4all does not publish a public API; data export relies on built-in Excel import templates reversed in collaboration with the vendor, or on a vendor-scripted database export. We add a discovery step to every project enumerating which licence tiers (Light, Professional, Ultimate) can access which objects, because Light-tier technicians cannot export full CRM activity history. We map work4all Customers and Suppliers to Freshsales Accounts, Sales Opportunities to Deals, and time recordings and visit reports to Activities. Open items require a separate reconciliation pass because partial payments must be computed from invoice and payment data separately. We do not migrate workflows, automations, or the work4all time-tracking configuration; we deliver a written inventory of these for the customer's admin to rebuild in Freshsales.
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 work4all 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.
work4all
Customer (Debitor)
Freshsales
Account
1:1work4all Customer master records with address, commercial figures, and open-item totals map directly to Freshsales Account. The Customer number becomes the Account's external ID for dedupe. We use Account as the destination because work4all's customer-supplier distinction (Debitor/Kreditor) maps to the Account's industry_type or a custom account_type field rather than separate objects. If the customer uses both customer and supplier roles for the same business partner, we create a single Account with both roles flagged in the custom field.
work4all
Supplier (Kreditor)
Freshsales
Account
1:1work4all Supplier master records mirror the Customer structure and map to Freshsales Account with a supplier_type flag. Where the same legal entity appears as both a Customer and Supplier in work4all, we create one Account record and use the custom field to indicate dual status rather than duplicating the record.
work4all
Contact Person (Ansprechpartner)
Freshsales
Contact
1:manywork4all Contact Persons linked to a Customer or Supplier map to Freshsales Contact records with a lookup to the Account. The primary contact flag, department, phone, and email transfer. If a Contact Person has multiple roles within the same business partner, we create separate Contact records linked to the same Account.
work4all
Item (Artikel)
Freshsales
Product2
1:1work4all Item master records including pricing, descriptions, stock status, and variants map to Freshsales Product2. The work4all item number maps to Product Code. Item variants are flattened into individual Product2 records with a parent_product reference where the Freshsales plan supports it.
work4all
Sales Opportunity
Freshsales
Deal
1:1work4all Sales Opportunities linked to a Customer and Contact map to Freshsales Deal with the Contact lookup and Account lookup resolved at migration time. Pipeline stage maps to Freshsales Deal stage. Estimated value and close date transfer directly.
work4all
Invoice and ERP Document (Angebot, Rechnung, Kostenbeleg)
Freshsales
Deal + Custom Object or Attachment
lossywork4all ERP documents (Offers, Invoices, Cost Receipts) do not have a native equivalent in Freshsales CRM. We export document headers and line items as structured records and attach the original document as a file to the corresponding Deal or Account. For customers requiring invoice history as queryable records, we recommend a custom Invoice object (available from Freshsales Pro and above) or a post-migration AppExchange install such as Conga or an ERP connector.
work4all
Telephone Note (Telefonnotiz)
Freshsales
Task
1:1work4all Telephone Notes linked to a Customer and Contact map to Freshsales Task with the activity timestamp preserved. The free-text note body transfers as the Task description. TAPI caller-ID data transfers as a custom field if the customer requires call log reconstruction.
work4all
Visit Report (Besuchsbericht)
Freshsales
Task or Event
lossywork4all Visit Reports are time-stamped CRM records linked to a Customer and an Owner. We map them to Freshsales Task (if the report is summary-only) or Event (if it carries a scheduled start and end time). Custom fields on visit reports discovered during enumeration are recreated as Freshsales custom fields before migration.
work4all
Open Item (Offener Posten)
Freshsales
Deal or Custom Field on Account
lossywork4all Open Items tracking unpaid invoices and credit memos require a separate reconciliation step because partial payments must be calculated from invoice amount minus any recorded payments. We export open-item records with invoice reference, open amount, due date, and currency. In Freshsales, open amounts are represented as a custom currency field on Account or as Deal records in a special 'Accounts Receivable' pipeline. The customer chooses the representation during scoping.
work4all
Time Recording (Zeiterfassung)
Freshsales
Task
1:1work4all Time Entries linked to Employees, Projects, or Tasks map to Freshsales Task records. Light-licence users have restricted time-entry access only; we confirm during licence audit whether time recordings are accessible under the customer's current licence tier or require an upgrade or vendor-assisted export before migration scope is finalised.
work4all
Task
Freshsales
Task
1:1work4all standalone Tasks linked to Customers, Contacts, or Documents map to Freshsales Task with status, priority, due date, and owner resolved. Owner resolution uses email matching against Freshsales User records. Any Task without a resolvable owner is held in the reconciliation queue for the customer's admin to provision the corresponding Freshsales user.
work4all
Custom Fields
Freshsales
Custom Fields
lossywork4all custom fields on CRM activities and ERP documents (particularly those from industry extensions) require enumeration by the customer because no metadata API exposes them. We ask the customer to provide a field inventory or screenshots. If the customer cannot enumerate them, we inspect the exported data schema to detect non-standard fields. Custom fields are recreated in Freshsales Admin Settings before migration; plan limits apply: Blossom (10), Garden (100), Estate (300), Forest (300). We flag during scoping if the customer's custom field count exceeds the target plan limit.
| work4all | Freshsales | Compatibility | |
|---|---|---|---|
| Customer (Debitor) | Account1:1 | Fully supported | |
| Supplier (Kreditor) | Account1:1 | Fully supported | |
| Contact Person (Ansprechpartner) | Contact1:many | Fully supported | |
| Item (Artikel) | Product21:1 | Fully supported | |
| Sales Opportunity | Deal1:1 | Fully supported | |
| Invoice and ERP Document (Angebot, Rechnung, Kostenbeleg) | Deal + Custom Object or Attachmentlossy | Fully supported | |
| Telephone Note (Telefonnotiz) | Task1:1 | Fully supported | |
| Visit Report (Besuchsbericht) | Task or Eventlossy | Fully supported | |
| Open Item (Offener Posten) | Deal or Custom Field on Accountlossy | Fully supported | |
| Time Recording (Zeiterfassung) | Task1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Custom Fields | Custom Fieldslossy | Mapping required |
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.
work4all gotchas
Light licence users cannot export all data types
No public REST API; migrations rely on Excel templates and vendor-assisted exports
Custom fields are not discoverable via a metadata endpoint
Open items require reconciliation against payment history before export
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 licence-tier audit
We audit the work4all instance across all licence tiers (Light, Basic, Professional, Ultimate) to identify which users can access which data objects. We enumerate the full list of objects in scope: Customers, Suppliers, Items, Sales Opportunities, Telephone Notes, Visit Reports, Tasks, Time Recordings, Open Items, and any ERP documents the customer wants migrated. We also request the customer to enumerate or screenshot any custom fields they have created in industry extensions. We assess the Freshsales target plan (Growth, Pro, Enterprise) against the discovered custom field count and open-item complexity.
Export coordination with work4all vendor
Because work4all has no public API, we coordinate a vendor-assisted export. For Customers, Suppliers, and Items, we use the built-in Excel import templates iterated in reverse. For CRM activities, ERP documents, and open items, we request the vendor to run database-level queries or custom scripted exports. We define the export format (CSV or structured JSON) and the field mappings upfront to minimise revision cycles. We flag any export that cannot be delivered within the agreed timeline and escalate to the customer's project manager.
Schema design and custom field creation
We design the destination Freshsales schema before any data moves. This includes creating all required custom fields (within the target plan limit), configuring Account types and Deal stages to match the customer's pipeline, setting up the conversion settings to map any Lead-source custom fields to their Contact and Account equivalents, and creating the migration user with the appropriate permissions. The schema is deployed into a Freshsales sandbox for validation before production migration begins.
Sandbox migration and reconciliation
We run a full trial migration into the customer's Freshsales sandbox using production-like data volume. The customer's project lead reconciles record counts against the work4all source export (Customers in, Suppliers in, Contacts in, Deals in, Activities in), spot-checks 20-30 records for field-level accuracy, and validates that open-item amounts match the source reconciliation. Any mapping corrections are documented and applied to the production migration plan. The customer signs off the sandbox results before production cutover is scheduled.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from work4all Customers and Suppliers), Contacts (linked to Accounts), Products (from Items), Deals (from Sales Opportunities with Account and Contact lookups resolved), Activities (Telephone Notes, Visit Reports, and Tasks via CSV import or API), and Open Items (as custom fields on Accounts or as Deals in a designated pipeline). Owner resolution uses email matching against Freshsales User records; unresolved owners are held in a queue for the customer's admin to provision. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation rebuild handoff
We freeze work4all writes 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 work4all workflows, automations, and time-tracking configurations that do not migrate, with a rebuild guide for the customer's admin to reference in Freshsales. We support a five-business-day hypercare window where we resolve any data quality issues raised by the customer's team. We do not rebuild work4all automations as Freshsales workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
work4all
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 work4all 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
work4all: Not publicly documented.
Data volume sensitivity
work4all 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 work4all to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your work4all 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 work4all
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.