Problems & solutions · ERP

Irrigation District Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Irrigation District Software architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure mode in irrigation district software is a register that assumes one turnout serves one parcel. Real districts have parcels served by two turnouts, turnouts serving several parcels, parcels that were split in a subdivision and never propagated, and accounts that no longer match the county assessor roll. Build on the simple assumption and every downstream function inherits it: deliveries cannot be attributed parcel by parcel, allotments cannot be tracked against the land, and the assessment roll stops reconciling with the county. What that costs is not a software rework, it is enforcement. A district that cannot defend a delivery figure parcel by parcel loses every argument at the counter, and once growers learn that, allotments, transfers and shortage year curtailments all become negotiations instead of administration.

Why does the register get modelled as one turnout to one parcel?

It is the shape a developer draws on the whiteboard in the first meeting, because it is the shape the words suggest. A grower has a parcel, the parcel has a turnout, the turnout delivers water, the account gets billed. Every district map contradicts it within about four minutes.

One parcel is served by two turnouts because a lateral was extended after a purchase. One turnout serves three parcels under two owners because a family split the ground and never asked the district to change anything. A parcel was subdivided and the assessor created four new parcel numbers while the district register still carries the original. A water right attaches to acreage that does not match the modern parcel boundary at all. None of these are exotic, and all of them break a one to one model.

The consequence is not cosmetic. Assessments attach to parcels rather than to customers and follow the land through sale, so a register that cannot express the real relationships produces bills that go to the wrong person, allotment balances that cannot be transferred correctly, and delivery records that cannot be attributed when a grower disputes one.

Specify the register as a many to many model from the start, with turnout, parcel, water right and account as separate entities and explicit relationships between them, each carrying validity dates so a change in 2026 does not silently rewrite how 2024 would be calculated. Then test the model before you commit: hand the developer three genuinely awkward cases from your own maps, including a shared turnout and a split parcel, and ask them to draw the records. That exercise costs an hour and it predicts the whole project.

What goes wrong when you migrate parcel and account history?

Parcel data is the single most common source of schedule overrun in this category, and it is not the developer's work. It is yours.

Reconciling a district turnout and account register against a county assessor roll surfaces decades of splits, mergers and corrections that were never propagated. Accounts exist for parcels that no longer carry that number. Two accounts point at the same ground. An owner of record died and the account still carries their name. Acreage in the district register disagrees with assessed acreage, sometimes by enough to change a per acre assessment materially.

Software cannot resolve any of that, because each item needs a decision from someone who knows the district. What it can do is surface exceptions in a reviewable queue and preserve the original record alongside the corrected one.

Handle it as its own workstream, staffed with district personnel, started before development rather than during it. Take one lateral or one division first and reconcile it fully, which both proves the process and gives you a realistic multiplier for the rest. Any developer who does not raise parcel reconciliation in the first conversation has not built for a district, and their schedule will be wrong by the size of the work they did not mention.

Why do telemetry and county roll feeds break after launch?

Districts run mixed measurement estate: telemetered sites of more than one brand and vintage, staff gauge and flume readings taken by hand, and rider estimates where there is nothing else. The integration failures cluster in predictable places.

A site loses power or a radio link and reports its last value indefinitely, which looks like steady flow rather than an outage. A replaced device reports in different units or under a different tag name. Daylight saving shifts an hour of flow into the wrong day. A recalibration goes unrecorded, so a step change in readings looks like a change in demand.

The county roll feed fails differently. It arrives annually or on a schedule the county sets, the format changes when the county changes systems, and new parcel numbers appear that your register has never seen. Import it without validation and your assessment roll quietly diverges from the county's.

Build both with the same discipline: validate the shape on arrival, quarantine what does not match, and run a completeness check that reports which sites did not deliver data yesterday. The most valuable single feature here is a stuck value detector, because a frozen reading is the failure a district discovers three weeks later when a grower disputes a bill.

What happens when carryover, transfers and shortage proration are not covered?

Districts that administer a straightforward duty per acre with no carryover can survive on simple arithmetic. The moment your rules include carryover from one season, transfers between parcels or accounts, or proration in a shortage year, manual administration starts producing different outcomes for different accounts in the same year, and that inconsistency is what turns into a board complaint.

The specific gaps are worth naming. Carryover needs a rule about what may be carried, how much, whether it expires, and whether it is subordinate to fresh allotment in a shortage. A transfer needs an effective date, an approval, and an effect on both the sending and receiving balance that cannot be applied twice. Shortage proration needs to be applied to every account at once by the system rather than account by account by a clerk, because a partial application is worse than none.

The compliance dimension is the audit trail. Delivery and assessment history is evidence in a water rights dispute and in an enforcement action, and it needs to survive one. That means an append only record where corrections are recorded as attributed corrections rather than as edits, and where the apportionment rule used at a shared measurement point is stored with the delivery rather than recalculated later by whoever is asked. There is no perfect answer to shared measurement. There is a recorded, repeatable, board approved rule, and there is guesswork, and only one of them is defensible at a hearing.

Should you build custom or configure what you already own?

Do not build if you are a small district under roughly 150 turnouts on a single canal with flat per acre assessments, no allotment carryover and no transfer market. A spreadsheet, a scheduling book and an experienced clerk are honestly sufficient, and the money is better spent on structure maintenance and measurement.

Be equally clear about what canal automation does and does not solve. Rubicon Water is good at what it is for: gate control, flow measurement and the operational software around modernised infrastructure. If your problem is that manual gates deliver imprecise flows and the canal loses water to poor control, that is the right investment and no administration system substitutes for it. What it does not give you is an allotment ledger in acre feet per parcel with carryover and transfers, an assessment roll that reconciles to the county assessor, a delinquency process, or an audit trail built for a hearing where a landowner has counsel. Districts that modernise the canal and continue to administer water on paper have improved the measurement and left the disputes exactly where they were.

Build when two or more of these are true: your allotment rules include carryover, transfers or shortage proration; your assessment roll no longer reconciles cleanly to the county; a delivery dispute has reached your board or your counsel; you have modernised measurement and are still administering on paper; or your longest serving ditch rider is close to retiring and a meaningful part of the district's operating knowledge is going with him.

How do hidden costs get into a district software quote?

  • Parcel reconciliation. The largest and most consistently omitted item. It is your staff's time as much as the developer's, and it happens before value is visible.
  • Mixed telemetry brands. Each device family is its own ingestion and validation problem, and older units are harder than new ones.
  • Allotment rule complexity. Carryover, transfers and class based priorities make a genuinely intricate ledger. Describe your rules in writing before asking for a number.
  • County roll production. Where assessments are collected on the tax roll, the system must produce and reconcile that file in the county's format, not merely print invoices.
  • Offline field capture. Conflict handling when two riders sync overlapping work is real engineering, and it roughly doubles field application cost compared with a web form.

For orientation, Digital Heroes delivery experience puts a first release covering the turnout, parcel and account register, water ordering against canal capacity and ditch rider delivery capture at $60,000 to $130,000 over 12 to 16 weeks, with a full platform at $150,000 to $350,000 across 6 to 11 months.

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

Whether the ditch rider will actually use it. The field application has to work with no signal, in direct sunlight, one handed, from a truck, by someone wearing gloves. Gate settings, times, readings, adjustments and notes are captured on the canal bank and synced later without creating duplicate deliveries. If the proposal is a responsive web page, the person proposing it has not spent a morning riding a lateral, and the riders will keep the paper card alongside the tablet, which leaves you with two records that disagree.

Whether water ordering knows about capacity. An order accepted without checking the reach it has to travel through is a scheduling promise the canal cannot keep, and the person who discovers that is the rider at seven in the morning. Orders should be checked against reach capacity and the rotation at the moment they are placed, with the operational consequence visible to the office rather than to the field.

Whether the rollout respects the season. Start on one lateral or one division in the off season, keep the existing scheduling book running in parallel for the first weeks of the run so the office has a fallback, and expand once the flow is proven. A district wide cutover in the middle of an irrigation season is the one approach worth refusing outright.

And whether you own it. Get the repository, the cloud accounts and the data in the district's name in writing before kickoff, with the right to hire another firm. At Digital Heroes the client owns the code from the first commit. A district is a public body with a long institutional life and regular staff turnover, and a system your successors cannot maintain or migrate simply recreates the dependency you set out to escape.

Research & sources

The evidence behind this guide

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

  1. In a survey of 113 supply chain leaders (conducted late March to mid-April 2022), 67% had implemented digital dashboards for end-to-end visibility, and those companies were about twice as likely as others to avoid supply chain problems during the disruptions of early 2022; 71% expected to revise inventory policies going forward. Source: McKinsey & Company (2022) →
  2. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
  3. Companies in the top quartile of McKinsey's Developer Velocity Index had 2014-18 revenue growth four to five times faster than bottom-quartile peers, showing that software-building capability is a driver of business performance, not just a support function. Source: McKinsey & Company (2020) →
  4. Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
Kabir B. · Director of Mobile Engineering · Delhi

Kabir directs mobile engineering at Digital Heroes across iOS, Android and cross platform builds. Day to day that means release trains, store review cycles, device coverage and deciding when native work is worth the extra cost. Useful reading before committing to an app roadmap.

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

FAQ

Frequently asked questions

Why does a one turnout to one parcel model cause so much damage?
Because real districts do not work that way and every downstream function inherits the error. Parcels are served by two turnouts, turnouts serve several parcels under different owners, and subdivisions create parcel numbers the district register never received. Assessments attach to the parcel and follow the land through sale, so a simplified register produces bills sent to the wrong person, allotment balances that cannot be transferred correctly, and delivery records that cannot be defended when a grower disputes one.
How long does parcel reconciliation against the county roll actually take?
Longer than any developer will quote, because it is district staff work rather than engineering. Reconciliation surfaces decades of splits, mergers, deceased owners of record, duplicate accounts and acreage disagreements, and each one needs a decision from someone who knows the ground. Do one lateral or division first and time it, which proves the process and gives you a realistic multiplier for the rest. Start it before development rather than during.
What is the right way to handle a measurement point serving several turnouts?
Record an apportionment rule that your board has approved, store it with each delivery, and apply it identically every time. There is no perfect answer to shared measurement, so the property that matters is that the rule is repeatable and attributable rather than recalculated by whoever is on shift. Each delivery should also carry its measurement method and confidence, so a telemetered flow, a flume reading and a rider estimate are not treated as equivalent evidence.
We installed canal automation already. Why would we need anything else?
Because canal automation and district administration solve different problems. Rubicon Water improves gate control and flow measurement, which is a genuine improvement and produces better numbers. It does not give you an allotment ledger per parcel with carryover and transfers, an assessment roll reconciled to the county assessor, a delinquency process or an audit trail built to survive a hearing. Districts that modernise the canal and keep administering on paper have better measurement and the same disputes.
How do telemetry feeds fail in ways that are hard to notice?
The most damaging failure is a stuck value: a site loses power or a radio link and keeps reporting its last reading, which looks like steady flow rather than an outage. Others include a replaced device reporting different units or a new tag name, a daylight saving shift moving an hour of flow into the wrong day, and an unrecorded recalibration that looks like a change in demand. Build a stuck value detector and a daily completeness check that names the sites which did not report.
Can ditch riders record deliveries with no cell coverage?
They have to, and offline capture should be a stated requirement rather than an enhancement. The application needs to work in sunlight, one handed, from a truck, and sync later without creating duplicate deliveries when two riders have touched overlapping work. If riders do not trust it they will keep the paper card as well, and a district running two records that disagree is worse off than one running paper alone.
How should carryover, transfers and shortage proration be handled?
As rules applied by the system rather than adjustments made by a clerk. Carryover needs a rule for what may be carried, how much, whether it expires and how it ranks against fresh allotment. Transfers need an effective date, an approval and an effect that cannot be applied twice. Shortage proration should be applied to every account at once, because a partial manual application produces different outcomes for different accounts in the same year, which is precisely what generates board complaints.
Can we roll this out without disrupting a delivery season?
Yes, by starting on one lateral or one division in the off season and proving the ordering and rider capture flow on a small population first. Keep the existing scheduling book running in parallel for the first weeks of the run so the office has a fallback if anything is unclear. A district wide cutover in the middle of an irrigation season is the single approach worth refusing, regardless of how confident anyone is about the testing.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
How do I calculate the ROI on a custom ERP?
Add up three lines: hours of manual work removed at loaded labor cost, subscription licenses you cancel, and error costs like mispicks and double entry that disappear. In Digital Heroes delivery experience, mid-market ERP builds typically reach payback in 18 to 30 months, faster when they replace a per-seat platform at 30 or more users. Run the math over five years, because that is where a one-time build beats recurring licenses decisively.
Is a custom ERP cheaper than NetSuite over five years?
Often yes once you pass roughly 20 to 30 users. NetSuite is commonly quoted at $999 per month for the base platform plus about $99 per user per month, so a 30-user company spends over $200,000 on licenses across five years before paying for implementation. A custom build in the $120,000 to $250,000 range is a one-time cost, and in Digital Heroes projects annual upkeep runs 15 to 20 percent of build cost with no per-seat fees as you hire.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
How long does custom ERP development take?
Plan on 3 to 4 months for the first working module and 6 to 12 months for a full multi-module rollout. In Digital Heroes delivery experience the schedule risk is data migration and integration testing, not feature coding, so we stage go-lives module by module instead of one big-bang launch.
Can a freelancer build an ERP, or do I need an agency?
An ERP is too wide for one person: it needs backend, frontend, database design, integrations, QA, and someone mapping your business processes. A solo freelancer can extend an existing ERP or ship one small internal tool, but full ERP builds by single developers are the most common rescue scenario Digital Heroes takes on. If budget is tight, shrink the scope to one module rather than shrinking the team below three or four people.
What tech stack should a custom ERP be built on?
A boring, hireable one: Digital Heroes most often ships ERPs on PostgreSQL with a Node.js or Python backend and a React frontend, hosted on AWS or Azure. The stack matters far less than the database design, because your ERP schema will outlive every framework choice. Be skeptical of any agency proposing a niche or proprietary framework, since your ability to hire maintainers later is part of the total cost.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
What mistakes kill ERP projects most often?
The three we see most in rescue work at Digital Heroes: recreating the old system's broken process in new software, launching everything at once instead of module by module, and having no single internal owner with authority to decide. A fourth is skipping the parallel run on data migration to save two weeks, which trades a short delay for months of distrust in the numbers. None of these are technical failures, which is why vendor selection should weigh process discipline over demo polish.
Who can build a custom ERP software system?

Digital Heroes builds custom ERP 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 ERP 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?