Book a Pre-Wash

Service / Data migration

DataWash by NB[24]

Don't move the mess.

Your new ERP is only as good as the data you carry into it. DataWash cleans that data before it lands.

Book a Pre-Wash
Three consultants in dark suits stand in the coral-lit doorway of a cluttered night office, holding a pressure washer, a giant foam brush and a clipboard.
The DataWash filmIn production. This frame will play it.

Step 1

Pre-Wash

Profile the source. Baseline quality scorecard, transformation rules, a prioritized cleaning backlog.

Found
Five monsters. On the payroll for fifteen years.
Charge
Making three customers out of one, storing phone numbers in a notes field, turning Müller into Müller.
Status
Still at largeIdentified, scored, scheduled

Step 2

Soak

Standardize formats. Dates, phones, email, addresses, encoding.

Suspect
The Date Mangler a.k.a. 31/02/1900
Charge
Your biggest contract started on 31 February 1900. Congratulations.
Status
Still at large in every date fieldSoaked. One format, and a rule that keeps it that way.

Step 3

Wash

Apply the rules, correct the errors, add new setup data and cross-reference tables.

Suspect
The Encoding Gremlin a.k.a. Müller
Charge
Müller has been Müller in every export you have run since 2011.
Status
Still at large in every exportWashed. Fixed once, at the source copy.

Step 4 option

Scrub

Deduplicate. Fuzzy matching finds the customer that exists three times under three spellings.

Suspect
The Dupes a.k.a. ACME BV / ACME bvba / A.C.M.E.
Status
Three of them. One customer.One record. You picked it.
Which record survives?

You decide which record survives. We do not guess for you. The other two fold into ACME BV, every old ID stays traceable.

Step 5

Rinse

Validate against the target. Test loads into the real system, failures go to quarantine.

Suspect
The Ghost Supplier a.k.a. #4471
Charge
An open order from 2019. The supplier stopped trading in 2021. Still on your books.
Status
Still in your aging reportQuarantined, by name, with the reason. A person decides. Nothing is deleted quietly.

Step 6 option

Wax

Enrich with external data and derived fields. Clean first, then enrich.

Suspect
The Notes Field a.k.a. "see notes"
Charge
A phone number, a discount and somebody's lunch order, in one text box.
Status
Still at large in one free text boxPhone in the phone field. Discount in the discount field. Nothing thrown away.

Step 7

Dry

Reconcile source against target, check referential integrity, hand over the audit report finance can sign.

Migration audit report

Fictional sample set
Source Legacy ERP, copy of 2026-09-01 Target Business Central, UAT Run Delta 14, pre-cutover Checks 21 rules, 4 tables

Customers

Encoding normalized to UTF-8312 rowspass
Duplicates by name, VAT and address9 mergedpass
Mandatory fields: VAT number, country2 rowsquarantine
Phone numbers in one format41 fixedpass
E-mail syntax3 fixedpass

Vendors

Active vendor has transactions since 2019#4471quarantine
IBAN checksum148 rowspass
Payment terms mapped to target codes148 rowspass

Contracts

Dates valid and in ISO 86016 fixed, 2 rowsquarantine
Start date before end date206 rowspass
Reference to an existing customer206 rowspass

Notes fields

Free text split into phone, discount, delivery57 enrichedpass
Residual text kept in remarks57 rowspass
Records in
1,204
Merged into their master
9
In quarantine, by name, with reason
5
Loaded
1,190
Lost
0
Reconciled against the source.
Ready for finance to sign.
Reconciled

Sample data. Your report lists your tables, your rules and your quarantine, run by run, until cutover.

What comes out of the wash.

  • A data quality scorecard, before anyone writes a migration script
  • A prioritized cleaning backlog your business owns
  • A quarantine table that names every failed record and why
  • The Cleaning Companion for manual fixes and deduplication
  • A migration dashboard with runs, trends and logs
  • Masked data in test and UAT
  • A reconciliation and audit report finance can sign
  • A clean, structured copy of your data on Microsoft Fabric that stays yours

Day one, not week minus one.

Cleaning starts on a copy of your source data at kickoff. The new system doesn't need to exist yet.

You approve. We don't guess.

Every rule is visible. Your data owners fix and sign off in the Cleaning Companion, a Power App made for business users. No black box.

Current at cutover.

Full load, periodic delta syncs, one last run before cutover. Opening balances match reality.

How DataWash flows: source systems into bronze, silver and gold on Microsoft Fabric, then into the target ERP, with failed rows looping through quarantine and the Cleaning Companion MICROSOFT FABRIC DELTA RUNS full load, periodic sync, pre-cutover run SOURCE SYSTEMS Old NAV, SAP, AS400, that .NET app, Excel. Copied at kickoff. BRONZE Raw copy. Profiled and scored. 1 PRE-WASH SILVER Standardized, cleaned, deduplicated, checked. 2 SOAK 3 WASH 4 SCRUB (OPT) 5 RINSE GOLD Enriched, reconciled, audit report. 6 WAX (OPT) 7 DRY NEW ERP Test loads, then UAT, then production. fails a rule QUARANTINE Every failed row, by name, with reason. CLEANING COMPANION Your data owners fix, dedupe and sign off. fixed, back in the next run DASHBOARD Runs, trends, logs. No black box. Masked data in test and UAT. Reconciled against the source before finance signs.
Failed rows never disappear. They wait in quarantine until a person fixes them in the Cleaning Companion, and the next run picks them up.

Who it's for

Companies replacing an ERP or another core system.

Where the data has been running for years and nobody is quite sure what is still correct. Old NAV, SAP, AS400, the .NET application someone built years ago, the spreadsheet that became a system. Business Central and Dataverse are the targets we know best.

DataWash runs alongside your implementation partner. They build the new system. NB[24] makes sure the data that lands in it is right.

We already have an implementation partner.
Good. Keep them. DataWash runs next to them, and most partners are relieved somebody else owns the data.
Our data is fine.
It might be. The Pre-Wash scorecard will tell you, with numbers instead of a feeling.
Do we need Microsoft Fabric?
No. The installation sets it up.
Which ERP?
Any target with an API or an import layer. Business Central and Dataverse are the ones we know best.
How long does it take?
It depends on volume and on how dirty the data is. That is what the Pre-Wash is for.

Wash before you move.

Nobody gets fired. They get washed. You kept ACME BV. Good call.