Published May 19, 2026 · By EKE Services

Salesforce Org Consolidation: 380K Records, 47K Files in 3 Weekends

About this case study: This case study is an anonymized composite based on patterns we see in two-org Salesforce consolidations. Specific numbers and details have been generalized to protect customer confidentiality.

Two Salesforce orgs, one company. After an acquisition closed, the combined business needed a single source of truth for sales, support, and reporting — without losing data, breaking parent-child relationships, or stalling business operations. Here's how the consolidation came together over three production weekends, what made it harder than it looked on paper, and the numbers at the end.

The setup

A multi-business-unit company with two Salesforce orgs — one inherited from a recent acquisition, the other the acquirer's original instance. Both were Enterprise Edition. Leadership wanted a single org going forward, with full historical data preserved and the cutover finished inside three production weekends to avoid disrupting quarterly reporting.

What made it hard

On paper a two-org merger sounds like a straightforward export-import. In practice four things made it considerably more work than a generic data load:

The approach

The consolidation broke into three phases, each scoped to one production weekend so the business had a clean rollback point if anything went wrong.

Phase 1 — Schema reconciliation (pre-cutover week)

Before any records moved, we used Salesforce Data Migration to compare schemas between the two orgs, identify fields that existed in Org B but not Org A, and generate the metadata to create the missing fields in the target. This included custom fields, picklist values, and field-level security settings. Done as a pre-cutover step so the schema work could be reviewed, tested in a sandbox, and approved before any production change.

Phase 2 — Record migration in dependency order (weekends 1 and 2)

Approximately 380K records moved across the first two weekends in strict dependency order: Account → Contact → Opportunity → Custom Objects (top-level) → Custom Objects (child records, four levels deep). Every record was inserted with the source-org Id stored on an External Id field in the target, so later phases could resolve relationships by reference. Reconciliation queries ran after each object completed.

Phase 3 — File migration (weekend 3)

Files moved last, once all parent records existed in the target. Around 47K files — a mix of modern ContentDocuments and legacy Attachments — were migrated using Salesforce File Migration. Because parent Ids in the target were now known (from the External Id map built in Phase 2), the file tool could relink every file to its correct new parent automatically, preserving sharing visibility and link types.

The numbers

Final reconciliation, end-to-end:

The 12 file failures were all oversized binaries that exceeded transfer limits and needed a different upload path. They were re-loaded manually the same week.

What we'd do differently

A few things would have made the weekends calmer if we'd done them sooner:

Want results like this?

If you're consolidating Salesforce orgs — from an acquisition, a re-platform, or a multi-instance cleanup — we can scope the work and run it the same way.

Talk to Us

Not sure whether you need file migration, data migration, or both? Read the file migration vs. data migration comparison.

Get Started