The Vantage View | Salesforce

CRM Migration: Handling Legacy Currencies and Multilingual Data

Written by David Cockrum | Sep 30, 2026, 12:00:01 PM

Two questions quietly derail a lot of CRM migrations. First: what do you do with years of deals recorded in a currency your business no longer uses? Second: what happens to records written in another language, or in a different alphabet, when the team wants everything readable in one language? Neither is hard to solve, but both need a decision before the first record moves. This guide walks through the options and the trade-offs.

Quick Answer

 

When migrating a CRM with legacy currencies or multilingual data, keep each historical deal in its original currency and amount, record the exchange rate that applied, and let the new CRM report in your company currency. For text in other languages, keep the original, add a translated field only where people need it, and test that names and characters survive the load intact. Decide these rules in the mapping phase, test them on a subset, and document them. Vantage Point handles these decisions as part of its data migration services.

Key Takeaways (TL;DR)

  • Don't overwrite history: converting old deal amounts in the source data loses the original value and makes audits harder.
  • Use the CRM's currency features: both HubSpot and Salesforce support multiple currencies with exchange rates, so reporting can roll up to one currency.
  • Keep original text: translate names only when needed, and store translations in separate fields rather than replacing the source.
  • Test characters early: file encoding problems can turn accented or non-Latin characters into garbage during import.
  • Write the rules down: a short data-handling standard stops each team member from making their own call.

Why Are Legacy Currencies a Migration Problem?

Businesses change currencies for many reasons. A country adopts a new currency. A company moves its headquarters, is acquired, or starts reporting in a parent company's currency. Whatever the cause, the old CRM ends up holding deals in a currency nobody uses anymore, side by side with newer deals in the current one.

If you migrate those amounts as plain numbers with no currency attached, your reports will add old and new amounts together as if they were the same unit. Pipeline totals, win rates by value and customer lifetime value all become wrong, often without anyone noticing.

What Are Your Options for Historical Currency Data?

There are three common approaches. The right choice depends on how you report and what your finance team needs.

Approach How it works Best when Watch out for
Keep original currency Each deal keeps its original amount and currency code. The CRM converts to company currency for reports. You need accurate history and audit-friendly records. The legacy currency must be set up in the new CRM with a sensible exchange rate.
Convert before loading Old amounts are converted to the current currency in the source file. History is only used for rough trends. The original value is lost unless you store it in a separate field.
Hybrid Load converted amounts, plus custom fields holding the original amount, original currency and rate used. You want simple reporting and a clear record of the original. More fields to maintain, and users must know which field to trust.

For most teams, keeping the original currency is the safest default. It preserves the truth of each deal and lets the platform do the conversion consistently.

How Do HubSpot and Salesforce Handle Multiple Currencies?

Both platforms support multiple currencies on paid editions, with some important differences in how conversion works.

HubSpot: you set a company currency and add others with exchange rates. Each deal has a currency property, and HubSpot calculates an "amount in company currency" for reporting. According to HubSpot's documentation, open deals use the latest exchange rate, while closed deals with a close date use the rate that was in effect on that date. That makes accurate close dates important during migration, because they decide which rate applies. HubSpot also keeps a currency history you can review.

Salesforce: multi-currency must be enabled, and each record carries a currency code. With advanced currency management, you can maintain dated exchange rates so opportunities convert using the rate for their close date. Dated rates apply to opportunities and some related objects, not every object, so check which fields your reports rely on.

In both platforms, load your historical exchange rates before you load historical deals. Otherwise the system may apply today's rate to deals that closed years ago.

Why Does Multilingual Data Cause Trouble?

Records written in more than one language create three separate problems:

  • Readability. A team that works in one language can't easily use notes, company names or deal descriptions written in another.
  • Search and matching. The same company can appear under a local-language name and an English name, which breaks duplicate checks and search.
  • Character handling. Non-Latin alphabets and accented letters can be corrupted if files aren't saved and imported with the right encoding.

The instinct is often to translate everything into one language during the migration. That can work for a handful of fields, but it has real costs. Machine translation can get names, addresses and legal entity names wrong, and once the original is overwritten, you can't check it.

How Should You Handle Text in Other Languages?

Treat translation as an addition, not a replacement. A practical approach:

  1. Classify the fields. Separate proper nouns (person names, company legal names, addresses) from descriptive text (notes, deal descriptions, industry labels).
  2. Keep proper nouns as they are, and add a romanized or English version in a separate field if people need to search in one alphabet.
  3. Standardize picklists. Values like industry, lead source or stage should be mapped to one language through a lookup table, not translated freehand.
  4. Translate descriptive text selectively. Focus on active customers and open deals. Old notes on dormant records rarely justify the effort.
  5. Review samples by a fluent speaker. Automated translation should be spot-checked before anyone relies on it.

If you also run marketing in several languages, our guide to multi-language setup in HubSpot covers website and email considerations.

How Do You Protect Characters During Import?

Most character problems come from files, not from the CRM. A spreadsheet saved in the wrong format can silently replace letters with question marks or odd symbols. To avoid it:

  • Export and save files as UTF-8, and confirm the encoding before import.
  • Open a sample in a plain-text editor to check that non-Latin characters look right.
  • Include records with every alphabet and accent you expect in your subset test.
  • Compare a few names character by character between the source and the new CRM after the test load.

Scripted loads through an API usually handle encoding more predictably than manual spreadsheet imports, which is one more reason to use them for large or complex migrations.

What Should Your Data-Handling Standard Include?

Write a one-page standard before the load, so everyone applies the same rules. It should cover:

  • Which currency each historical deal keeps, and which exchange rates were loaded.
  • Which fields are translated, which stay in the original language, and where translations are stored.
  • How picklist values map from each language to the target values.
  • Who approves exceptions, such as a record with no currency or a name that can't be verified.
  • How new records should be entered after go-live, so the problem doesn't return.

This document also helps new team members understand why some records look different from others.

How Do You Test These Decisions?

Build your subset migration around the edge cases, not just typical records. Include deals in every currency, deals that closed around a currency change, records in each language and alphabet, and a few with missing or odd values. Then check:

  • Do deal amounts and currencies match the source exactly?
  • Do company-currency totals match what finance expects for a sample period?
  • Are names readable and searchable in the ways your team needs?
  • Do duplicate rules catch the same company written two ways?

Only move to the full load once business users have signed off on these checks. Our guide to filtering data before the full load covers the rest of the pre-load checklist.

What Should Businesses Do Next?

  • Count deals by currency and records by language before you plan the migration.
  • Decide whether historical deals keep their original currency, and load exchange rates first.
  • Classify text fields and agree which ones need translation.
  • Confirm file encoding and test every alphabet you use.
  • Write a short data-handling standard and get finance and sales to approve it.

How Vantage Point Helps

Vantage Point plans and executes CRM migrations with the data rules agreed up front, including currency history, multilingual records and character handling. Our system integration and data migration team builds the mapping, runs subset tests and reconciles every load, and our CRM and marketing automation services set up HubSpot or Salesforce so reporting works from day one. We've completed 400+ engagements for 150+ clients, with a 4.71/5.0 average engagement rating and 95% client retention. Senior consultants only — no junior handoffs; the experts you meet are the experts who deliver.

Migrating Data Across Currencies or Languages?

 

Decisions about currency history and translated records are easiest to make before the first load. Vantage Point can assess your data, recommend the right approach, and test it on a subset your team approves. Talk to Vantage Point about your CRM migration.

Frequently Asked Questions

Should old deals be converted to our current currency during migration?

Usually not. Keeping each deal's original amount and currency preserves an accurate record, and the CRM can convert to your company currency for reports. If you do convert, store the original amount, currency and rate in separate fields.

Does HubSpot support multiple currencies?

Yes, on Starter, Professional and Enterprise subscriptions, with different limits on how many currencies you can add. Each deal has a currency, and HubSpot calculates an amount in company currency for reporting using the exchange rates you set.

Which exchange rate does HubSpot use for closed deals?

According to HubSpot's documentation, closed deals with a close date use the exchange rate in effect on that date, while open deals use the latest rate. Accurate close dates therefore matter during migration.

Can Salesforce use historical exchange rates?

Yes. With multi-currency and advanced currency management enabled, Salesforce can store dated exchange rates so opportunities convert using the rate for their close date. Dated rates don't apply to every object, so check your key reports.

Should we translate all records into one language?

Translate selectively. Keep names and legal entity names in their original form, add translated or romanized versions in separate fields where needed, and focus translation effort on active customers and open deals.

Why do some characters look broken after an import?

Usually because the import file wasn't saved in UTF-8 encoding. Save and check files as UTF-8, test every alphabet in a subset load, and compare sample names between the source and the new CRM.

Who should approve currency and language rules?

Finance should approve currency handling, and sales or service leaders should approve language and picklist rules. Document both in a short data-handling standard before the full load.

Sources