Field service delivery

Where the Field Service App Writes Back: Connecting to the System You Already Run

Almost no field service app is the only system in the business. There is already an accounting package, a scheduling platform or an ERP holding the customer, the contract and the invoice. What the app is allowed to write into it, and in which direction, decides more about the build than any screen does.

Thomas Siudut
Thomas SiudutCo-Founder and CEO, Apps Value
September 18, 20269 min read
field service integration ERP offline scoping
Short answer

A field service app integration is defined by three answers: which system holds the truth about a customer and a job, whether the other system exposes a documented API, and whether data moves one way or both. One way, out of the app and into the system that already bills, is the usual right answer for a first version. Two way sync between two systems that both allow edits is a different and much larger piece of work, and it is worth deferring until the field side is proven.

Key takeaways for operations leaders
  • Name the system of record first. If the finance system owns the customer and the invoice, the app is a source of events, not a second database of customers.
  • A documented API is routine work. No API is a project. This one fact separates a predictable estimate from an open question, and it can be checked in an afternoon.
  • One way beats two way in version one. Most of the business value is in getting completed work into billing on the same day, which needs traffic in a single direction.
  • Offline changes what integration means. A job finished with no signal reaches the other system hours later, so the receiving side has to accept work that is already done.

What actually decides how hard the integration is?

Three questions, answered before anyone estimates. Which system holds the truth, what that system exposes, and how many directions data has to travel. The number of fields is almost irrelevant next to those three.

  • Who is the system of record? Customers, sites, contracts and invoices usually live in the platform finance already uses. If the app tries to own them as well, you now have two versions of every customer and a reconciliation problem that grows every month. The app should own what happens on site, and reference everything else.
  • What does the other system expose? A documented API with authentication you can obtain is normal work. A platform with a partner programme, a rate limit or a sandbox you cannot get into changes the schedule. A system with no interface at all means a file based exchange or a middle layer, which is where these projects genuinely expand.
  • One direction or two? Pushing completed work out is one flow with one failure mode. Accepting jobs back in, or letting both sides edit the same record, means agreeing precedence, timestamps and what happens when the two disagree. That is the same problem as offline conflict handling, described in offline first app development.

These are questions for your own IT or your platform vendor, not for the app developer. Ask them before you ask anyone for a fixed price, because the answers move the number and the date more than the feature list does.

Which of the three integration shapes are you in?

Nearly every field service project lands in one of three. Knowing which one you are is enough to tell whether integration is a line item or a phase of its own.

Shape one

The app reports outward

Jobs are created in the app or imported once. Completed work, time, parts, photos and sign off are pushed into accounting or the ERP so the invoice can go out. The other system never writes back.

Where it breaks Duplicate pushes after a retry. Every event needs an identifier the receiving system can recognise as the same one.
Shape two

Jobs in, results out

Work orders are created in the existing platform and flow into the app, results flow back. Two directions, but each record is owned by one side. Common where dispatch and scheduling stay where they are.

Where it breaks A job changed in the office while a crew is already working on it offline. The precedence rule has to be written down.
Shape three

Both sides edit everything

Two systems holding the same records with both allowed to change them. Technically possible and occasionally necessary, usually in regulated or asset heavy operations with a mature ERP.

Where it breaks Everywhere, unless precedence, versioning and a manual correction path exist from day one.
The honest default

Start at one, plan for two

Build shape one, design the data so shape two is possible later. The business case for these projects is usually the gap between work finished and invoice sent, and shape one closes that gap on its own.

What it buys you A launch in the same quarter, and evidence before the larger piece is funded.

Integration is not a connector you buy. It is an agreement about which system is allowed to be wrong.

What if the system we run has no API?

It still works, with a different mechanism and a different estimate. There are three routes, and which one applies is a question of what the vendor allows rather than what the developer prefers.

  • A scheduled file exchange. Exports and imports on an agreed format and cadence. Unglamorous, robust, and enough when billing runs daily rather than instantly. It is also the route that survives a vendor changing their product.
  • A middle layer. A small service that receives from the app and speaks whatever the old system understands, including a database it owns. This keeps the ugly part in one place you control instead of spreading it through the mobile app.
  • Direct database access, rarely. Sometimes offered, usually regretted. Writing into a system you did not build means inheriting its rules without its validation, and an upgrade on their side can break your app silently.

One more thing to check before deciding: whether your platform contract allows an external system to read or write your data at all. Per seat platforms sometimes price or restrict that. If it turns out the tool is fighting you, the wider question is covered in when you outgrow field service software.

How does offline change the integration?

It turns a live call into a delivery problem. Work is finished with no signal, arrives hours later, and must be accepted as valid even though the receiving system learned about it after the fact.

Crews in basements, tunnels and plant rooms are not an edge case in this work, so the queue between the app and the other system is a permanent part of the design, not a fallback. Every pushed event needs an identifier, so that a retry after a lost connection does not create a second job or a second invoice line.

Photos are their own case. They travel on a separate queue from form data, because a dozen site images on one bar of signal behave nothing like a text payload, and without compression the storage and transfer cost becomes a real part of running the system. The three different things people mean by the word are separated in what offline actually means in a mobile app.

The rule we insist on

Whatever the sync design, there has to be a way to correct a record by hand, from an admin panel or from the app itself. Two devices touching the same record stays rare in practice, but when it happens, somebody in the office has to be able to fix it without calling a developer.

The same applies to the boundary with the other system. If one push fails permanently, an operator needs to see that it failed and resend it. A silent queue is how a month of billing goes missing.

What should actually cross the boundary in version one?

Only what the invoice needs. Four records decide whether a visit can be billed, and those are the four worth integrating first. Everything else can be added once the pipe is proven.

  • Time on site. Start and finish as absolute instants, not local clock readings, or payroll becomes a monthly argument the first time a shift crosses midnight.
  • Parts and materials used. Referenced against the catalogue in the system that owns it, rather than typed as free text that finance then has to interpret.
  • What was found and what was done. The narrative and the photos, attached to the job in a form a customer dispute can be answered with.
  • Whether the visit was covered. Service contract or chargeable. In heating and cooling this is the record that decides the invoice and the unit carries the history, which is why it is treated separately in custom HVAC software development.

How these four are captured on site, and what deliberately waits for a later version, is worked through in field service app requirements. In inspection and compliance work there is usually a fifth, the report format a regulator expects, which is why inspection app development starts from the output rather than from the job.

What does integration do to the timeline and the price?

A documented API adds one to three weeks per system. No API, or two way sync, moves it into its own phase and is the most common reason a field service project moves from the 10 to 14 week band into the 14 to 22 week band.

The variable is not the size of the payload, it is how many rounds of clarification the other side requires. Access to a sandbox, a contact who can answer questions about their own system, and permission to write are all things to secure in the kickoff week.

Where the rest of the weeks go is set out in how long a field service app takes.

For the commercial side, an integration is also the thing most likely to be quoted vaguely, because the vendor cannot see inside your platform either. Ask for it to be written as a named scope item with a named system, not as a general promise to connect.

The current bands by project shape sit on pricing, and what moves the number in this vertical specifically is on field service app development cost.

What to ask before anyone quotes the integration

Five questions. If you can answer these, any competent supplier can price the work honestly, and the ones that cannot answer them are telling you something.

  • Which system owns the customer, the site and the invoice today, and will that change?
  • Does that system have public documentation, and can we get test credentials this month?
  • What has to reach it on the day of the visit, and what can arrive overnight?
  • Who resolves it when the two sides disagree about the same job, and by what rule?
  • Who on our side owns the relationship with that vendor during the build?

That last one is underrated. On projects that slip, the usual cause is not code but access: credentials, environments and approvals that sit with someone outside the project. How that gets handled when the development team is in another country is described in nearshore app development, and how scope and price are committed together in fixed price app development.

A shipped example of the field side that feeds all of this is the TimeFix case study, and the service page is field service app development.

About the source

Who is answering this?

Company
Apps Value, mobile app development agency
Location
Kraków, Poland
Markets served
United States, Western Europe, Nordics
Experience
6 years, 19+ projects delivered, 13+ positive client reviews
Technologies
Flutter, React Native, NestJS, Supabase, PostgreSQL, AWS, Google Cloud
Engagement models
Fixed price contracts and dedicated development teams

FAQ

Can a custom field service app integrate with the software we already use?

Usually yes. A documented API is routine and adds one to three weeks per system. A platform with no interface needs a file exchange or a middle layer, which is a larger piece of work. The answer is knowable before you commit to anything, so it should be confirmed during scoping rather than assumed.

Should the new app or the existing platform hold the customer data?

Whichever one bills. If invoices leave your accounting or ERP system, that system owns customers, sites and contracts, and the app references them. Keeping two authoritative copies of the same customer creates a reconciliation problem that grows with every job.

Do we need two way sync?

Rarely in version one. Most of the value is in completed work reaching billing the same day, which is one direction. Two way sync means agreeing precedence between two systems that can both be right, and it is worth building after the field side is proven rather than before.

What happens to a job completed with no signal?

It sits in a queue on the device, then syncs and is pushed onward when the connection returns. Each event carries an identifier so a retry cannot create a duplicate, photos travel on their own queue, and a failed push has to be visible to someone in the office who can resend it.

Is it safer to write directly into the other system's database?

It is usually the option to avoid. You inherit the rules of a system you did not build without its validation, and an upgrade on their side can break the app quietly. A documented interface or a middle layer you control is more work upfront and far less risk afterwards.

Can the integration be added later instead of now?

Yes, if the data model is designed for it. That means stable identifiers, events rather than overwritten states, and no assumption that the app is the only system. Retrofitting an integration onto an app built as an island is where the expensive rewrites happen.

Thomas Siudut, Co-Founder and CEO of Apps Value
Written by Thomas Siudut Co-Founder and CEO, Apps Value

Thomas sets the company's long term strategy and direction, identifies market opportunities, and owns business development and client acquisition. He builds strategic partnerships that last beyond a single project. He works with clients from the first strategy conversation, so their business goals, not just their feature list, drive every decision.

Not sure what your app is allowed to write into?

Tell us which system runs your billing and scheduling today and we will tell you which of the three shapes your project is, what it does to the timeline, and what to confirm with your platform vendor first.

30 minutes, no preparation needed.