Refugee Resettlement Case Management Software Problems: The 7 That Cost Real Money and How to Avoid Them
The most expensive failure in resettlement software is deadlines computed from the day staff created the record rather than from the arrival date. Reception and placement obligations run from arrival, so if an assurance came late, a flight moved, or a misspelled name produced a duplicate record, every derived date is wrong and displayed with complete confidence. Staff respond by keeping a shadow spreadsheet, which means you now pay for two systems and trust neither, and the eventual monitoring finding lands on the affiliate agreement rather than on any individual case.
Why does the generic case management model get chosen so often?
The biggest scope failure in this category is agreeing to a build, or a configuration, that models resettlement as clinical case management. It is an easy mistake because the vocabulary matches. There is a client, an intake, an assessment, a service plan and a closure, and every human services product on the market is built around exactly that shape.
Resettlement does not work that way. Your client arrives on a plane on a date somebody else chose, and a federal cooperative agreement starts a clock that does not care about your caseload, your staffing, or whether the apartment was ready. The first obligations land within the first day, before anyone has done an assessment. A family of seven arriving at 11:40pm on a Thursday needs a home visit, a health screening appointment, school enrolment, Social Security applications and an orientation delivered in a language your caseworker may not speak, all measured from touchdown.
The fix is to make arrival date the anchor object in the data model before anything else is designed, and to derive every milestone from it, recomputing automatically when a flight changes. Milestones carry an evidence requirement, so marking orientation complete without an attached signed acknowledgement leaves the item incomplete rather than green. And the primary view is the caseload sorted by days remaining across everyone, because that is the question a resettlement director asks at 8am and no case oriented system answers it well. Confirm the current requirements against your national agency's cooperative agreement, since the detail is revised and no published summary should be treated as authoritative.
What goes wrong when existing case data is migrated?
Almost every affiliate arrives with three sources: the national agency's database, a local spreadsheet the director actually trusts, and a shared drive of scanned documents. Reconciling them is where these projects lose time, and the cause is almost always names.
Transliteration produces the same person under several spellings, and family naming conventions vary in ways that do not map onto a first name and last name field. So the spreadsheet has one record, the national database has another, and a third was created when a caseworker could not find the first two. Deduplicating on name alone will merge two different people, which is a far worse outcome than leaving duplicates in place.
The second problem is household structure. Legacy records usually carry a household as a grouping label rather than as an entity, so there is no record of who belonged to which case on which date. Once a family has split, the historical allocation of per capita funds cannot be reconstructed from that data at all.
The fix is to migrate conservatively and explicitly. Match on stable identifiers rather than names, route ambiguous matches to a human queue rather than resolving them automatically, and preserve every legacy identifier on the new record so an old reference can still be traced. Accept that historical household membership will be approximate, mark it as such, and start dated membership properly from go live rather than pretending the past is cleaner than it is. Budget real staff time for the review queue, because caseworkers are the only people who can resolve those matches.
Why do the reporting integrations break after launch?
Four connections carry a resettlement system and each fails differently once the project team has moved on.
The national agency's database is first and hardest. Where an interface exists, integrate to it. Where it does not, generate submissions matching the required layout exactly and keep a submission log recording what was sent and when, because the disagreement you eventually have will be about whether something was reported and on what date. Formats change, sometimes with limited notice, and a build with no owner for that maintenance starts failing quietly a year after go live.
State coordinator and Office of Refugee Resettlement funded programme reporting is second. Each programme has its own service definitions and eligibility, so a field that means one thing in reception and placement means something slightly different in Matching Grant, and a single export template will be wrong for one of them.
Finance is third. Per capita expenditure has to reconcile with what the accounting system recorded, and if the two are entered separately they will diverge. Decide which system is authoritative for the expenditure line before either is built against.
Document storage is fourth, and it fails on security rather than function. Immigration and identity documents need encryption, role based access, an access log and a defined retention schedule. A file upload field on a client record is not a document management approach, and it is the thing a monitoring visit will ask about.
What happens when per capita documentation and language access are not covered?
Two gaps produce most of the findings, and both are routinely postponed to phase two.
Per capita documentation first. Direct assistance is funded per person and must be documented specifically: rent, security deposit, furniture, kitchen equipment, seasonally appropriate clothing, transport. Each becomes a receipt, a signature and an allocation to named individuals within a case. Left out of the build, it stays as a shoebox of receipts and a spreadsheet, reconstructed in a scramble two weeks before a monitoring visit. Built in, expenditure lines are created against the case with an allocation rule, receipts are photographed at the point of purchase and attached immediately, signatures for goods handover are captured on the same device, and the remaining balance is visible while there is still time to act on it.
Language access second. Services must be delivered in a language the client understands, which makes interpreters a scheduled, paid resource that is sometimes unavailable, and makes written materials a set of versions with different revision dates. It also means the caseworker who speaks the household's language carries an unevenly distributed caseload that no standard scheduling module accounts for.
The fix is to treat language as an attribute on the person, book interpreters as a resource with cost tracked against the correct funding source, and record the language and version of every material issued so an audit can see what was actually provided. Caseload balancing should account for language capability, which stops one bilingual staff member quietly carrying a third of the programme until she leaves.
Should you build custom or configure what you already own?
Some affiliates should not build, and it is worth hearing that on the first call. Below roughly 100 arrivals a year with one or two caseworkers, a well structured shared drive, a calendar with deadlines derived from arrival dates and a disciplined receipts process genuinely works. Custom software would be an expensive way to formalise what two people already do well, and the money belongs in rent assistance or another caseworker.
Configuring what you own is the right answer when resettlement is one programme inside a broad human services portfolio. Eccovia ClientTrack, CaseWorthy and Apricot by Bonterra are solid systems doing what they were designed for, and if your organisation already runs one of them across homelessness or family services, keeping it as the central record and building a smaller resettlement specific layer around it is usually a better investment than a replacement. The layer that matters is the arrival anchored deadline engine and the per capita ledger. Everything else in this category is ordinary case management you can configure.
Build when two or more of these hold. You resettle more than about 250 arrivals a year. Staff enter the same case into two systems. Per capita documentation is assembled retroactively before monitoring. You operate more than one funded programme with different eligibility and reporting. Or a monitoring visit has already produced a finding on documentation or timeliness.
How do hidden costs get into the quote?
Estimates move in predictable places here, and all of them can be established before signing.
- Number of funded programmes. Each carries its own eligibility, service definitions and reporting, so operating reception and placement alongside Matching Grant and refugee support services is three sets of rules rather than one with variations.
- National agency integration. The cost depends entirely on what they expose, and finding out is a conversation to start before development rather than during it.
- Multi site operations. Different state coordinators mean different reporting and sometimes different service definitions for the same activity.
- Document handling. Scanning, indexing, access control and retention for immigration and identity records is a security workstream, not a file upload.
- Data migration review. The ambiguous name matches can only be resolved by your caseworkers, and that time has to be planned around their actual caseload.
- Interpreter and materials management. Often deferred, then added later at higher cost because it touches scheduling, cost allocation and document versioning at once.
What separates a build that works from one that fails here?
The builds that work anchor everything to arrival date, recompute when a flight moves, and treat the case as a first class object with dated membership so a person can leave on a specific date and the per capita allocation reconciles correctly. Secondary migration and transfers to another affiliate are recorded transactions with a receiving party and a documented handover rather than a re entry that severs the link to the original case. Evidence is required to close a milestone, not merely encouraged.
The builds that fail keep the shadow spreadsheet alive. If a director still maintains a private tracker six months after go live, the system has not replaced anything, and the usual reason is that its dates cannot be trusted or its caseload view cannot answer what falls due this week.
On machine assistance, two uses genuinely earn their place and one does not. Receipt extraction turns a photograph taken in a car park into a structured expenditure line for one tap confirmation, and drafting routine written communications for a bilingual staff member to review before sending saves real time. Machine translation has no role in interpreting rights, benefits orientation or anything with legal consequence, and a developer who proposes it does not understand the exposure.
Two tests before signing. Ask what happens when an arrival date changes after the record is created, and expect every milestone to recompute automatically. Ask how immigration and identity documents are stored, and listen for encryption, role based access, an access log and a retention schedule raised without prompting. Then settle code, infrastructure and data ownership in writing, since affiliate funding moves with arrival numbers and a vendor dependency during a lean year is a poor position to be in.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- 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) →
- McKinsey's Developer Velocity research finds best-in-class tools are the top contributor to software business success, yet only about 5% of executives ranked tools among their top-three software enablers, signaling underinvestment in developer tools (this finding originates in McKinsey's Developer Velocity study rather than the linked generative-AI article). Source: McKinsey & Company (2023) →
- A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
- Gallup reports global employee engagement fell to 20% in 2025 (its lowest since 2020, down from a 2022-2023 peak of 23%), and estimates low engagement costs the world economy an estimated $10 trillion in lost productivity, or 9% of global GDP. (Note: this figure appears in Gallup's evergreen State of the Global Workplace page, currently reflecting the 2026 edition reporting on 2025 data.). Source: Gallup (2025) →
Khushi runs several client projects at once, which mostly means deciding whose problem gets solved first. She coordinates developers, designers and clients across time zones, tracks budget against work completed, and raises the difficult conversation early. Readers learn how an agency actually allocates attention when everything is urgent.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
Our system's deadlines never match the real ones. What is wrong?
The system is almost certainly counting from record creation rather than from arrival. Reception and placement obligations run from the arrival date, so a late assurance, a rescheduled flight or a duplicate record created after a misspelling makes every derived date wrong while looking authoritative. The fix is to anchor milestones to arrival and recompute them automatically whenever it changes. Confirm the exact current requirements against your national agency's cooperative agreement rather than any published summary, since they are revised.
What happens to our records when a case splits or transfers to another affiliate?
In most systems the link breaks, because the household is a grouping label rather than an entity with dated membership. Model the case as a first class object so a person can leave on a specific date and the per capita allocation reconciles correctly, and record secondary migration or an affiliate transfer as a transaction with a receiving party and a documented handover. Individual level services attach to people and case level services attach to the case, so reporting can present either view without manual stitching.
How do we clean up duplicate client records created by name transliteration?
Carefully, and never automatically on name alone, because merging two different people is a far worse outcome than leaving duplicates. Match on stable identifiers, route ambiguous pairs into a review queue that caseworkers clear, and preserve every legacy identifier on the surviving record so an old reference can still be traced. Plan that review time around real caseloads, since it is the single most common reason a migration schedule slips.
Can per capita receipts really be made audit ready?
Yes, and it is usually the second reason affiliates build. Create expenditure lines against the case with an allocation rule, photograph receipts at the point of purchase and attach them immediately, capture the client signature for goods handover on the same device, and show the remaining balance while there is still time to act. A monitoring visit then becomes a query rather than a two week reconstruction from a folder, and receipt extraction removes real hours from staff who should be with families.
Is ClientTrack or CaseWorthy enough for our affiliate?
If resettlement is one programme inside a broad human services portfolio, keeping one of them as the central record and building a resettlement specific layer around it is often the better investment. They are competent systems and there is little value in replacing what already serves your other programmes. The structural gap is that they compute deadlines from enrolment rather than arrival and treat households as a grouping attribute rather than a case entity with dated membership, which is exactly what breaks when a family splits.
How should interpreter scheduling and caseload balance be handled?
Make language an attribute on the person, book interpreters as a scheduled resource with cost tracked against the correct funding source, and record the language and version of every material issued so an audit can see what was provided. Then let caseload balancing account for language capability, because otherwise one bilingual staff member quietly carries a disproportionate share of the programme until she leaves, and nothing in the system shows it happening.
Why do our numbers disagree with the national agency's database?
Because the same fact is typed twice and the two systems drift from the first week. Make your system the operational source of record, generate submissions in the exact required layout rather than a generic export somebody reformats, and keep a log of what was sent and when. That log is what settles the argument you will eventually have about whether something was reported and on what date. Confirm current formats with the agency directly, since they change more often than anyone would like.
What should we ask a developer before signing for resettlement work?
Ask them to model the case on a whiteboard: you want dated membership, an individual, a derived milestone with an evidence requirement, an expenditure line with a per capita allocation and a transfer to another affiliate. Ask what happens when an arrival date changes after the record exists. Ask how immigration and identity documents are stored, expecting encryption, role based access, an access log and a retention schedule unprompted. Then settle code and data ownership in writing before kickoff.
How much should a small business expect to pay for custom software?
What does a $50,000 custom software budget actually buy?
What is a discovery phase, and is it worth paying for separately?
What happens to my software if the agency shuts down or we stop working together?
What is the biggest mistake first-time software buyers make?
How many people should be working on my software project?
How do I calculate whether custom software will pay for itself?
How do I work out whether custom software will pay for itself?
How many SaaS seats do we need before building custom becomes cheaper?
What are the biggest mistakes first-time software buyers make?
What happens if I stop paying for maintenance after launch?
How do I vet a software development agency before signing a contract?
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.