CRM migration

Migrate from YetiForce CRM to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between YetiForce CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

YetiForce CRM logo

YetiForce CRM

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

79%

11 of 14

objects map 1:1 between YetiForce CRM and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

4-8 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from YetiForce CRM to Salesforce is a platform-class migration: self-hosted PHP/MySQL to cloud-native multi-tenant SaaS, ERP-scope module set to CRM-focused Sales Cloud, and community-supported open-source to enterprise-backed commercial platform. YetiForce's core objects (Contacts, Organizations, Potentials) map to Salesforce equivalents (Contacts, Accounts, Opportunities) but require a dynamic field schema map because YetiForce assigns instance-specific field IDs (cf_123) that differ across installations. We build this schema map during the audit phase by querying YetiForce's field metadata, then apply it before any CSV import into Salesforce. The Reports module removal in YetiForce v4.4 means any saved reports must be exported manually before cutover and rebuilt in Salesforce Reports or Tableau. The August 2025 GitHub archival is a long-term maintenance flag we surface during scoping so the customer understands the urgency of completing migration before any further community fork divergence. We do not migrate YetiForce workflows, field-level configurations, or the Webservice Premium portal as code; we deliver a written inventory of these for the customer's admin to rebuild in Salesforce Flow and Experience Cloud.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

YetiForce CRM logo

YetiForce CRM

What's pushing teams away

  • The Reports module was removed in version 4.4 and never restored in subsequent releases, forcing teams to export data to Power BI or spreadsheets just to build basic analytics dashboards.
  • Documentation gaps are severe even in English — configuration steps, API references, and field definitions are absent or outdated, making self-service troubleshooting nearly impossible.
  • The YetiForce GitHub repository was archived and made read-only in August 2025, raising concerns about the long-term viability of the open-source project and future security patches.
  • Self-hosting responsibility — server provisioning, backups, security hardening, and PHP version maintenance fall entirely on the organization's technical team, creating operational overhead that SaaS platforms eliminate.
  • Feature gating behind the paid Webservice Premium addon means core portal access, OpenAPI documentation, and 2FA TOTP support require an additional monthly subscription on top of hosting costs.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How YetiForce CRM objects map to Salesforce Sales Cloud

Each row shows how a YetiForce CRM 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.

YetiForce CRM

Organizations

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

YetiForce Organizations map to Salesforce Account records. Organization name maps to Account Name; address fields map to BillingAddress composite; industry maps to Industry picklist; type maps to Account Type picklist. Account is created first in migration order so that the AccountId lookup is satisfied at Contact import time. The organization ID from YetiForce is preserved in a custom field yetiforce_id__c for cross-system reconciliation.

YetiForce CRM

Contacts

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

YetiForce Contacts map to Salesforce Contact records attached to the migrated Account. First name, last name, email, phone, and address fields map to standard Contact fields. The YetiForce assigned owner resolves to a Salesforce User by email match. Any Contact without a matching Account in the destination org is held in a reconciliation queue because Contact requires an AccountId on standard page layouts.

YetiForce CRM

Leads

maps to

Salesforce Sales Cloud

Lead

1:1
Fully supported

YetiForce Leads (pre-conversion prospect records) map directly to Salesforce Lead. Lead_Source and Lead_Status custom fields preserve the original YetiForce values and are mapped to Salesforce LeadSource and Status picklists via a configuration table. Unconverted Leads in YetiForce (those that never went through an Organization attachment) map to Salesforce Lead rather than Contact to maintain the qualification funnel.

YetiForce CRM

Potentials

maps to

Salesforce Sales Cloud

Opportunity

1:1
Mapping required

YetiForce Potentials map to Salesforce Opportunity. The related Organization becomes AccountId; the Potential name becomes Opportunity Name; amount and closing date map directly. YetiForce stage names ( Prospecting, Proposal, Negotiation, Closed Won, Closed Lost) map to Salesforce StageName via a configuration table built during the audit phase. Stage probability percentages migrate from YetiForce to Salesforce StageProbability.

YetiForce CRM

Potential Stage

maps to

Salesforce Sales Cloud

Opportunity Stage + Sales Process

lossy
Fully supported

Each YetiForce Potential pipeline becomes a Salesforce Record Type on Opportunity with a corresponding Sales Process that whitelists the relevant stage values. We build the stage mapping during scoping and deploy it to the Salesforce sandbox before any Opportunity data loads. Probability percentages round to the nearest integer allowed by Salesforce.

YetiForce CRM

Projects

maps to

Salesforce Sales Cloud

Custom Project Object

lossy
Mapping required

YetiForce Projects (name, status, start/end dates, assigned owner) do not have a direct Salesforce standard object equivalent. We pre-create a custom Project object (Project__c) in Salesforce with fields for Project Name, Status, Start Date, End Date, and Description. For organizations with Salesforce Field Service licenses, Project maps to ServiceAppointment or a custom WorkOrder extension depending on scope. YetiForce-specific picklist values (tree picklists, reference fields) require type-aware transformation during import.

YetiForce CRM

Project Tasks

maps to

Salesforce Sales Cloud

Custom Project Task Object

1:1
Mapping required

YetiForce Project Tasks link to a parent Project record and include subject, status, priority, and assigned user. We create a custom Project_Task__c object with a lookup to Project__c (the custom Project object above). Parent record ID mapping requires that the YetiForce Project ID is preserved in yetiforce_id__c so that we can cross-reference and update the Salesforce lookup after Project records are created. Status and priority picklist values map via the configuration table built during audit.

YetiForce CRM

Tickets

maps to

Salesforce Sales Cloud

Case

1:1
Mapping required

YetiForce Tickets map to Salesforce Case if the destination org includes Service Cloud or Field Service. Ticket title becomes Case Subject; ticket status maps to Case Status via configuration table; priority maps to Case Priority; category maps to a custom Case Category field. Related Contact and Organization references from YetiForce become Case ContactId and AccountId lookups after those records are migrated.

YetiForce CRM

Products

maps to

Salesforce Sales Cloud

Product2

1:1
Fully supported

YetiForce Products (name, unit price, vendor link, description, stock levels) map to Salesforce Product2. The vendor reference resolves to a migrated Vendor record by matching on vendor name. Unit price becomes the Standard Price Book entry. Product code maps from YetiForce's product code field. Stock levels migrate to a custom field since Salesforce standard Product2 does not include inventory tracking.

YetiForce CRM

Services

maps to

Salesforce Sales Cloud

Product2 (Service type)

1:1
Fully supported

YetiForce Services (recurring offerings with price per unit and description) share the same data shape as Products. They migrate to Salesforce Product2 with the Product Type field set to Service. We create a separate Pricebook entry for each Service so that Opportunity Line Items can reference both Products and Services from the same pricebook.

YetiForce CRM

Vendors

maps to

Salesforce Sales Cloud

Account (Vendor type)

1:1
Fully supported

YetiForce Vendors map to Salesforce Account records with the Account Type field set to Vendor. Company name maps to Account Name; website and address map to standard fields. Vendors are migrated before Products so that the foreign-key relationship between Product and Vendor is satisfied at Product import time. A custom field account_vendor_type__c flags vendor accounts for segmentation.

YetiForce CRM

Users

maps to

Salesforce Sales Cloud

User

1:1
Mapping required

YetiForce User records (login, name, role, preferences) are mapped to Salesforce User by email address match. Direct user-to-user migration is not performed because Salesforce User provisioning requires admin action and license assignment. We produce a reconciliation report listing every YetiForce owner email and its matched Salesforce User Id. Any YetiForce owner without a Salesforce User match goes to the customer's admin for provisioning before record migration resumes.

YetiForce CRM

Attachments

maps to

Salesforce Sales Cloud

ContentDocument + ContentVersion

lossy
Mapping required

YetiForce file attachments are stored in the file system and linked via record ID. The standard API does not expose binary download endpoints, so we use YetiForce's built-in Export action per record type to generate downloadable file sets. Files are then attached to the corresponding Salesforce records via ContentVersion upload and ContentDocumentLink association. Large attachment sets (>5,000 files) are chunked by parent record type to avoid Salesforce storage limits during migration.

YetiForce CRM

Activity: Calls, Emails, Meetings, Tasks

maps to

Salesforce Sales Cloud

Task + Event + EmailMessage

1:1
Fully supported

YetiForce engagement records (calls, emails, meetings, tasks) map to Salesforce Task, Event, and EmailMessage objects. Call engagements map to Task with TaskSubtype=Call and disposition preserved in a custom field. Email engagements map to EmailMessage records (the content) linked to a Task record (the activity timeline entry). Meeting engagements map to Event with StartDateTime and EndDateTime preserved. Activity timestamps migrate as ActivityDate to maintain timeline ordering. The parent record WhoId and WhatId are resolved via the YetiForce record ID preserved in yetiforce_id__c on the migrated Lead, Contact, Account, or Opportunity.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

YetiForce CRM logo

YetiForce CRM gotchas

High

YetiForce GitHub archived as read-only since August 2025

High

Reports module removed in version 4.4 and never restored

High

Webservice Standard API lacks bulk endpoints

Medium

Webservice Premium required for portal and OpenAPI access

Medium

Heavy per-instance customization complicates field mapping

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • YetiForce field IDs are instance-specific and require dynamic schema mapping

    YetiForce field IDs follow a cf_XXX pattern that is assigned per-instance and shifts whenever custom fields are added or removed. A field labeled cf_123 in one YetiForce installation maps to a different logical field than cf_123 in another installation. We build a dynamic field schema map during the audit phase by querying the field metadata endpoint for each YetiForce instance, then apply this map before any export so that source field values land in the correct destination Salesforce fields. Migrations that skip this step produce garbled data where field values are written to the wrong columns.

  • Reports module removed in v4.4 has no migration path

    The YetiForce built-in Reports module was discontinued in version 4.4 and remains absent in version 5.x. Saved report definitions created before the upgrade cannot be exported in a transferable format. We identify any customer-managed saved reports during the data audit and advise exporting them manually as CSV or screenshot before cutover. We document the report structures (filters, groupings, metrics) in a written report inventory that the customer's admin can use to rebuild equivalent views in Salesforce Reports, Salesforce Analytics (Tableau), or a connected BI tool post-migration.

  • GitHub archival August 2025 raises long-term maintenance urgency

    YetiForce CRM's GitHub repository was archived and made read-only in August 2025, ending community issue tracking and pull request submissions. During scoping, we confirm the customer's current YetiForce installation version and flag whether any community fork activity (e.g., YetiForceCompany fork variants) affects the upgrade path. We recommend completing migration before any fork divergence makes a future return to YetiForce impractical and before any security vulnerabilities in the customer's PHP version compound the maintenance gap.

  • Webservice Premium required for reliable API access

    YetiForce's free Webservice Standard API exposes only record-level CRUD methods with no bulk or batch endpoints. High-volume extractions (Organizations, Contacts, Potentials with thousands of records) must use YetiForce's CSV Export action or a third-party connector to move data efficiently. If the customer does not have Webservice Premium active, we coordinate CSV export scheduling and supplement with API-based validation passes for record-level verification after import into Salesforce. The absence of Webservice Premium also means no OpenAPI documentation, no TOTP 2FA, and no portal access, which we flag if those features are in use.

  • YetiForce multi-module dependency order must be preserved during import

    YetiForce records carry internal references that must resolve correctly in Salesforce. Organizations must import before Contacts so that AccountId exists on Contact. Potentials must import after Organizations so that AccountId is available. Vendors must import before Products. Projects must complete before Project Tasks. We sequence the migration in dependency order and hold any child record batches that reference uncreated parents in a staging queue until the parent phase completes. Skipping dependency sequencing results in broken lookup relationships and orphaned records that require manual reconciliation.

Migration approach

Six steps for a successful YetiForce CRM to Salesforce Sales Cloud data migration

  1. Discovery and source audit

    We audit the YetiForce installation across version, active modules, custom field count, Webservice Premium status, and attachment volume. We query the field metadata endpoint to build the dynamic field schema map (YetiForce field name to cf_XXX ID mapping) for this specific instance. We extract record counts per object (Organizations, Contacts, Leads, Potentials, Projects, Project Tasks, Tickets, Products, Services, Vendors) and engagement volume (calls, emails, meetings, tasks). We identify any saved Reports from pre-v4.4 versions and flag them for manual export. We also confirm the GitHub archival context and whether the customer's installation has community fork modifications.

  2. Destination schema design

    We design the Salesforce destination schema in a Sandbox org. This includes provisioning custom objects (Project__c, Project_Task__c), custom fields with type-mapped Salesforce field types, Record Types on Opportunity for each YetiForce pipeline, Sales Processes with stage whitelists, and the yetiforce_id__c custom field on every migrated standard object for cross-system reconciliation. We configure the field-level security profile for the migration user and coordinate with the customer's Salesforce admin to grant Bulk API and REST API permissions. We deploy the schema via Salesforce metadata API or change set to the Sandbox for validation before production migration.

  3. Sandbox migration and reconciliation

    We run a full migration into the Salesforce Sandbox using production-like data volume. The customer's admin reviews record counts per object, spot-checks 25-50 records per object against the YetiForce source for field accuracy, and validates that cross-object relationships (Contact to Account, Opportunity to Account, Project Task to Project) resolved correctly. We also validate the stage mapping configuration table against the customer's pipeline expectations. The customer signs off on the Sandbox results before we proceed to production migration.

  4. Owner reconciliation and User provisioning

    We extract every distinct YetiForce owner email referenced on Organizations, Contacts, Potentials, Projects, and Tickets and match by email against the Salesforce destination org's User table. Owners without a matching User go to a reconciliation queue for the customer's Salesforce admin to provision. Migration cannot proceed past the data phase because OwnerId is a required reference on most standard objects. We also confirm whether inactive YetiForce users should map to inactive or active Salesforce Users based on the customer's retention policy.

  5. Production migration in dependency order

    We run production migration in record-dependency order: Vendors (to Account with Type=Vendor), Organizations (to Account), Contacts (with AccountId resolved), Leads, Potentials (with AccountId, OwnerId, and RecordTypeId resolved), Products and Services (with Pricebook entries), Project custom object, Project Tasks (with parent lookup resolved), Tickets (as Case), Attachments (as ContentVersion and ContentDocumentLink), and Activity history (Tasks, Events, EmailMessages via Bulk API 2.0). Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, validation, and configuration rebuild handoff

    We freeze YetiForce 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 deliver the Reports inventory document, Workflow and automation handoff (YetiForce workflows and field configurations do not migrate as code), and the User reconciliation report. We support a one-week hypercare window for reconciliation issues. We do not rebuild YetiForce workflows as Salesforce Flow or configure the Experience Cloud portal inside the migration scope; these are separate engagements.

Platform deep dives

Context on both ends of the pair

YetiForce CRM logo

YetiForce CRM

Source

Strengths

  • Entirely free self-hosted core product with no per-seat licensing, unlimited records, and full source code access.
  • Over 80 built-in modules covering CRM, ERP, helpdesk, project management, inventory, and financials without paid add-ons.
  • Highly customizable via config panels, per-user layouts, custom fields, and open-source code modification.
  • Multi-language support with full UI localization for Polish, English, German, Spanish, and other major languages.
  • Optional paid Webservice Premium addon adds OpenAPI documentation, RESTful access, and 2FA TOTP for teams that need programmatic access.

Weaknesses

  • No managed SaaS option — organizations must self-host on a web server with PHP, MySQL/MariaDB, and take responsibility for backups and security.
  • Critical documentation gaps in English make self-service configuration and troubleshooting difficult for international teams.
  • GitHub repository archived August 2025 — uncertain whether active development continues, creating long-term maintenance risk.
  • Reports module removed in version 4.4 and absent in 5.x — organizations must use third-party BI tools for analytics.
  • Feature gating behind Webservice Premium means portal, OpenAPI docs, and 2FA endpoints require a monthly paid subscription.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across YetiForce CRM and Salesforce Sales Cloud.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    YetiForce CRM: Not publicly documented by YetiForce; rate limits may be enforced per-IP or per-session on self-hosted instances.

  • Data volume sensitivity

    B

    YetiForce CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your YetiForce CRM to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about YetiForce CRM to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during YetiForce CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your YetiForce CRM to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most migrations land between four and eight weeks for accounts under 15,000 Contacts, 8,000 Organizations, and 3,000 Potentials with no Projects or Tickets. Migrations with Projects, Tickets, large attachment volumes (>5,000 files), or dozens of custom fields requiring instance-specific schema resolution move to ten to eighteen weeks because of the audit phase overhead, bulk file handling, and dependency-ordered import sequencing. The discovery and audit phase adds two to three weeks regardless of size.

Adjacent paths

Related migrations to explore

Ready when you are

Move from YetiForce CRM.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day