ERP buying guides

Migrating from Excel to an ERP without losing a single kisti record

Field mapping, opening balances, the parallel-run month and the reconciliation report that proves the migration was clean.

· PropERP· 3 min read

পড়ুন বাংলায়

Data being moved between systems on a workstation

Migration is not a technical project. Loading data into a new system is the easy part; the work is deciding what is true when three spreadsheets disagree. Developers who accept that early finish in a month. Developers who treat it as an IT task discover the disagreements at go-live, when they become urgent.

What actually gets migrated

Data setSourceDifficulty
Projects, buildings, floors, unitsInventory sheetLow, once duplicates are removed
Unit attributes and pricesPrice listMedium — computed prices must be reconstructed as rules
Buyers and contactsBooking file, CRM, phone contactsMedium — deduplication is the work
Bookings and agreementsBooking registerMedium
Payment schedulesKisti sheetsHigh — often per-buyer variants that must become templates
Receipts and outstanding balancesAccounts and collection sheetsHigh — this is where the reconciliation happens
Land and JV recordsLegal filesMedium, low volume, high value
Contractor and supplier dataAccountsLow

Step one: freeze and clean

Before any mapping, agree three things: the cut-off date, the single authoritative source for each data set, and one person who decides when sources disagree. Then clean at source — in the spreadsheets, where your team already knows the data. Cleaning after loading means doing it twice.

The most common findings at this stage: units that exist in the price list but not the inventory sheet, buyers with two records and different balances, and bookings whose payment schedule was edited but whose agreement was not.

Step two: map the fields

Mapping is mechanical except in one place — payment plans. In a spreadsheet, every buyer's schedule can be different, because editing a row costs nothing. In a system, schedules come from plans. The migration therefore has to answer: how many genuinely distinct plans exist? Usually the answer is four or five, plus thirty buyers whose schedules were edited by hand. Those thirty become restructures with a documented reason, which is what they always should have been. See building a schedule that does not live in Excel.

Step three: opening balances that reconcile

For each buyer, the migration must produce: total charged to date, total received to date, and the outstanding balance — and the sum of those has to match your accounts. This is the moment the migration either succeeds or quietly fails.

Produce a reconciliation report that shows, per project: number of units, number of bookings, total contract value, total received, total outstanding, in both the old and the new system, with the differences listed line by line. Every difference must be explained before go-live. "It is close enough" is how a developer spends the next two years distrusting their own system.

Step four: the parallel run

Run both for one full month, including a month-end close. At the end, compare three reports: collection for the month, outstanding by ageing bucket, and the buyer ledger for ten randomly chosen buyers. If they agree, migration is proven. If they do not, you have found the problem while the old process is still running — which is the entire point.

Parallel running is double work for one month. Skipping it moves that work to go-live, when it is triple.

Step five: cut over and lock

After cutover, the old spreadsheets must become read-only. This is a discipline problem rather than a technical one, and it is the most common cause of a failed implementation: a collection officer keeps a personal sheet "just in case", and within two months there are two versions of the truth again. The old files should be archived, not deleted, and access should be read-only from cutover day.

What to do next

Before choosing a vendor, do one thing: produce the reconciliation numbers for one project — units, bookings, contract value, received, outstanding — from your current spreadsheets. However long that takes is your migration timeline, and whatever does not reconcile is the real work. Then walk the migration through on your own data.

Frequently asked

Should we migrate full history or just opening balances?
Opening balances plus the current year's transactions is the practical answer for most developers. Full history is only worth the effort where a dispute or an audit is likely to reach back further.
How long does migration take?
Two to four weeks of elapsed time for a developer with two or three projects, of which most is your team deciding which of the conflicting records is correct rather than the technical loading.
Who should own the migration?
One person on your side with the authority to decide what is correct. Migration stalls when every discrepancy has to be escalated to a meeting.
Do we really need a parallel run?
Yes, for one full month including a month-end close. It is the only way to prove the new system produces the same collection and outstanding numbers as the old process before you rely on it.

/demo

Read next

All articles

Next step

See this working on your own project

Forty minutes, configured on one of your real projects. If the problem in this article is yours, that call is the fastest way to know whether it is solved here.

40 minutes · walked through on your project structure · no card required