Problems & solutions · Field Service Management

Wildland Fire Contractor Software Problems: The 5 That Delay Your Money, and How to Avoid Them

Wildland Fire Contractor Software workflow illustration showing common problems and fixes.
The short answer

The most expensive failure mode is a system that assumes connectivity. If a shift ticket cannot be written and signed in camp with no signal, crew bosses revert to the carbon form within a week, and you are back to invoices assembled from whatever paper survived the truck cab. In our delivery experience that single design mistake is what turns a August assignment into a December payment, because the tickets that never reach the office become line items you cannot substantiate, and a rejected line on a multi-week assignment is worth more than the whole software project.

Why does the build creep from shift tickets into a full company system so often?

You start with one goal: capture shift tickets and crew time in camp so invoices go out clean. By the third scoping call the list has grown to equipment maintenance, fuel logs, a driver qualification file, an inventory of hose and hand tools, a training calendar, and a portal so the government can see your resources. Each addition is reasonable on its own. Together they push a ten week project to nine months, which means it lands in July, which means nobody adopts it.

Two forces drive this. Contractors have been running the whole business on paper for years, so once a system exists the temptation is to put everything in it. And the office staff are the people in the room, while the crew bosses who will actually use it are on an assignment.

The discipline that works is timing rather than willpower. Fix a delivery date in the off season, then cut scope to fit it. Ship shift tickets, crew time, agreement rates and invoicing for one resource category, run a full season on it, then extend. Maintenance and inventory are genuinely useful and they are not what is stopping your money. If a developer agrees to your whole wish list without pushing back on sequence, they have not built for a business with a hard seasonal deadline.

What goes wrong when you move years of tickets, agreements and resource records across?

Most contractors want their history in the new system, and most of that history is paper, photographs of paper, or a spreadsheet whose columns changed twice. Three specific problems follow.

First, agreements. Your historic invoices were calculated under rates that have since been renewed, so if you load only current rates your past invoices become irreproducible, which matters the moment an agency queries a prior year payment. Load agreements as records with effective dates and load the old ones too, even where the resource type no longer exists.

Second, resource identity. An engine that was sold, replaced and given the same internal number is two assets, not one, and merging them corrupts the maintenance and inspection history you are building the system to keep straight. Decide identity rules before import, not during.

Third, receivables. Load outstanding invoices with their real submission dates and current state so aging is honest from day one. Contractors are often tempted to start the ledger clean because the old numbers are embarrassing. That defeats the purpose. The aging report is the artefact you take to your lender in October, and it is worthless if it starts in January.

Anything older than three seasons is usually not worth migrating. Keep the paper, archive the scans, and start clean.

Why do the payroll and accounting integrations break after launch?

The government paperwork side has no integration to break, which is its own problem. Agency systems for resource ordering and incident business administration are built for the agency, and there is no contractor-facing interface that carries your rates and your invoice through. Any developer promising a connection there is guessing.

The integrations that do exist are payroll and accounting, and they break for predictable reasons. Payroll providers change their file formats and their API versions on their own schedule, and the change lands while your crews are deployed. Wage rules move underneath you: overtime, travel time, per diem and, on some assignments, prevailing wage determinations that differ from your standard rate. A file that mapped correctly in March fails in July because a new determination applies to an assignment type you had not encountered.

Accounting integrations break differently. Your bookkeeper reclassifies transactions in the accounting package, which silently diverges from the invoice records in your system, and by year end the two disagree about what was billed. The fix is to decide, in writing, which system owns which fact. Your build owns assignments, tickets, rates and invoices. Accounting owns the general ledger. One direction of flow, with a reconciliation report that lists divergence rather than hiding it. Add automated tests that run the payroll export against the provider every week even when nothing has changed, so a format change surfaces on a Monday rather than on a payroll run.

What happens when qualification currency and inspection status are not covered?

This is the gap that costs you the season rather than the invoice. Before you bill an hour you have to be orderable, which means the resource is available, the equipment has passed inspection, and every person assigned holds current qualifications for the position they will fill, along with current medical and fitness testing where required.

All of those expire, and they expire in the off season when nobody is looking. The first busy week of a season is when everyone discovers what lapsed. A resource refused at an incident costs you the mobilisation, the assignment and, less visibly, your standing with that dispatch centre for the rest of the year.

Systems that skip this look complete in a demo and fail in June. Cover it properly: qualifications, medical and fitness currency and inspection dates as records with expiry, with the calendar run backwards from your season start so renewals are scheduled in March rather than discovered later. Availability should be a state you set deliberately with a logged reason, which also gives you a defensible answer when a dispatch centre asks why you turned down an order.

The compounding benefit is that this is the same data your invoices depend on. The person on the time report is the person whose qualification the system already holds, so the two records cannot drift.

Should you build custom or configure what you already own?

If you run one or two engines and a bookkeeper who knows the forms, stay on paper and a spreadsheet. The owner personally sees every ticket at that size, there is no leak to plug, and software would be a cost with no return. We say this to contractors regularly and mean it.

If your problem is purely bookkeeping, configure what you have. Most contractors already run QuickBooks or similar, and it will hold customers, invoices and aging perfectly well. Build a disciplined rate sheet, one invoice template per agreement, and a naming convention for scanned tickets, and you have solved a real part of the problem for the cost of a weekend.

What accounting packages cannot do is offline capture in camp, agreement rates with effective dates and conditions, duplicate ticket detection across relief operators, or a per-line variance table when an agency pays a different amount. Those are the four things worth building. Generic field service platforms do not fit either, because they assume a customer, an address and an invoice at the end. Your end product is a government-accepted submission, which is a different shape.

The threshold that matters in practice is around eight fielded resources, more than two agreements, or the point where you cannot answer from memory which invoices are outstanding and why.

How do hidden costs get into the quote?

Four items are routinely missing. Offline conflict resolution is the biggest. Caching data is easy. Deciding what happens when two crew bosses on the same engine both create a ticket for the same date while disconnected for nine days is a design decision with real engineering behind it, and a quote that does not mention it has not accounted for it.

Second, agreement variants. Each distinct agreement and agency is its own rate structure, its own conditions and its own set of test cases. Two agreements is not twice one agreement, but four is meaningfully more than two, and every additional resource category adds a billing shape.

Third, prevailing wage. If any of your assignments fall under a wage determination, the payroll side gains rules, exception handling and reporting that a standard hourly build does not carry.

Fourth, device fleet and support. Rugged devices, a mobile plan, and someone to answer a call from a crew boss at midnight in August are running costs, not build costs, and they are yours after launch. Ask any prospective developer to price these four explicitly before you compare quotes.

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

Timing first. Start in October, not June. A half-adopted system during a busy August is worse than a well-run carbon form, because crews revert under pressure and you finish the season with two incomplete records instead of one complete one. We turn work away in July for this reason.

Second, design for the crew boss, not the office. This system lives or dies on whether a tired engine boss will use it at the end of a sixteen hour shift. That means very few taps, large touch targets, and no required field a person in the field cannot actually know. If the demo looks like an accounting screen, it will not survive a fire.

Third, keep the paper. The incident still wants a form across the table, and your system should print one. A build that tries to eliminate paper on day one fights the process instead of protecting it. The goal is that your record stops depending on the paper surviving the truck cab.

Fourth, insist on the variance table. When an agency pays a different amount, per-line variance turns a dispute into a document you can send. A variance you can point to gets resolved. One you can only describe does not.

Finally, settle ownership of the code, the repository and the hosting in writing before kickoff. At Digital Heroes it is yours from the first commit.

Research & sources

The evidence behind this guide

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

  1. PTC identifies the leading causes of failed first visits as parts unavailability (the single most-cited complaint, named by 51% of field service executives), technicians lacking the required equipment or skills, and insufficient time allocated to the job - making parts logistics and skills-based dispatch the highest-leverage fixes. Source: PTC (2023) →
  2. Grand View Research valued the global field service management market at USD 4.43 billion in 2022 and projects it to reach USD 11.78 billion by 2030, a 13.3% CAGR, driven by growing field operations in telecom, utilities, construction and energy. Source: Grand View Research (2023) →
  3. An earlier SHRM benchmarking report (reflecting fiscal year 2015, published 2016) established a widely cited baseline average cost-per-hire of $4,129, illustrating how recruiting costs have climbed over time (SHRM's separate 2025 Benchmarking Report shows $5,475 for nonexecutive roles). Note: the $5,475 figure is not on this linked page; it comes from SHRM's 2025 report. Source: SHRM (Society for Human Resource Management) (2016) →
  4. SMS reminders that stated the specific cost of the appointment to the health system reduced missed appointments in Trial One, with the DNA (did-not-attend) rate falling from 11.1% (control) to 8.4% (specific-costs message) - an odds ratio of 0.74 (95% CI 0.61-0.89), i.e. roughly a 24-26% relative reduction - at no additional cost. (Trial Two replicated this at an 8.2% DNA rate.). Source: PLOS ONE (Hallsworth et al.) (2015) →
Ishaan C. · Shopify Plus Tech Lead · Delhi

Ishaan is the technical lead on Shopify Plus builds at Digital Heroes, working on checkout extensions, custom apps, integrations with ERP and the parts of a store that outgrow standard themes. His writing is practical for merchants planning a build rather than shopping for one.

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

FAQ

Frequently asked questions

What happens if two crew bosses write a ticket for the same shift offline?

That is the question that sorts developers in this category. Caching data offline is straightforward. Resolving two records created for the same resource and date, by two people who were disconnected for nine days, is a design decision you should make deliberately. Duplicate detection on resource plus date, with both versions preserved and a named person deciding which one is submitted, is the pattern that holds up. If a quote does not mention conflict resolution, it has not priced it.

Can the system submit directly into the agency ordering or incident business systems?

No, and treat any promise otherwise as a warning sign. Government systems for resource ordering and incident business administration are built for the agency side of the transaction, and the contractor side is out of scope by design. What is achievable is a system that produces clean, complete, correctly rated submissions into that process, prints the forms the incident still expects, and keeps your own record of what you submitted and what was paid.

How far back should we migrate old tickets and invoices?

Three seasons at most for tickets, and usually less. What matters is loading every agreement with its effective dates, including expired ones, so historic invoices stay reproducible when an agency queries a prior year. Also load outstanding receivables with their real submission dates rather than starting the ledger clean, because the aging report is the artefact you take to a lender in October and it is useless if it begins in January.

Why do invoices still get rejected after we move off paper?

Usually because the digital ticket reproduced the same gaps. A signature captured without the signer's printed name and position leaves finance unable to verify authority. Hours recorded against a resource order number typed from memory go to the wrong assignment after a mid-assignment reassignment. Pull the resource order and incident from the assignment record rather than asking a tired crew boss to write it, and make signer name and position required fields.

Do we need this if we only run two engines?

Probably not. At that size the binder works, the owner sees every ticket personally, and the leak the software plugs does not exist yet. Spend the money on a bookkeeper who knows the forms and a disciplined scanning routine. The practical threshold is around eight fielded resources, more than two agreements, or the point where you cannot answer from memory which invoices are outstanding and why.

How do we keep payroll and the government time report from diverging?

Capture hours once per person per day against an assignment and generate both outputs from that single record. The common failure is a bookkeeper re-entering hours from a photograph three weeks later, which introduces errors and pushes payroll for a July assignment into September. Checking rest and shift length rules at entry also lets a crew boss fix a problem while there is still time to do something about it rather than in an audit.

What ongoing costs should we expect after launch?

Devices and their replacement, a mobile data plan, cloud hosting, and support cover during the season. The last one is the item people forget: a crew boss with a sync problem at midnight in August needs an answer, and either you carry that internally or you pay for it. Budget also for annual agreement updates, because a renewed rate structure is a small piece of configuration work every off season rather than a one-time build item.

When in the year should we start the project?

October. Design, build and a real training window before mobilisation is what adoption depends on, and a half-adopted system during a busy August is worse than a well-run carbon form because crews revert under pressure. We turn work away in July for this reason. If you are mid-season now, spend the time writing down your agreement rate conditions instead, because that is the input the build needs first.

Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
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 features should the first version of a custom field service app include?
Version one needs the daily loop and nothing else: job creation, a drag-and-drop dispatch board, a technician mobile app that works offline, photo and signature capture, and invoicing that reaches your accounting system. Customer portals, route optimization, inventory, and reporting dashboards belong in phase two. The test for every feature is whether a dispatcher or technician touches it every day; if not, cut it.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
Can I get my customer and job history out of ServiceTitan or Jobber if we switch to custom software?
Yes. Jobber and Housecall Pro both provide CSV exports of clients, jobs, and invoices, and ServiceTitan data comes out through its API and report exports, though attachments and full audit history take extra work. Budget 2 to 4 weeks of migration effort inside the project for cleaning, mapping, and verifying records, and run both systems in parallel for at least two billing cycles before cutting over.
How big a team does it take to build field service management software?
The standard Digital Heroes team for a field service build is five to six people: a project lead, a designer, two or three developers split across the mobile app and backend, and a QA tester who works on real devices in real signal conditions. Bigger is not better; experience with offline sync is. The riskier pattern is the opposite, a single developer quoting the entire system alone.
How much does it cost to build custom field service management software for a small business?
For a company running 5 to 25 technicians, a focused first version with scheduling, dispatch, a technician mobile app, and invoicing typically runs $40,000 to $80,000 in Digital Heroes delivery experience. A full platform with offline mode, a customer portal, GPS tracking, and accounting sync lands between $90,000 and $180,000. The two biggest cost drivers are offline sync depth and integration count, so pin both down in scoping and the quote holds.
How much would it cost to build something like ServiceTitan just for my company?
A true ServiceTitan clone would cost millions and you do not need one, because companies that bring this request to Digital Heroes typically use 20 to 30 percent of its features. Building that slice, shaped to your exact dispatch board and technician day, runs $80,000 to $200,000 depending on offline requirements and integrations. The field service builds that succeed copy a workflow, not a product.
Can a custom field service app sync with QuickBooks and the payment processor we already use?
Yes, and it should be scoped as a named workstream rather than a finishing task. QuickBooks Online, Xero, Stripe, and Square all offer mature APIs, and a two-way invoice and payment sync typically adds $8,000 to $20,000 to a build depending on how items, taxes, and customers map. The decision that matters most is source of truth: agree which system owns customer records and pricing before development starts, or you will reconcile duplicates forever.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Who can build a custom field service management software system?

Digital Heroes builds custom field service management 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 field service management 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?