How do you switch school ERP mid-year without losing fees, marks or history?
Pick a clean go-live-as-of date, export everything from the old system, load students and opening balances per fee head, prove the migration with control totals, run both systems in parallel for a short time and archive the old one read-only.
Last reviewed: Published: 10 min read
Quick answer: you can switch ERP in the middle of the academic year if you treat it as an accounting cut-over, not a file copy. Choose a go-live-as-of date (usually a month-end or a fee-cycle boundary), freeze the old system on that date, export complete data, import students, guardians, fee structures and opening balances per student per fee head, and reconcile with control totals (counts of students, total dues, total collected to date, last receipt number, attendance days). Run a one to two week parallel period, sign off with the principal and accountant and keep the old data archived read-only. Ask your current vendor for a full export in writing before you give notice, and never switch in the week of exams or fee deadlines.
When is the best time to switch?
The cleanest time is the start of the session, in April for most schools and Mar to Jun for many coaching intakes. When that is impossible, pick a quiet month-end with no exam, no result day and no large fee due date. Avoid the weeks around board registration, unit tests and result publication. Our market notes say schools decide in Jan to Mar and go live in April, so many mid-year switches are forced by a problem such as a vendor shutting down, a price rise or a data issue. If that is you, start the export immediately and plan the cut-over date around your calendar rather than the vendor's.
What is a go-live-as-of date?
The go-live-as-of date is the date on which the new system becomes the single source of truth. Everything before it is brought in as opening balances and summaries; everything on or after it is entered in the new system only. This avoids re-entering a year of receipts. You carry in: students and guardians, fee structures, each student's outstanding dues per fee head as at that date, total paid-to-date by head, the last receipt numbers per series, marks of completed exams, attendance summaries and open items such as pending cheques.
| Data | How it moves | Why |
|---|---|---|
| Students, guardians, contact details, admission numbers | Full import | Foundation of everything else |
| Classes, sections, batches, subjects, staff | Full import | Needed for attendance and exams |
| Fee structures and concessions | Re-create or import | Drives future dues |
| Past receipts | Opening balance plus a summary per student; keep full history in an export or the old system archive | Avoids re-keying a year of receipts but keeps proof |
| Outstanding dues at go-live | Opening balance per student per fee head | Main control total |
| Advance payments and credits | Opening credit per student | So parents are not charged twice |
| Marks and results of completed exams | Full import for the year, or summary per exam | Report cards and transfer certificates need them |
| Attendance | Daily records if available, otherwise totals per student up to the date | Needed for 75% eligibility |
| Receipt number series | Continue from the last number, or start a new series with a clear prefix | Keeps numbering auditable |
| Documents and photos | File import | Admission documents, certificates |
What are control totals and how do you use them?
Control totals are numbers you can check in both systems. If they match, the migration is almost certainly correct; if not, you have found the problem before parents do. Record them from the old system on the go-live date and compare them after import. A tolerance of zero is the target for money.
| Total | Old system | New system | Match? |
|---|---|---|---|
| Number of active students | ____ | ____ | Yes or no |
| Number of students per class | ____ | ____ | Yes or no |
| Total fee demanded for the year | ₹____ | ₹____ | Yes or no |
| Total collected to date | ₹____ | ₹____ | Yes or no |
| Total outstanding at go-live | ₹____ | ₹____ | Yes or no |
| Total advance or credit balances | ₹____ | ₹____ | Yes or no |
| Outstanding by fee head | ₹____ per head | ₹____ per head | Yes or no |
| Last receipt number per series | ____ | ____ | Yes or no |
| Cash and bank balance of the fee counter | ₹____ | ₹____ | Yes or no |
| Total marks entries per exam | ____ | ____ | Yes or no |
How do you migrate step by step?
Switching school ERP mid-year step by step
Step 1: get the export first
Ask your current vendor in writing for a full export of students, fees, receipts, marks and attendance in open formats, and check that it opens.
Step 2: choose the go-live-as-of date
Pick a month-end away from exams and fee deadlines, and tell staff and parents the date.
Step 3: clean the data
Fix duplicate students, missing guardian phone numbers, wrong dates of birth and inconsistent class names before import.
Step 4: do a trial import
Import into a test setup, check ten students of different kinds (sibling, concession, RTE, part-payer, transferred) and fix mapping errors.
Step 5: freeze and take the final export
On the go-live date, stop entries in the old system, take the final export and record the control totals.
Step 6: import and reconcile
Load the final data, post opening balances and compare every control total. Do not proceed until money matches.
Step 7: run in parallel
For one to two weeks, collect fees in the new system and note receipts in the old one only if you need a fallback.
Step 8: sign off and archive
Get the principal and accountant to sign the reconciliation, archive the old data read-only and keep the export for audits.
How do you protect parents and staff during the switch?
- Tell parents the date, the new receipt format and the new payment links, and keep old links working for a short time if the old vendor allows.
- Print one sample receipt and keep it at the counter so staff know what the new one looks like.
- Train the office, the class teachers and the accountant in short sessions before the date, not after.
- Keep a manual receipt book for the first day in case of a power or network problem, and key the receipts in later with a "manual" note.
- Give parents a number to call for balance queries during the first week.
What about data protection and ownership?
A migration is a transfer of personal data of children, so the new vendor should sign a data processing agreement before you send anything, and the old vendor should delete or return its copy at the end of the contract. Do not email export files through personal WhatsApp or email; use an encrypted transfer and keep an access record. Under the DPDP Rules, the institute is the Data Fiduciary and remains responsible. See the DPDP guide and our data export page to see what leaving us would look like.
What mistakes cost the most?
- Switching before getting the old vendor's export, then discovering it is incomplete.
- Importing dues as a single lump instead of per fee head, which breaks concessions, refunds and GST.
- Restarting receipt numbers without a prefix, so two receipts share a number.
- Skipping the control totals because "it looks right".
- Cutting over in the middle of a fee due week.
How does Acavya help?
The onboarding module is built around an import wizard with a go-live-as-of date, opening-balance import per fee head and control-total reports, and a full-data export at any time so you are never locked in. Ask us during a demo to import a real sample of your data before you decide.
Do I have to re-enter all past receipts in the new ERP?
No. Bring in opening balances per student per fee head and keep the old receipts in an archive or export. That keeps the books right without re-keying a year of data.
How long does a mid-year migration take?
A clean school can load in a few days, but allow one to two weeks including cleaning, a trial import, reconciliation and a parallel run.
What if the old vendor will not give my data?
Ask in writing, referring to your contract. You may need printed reports as a last resort. This is why choosing a vendor that commits to a full export in writing matters.
Can attendance history be imported?
Daily records can be imported if the old system exports them; otherwise import totals per student up to the go-live date so the 75% calculation stays correct.
Book a demo and ask us to import a sample of your own data.
30-day free trial for up to 30 students, no card needed. You set up your own institute, with an optional sample setup to explore. The Free plan is for tutors.