Getting Started
Follow these steps in order to take Field Service from a freshly enabled module to a working service desk. Do the setup in a training environment first, then repeat it against live data once your team has walked the flow end to end.
Before You Begin
Field Service reuses existing ERPat modules instead of duplicating them, and degrades gracefully when a sibling is off. Some setup goes smoother if these are already in place, but none are required just to turn the module on:
| Sibling module | What Field Service uses it for | If it is off |
|---|---|---|
| Sales / Clients | Customers (referenced, never copied) | Customer sites still work, but there is no client to link |
| Warehouse | Parts stock, reservations and van stock | Parts are recorded on the job only, with no stock movement |
| Finance / Invoices & Payments | The billing hand-off and payment recording | You can complete jobs but cannot create the invoice |
| HR (Team Members) | Technician weekly schedules that drive availability | No availability slots appear when assigning |
| Forms | Checklists and inspection templates | Tasks still work; form-driven checklists are unavailable |
| Assets | Make/model catalog reference for customer equipment | Customer assets are entered manually |
| Notifications & Advanced Cron | Reminders, SLA evaluation and maintenance generation | Automation and reminders do not run |
Step 1 — Enable the Module and Create the Tables
- Go to Settings → Manage Modules and enable Field Service (this sets
module_field_service). - Run the module migrations so the 60
fs_*tables are created on the primary database and every tenant:php erpat migrate:modules - Confirm the Field Service group now appears in the left sidebar under Operations.
migrate:modules runs against every tenant. The module migrations are idempotent and reversible, so re-running is safe.Step 2 — Assign Permissions
Field Service ships fine-grained, stable permission keys. Grant them in Settings → Roles (administrators bypass all checks). Start with these role bundles and refine later:
| Role | Typical permissions |
|---|---|
| Service coordinator / dispatcher | field_service, field_service_request, field_service_workorder (+ release / schedule / dispatch), field_service_dispatch |
| Field technician | field_service, field_service_workorder, field_service_technician |
| Reviewer / quality | field_service_workorder_review, field_service_workorder_approve |
| Billing staff | field_service_quote, field_service_billing, field_service_payment |
| Administrator | field_service_settings, field_service_audit_export, plus AI approval where used |
Live location and location history are deliberately separate permissions (field_service_location_live / field_service_location_history) — grant them only to roles that genuinely need to see technician position. The full list is in the Administration page.
Step 3 — Choose Lite or Pro and Toggle Features
Open Settings → Field Service and set the operating mode plus the feature flags. Lite is the default; turn on Pro surfaces only when you are ready to operate them.
| Setting | Controls |
|---|---|
field_service_mode | Lite (SME) or Pro (multi-branch dispatch) |
field_service_customer_portal | The public self-service portal |
field_service_mobile_offline | The installable offline technician app |
field_service_dispatch_board | The drag-and-drop dispatch board (Pro) |
field_service_sla | SLA policies and escalation (Pro) |
field_service_contracts | Service contracts and entitlements (Pro) |
field_service_route_recommendations | Route suggestions (Pro) |
field_service.ai_assist | Optional AI assist (off by default; needs the data-privacy acknowledgement) |
Step 4 — Build Your Master Data
Enter the reference data that every work order draws on. Order matters — availability and assignment depend on the earlier items.
- Service templates — the standard jobs you perform (e.g. "Freezer repair", "Quarterly aircon PM"), with default tasks and durations. Field Service → Settings → Service Templates.
- Skills (and certifications) — so the system can match qualified technicians. Field Service → Technicians → Skills.
- Technicians — create a technician profile for each field worker and attach their skills.
Prerequisite: a technician needs an HR weekly schedule (in their Team Member record) for availability slots to appear when you assign a job. No schedule means no bookable time.
- Service zones — the geographic areas you cover, used for routing and coverage. Field Service → Settings → Service Zones.
- Customer sites — each customer's serviceable locations, with contacts. Field Service → Customers.
- Customer assets — the equipment you service at those sites, with warranty and meter history. Field Service → Assets.
Step 5 — Load the Demo Data (Optional)
To see the module working with realistic content before entering your own data, load the sample dataset. It is idempotent (safe to re-run) and reversible.
- Load:
php erpat db:seed FieldServiceDemo - One tenant:
php erpat db:seed FieldServiceDemo --tenant=<company_key> - Remove the demo data later:
php erpat db:seed FieldServiceDemo --remove
The demo seeder loads a two-week operational storyline centered on the day you run it — last week's completed and billed jobs, live work today, and next week's scheduled pipeline — so the Dashboard, Calendar, Dispatch board, SLA, Maintenance, Quotes, Billing and Reports screens all render with data. It switches the module to Pro mode with every feature flag enabled, and creates six demo staff you can sign in with (for example [email protected], password Demo@12345). Remove everything later with --remove; the feature flags stay as set.
Go-Live Checklist
module_field_serviceis enabled andmigrate:moduleshas been run.- Roles have the right Field Service permissions; location permissions are restricted.
- Lite/Pro mode and the portal, offline, dispatch, SLA and contract flags are set intentionally.
- Every technician has skills and an HR weekly schedule.
- Service templates, zones, customer sites and assets are entered.
- Warehouse, Finance and Notifications are enabled if you need stock, invoicing and reminders.
- The team has walked the request → work order → bill flow once in training.