Passer au contenu principal
Les détails du produit sont affichés en anglais. Traductions à venir.
Field Service Mobile PWA — An offline-first Progressive Web App that lets field technicians view assigned jobs, capture photo — 1/1Aperçu illustratif

An offline-first Progressive Web App that lets field technicians view assigned jobs,

capture photos and customer signatures, and check in by GPS, then sync everything back into ERPNext. Built to order, installed and supported by ECOSIRE.

Qu'est-ce que Field Service Mobile PWA ?

An offline-first Progressive Web App that lets field technicians view assigned jobs, capture photos and customer signatures, and check in by GPS, then sync everything back into ERPNext. Built to order, installed and supported by ECOSIRE. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Fonctionnalités clés

Offline-first PWA: service worker caches the app shell and each technician's assigned jobs; entries queue in IndexedDB and background-sync to ERPNext on reconnect
Conflict handling on `modified` timestamp so an offline edit never silently clobbers a dispatcher's concurrent change
Home-screen installable via web manifest — no app-store submission, one codebase, upgraded with `bench`
Dedicated Frappe app (`field_service_pwa`) with its own module — never patches ERPNext core, migrates cleanly
`Field Job` / `Job Visit Log` / `Job Attachment` DocTypes linked to Customer, Item and Sales Invoice for straight-to-billing flow
GPS check-in/check-out writing timestamped, geocoded visit-log rows against each job
On-canvas customer signature capture stored as a private File PNG on the job for signed proof of service
Photo capture with automatic attach to the job as private File records, thumbnailed for low-bandwidth review
Batched sync endpoint exposed as an idempotent `@frappe.whitelist()` method to minimise round-trips on poor connections
`hooks.py` `doc_events` on submit stamp on-site duration and advance job status automatically
Scheduler event flags visits that checked in but never checked out for dispatcher follow-up
Role + Role Profile with permission queries so a field user sees only their own jobs and customers
Client scripts for on-device field validation plus an ERPNext-side kanban dispatch board
Every field action recorded in the standard ERPNext document timeline for a complete audit trail
Targets Frappe/ERPNext v15 and v16, delivered as installable source with the git repository

Fait sur commande, clé en main

Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.

  1. 1

    Vous commandez

    Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.

  2. 2

    Nous développons et installons

    ECOSIRE la développe, la configure et l'installe sur votre ERPNext.

  3. 3

    Mise en ligne + assistance

    Vous êtes en ligne en une semaine ouvrée environ, avec deux semaines d’assistance après la mise en production. Les défauts du code que nous livrons sont corrigés gratuitement.

Spécifications techniques

Compatibilité ERPNext
—
Licence
Licence à confirmer
Version Python requise
Python 3.10+
Base de données
MariaDB 10.6+

À propos de ce produit

Service companies run their scheduling, customers and invoicing in ERPNext, but the technician standing at a customer site has no good way to interact with it. The ERPNext desk is a heavy back-office UI that assumes a stable connection and a full-size screen; in a basement, a rural site or an underground car park there is often no signal at all. So dispatchers phone jobs through, technicians scribble notes and photograph work on their personal phones, and someone re-keys it into ERPNext hours or days later. Job status, proof-of-service photos, signed completion sheets and arrival/departure times all live outside the system until then, which delays invoicing and leaves disputes with no audit trail.

ECOSIRE builds a dedicated offline-first PWA that runs in the technician's mobile browser and installs to the home screen — no app-store submission, no separate native codebase to maintain. It ships as a proper Frappe app (field_service_pwa) with its own module, so it upgrades cleanly with bench and never patches ERPNext core. The front end is service-worker-backed: the app shell and each technician's assigned jobs are cached locally, form entries are written to IndexedDB while offline, and a background sync queue replays them to ERPNext the moment connectivity returns. We add conflict handling on the modified timestamp so a stale local copy never silently overwrites a dispatcher's change.

Under the hood the data model is real ERPNext. We add DocTypes such as Field Job, Job Visit Log and Job Attachment (or map onto your existing Maintenance Visit / Issue / Work Order flow where you already use it), linked to Customer, Item and Sales Invoice so a completed job can flow straight into billing. All reads and writes go over the Frappe REST API plus a small set of @frappe.whitelist() methods for the batched sync endpoint and the signed-completion write. Photos and the captured signature (a base64 PNG from a canvas) are stored as private File records against the job. GPS check-in/out writes a timestamped, geocoded Job Visit Log row; a hooks.py doc_events handler on submit stamps duration and flips the job status, and a scheduler event nightly flags visits that never checked out.

Access is governed by ERPNext permissions, not a bolt-on: technicians get a dedicated Role and Role Profile so a field user only ever sees their own assigned jobs and customer records, enforced by permission queries rather than UI hiding. Client scripts drive the on-device validation and the ERPNext-side kanban dispatch board, and every field action lands in the standard document timeline for a full audit trail. The whole app targets Frappe/ERPNext v15 and v16.

Because this is build-to-order, nothing is a pre-packaged download. We start with a short scoping call to map your exact dispatch workflow, the fields your technicians must capture and how completed jobs should hit invoicing. We build against that scope, deliver to a staging site for your UAT, then install on your production ERPNext with a rollback plan. Typical delivery is one working week from confirmed scope, and you receive the full source and git repository so nothing is locked to us.

Ce que vous obtenez

  • Installable source code for the `field_service_pwa` Frappe app built to your confirmed scope
  • Installation and configuration on your ERPNext instance (roles, role profiles, DocTypes, scheduler events)
  • Technical documentation: DocType schema, whitelisted API endpoints, hooks and sync architecture
  • Field-technician user guide plus a live training session for staff and dispatchers
  • UAT on a staging site before production cutover, with a documented rollback plan
  • Post-go-live support window for defect fixes and configuration adjustments
  • Full git repository handover so you own and can extend the code
  • Compatibility validation against your target Frappe/ERPNext v15 or v16 version

Pour qui c'est

Field service operations manager

Runs a team of technicians dispatched to customer sites and needs job status, arrival times and proof of service to land in ERPNext in real time instead of being re-keyed days later.

Dispatcher / scheduler

Assigns and re-routes jobs during the day and wants a live kanban board plus GPS check-ins so they know who is on site and which jobs are actually complete.

ERPNext administrator

Owns the ERPNext instance and wants a clean, upgrade-safe Frappe app with real permissions and DocTypes — not a core patch or an external database that drifts out of sync.

Finance / billing lead

Needs signed completion sheets and captured labour time tied directly to the job so a Sales Invoice can be raised the same day without chasing paperwork.

Comment Field Service Mobile PWA se compare

CritèreÉCOSIREConstruction personnaliséeConcurrentNatif ERPNext
Offline capabilityOffline-first PWA with IndexedDB queue and background syncPossible but you design and test the whole offline layer yourselfMost are online-only desk or portal viewsERPNext desk needs a live connection
Fit to your dispatch workflowBuilt to your confirmed scope and field capture rulesFully bespoke, at your own build cost and riskGeneric; you adapt to its assumptionsGeneric Maintenance Visit / Issue flows only
ERPNext integrationReal DocTypes, REST API, whitelisted methods, hooksDepends entirely on your team's Frappe depthVaries; some sync via external DB that driftsNative, but desk UI not built for the field
Upgrade safety (v15/v16)Separate Frappe app, no core patches, bench-upgradeableRisk of core edits that break on upgradeDepends on vendor's maintenance cadenceCore; upgrades handled by Frappe
Photo & signature captureOn-device canvas signature + photos as private File recordsYou build capture, storage and permissionsOften add-on or absentManual file upload only, no field UX
GPS check-in / visit logsGeocoded, timestamped visit logs with hooks and scheduler checksBespoke build and testingRarely includedNot available
Ownership & lock-inFull source and git repo handed over to youYou own it but carry all build effortTypically closed source / licensedN/A — part of ERPNext
Support & deliveryone working week from scope, UAT, rollback, post-go-live windowTimeline and support depend on your resourcingSelf-serve install, community supportCovered by your ERPNext support arrangement

Foire aux questions sur Field Service Mobile PWA

How long does delivery take?

This is a build-to-order app, so it is not an instant download. After a short scoping call to confirm your exact dispatch workflow and the fields technicians must capture, typical delivery is one working week from confirmed scope. You review the build on a staging site before we cut over to production.

How do updates and support work after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration tweaks, and you receive the full git repository so your own team can extend the app. Beyond the included window we offer ongoing support and version-upgrade retainers, including moving the app across Frappe/ERPNext v15 to v16.

Does it really work with no internet connection?

Yes. The PWA caches the app shell and each technician's assigned jobs, and writes new entries — photos, signatures, GPS check-ins, job updates — to on-device storage while offline. A background sync queue replays them to ERPNext when the connection returns, with conflict handling so nothing is lost or overwritten.

Will this modify or destabilise our ERPNext core?

No. It is delivered as a separate Frappe app with its own module and DocTypes. It integrates through the Frappe REST API, whitelisted methods, hooks and permissions rather than editing ERPNext core files, so your instance still upgrades with `bench` in the normal way.

Do technicians need to install anything from an app store?

No. It is a Progressive Web App they open in their mobile browser and add to the home screen via the web manifest. That means one codebase for Android and iOS, no store review delays, and updates you control — no native build to maintain.

How is technician access restricted?

Access is enforced through ERPNext permissions using a dedicated Role and Role Profile plus permission queries, so a field user only ever sees their own assigned jobs and the related customer records — not the whole database. All actions are recorded in the standard document timeline.

Can completed jobs flow into invoicing?

Yes. The job DocTypes link to Customer, Item and Sales Invoice, and captured labour time plus the signed completion record can be used to raise a Sales Invoice directly in ERPNext, so billing does not wait on paperwork returning from the field.

Demander un devis

Field Service Mobile PWA

An offline-first Progressive Web App that lets field technicians view assigned jobs, capture photos and customer signatures, and check in by GPS, then sync everything back into ERPNext. Built to order, installed and supported by ECOSIRE.

  • Offline-first PWA: service worker caches the app shell and each technician's assigned jobs; entries queue in IndexedDB and background-sync to ERPNext on reconnect
  • Conflict handling on `modified` timestamp so an offline edit never silently clobbers a dispatcher's concurrent change
  • Home-screen installable via web manifest — no app-store submission, one codebase, upgraded with `bench`
  • Dedicated Frappe app (`field_service_pwa`) with its own module — never patches ERPNext core, migrates cleanly

Demander un devis

Décrivez vos besoins pour Field Service Mobile PWA et nous vous enverrons les tarifs, les options de licence et une proposition sur mesure, généralement sous un jour ouvré.

Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.