Problems & solutions · Custom Software

School Administration Software Problems: The 7 That Cost a Network Real Money, and How to Avoid Them

School Administration Software software overview illustration showing common problems and fixes.
The short answer

The single most expensive failure mode is the duplicate student. When a family moves between your campuses, the sending site withdraws the child and the receiving site enrols them from scratch with a new local identifier, so one human becomes two records. That strands immunisation history, a 504 plan and three years of attendance in an instance nobody opens, and it puts an inflated unduplicated count into a state submission that funds you on average daily attendance. The cost is not the counsellor's wasted afternoon, it is a funding claim you cannot defend when the audit arrives and an intervention record that no longer follows the child who needs it.

Why does the project become a plan to replace PowerSchool?

The biggest scope failure in multi-campus school operations is deciding to replace the student information system. It follows a logical path. The network cannot get rollups, transfers lose history, forms are still printing at thirty pages, and every one of those complaints points at PowerSchool, so the obvious conclusion is that PowerSchool is the problem. Then the project becomes a rip and replace with a state reporting pipeline attached, and the budget disappears into rebuilding scheduling, grading and transcripts that were working.

The reason this happens is that the student information system is the thing everyone touches, so it absorbs the blame for a gap that sits above it. PowerSchool, Infinite Campus and Skyward are licensed and deployed per school. That is the product boundary, and none of them was designed for a parent entity sitting above the schools. The missing piece is a network layer, not a better system of record.

The fix is to write the scope as a layer on top and defend that line in every requirements session. Keep the student information system as the system of record. Build a permanent network wide student identifier with campus as an enrolment attribute, a consolidated reporting layer reading each instance through the PowerSchool application programming interface, and digital forms that write back. Rip and replace of the student information system almost never pays for itself. The network layer almost always does, and it can ship in a term rather than a year.

What goes wrong when you merge student records from separate instances?

This is where these projects actually stall, and it is a data problem rather than an engineering one. You are collapsing several instances into one identity space, and the duplicates you are trying to eliminate were created by exactly the transfers that make matching hard.

Four specific failures recur. Names differ between records because a family used a shortened first name at one campus and a legal name at another, and sibling records share addresses and birth years closely enough to confuse naive matching. Grade level naming diverged, so transitional kindergarten at one site and a locally invented code at another do not line up and cohort reporting comes out wrong. Historical attendance carries different flag meanings per campus, because each registrar learned the codes from a different predecessor, so a merged attendance history is arithmetically valid and semantically meaningless. And special education documents, immunisation records and discipline entries live in attachments with no reliable link to the student they belong to.

What works is treating merges as proposals a human confirms. The system identifies candidate duplicates, an experienced registrar reviews each one against a side by side view, and every merge is reversible with a full audit record. Normalise grade levels and attendance codes as an explicit mapping exercise before any load, documented per campus, because that mapping is the thing your state submission depends on. Then validate counts against your last accepted state submission before go live rather than after, since a discrepancy you cannot explain is a discrepancy an auditor will find.

Why do the student information system and rostering integrations break after launch?

They break for a reason that is easy to predict and easy to miss. Each campus administers its own instance, so a registrar can add a custom field, rename an attendance code or change an enrolment status configuration without telling anybody, and the nightly pull that feeds your network layer starts producing quietly wrong numbers rather than an error.

The second failure is timing. Nightly extracts run against instances that are mid transaction during enrolment season, so a network dashboard shows a fill rate that disagrees with what the campus sees on screen, and the first time that happens in front of leadership the layer loses its credibility. Rostering through Clever or ClassLink adds a third clock, so a student can exist in the network layer, not yet in rostering, and already have a timetable.

Three fixes. Validate the shape of what arrives rather than trusting it: if a campus adds a status code the mapping does not recognise, raise an exception and hold that campus's load rather than importing it as unknown. Show the extract timestamp on every dashboard so nobody argues about a number without knowing when it was true. And agree a change protocol with campus registrars in writing, because the integration is a relationship with eight people as much as it is a piece of software. Ask any developer how they detect a schema change at one campus, and treat a vague answer as a prediction of your first bad Monday.

What happens when access control and audit logging are not covered?

You build a network layer that makes every student's record reachable from one place, which is precisely the outcome the Family Educational Rights and Privacy Act exists to constrain. Consolidation without scoping is the one genuinely new risk this project creates, because before it, a north campus clerk simply could not open an east campus student. Afterwards they can, unless somebody engineered it so they cannot.

The failure is rarely deliberate. It is a role model built for the network office, then extended to campus staff with a permission set that was easier to grant broadly than to scope properly, and no logging to reveal what happened. Then a custody dispute or a records request arrives, and the question is who viewed which record and when, and there is no answer.

Build role based permissions scoped to a campus from the first sprint, not as a hardening pass later, and log every record view with user, timestamp and what was seen. Treat special education documents, health records and anything about a family's circumstances as a separate sensitivity tier with its own access rules. Get your data privacy agreement signed before development starts rather than at go live, and be specific about data residency and subprocessors. A network layer that counsel will not approve is worth nothing, and discovering that at the end is the most avoidable failure in this category.

Should you build custom or configure what you already own?

Configure if you are a single campus, or a small group in one state running a standard model with no unusual enrolment mechanics. PowerSchool as the student information system, Clever for rostering and ParentSquare for communication is a well trodden stack, and building your own version of it is money that would do more good in classrooms. The same applies if your complaint is really about one workflow, because a single painful form does not justify a platform.

Keep PowerSchool even when you do build. This is the position worth holding against pressure, because at some point somebody will propose that the network layer should just become the system of record and take over scheduling and grading. It should not. The student information system does regulated, unglamorous work that carries no competitive value for you, and the connective layer above it is where the return on a build actually comes from.

Build the layer when three or more campuses sit under one organisation, when a network analyst rebuilds the same workbook every week, when you operate in more than one state, when staff are paid to re-key between instances, or when transfers lose student history. Those signals are specific and they are all measurable this week. If none of them is true, the honest answer is that a build will not pay for itself yet.

How do hidden costs get into the quote?

Five places, and each is knowable before you sign.

  • State reporting pipelines. Each state format is effectively a separate build, so a two state network is not a slightly larger project, it is two pipelines with two validation rule sets and two submission calendars.
  • Data migration and deduplication. Collapsing years of per campus history is the quiet cost driver, and the review time from your registrars is a real staffing cost nobody prices.
  • Integration count. PowerSchool, Infinite Campus, Clever, ClassLink and a single sign on provider are each their own work, and one campus on a different system doubles a workstream.
  • Compliance posture. A signed data privacy agreement, a credible security posture and defined data residency involve legal and security review time on both sides.
  • Translation. Forms and messages in the languages your families actually speak means translated content maintained over time, not a one off pass.

The one that surprises operators is decision time. These projects need a registrar, a data lead and someone who owns state reporting to make specific calls about codes and mappings. Networks that name those people at kickoff move noticeably faster than those that route every question through a leadership meeting.

What separates a build that works from one that fails here?

The builds that work start with the unified student identifier and the consolidated dashboard, and nothing else. That is the smallest thing that removes the weekly workbook and makes a transfer stop destroying history, and it lands in twelve to sixteen weeks. Forms, communication and compliance modules all get easier once one student is one record, and all of them are harder if you attempt them first. The builds that fail begin with a platform diagram covering enrolment, communication, compliance and reporting at once, and a year later leadership is still opening a spreadsheet on Monday.

The second differentiator is whether the network layer is trusted. Trust here is a technical property: exception handling that refuses bad campus data rather than importing it, visible extract timestamps, and counts validated against your last accepted state submission before launch. One dashboard that disagrees with a campus in front of the board will set the project back further than a month of delay.

When choosing a developer, ask them to whiteboard the data model in the first session, students, enrolments, sections, terms and cohorts, and to state what counts as an education record without you explaining it. Ask for evidence of prior work against the PowerSchool interface and at least one state reporting pipeline by name, whether that is the California, Texas or Pennsylvania system, because those integrations are where schedules slip. Ask how a merge is reversed. Then confirm in writing before signing that source code, the repository and deployment access transfer to your organisation, because a network layer holding student records should never be somewhere you cannot reach.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring, and about four of those hours on 'bad code' - waste that equates to nearly $85 billion annually worldwide in opportunity cost. Source: Stripe (2018) →
  2. This analysis cites IDC research that companies lose 20-30% of revenue annually to inefficiencies caused by data silos, Gartner's estimate that poor data quality costs organizations at least $12.9 million per year on average, and a Salesforce benchmark that 80% of IT leaders say data silos hinder digital transformation - illustrating the business case for integrating systems. Source: Cherry Bekaert (citing IDC, Gartner, Salesforce, DATAVERSITY) (2024) →
  3. Sensor Tower's State of Mobile 2026 reports that global users spent 5.3 trillion hours in iOS and Google Play apps in 2025 (+3.8% YoY), roughly 3.6 hours per day per mobile user. (Note: the page does not itself contrast app time vs. mobile-browser time, so the 'overwhelming majority of time in apps vs browsers' framing is not directly supported by this source.). Source: Sensor Tower (2026) →
  4. Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
Aditya V. · Senior Shopify Engineer · Delhi

Aditya builds and maintains Shopify stores at Digital Heroes: theme development, Liquid work, app integrations and the custom features merchants ask for once a template stops fitting. His posts are hands on, aimed at store owners who want to know what a request really involves.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we merge duplicate student records without corrupting attendance history?
Treat every merge as a proposal a registrar confirms rather than something the system decides. Present candidates side by side, make each merge reversible with a full audit record, and normalise grade levels and attendance codes as an explicit documented mapping before any data moves. The trap is that merged attendance can be arithmetically valid and semantically wrong, because each campus registrar learned the flag meanings from a different predecessor. Validate the merged counts against your last accepted state submission before go live, not after.
Should we replace PowerSchool or build on top of it?
Build on top of it. PowerSchool, Infinite Campus and Skyward are licensed and deployed per school, which is the product boundary that creates your problem, but the regulated work they do inside that boundary carries no competitive value for you and is expensive to reproduce. Keep the student information system as the system of record and build the network layer above it: one permanent student identifier, consolidated reporting through the application programming interface, and forms that write back. Expect somebody to propose expanding scope later, and hold the line.
A campus registrar changed an attendance code and our dashboard went wrong. How do we prevent that?
Validate the shape of what arrives instead of trusting it. If a campus introduces a status or attendance code your mapping does not recognise, the load for that campus should halt with an exception rather than importing the value as unknown and producing a plausible but wrong number. Pair that with a visible extract timestamp on every dashboard so nobody debates a figure without knowing when it was true, and agree a written change protocol with each campus registrar, because the integration is a relationship with people as much as it is code.
Does consolidating records across campuses create a privacy problem?
It creates a real one if access control is an afterthought, because before consolidation a clerk at one campus simply could not reach another campus's students. Scope permissions to a campus from the first sprint, log every record view with user and timestamp, and give special education documents, health records and family circumstance data their own sensitivity tier. Get the data privacy agreement signed before development starts and be specific about residency and subprocessors, since a layer your counsel will not approve has no value however well it works.
How much does multi-state operation change the cost?
More than operators expect, because each state format is effectively a separate build with its own validation rules and submission calendar rather than a configuration of one pipeline. A two state network should budget for two pipelines and two sets of edge cases, and should confirm the developer has shipped at least one such pipeline before, naming the state. The consolidated data model is shared, which is why it is worth building first, but the submission layer on top of it does not generalise the way people assume.
We only have two campuses. Is a build justified yet?
Probably not. The signals that justify the layer are three or more campuses under one organisation, a weekly workbook rebuilt by hand, operations in more than one state, staff paid to re-key between instances, or transfers that lose history. With two campuses and one state, PowerSchool plus Clever plus a communication tool will usually cost less than any build and the manual reconciliation is still tractable. Revisit when a third campus opens, because that is where the arithmetic changes.
What should the first release cover if we want value inside one term?
The unified student identifier with campus as an enrolment attribute, and a consolidated dashboard reading every instance nightly. That combination stops transfers destroying history and removes the Monday workbook, which are the two problems leadership actually feels, and it fits a twelve to sixteen week release. Digital forms, parent communication and compliance modules all become easier once one student is one record, and every one of them is harder if attempted before that foundation exists.
How do we keep immunisation and special education records attached during a transfer?
Make the transfer a status change on a single permanent record rather than a withdrawal and a fresh enrolment. Once campus is an attribute of an enrolment rather than a database wall, attendance history, immunisation records, individualised education programme and 504 documents and discipline entries stay attached to the child by definition. Review date reminders for those plans should then run off the legal clock in the network layer, since a case manager moving campuses is exactly the situation where a memory based process fails.
How many people should be working on my software project?
A typical $40,000 to $150,000 build runs on three to five people: a technical lead, one or two developers, a designer, and someone owning QA and project communication, often as overlapping part-time roles. More bodies do not make software arrive faster; past a point they slow it down with coordination overhead. The question that matters more than headcount is whether one named senior engineer is accountable for the outcome.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
Our developer disappeared mid-project. Can another team pick up the code?
Yes, this is a routine engagement, provided the code exists somewhere you can access, so your first move is securing the repository, hosting, and domain credentials today. A takeover starts with a one to two week paid code audit that ends in one of three verdicts: continue the build, keep the design but rebuild the weak parts, or start over. Digital Heroes has inherited enough projects to say plainly that sometimes the rebuild is cheaper than the rescue, and an honest agency will tell you which one you have before taking your money.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?