Start With a Full Data Sweep
Before any migration, pull a full export of the records that will move into the new system. That usually includes item masters, customer accounts, supplier accounts, pricing, stock on hand, fixed assets and opening balances. Do not clean data in the live system without a copy. Work from an extract so you can test, compare and try again if needed.
Set a cut-off date for changes, especially if your team is still invoicing, receiving stock or updating prices. If you are in Johannesburg, Pretoria or Durban, agree who owns the final sign-off so branches do not make different edits on the same day. Keep one person responsible for each data area and one person to approve the final file.
Clean Item Masters Before You Touch Balances
Item records are often the messiest part. Duplicate codes, blank units of measure and old product names create problems during stock migration and reporting. Start by removing discontinued items, merging duplicates and checking that every active item has a clear code, description, unit, tax setting and category.
- Confirm one code per item and remove near-duplicates
- Standardise descriptions so similar products read the same way
- Check units, pack sizes and conversion rates
- Verify selling price, cost price and tax code
- Mark inactive items so they do not load into day one reports
If you sell stock across branches in Cape Town, East Rand or Gqeberha, make sure item naming is consistent across all sites. A box, case and single unit must mean the same thing in every location or your stock counts will be off from the first week.
Get Customer Records Ready for Invoicing
Customer data needs proper contact details, payment terms and VAT information so the finance team can invoice without chasing missing fields. Check for duplicate accounts created under slightly different names, for example a trading name and a company registration name. Merge them before migration so aged balances do not split across more than one ledger account.
Focus on the fields that affect billing and collections: legal name, trading name, account number, delivery address, billing address, send us a message for statements, credit limit, payment terms and tax status. Where a customer has multiple sites, keep each delivery location attached to the main account in a way your team can use every day.
- Remove duplicate customer accounts and duplicate contact people
- Standardise address formats for towns, suburbs and provinces
- Check credit terms, credit limits and payment method notes
- Confirm VAT numbers and company registration details where required
- Archive old contacts that no one uses anymore
Tidy Supplier Files So Purchases Post Correctly
Supplier records are just as important as customer records because purchase orders, goods received notes and payments all rely on clean information. Check supplier names, banking details, terms, contact people and tax fields. If a supplier has changed bank accounts, confirm the details in writing before loading anything into the new environment.
Keep supplier records simple and current. Remove old trading names where they are no longer used, and make sure the procurement team knows which account to use for each category of spend. In coastal areas like Durban and Gqeberha, some suppliers may have changed contact numbers or dispatch points after stock disruptions, so confirm delivery instructions too.
Opening Balances Must Tie Back to the Books
Opening balances are the part everyone wants to finish quickly, but this is where small errors cause major headaches. Before migration, make sure your trial balance, debtors age analysis, creditors age analysis, bank balances and stock valuations all agree to the signed-off reports from the old system. Do not import balances until the finance lead has checked every control total.
If you are migrating mid-year, agree the exact cut-over date and the last transaction date for invoices, receipts, payments and stock movements. Keep a clear file of what is included and what is excluded, such as historical journals, closed projects or old non-current assets. A clean opening balance file should be easy to trace back to source reports, not just copied into a spreadsheet and hoped for the best.
Use a Field Checklist Before Import Day
A checklist saves time because it shows what is complete, what is still missing and who must fix it. It also helps branches work from the same standard. This is especially useful for SMEs with teams in Centurion, West Rand and Pretoria where different staff may have handled the same records over time.
- Item codes are unique and active items are clearly marked
- Customer and supplier duplicates are removed or merged
- All mandatory fields are filled in and formatted consistently
- Tax details, terms and addresses have been checked
- Opening balances reconcile to signed-off finance reports
- Files are saved in the required structure and version control is clear
Do one final spot check on 10 to 20 random records from each file. If those are clean, the rest of the file is usually in better shape too. If not, fix the pattern before you import the full set.
Plan for Support After the Cut-Over
Even well-prepared data needs a few days of close support after go-live. Staff will spot missing fields, unusual naming and balances that need review once they start working in the live environment. Keep one clean owner for each record type and log every correction so there is a proper audit trail.
Build time for follow-up into the migration plan, especially if users in different offices are working with the system after loadshedding, branch closures or month-end pressure. A short support window with clear issue logging will save hours later. The best migrations are not just accurate on day one, they stay usable in the week after go-live too.







