CRM migration
Field-level mapping, validation, and rollback between work4all and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
work4all
Source
Salesforce Sales Cloud
Destination
Compatibility
10 of 12
objects map 1:1 between work4all and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
5-8 weeks
Overview
work4all organises data around Customers, Suppliers, Items, and Business Partners as its core entities, with ERP documents and CRM activities linked to those parties. Salesforce uses Accounts, Contacts, Leads, Opportunities, and Cases in a different schema structure. Since work4all has no public API, we coordinate vendor-assisted exports through Excel templates and custom database scripts. We sequence the export starting with Contact and Address records, then layer in transactional history and open-item data, and we flag industry-specific custom fields that require field-level mapping. We preserve the relationship graph between business partners and their contact persons during transfer, and we flag where Light-licence restrictions affect which data objects are accessible for export. Workflows, sequences, automations, and custom reports do not migrate; we deliver a written inventory of these for the customer's admin to rebuild in Salesforce Flow or a reporting tool.
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 Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
work4all
Customer (Debitoren)
Salesforce Sales Cloud
Account
1:1work4all Customers are the primary organisational anchor with address, contact details, commercial figures, and open items all linked to the Customer record. We export this as a flat record and map it to Salesforce Account. The customer account number becomes the Account Number field and the primary lookup key. If the customer uses industry-specific extensions that add fields to the Customer record, we enumerate these during discovery and create matching custom fields on the Account before migration.
work4all
Supplier (Kreditoren)
Salesforce Sales Cloud
Account or Custom Supplier Object
1:1work4all Suppliers mirror the Customer structure with address, contact details, and purchasing history. We map Suppliers to Salesforce Account with a source_type flag set to Supplier, or to a custom Supplier object if the customer needs to keep supplier and customer data in separate schemas. The mapping decision is made during scoping based on the customer's downstream reporting needs.
work4all
Item (Artikel)
Salesforce Sales Cloud
Product2
1:1work4all Item master records include pricing, descriptions, and stock information with support for item variants and price list structures. We flatten the variant structure into standard Product2 records, preserving the original item code as ProductCode and the description as Description. Price list entries are migrated as Standard Price Book entries against a Pricebook2 created during the schema phase.
work4all
Sales Opportunity
Salesforce Sales Cloud
Opportunity
1:1work4all CRM-linked sales opportunities track pipeline progress, estimated values, and associated Customers and Contact Persons. We export each opportunity with its current stage, estimated value, and linked Customer and Contact references. Opportunity stage names map to Salesforce StageName values, and we create a Salesforce Sales Process and Record Type to scope the allowed stage values per the customer's work4all pipeline configuration.
work4all
Contact Person
Salesforce Sales Cloud
Contact
1:1work4all Contact Persons are sub-records linked to a Business Partner. We export them with their parent Customer or Supplier reference intact. During Salesforce import, we resolve the parent Account reference and link the Contact to the corresponding Account. If a Contact Person has no email or name, we flag it for the customer's admin to review before import because Salesforce requires FirstName or LastName on Contact.
work4all
Invoice and ERP Document
Salesforce Sales Cloud
Contract or Custom ERP Document Object
1:manywork4all invoices, offers, and cost receipts are stored as ERP documents linked to Customers and Items. We export document headers and line items as structured records. For Salesforce, these map to Contract (for active customer agreements) or to a custom ERP Document object that the customer configures during scoping, since Salesforce does not have a native invoice object at Sales Cloud tier. PDF attachments require a separate file migration step using Salesforce ContentDocument and ContentVersion.
work4all
Telephone Note and Call Log
Salesforce Sales Cloud
Task
1:1Phone call logs in work4all are CRM activities linked to Customers and Contact Persons. The TAPI integration populates caller ID automatically, but exported notes are free-text summaries. We preserve the timestamp, duration estimate (if stored), and the free-text body as a Salesforce Task with TaskSubtype=Call. The WhatId links to the Account; the WhoId links to the Contact resolved from the Contact Person export.
work4all
Visit Report
Salesforce Sales Cloud
Task or Event
1:1Visit reports are time-stamped CRM records associated with a Customer and an Owner in work4all. They may contain custom fields depending on industry extension usage. We export the report body as text and map any standard fields to Salesforce Task or Event depending on whether the visit was a scheduled meeting (Event) or a logged report (Task). Custom fields from industry extensions migrate as custom Task or Event fields after schema creation.
work4all
Time Recording
Salesforce Sales Cloud
Time Sheet Entry (Custom) or Task
1:1Time entries in work4all are linked to Employees, Projects, or Tasks depending on configuration. Light-tier users have restricted time entry access only. We export time entries with project, task, and owner references. In Salesforce, time recording requires either Salesforce Field Service (which includes timesheet objects) or a custom Time Sheet Entry object that we create during schema setup. We confirm the customer's preferred approach during scoping.
work4all
Open Item (Offene Posten)
Salesforce Sales Cloud
Custom Open Item Object or Case
1:1Open items in work4all represent unpaid or partially paid invoices and credit memos tied to Customers. We export the open item with the invoice reference, original amount, amount open, due date, and currency. Partial payments require reconstruction: we request the customer to confirm whether partial payments exist and, if so, we ask the vendor to include payment records in the export or we reconstruct open amounts from invoice and payment data separately. The destination is a custom Open Item object with a lookup to the Account and to the original Contract or ERP document record.
work4all
Task
Salesforce Sales Cloud
Task
1:1work4all Tasks are standalone CRM objects linked to Customers, Contact Persons, or Documents. They carry status, priority, due dates, and owner assignments. We export all task fields including the status enum and owner reference. Tasks map directly to Salesforce Task with Status, Priority, ActivityDate, and OwnerId preserved. Owner resolution is by email match against Salesforce User records.
work4all
Custom Field
Salesforce Sales Cloud
Custom Field
lossywork4all supports custom fields across CRM and ERP objects, particularly in industry extensions, but these are not exposed in a public metadata API. We discover custom fields by asking the customer to provide a screenshot or field inventory, or by inspecting the schema of exported data to detect fields not in the standard object list. For each discovered custom field, we create a matching custom field on the appropriate Salesforce object during the schema phase before data import begins.
| work4all | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Customer (Debitoren) | Account1:1 | Fully supported | |
| Supplier (Kreditoren) | Account or Custom Supplier Object1:1 | Fully supported | |
| Item (Artikel) | Product21:1 | Fully supported | |
| Sales Opportunity | Opportunity1:1 | Fully supported | |
| Contact Person | Contact1:1 | Fully supported | |
| Invoice and ERP Document | Contract or Custom ERP Document Object1:many | Fully supported | |
| Telephone Note and Call Log | Task1:1 | Fully supported | |
| Visit Report | Task or Event1:1 | Fully supported | |
| Time Recording | Time Sheet Entry (Custom) or Task1:1 | Fully supported | |
| Open Item (Offene Posten) | Custom Open Item Object or Case1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Custom Field | Custom Fieldlossy | 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.
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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Discovery and vendor coordination scoping
We audit the source work4all environment across licence tiers, active modules (CRM, ERP, time tracking, industry extensions), data volumes per object, and any custom fields the customer has created. We identify every Light-licence user and confirm which data objects their accounts can access. We engage the customer's work4all vendor contact to scope the export approach: Excel template export for Customers, Suppliers, and Items; custom script or database-level export for CRM activities, ERP documents, and time recordings. We ask the customer to provide a screenshot inventory of any custom fields. The discovery output is a written migration scope, export timeline from the vendor, and a Salesforce edition recommendation based on the customer's post-migration use case.
Destination schema design in Salesforce Sandbox
We design the destination schema in a Salesforce Sandbox (Full Copy or Partial Copy) before any production data moves. This includes creating the Account and Contact object structure with the Business Partner split resolved, provisioning a custom Supplier object or type flag based on the customer's preference, creating a custom Open Item object or mapping to an existing object, creating any custom fields discovered during scoping, provisioning Salesforce Field Service or a custom Time Sheet Entry object if time recording is in scope, creating Opportunity Record Types and Sales Processes to mirror the work4all pipeline stages, and creating custom fields on Contract or a custom ERP Document object for migrated document headers. Schema is deployed via Salesforce metadata API or change set into the Sandbox for validation.
Relationship resolution mapping
We map the exported work4all data to Salesforce objects with the relationship graph intact. Customers map to Accounts with the account number as the dedupe key. Suppliers map to Accounts with a type flag or to a custom Supplier object. Contact Persons map to Contacts with the parent Account reference resolved. Sales Opportunities map to Opportunities with AccountId, OwnerId, and RecordTypeId resolved. ERP document headers and line items map to Contract or a custom ERP Document object with line items linked via a custom relationship field. Open items map to the custom Open Item object with a lookup to the Account and to the original document record.
Open-item payment reconciliation
Before loading open items, we reconstruct the open amount from the original invoice and any recorded payments. We ask the customer to confirm whether partial payments exist and, if so, we request the vendor to include payment records in the export or we extract payment data from invoice history separately. We calculate the open amount as original invoice amount minus sum of payments and store it on the custom Open Item record along with the payment reference and date. If partial payments are not available, we flag the risk and store the full invoice amount as open, noting the limitation for the customer's finance team to resolve post-migration.
Production migration with Bulk API chunking and validation
We run production migration in record-dependency order using Salesforce Bulk API 2.0 for large record sets with batch chunking and exponential backoff on rate-limit responses. The load order is: Accounts (from work4all Customers and Suppliers), Contacts (from Contact Persons with AccountId resolved), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Products and Pricebook entries (from Items), Contracts or ERP Documents (from invoice and offer headers), Opportunity Line Items (from ERP document line items), Tasks and Events (from Telephone Notes, Visit Reports, and CRM Tasks), Custom Open Items (with payment reconciliation applied), and Custom Objects or custom fields (last, after standard object relationships are confirmed). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and automation handoff
We freeze work4all writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We validate record counts across all objects, spot-check 25-50 sample records against the work4all source for field-level accuracy, and confirm the relationship graph (Account-to-Contact, Opportunity-to-Account) is intact. We deliver the written inventory of work4all automations, industry extension configurations, and custom reports to the customer's admin team with recommended Salesforce equivalents. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's team. We do not rebuild work4all automations as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
work4all
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Salesforce Sales Cloud.
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your work4all to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.