Last updated: November 5, 2026
Clean ERP master data before mock conversion rather than after go-live, by merging duplicate customers, retiring dead items, archiving orphaned vendors, and migrating only what the new system needs. Run it as a time-boxed contract sprint. KORE1-placed data analysts bill $69 to $116 an hour, median $115, and business analysts bill $90 to $120, median $116 (KORE1 Contract Rate Index 2026-Q4).

Quick test. Open your old ERP, sort the customer list by name, and scroll. Same company, four times: one with “Inc.”, one without, one with a typo somebody made years ago, and one under a salesperson who left so long ago nobody remembers the face. Now do vendors. Now do items, where nobody ever retires an SKU. They just stop ordering it and let it rot in the item master looking exactly like the stuff you actually sell.
That is the data you are about to carry into a brand new system, and I have never once seen an ERP budget with a line for fixing it. Software license, yes. Implementation partner, yes. End-user training, usually, because somebody read a blog post. The customer list, no.
The cleanse happens anyway, of course. It happens late, at night, done by whoever is closest to the data, which at most mid-market companies is the controller with a spreadsheet that has a dozen tabs, two weeks before the first test load. This post prices that sprint.
A disclosure before the numbers: KORE1, whose site you’re on, staffs the contractors I’m about to price through its ERP data migration specialists on contract staffing terms, and my own firm gets paid when ERP projects land cleanly, so both of us benefit when you hire help. If you have a few hundred customers and an accountant with a free week, skip all of this and do it yourself. Nice problem to have.
What Has to Be Cleaned Before an ERP Go-Live?
ERP data cleansing is the work of fixing, merging, retiring, and archiving master records (customers, vendors, items, the chart of accounts, and open transactions) before they are converted into the new system. It happens to the source data ahead of mock conversion, so the migration moves what the business actually uses instead of everything it has piled up since the last implementation.
Five objects, three verdicts. Every record gets cleaned, archived, or migrated as it stands, and the real fight is never about the tool. It is about whether one particular customer, the one the sales VP swears is still active, deserves to survive. Ugly fights, honestly.
| Master-data object | Clean | Archive | Migrate | Owning seat |
|---|---|---|---|---|
| Customers | Merge duplicates, standardize names and addresses, fix payment terms and tax status | No activity since your cutoff and nothing open | Customers with recent orders or an open balance | Data analyst finds the matches, AR lead makes the merge call |
| Vendors | Match on tax ID and bank account, confirm W-9 and remit-to details | No payment since your cutoff and no open bill | Active vendors with complete, current paperwork | Data analyst, with the AP lead signing off |
| Items | Retire dead SKUs, fix units of measure, collapse near-identical descriptions | Zero movement since your cutoff and no open orders | Items you stock, sell, or buy, each with one unit of measure | ERP consultant sets up the item structure, operations lead confirms what is dead |
| Chart of accounts | Collapse accounts nobody posts to, map old accounts to new | Closed-period detail, kept as read-only reports | Opening balances in the new structure | Business analyst runs the mapping sessions, controller approves |
| Open transactions | Close or void stale POs, unapplied cash, and old credits | Closed transactions older than your cutoff | Open AR, open AP, open orders as of the cutover date | ERP consultant loads, controller reconciles |
Read the Migrate column as the destination, not the starting point. Whatever survives cleaning and archiving is what moves. Set “your cutoff” in writing before anybody opens the list, because the moment someone spots a customer they recognize, the rules become a negotiation.
What Should You Archive Instead of Migrate?
Archive is the verdict people skip because it sounds like deleting. It isn’t. The IRS says the length of time you should keep a document “depends on the action, expense, or event which the document records,” with three years as the usual floor, at least four for employment tax records, and seven if you file a claim for a loss from worthless securities or a bad debt deduction (IRS, How long should I keep records?, reviewed June 2026). Not legal advice, just the baseline. Nothing in there says the records have to live inside the new ERP. Your auditor and counsel set the real rules, so bring my list to that conversation instead of treating it as a replacement.
Finance is always surprised by how big the archive pile gets, mostly because every system quietly collects sediment. It adds up.
- Closed fiscal years of transaction detail. The summarized opening balances move over, and the invoice-level history stays in a read-only export you can still search when an auditor asks about an old year.
- Customers and vendors that haven’t done anything since your cutoff and have nothing open against them.
- Dead items. I love dead SKUs, because they’re the cheapest thing in the building to leave behind and the most annoying thing to count every quarter.
- Attachments, the sneaky one. Ten years of scanned PDFs, signed contracts, and W-9s that nobody has opened since the day the scanner ate them, and any one of them can stall a load.
Park the old system on a cheap read-only tier (or export it somewhere searchable) and let the new one start with the records the business touches on a normal Tuesday.
Who Owns the Cleanse, and Why a Contract Sprint?
Here is how the sprint stalls. Somebody pulls up two customer records and asks the room, “Are these the same Acme?” Silence. Then the controller says, “I think so?” and everybody nods like that settled something, and three weeks later a credit limit has quietly vanished. The software isn’t the hard part. It never is. The hard part is that nobody wants to be the person who merged the wrong two.
So pick one person per object: the controller for accounts, the AR lead for customers, the AP lead for vendors. Write it down and give them the authority to say yes. Contractors find the candidates, propose the merges, and do the typing. That is the deal. The call stays with someone on your payroll, because a vendor merge that goes sideways at 4:40 on a Friday needs an owner who will still be around in two weeks.
Why contractors? Because the work is a spike and your team is busy. Match rules, bulk SQL, and mapping an old chart of accounts onto a new one are skills you will not use after go-live, the work lands right on top of month-end for the exact people who would otherwise do it, and the date does not move. KORE1 contractors start a median of 3 days after an accepted offer (1,997 placements, all roles, not only ERP), and the median contract assignment runs 116 days across 1,887 placements, which is about the length of a decent cleanse. If your real problem is that nobody owns the data once the project is over, that’s a different animal, and a fractional data team is the better answer.
Three seats usually do it. The data analyst hunts duplicates, dead records, and orphaned vendors, and writes the match rules. The business analyst runs the keep, merge, or kill sessions and maintains the decision log, which is boring and is often the first thing an auditor asks to see. The ERP consultant maps cleaned records to the target structure and runs the trial loads.
| Sprint seat | Index cell | Bill rate, median (range) | 3-month cost |
|---|---|---|---|
| Data analyst | KORE1 observed, 11 placements, primarily Southern California | $115 ($69 to $116) | $59,800 |
| Business analyst | KORE1 observed, 10 placements, primarily Southern California | $116 ($90 to $120) | $60,400 |
| ERP consultant | KORE1 observed, 15 placements, multi-state | $91 ($73 to $123) | $47,200 |
| Data analyst, mid-level, national | Modeled from BLS OEWS May 2025 wages | $95 ($82 to $111) | $49,600 |
Source: KORE1 Contract Rate Index 2026-Q4, effective October 16, 2026, at 40 hours a week for 13 weeks. A bill rate covers wages, payroll taxes, insurance, and KORE1’s recruiting and account management. The methodology page explains observed versus modeled cells, and the modeled cell starts from the BLS Occupational Employment and Wages release for May 2025, published May 15, 2026.
| Sprint shape | Seats | 3-month cost |
|---|---|---|
| Lean | Data analyst plus ERP consultant | $107,000 ($59,800 + $47,200) |
| Lean, outside California | Modeled national data analyst plus ERP consultant | $96,800 ($49,600 + $47,200) |
| Full | Data analyst, business analyst, and ERP consultant | $167,400 ($59,800 + $60,400 + $47,200) |
Fine print, because I’d rather tell you than have you find it. That $115 data analyst median sits a dollar under the top of its range and rests on 11 placements, so read it as “experienced analysts in Southern California bill about this” and not as a floor. The modeled cell is a different animal, a mid-level analyst priced off BLS wages.
Ready to staff it? Send the bill rate quote page your ERP platform, record counts, mock conversion date, and the seats you think you need, and we’ll price it against these cells. The 2026 contract rate card has every number if you’d rather read first. If the cleanse is one of five workstreams on a bigger program, ERP program team staffing is worth a look before you hire seat by seat.

When Must the Cleanse End?
End it before mock conversion. Not during, not “mostly,” before. A mock is the first time the new system sees your data, and every mock reloads whatever sits in the source that day. Finish cleaning after mock one and you have burned a whole test cycle on data you already knew was wrong, and then the real defects show up in mock three, buried in the dirt, while everyone stares at the error count and blames the configuration. Don’t do that to yourself.
I’d start 60 to 120 days before the first mock and call a freeze a week or two ahead of the load. After the freeze, every fix goes into the source through a change log, one line each, so mock two doesn’t quietly bring back what you just killed. Boring is the point.
Plug the leak on day one, too. Your people keep creating duplicate customers in the old system the whole time you’re cleaning it, and nobody notices because the new record looks fine. Turn on a duplicate check for new customers and vendors before the sprint starts, or you’re mopping with the tap running.
This sprint is one line on any decent ERP implementation checklist, and this is the version where it gets its own budget. For the load itself, read ERP data migration best practices, and if you’re coming off QuickBooks, the QuickBooks to NetSuite guide covers the mapping side.
What Breaks If Dirty Data Goes Live?
Devin Hornick, a partner at KORE1, sent the team a list of budget questions, and the last one is my favorite: “What breaks if the company doesn’t spend the money or finish the project?” So flip it. What breaks if you spend the money on the ERP and skip the cleanse?
A lot, and in boring ways. Duplicate customers mean two credit limits, two statement runs, and a collector calling the same buyer from two directions. Split a vendor across two records and the system pays both invoices without blinking, because as far as it can tell they’re different companies, which I find genuinely funny right up until it’s your cash. Dead items break nothing outright. They just sit in every pick list, reorder report, and cycle count, taxing everybody forever. Nobody notices. Old unapplied cash lands as open receivables, so your first aging report after go-live looks like a crime scene, and every account nobody posts to tags along and teaches finance why the reports don’t roll up.
And it only gets harder once you’re live. Oracle’s NetSuite help says that when you merge records, their transaction histories merge too, that system notes aren’t carried over, and that you should “avoid merging entities with large numbers of transactions whenever possible,” testing in a sandbox first (Oracle NetSuite Help, Merging or Deleting Duplicate Records). Do the merging before the load and the new system never meets the duplicates. Do it after, and every duplicate arrives with months of transactions attached. Merge early.
Questions Controllers Ask Me Before Mock Conversion
Can’t we just fix the data after go-live?
You can, but it’s the expensive order of operations, because merging after go-live means merging records that already carry transactions in the new system. Your first month-end close runs on the dirty numbers meanwhile, and Oracle’s own advice is to avoid merging entities with large transaction counts and to test in a sandbox first.
Realistically, how long does a master data cleanse take?
Plan on 8 to 13 weeks for a mid-market company. That’s my rule of thumb, not a KORE1 statistic. Record counts matter less than decisions per record, so what drives it is how many source systems feed the data, how many duplicates you have, how fast your owner says yes, and whether somebody is redesigning the chart of accounts at the same time. The index prices a 13-week seat, which is a fine place to start the budget.
Who signs off on a merge?
One person on your staff, and not the contractor. Name an owner per object (controller for accounts, AR lead for customers, AP lead for vendors) and write it into the decision log before anyone touches a record.
Does the data analyst need to know our old system?
Less than they need to know the new one. A good analyst can query almost any source system and find the duplicates. The ERP consultant has to know the target, because mapping and trial loads happen against its structure, so hire for the destination.
What does a cleanse sprint cost?
$47,200 to $60,400 per seat for 13 weeks at KORE1 medians, and a lean two-seat sprint of one data analyst and one ERP consultant runs $107,000 (KORE1 Contract Rate Index 2026-Q4). Contractors bill hourly, so an eight-week sprint costs less than the 13-week figure.
Start With the Kill List
Homework. Before your next steering meeting, pull the record counts for customers, vendors, and items, plus the date of the last transaction on each, and sort by that date. Do that first. The tail of that list is your archive pile, and its size will surprise somebody in the room, which, sure, sucks, but it’s a better surprise this month than at mock conversion.
Then hit me up on LinkedIn if the merge decisions are the part that scares you. If you already know the seats and the date, request a sprint quote and we’ll start from your mock conversion date and work backward.
Data as of November 2026. The KORE1 Contract Rate Index refreshes quarterly, and this page is refreshed with it.

