For ERP Implementation Consultants ·
What you'll accomplish
A bad legacy extract usually surfaces during dress rehearsal, days before cutover, when there is no time left to fix it. This setup catches duplicate customer IDs, missing required fields, and out-of-range values the moment a migration batch is ready, so quality problems show up weeks earlier than a load-and-fail cycle would.
What you'll need
Before opening ChatGPT, turn the target system's field requirements into a short rule list. For example: customer ID required and unique, credit limit numeric and non-negative, payment terms code must be one of four approved values. Pull these from the target ERP's data dictionary or from the technical lead who owns the load scripts.
Copy the column headers and data types from the real legacy extract into a new file, then replace every value with a made-up one that matches the same format and length. Keep the row count small (50-100 rows is plenty) and include a few rows that deliberately break each rule, so you can confirm the checks actually catch them.
Work from this kind of structurally identical sample with fabricated values only. Migration extracts carry customer, vendor, and employee master data, sometimes bank details, open balances, and payroll figures, and a persistent ChatGPT session keeps whatever you upload to it. Only use a real extract if the client's AI policy and your engagement terms explicitly permit it inside an approved enterprise workspace, never inside a personal ChatGPT account.
What you should see: A file picker opens, letting you choose a file from your computer.
Example prompt to copy-paste:
Using the file I just uploaded, check every row against these rules: customer ID is required and must be unique, credit limit must be numeric and non-negative, payment terms code must be one of these four values: NET15, NET30, NET45, COD. List every row that fails, which rule it breaks, and why.
What you should see: ChatGPT's Advanced Data Analysis feature reads the file, runs the checks in the background, and returns a list of failing rows grouped by which rule they broke.
Troubleshooting: If ChatGPT only skims the file instead of checking every row, add "check every single row, not a sample" to your prompt. Large files sometimes get summarized instead of fully scanned.
Copy your validation rules prompt into a notes file so you are not retyping it for every batch. A paid ChatGPT plan lets you save reusable instructions under your account's custom instructions settings, which is worth setting up once you are checking more than one or two batches a week.
Repeat Step 4 for every new migration batch as the technical team produces it, using the same sample-structure approach for anything that has not yet been cleared for a real-data workspace.
What you should see: A shrinking list of failed rows over successive batches, as the same issues stop recurring.
Check this batch for duplicate customer IDs and list every duplicate pair.Flag every row where credit limit is negative, blank, or non-numeric.Compare this batch's terms codes against this approved list and flag anything that doesn't match: [list].Summarize how many rows failed each rule, ranked from most to least common.This is batch 3 of the vendor master migration. Run the same checks we used on the customer master, adjusted for these vendor-specific fields: [list].