CRM migration
Field-level mapping, validation, and rollback between Lemon Tech and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Lemon Tech
Source
Salesforce Sales Cloud
Destination
Compatibility
6 of 12
objects map 1:1 between Lemon Tech and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from Lemon Tech to Salesforce Sales Cloud is a structural migration that translates a legal-vertical data model into a general-purpose CRM schema. Lemon Tech organizes data around Entities (standard and custom), Matters, Contacts, and timekeeping records with SQL Wrappers that combine CRM data with custom SQL for reporting. Salesforce Sales Cloud uses the Lead-Contact-Account-Opportunity model with Case as the support and legal matter container. We map Matters to Case records (or Opportunity depending on whether the firm treats matters as revenue-generating), resolve Entity-to-Custom Object lookups, preserve billing amounts and dates from time entry records, and transform SQL Wrapper exports into structured Salesforce custom objects with their original field names preserved in metadata. The lack of a public Lemon Tech API means we rely on the built-in Entity export function supplemented by SQL Wrapper exports, which requires careful sequencing to satisfy foreign-key dependencies during load. Workflows, automations, and reporting configurations do not migrate; we deliver a written inventory of each for the customer's admin to rebuild in Salesforce.
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 Lemon Tech 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.
Lemon Tech
Entity (Standard)
Salesforce Sales Cloud
Contact or Account (context-dependent)
1:1Lemon Tech standard entities that represent people (attorneys, clients, opposing counsel) map to Salesforce Contact. Entities that represent organizations (law firms, corporate clients, courts) map to Salesforce Account. We inventory all standard entity types during discovery and assign the mapping based on the entity's role in the firm's workflow rather than a static rule. The entity name becomes the Contact LastName or Account Name; entity email becomes Contact Email or Account Email.
Lemon Tech
Entity (Custom)
Salesforce Sales Cloud
Custom Object (__c)
1:1Custom entities in Lemon Tech map to Salesforce custom objects pre-created with the same API name (normalized to remove spaces and special characters, with __c suffix). Each custom entity's custom fields become custom fields on the destination custom object with appropriate Salesforce types (text, number, date, picklist, lookup). Lookup relationships between custom entities are preserved as Salesforce lookup fields, and we resolve the parent record ID during migration rather than at import time.
Lemon Tech
Contact
Salesforce Sales Cloud
Contact
1:1Lemon Tech Contact records map directly to Salesforce Contact with standard fields (Name, Email, Phone, MailingAddress) preserved. Any custom contact properties (bar number, practice area, client classification) migrate as custom fields on Contact. The AccountId on Contact is resolved by matching the Contact's associated Entity (if mapped to Account) or by holding the Contact in a staging queue until the parent Account is created.
Lemon Tech
Matter
Salesforce Sales Cloud
Case or Opportunity
lossyMatter records map to Salesforce Case (using Service Cloud) if the firm uses matters primarily for legal matter tracking, or to Opportunity if matters represent revenue-generating engagements. The mapping decision is made during scoping based on the firm's workflow. Matter status maps to Case Status or Opportunity StageName; Matter number becomes Case CaseNumber or Opportunity InvoiceNumber. Custom matter fields migrate to custom fields on the destination object. We flag any Matter with a linked time entry total greater than zero as requiring an Opportunity conversion if Case was chosen as the destination.
Lemon Tech
Matter Contact Link
Salesforce Sales Cloud
CaseContactRole or OpportunityContactRole
1:1Lemon Tech's link between Matters and Contacts (representing attorney on record, client, opposing counsel, expert witness) maps to Salesforce CaseContactRole or OpportunityContactRole. We preserve the role name and contact reference. If the Contact has not yet been migrated, we hold the link in a staging queue until Contact import completes.
Lemon Tech
User
Salesforce Sales Cloud
User
1:1Lemon Tech User records map to Salesforce User by email match. We extract all users referenced on Matters, Contacts, and time entries during discovery and match against the destination org's User table. Any Lemon Tech user without a matching Salesforce User is flagged in a reconciliation queue for the customer's admin to provision before record import resumes. Inactive Lemon Tech users map to inactive Salesforce users.
Lemon Tech
Time Entry
Salesforce Sales Cloud
Custom Time Entry Object (__c) or Task
lossyTime entries linked to Matters migrate to a Salesforce custom object (Time_Entry__c) with fields for Date, Hours, Billable_Amount__c, Description__c, and Matter_Reference__c (lookup to Case or Opportunity). This preserves the granular time tracking that law firms require for billing and compliance. Non-billable administrative time can optionally map to Task records for activity reporting. The mapping decision is made during scoping based on whether the firm uses Salesforce's native invoicing or an external billing system.
Lemon Tech
Billing Record
Salesforce Sales Cloud
Custom Invoice Object (__c) or Opportunity
lossyLemon Tech billing records (invoices, payments, adjustments) map to a custom Invoice__c object linked to the Matter (Case or Opportunity) with invoice number, amount, date, status, and payment reference fields. If the firm uses Salesforce Opportunities for matter revenue tracking, billing amounts update the Opportunity Amount field. We preserve the full billing history including invoice PDFs as ContentDocument records attached to the Invoice__c record.
Lemon Tech
SQL Wrapper Data
Salesforce Sales Cloud
Custom Object (__c) or External Data Object
lossySQL Wrapper exports are structured relational tables created by Lemon Tech's custom SQL definitions. Simple wrappers (single table, no joins) map directly to Salesforce custom objects. Complex wrappers with multi-table joins, computed columns, or third-party data sources require manual field mapping during migration. We inventory all SQL Wrapper definitions during discovery, flag wrappers with nested logic or external data sources as requiring custom mapping work, and preserve the original wrapper SQL in a custom Long Text Area field on the destination object for auditability.
Lemon Tech
Attachment
Salesforce Sales Cloud
ContentDocument + ContentVersion
1:1File attachments associated with Entities, Contacts, or Matters export as binary blobs from Lemon Tech. We map these to Salesforce ContentDocument (the library entry) and ContentVersion (the file revision) records linked via ContentDocumentLink to the parent Contact, Account, Case, or Opportunity. Filenames and file type are preserved. The original file association (e.g., Contract PDF linked to Matter) is preserved as the ContentDocumentLink's LinkedEntityId.
Lemon Tech
Custom Entity Field
Salesforce Sales Cloud
Custom Field
lossyCustom fields on Lemon Tech entities (standard or custom) map to Salesforce custom fields on the corresponding object. Field type mapping follows standard conventions: text inputs become Text fields, numbers become Number fields with appropriate precision, dates become Date fields, and multi-value fields become Multi-Select Picklists. We normalize custom field names to a consistent format (removing spaces, applying PascalCase) and preserve the original Lemon Tech field name in a custom field label for auditability.
Lemon Tech
Matter Status
Salesforce Sales Cloud
Case Status or Opportunity Stage
lossyMatter status values in Lemon Tech (Active, Pending, Closed, On Hold, etc.) map to Salesforce Case Status picklist values or Opportunity StageName values depending on the Matter-to-object mapping decision. Each status value gets a probability percentage aligned with the firm's pipeline expectations. We configure the Status field during Salesforce org setup before migration begins so that the picklist is ready for data load.
| Lemon Tech | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Entity (Standard) | Contact or Account (context-dependent)1:1 | Fully supported | |
| Entity (Custom) | Custom Object (__c)1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Matter | Case or Opportunitylossy | Fully supported | |
| Matter Contact Link | CaseContactRole or OpportunityContactRole1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Time Entry | Custom Time Entry Object (__c) or Tasklossy | Fully supported | |
| Billing Record | Custom Invoice Object (__c) or Opportunitylossy | Fully supported | |
| SQL Wrapper Data | Custom Object (__c) or External Data Objectlossy | Mapping required | |
| Attachment | ContentDocument + ContentVersion1:1 | Fully supported | |
| Custom Entity Field | Custom Fieldlossy | Fully supported | |
| Matter Status | Case Status or Opportunity Stagelossy | 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.
Lemon Tech gotchas
No public API for bulk data extraction
SQL Wrapper complexity varies by definition
Custom entity naming conventions are customer-specific
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 schema design
We audit the source Lemon Tech instance across all entity types (standard and custom), Matter records and their statuses, Contact volumes, active SQL Wrapper definitions, time entry and billing record counts, and attachment volumes. We pair this with a Salesforce edition decision: Professional ($80/user) covers most migrations including custom objects; Enterprise ($165/user) is required if Service Cloud Case management is the Matter destination, if advanced Flow automation is needed, or if the org exceeds 150 custom fields on a single object. We design the destination schema including custom objects, custom fields, lookup relationships, Case or Opportunity configuration, and the Matter-to-object mapping rule. Schema is deployed via Salesforce metadata API into a Sandbox org first for validation.
Export sequencing and dependency mapping
We sequence Lemon Tech exports in record-dependency order: standard Entities (for Account/Contact), Custom Entities, Contacts, Matters, Matter-Contact links, Time Entries, Billing Records, SQL Wrapper data, and Attachments. We map foreign key references (e.g., Matter ID on Time Entry, Contact ID on Matter link) before export so that the exported files contain the IDs needed for Salesforce lookup resolution. We coordinate with the customer to schedule large exports during off-peak hours and chunk exports exceeding 10,000 records to avoid server task timeouts.
Sandbox migration and reconciliation
We run a full migration into a Salesforce Sandbox (Full Copy or Partial Copy) using production-equivalent data volume. The customer's legal operations lead reconciles record counts across all object types, spot-checks 25-50 random Matters and Contacts against the Lemon Tech source, and verifies that time entry totals match the Matter billing record totals. SQL Wrapper output is validated against the original wrapper definition to confirm that computed columns and joins produced the expected output. The customer signs off the schema and mapping before production migration begins. Any mapping corrections happen in the Sandbox, not in production.
Owner reconciliation and User provisioning
We extract every distinct Lemon Tech User referenced on Matter, Contact, and Time Entry records and match by email against the Salesforce destination org's User table. Attorneys, paralegals, and billing contacts are mapped to Salesforce Users as Owners or Assigned To. Any Lemon Tech user without a matching Salesforce User is placed in a reconciliation queue. The customer's Salesforce admin provisions missing Users (active for current staff, inactive for former staff) before the production migration begins. This step is required because OwnerId and User lookups are mandatory on most standard and custom objects.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Lemon Tech organization-type Entities), Contacts (with AccountId resolved), Custom Objects (with lookup fields prepared but not yet populated), Matters (mapped to Case or Opportunity based on the scoping decision), Matter-Contact links (CaseContactRole or OpportunityContactRole), Time Entries (to custom Time_Entry__c object), Billing Records (to custom Invoice__c object or Opportunity update), SQL Wrapper data (to custom objects), and Attachments (ContentDocument and ContentVersion via Bulk API). Each phase emits a row-count reconciliation report before the next phase begins. We use the Salesforce Bulk API 2.0 for phases exceeding 5,000 records with exponential backoff on rate limit responses.
Cutover, validation, and workflow rebuild handoff
We freeze Lemon Tech writes during cutover, run a final delta migration of any records created or modified during the migration window, then enable Salesforce as the system of record. We deliver a written inventory of every active Lemon Tech automation, SQL Wrapper definition, and custom report with a recommended Salesforce Flow or Report equivalent. We do not rebuild Lemon Tech automations as Salesforce Flow inside the migration scope; that work is handled by the customer's admin or a Salesforce partner. We support a one-week hypercare window where we resolve any reconciliation issues raised by the legal team. Post-migration, we recommend the customer schedules a data governance review to establish naming conventions and validation rules in Salesforce for new custom entities.
Platform deep dives
Lemon Tech
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 Lemon Tech and Salesforce Sales Cloud.
Object compatibility
1 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
Lemon Tech: Not publicly documented.
Data volume sensitivity
Lemon Tech 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 Lemon Tech to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Lemon Tech 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 Lemon Tech
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.