Migration & Modernisation

The Data Migration Checklist for Money Transfer Operators: Customers, Recipients, KYC, Balances and History

What to move, how to check it arrived, who signs it off, and what to do with records that will not map

When an operator changes platform, customers notice the app, but the regulator, the auditor and the finance team notice the data. A missing KYC decision, a recipient that no longer passes validation or an opening balance that is out by a small amount can each cause more trouble than a week of downtime. The way to avoid that is unglamorous: list every data domain, decide how each will be checked, name an owner, and refuse to call anything "migrated" until the evidence says so.

This checklist is for the COO, CTO, head of compliance and finance lead of an established money transfer operator. It goes domain by domain, then covers mapping states, proving completeness, handling data that will not map, and record keeping. For how the move itself is staged, see the companion piece, migrating off a legacy remittance platform without losing customers.

01 · THE CHECKLIST

Start with one table that names every domain and its owner

Before any extraction, agree a single table. It forces the questions that otherwise surface on launch day: who decides whether a record is correct, and how they will know.

Data migration checklist: what moves, why, how it is checked and who owns it
DataWhy it mattersValidation checkOwner
Customers and profilesSign-in, limits, contact, historyCount by status; duplicates; mandatory fields presentOperations
KYC documents and decisionsEvidence of due diligence; avoids re-asking customersDocument count per customer; decision, date and reviewer carriedCompliance
Recipients and payout details"Send again" works; payouts do not failEvery record passes the new payout channel's validationOperations
Transaction history and statesCustomer receipts, complaints, regulator queriesCount and total per status, currency and monthFinance and operations
Wallet balances (where your licence allows)Customer moneyPer-customer balance and total agree to the centFinance
Open transfers in flightMoney received but not yet paid outEach one listed with an agreed planOperations
Ledger opening balancesEvery later figure starts hereTrial balance agrees with the old system and the bankFinance
Sanctions screening decisionsCleared names should not be re-raised without causeDecision, reason and officer carried per personCompliance
AML rules and watched listsSame limits and holds on day oneRule-by-rule comparison; test cases produce the same outcomeCompliance
Rates and feesCustomers see the price they expectQuote comparison per corridor, method and amount bandTreasury and finance
Staff users and rolesSegregation of duties from the first dayAccess review signed by each department headCompliance and technology
02 · PEOPLE

Move customers and their KYC as one unit

A customer record without its KYC is a customer you will have to ask again for documents, which is the fastest way to lose an established customer. Treat the profile, the documents and the decisions as one unit.

  • Profiles: names, date of birth, address, contact details, status (active, suspended, closed) and customer group. Find duplicates before migration, not after; a legacy platform often holds the same person twice.
  • Names: check how the old platform stored them. One free-text field split into first, middle and last names is a frequent source of later screening and payout mismatches.
  • Documents: files, types, issue and expiry dates, and which documents satisfied which threshold.
  • Decisions: approved, rejected and why, who decided and when, and any reviewer overrides with their reasons. A document without its decision is evidence without a conclusion.

Also carry each customer's running totals where your limits are counted over a period, such as 90 days or a year. If those totals reset to zero on migration day, a customer near a threshold can send more than your policy allows without being asked for documents.

Watch for: rolling-period totals. Migrating the history is not enough if the new platform's limits do not count it. Test a customer near a threshold and confirm the right documents are requested.

03 · RECIPIENTS

Validate every recipient against the payout channel it will use

Recipients are where migrations quietly fail. The old platform may have accepted details the new platform's payout channels, or the partner behind them, will refuse: a bank code in the wrong format, a mobile number without its country code, a cash pickup recipient with one name field where the partner wants two.

Run every migrated recipient through the new platform's validation for the payout method it is attached to, before customers see it. Sort the failures into three groups: fixable by rule (adding a country code), fixable by the operations team from other records, and needing the customer. The last group should be small and contacted in advance, not discovered at the moment the customer tries to send.

04 · HISTORY

Map transaction states deliberately, not by name

Two platforms rarely describe a transfer's life in the same way. The old one may use a single status for a whole transfer; the new one may track the customer's payment, the payout to the partner and the overall transaction separately. A label that looks the same ("pending") can mean different things on each.

Mapping legacy statuses: common traps
Legacy statusThe trapHow to map it
PendingCovers both "awaiting customer payment" and "paid in, under review"Split using payment received date and review flags
CompletedMay mean sent to the partner, not confirmed paidUse the partner confirmation, not the status alone
CancelledHides whether money was refundedMap cancellation and refund separately
FailedMixes payment failures with payout failuresAssign to the payment or the payout record
Custom statusesAdded over years, undocumentedAsk the people who used them; map or archive with a note

Historic transfers are closed, so a mapping error there mostly affects reports and receipts. It still matters: regulatory reports and complaint responses will be built from this history.

05 · MONEY

Agree balances, open transfers and opening entries to the cent

Wallet balances

Where your licence allows wallets, each customer's balance is customer money. Agree every balance, and the total, to the cent, against the old platform and the safeguarding account. Freeze wallet activity for the shortest possible window around the moment balances move.

Transfers in flight

The cleanest rule is that a transfer finishes on the platform where it started. List every open transfer at the migration point, with an agreed outcome for each: completed on the old platform, refunded, or, only by explicit decision, recreated on the new one with a link to the original.

Ledger opening balances

The new ledger starts from opening balances: customer funds held, partner prefunding, fee income to date, suspense items. Post them as dated, explained journal entries mapped to the new chart of accounts, agree the trial balance with the old system and the bank, and have finance sign it. Every later reconciliation depends on this one.

06 · CONTROLS

Carry compliance decisions and settings, then test them

  • Sanctions decisions: who matched what, what the officer decided and why. Without them, cleared customers are raised again and compliance re-does work it has already done.
  • AML rules: limits per corridor and period, document tiers, exceptions. Compare rule by rule, then run test customers through both and confirm the same outcome.
  • Watched lists: internal watched names, email addresses, domains and high-risk countries.
  • Open cases: investigations and suspicious activity work in progress, with their notes.

Any deliberate change to a rule during migration should be a recorded compliance decision, not a side effect of mapping.

07 · CONFIGURATION

Rebuild rates, fees and staff access, and compare quotes

For pricing, the test is simple: the same customer, corridor, payment method and amount should produce the same quote on both platforms, unless you have decided otherwise. Build a quote grid across amount bands and customer groups and compare it line by line. Keep the old rate history; complaints and audits ask what rate applied on a past date.

For staff, do not copy old roles blindly. Legacy platforms accumulate access nobody remembers granting. Rebuild roles from what each job needs, have each department head confirm their team's access, and remove leavers before migration rather than after.

08 · PROOF

Prove completeness with counts, totals and samples

Each method catches a different failure, so use all three:

  1. Counts per record type and status catch missing records.
  2. Totals per currency and month catch wrong amounts and duplicates that counts miss.
  3. Samples checked by hand catch records that are present and add up but are wrong, such as a name split in the wrong place. Choose some at random and some deliberately awkward: closed accounts, rejected KYC, refunded transfers, long names.

Keep the reconciliation pack: queries used, results, differences, explanations and sign-off. It is the evidence that the migration was complete.

Takeaway: "migrated" is a claim; matching counts, matching totals and a signed sample are proof. Ask for proof for every row in the checklist.

09 · EXCEPTIONS

Decide what to do with data that will not map

Some records will not fit: free-text notes, fields the new platform has no place for, records from a corridor you closed years ago. Options, in order of preference:

  • Map with transformation, documented, where meaning is preserved.
  • Attach as a note or document to the customer or transaction, so it stays visible.
  • Archive in a secure, searchable, read-only store with a reference from the new platform.

Never silently drop a record. Every exclusion goes on a list with a reason and an approver.

10 · RECORDS

Keep records for as long as the rules require

Anti-money-laundering rules in most jurisdictions require customer due diligence and transaction records to be kept for a set period, commonly at least five years after a relationship ends or a transaction completes. Changing platform does not reset that clock. Whatever does not move to the new platform must remain retrievable for the full period, in a form you can hand to a regulator promptly. Check the retention rules for each licence and data protection obligations on how long, and no longer, data may be kept.

11 · SCENARIO

Scenario: one operator's reconciliation pack

The numbers below are illustrative, chosen to show the reasoning rather than describe any real operator.

An operator with around 40,000 customers on three corridors migrates. Counts agree for customers, but a sample of 100 finds 6 duplicates the old platform had merged by display only; 312 duplicate pairs are found in total and resolved before launch. Recipient validation fails 1,140 of 61,000 records: 900 are fixed by adding country codes, 170 from other records, and 70 customers are contacted ahead of time. Transaction totals for one month differ; the cause is 18 "completed" transfers that the partner had returned, mapped to the wrong state and corrected. Opening balances agree after one suspense item is explained. Two retired AML exceptions are dropped by recorded compliance decision. The pack is signed and filed.

12 · REMITSO

Doing it with RemitSo

RemitSo is a white label remittance platform with optional source code ownership. When an operator moves to it, RemitSo migrates the data; the operator then runs a trial, and its own parallel run if it wants one, before a focused launch and the move of everyone else. Several parts of the platform make the checks above easier.

  • Payout channels define the recipient details they require, with validation, including one, two or three name fields per channel, so recipients that would fail are found before a customer sends.
  • Payments, payouts and transactions carry their own states and transitions, so legacy statuses can be mapped precisely.
  • Double-entry ledger with a chart of accounts: entries are never edited, corrections are reversals, and any balance opens to the entries behind it, so opening balances can be traced.
  • KYC documents reviewed, approved or rejected with labels, and sanctions rulings kept per person, so a cleared name is not raised again.
  • AML rules import and export, with history of changes and who last changed each rule, so settings can be compared and evidenced.
  • Watched names, emails, domains and high-risk countries import and export, each with its own access rights.
  • Rates upload by CSV, Excel or JSON with full history, and a fee rule is required before a corridor can go live.
  • Roles built from 89 permissions, each described in plain language, so access is rebuilt from what jobs need.

Your team still owns the evidence: agreeing counts and totals, checking samples, signing off opening balances, deciding what will not map and keeping archived records retrievable. See RemitSo for enterprise and the admin features.

FAQ

Frequently asked questions

Do we need to migrate all transaction history?

Migrate as much as you can map with confidence, so customers see their history and reports run from one place. Anything that does not move must stay retrievable for your full retention period.

Should customers re-do KYC after migration?

Not if documents and decisions migrate with their dates and reviewers. Asking established customers to repeat checks is avoidable friction. Re-verification should follow your normal policy, such as expired documents.

How big should the hand-checked sample be?

Large enough that the people signing off are confident, and deliberately weighted to awkward records. Many operators combine a random sample with targeted checks on every unusual status or customer type.

What about transfers in flight on migration day?

Let them finish where they started: completed, failed or refunded on the old platform. Recreate one on the new platform only by explicit decision, linked to the original.

Can we change AML rules during migration?

You can, but record it as a deliberate compliance decision. Otherwise you cannot tell an intended change from a mapping error.

Built by people who have helped MSBs for years.

The risk checks on every online transfer come from what they see every day.

  • The person paying isn't the customer
  • One bank account, several customers
  • A disposable email address
  • Sign-in from a high-risk location
  • The same person signing up twice
  • A name close to a sanctions list
Book a demo

See RemitSo running with your corridors.

  • 30 minutes with our team, on video
  • The real admin panel and customer apps
  • White label or source code, explained with pricing
  • Your compliance and launch questions answered
Loading the form…

Video