Products · 12 · Field Service Management
← All products

Plannr

From service contract to paid invoice — one platform, no handoffs.

Plannr turns recurring service agreements into an optimised technician schedule, turns completed visits into signed reports, and turns those reports into electronic invoices that get paid. Constraint-based planning, self-hosted route optimisation, an offline field app and Peppol e-invoicing across 35 country profiles come together in a single deployment you control.

510REST endpoints
35Peppol country profiles
0Map API keys needed
1Command to install
The problem

Recurring service is a scheduling problem that becomes a billing problem.

A company with four hundred maintenance contracts and eight technicians is running a constraint-satisfaction problem in a spreadsheet. Visits slip, routes zigzag, and paperwork comes back days later, often illegible. The invoice — the part the business actually lives on — goes out weeks after the work was done, if the extras get billed at all.

01
Unplanned drive time
A day sequenced by hand costs an hour of driving that a solver would not have spent.
02
Missed cadence
Quarterly contracts quietly become five-monthly. Nobody notices until the customer does.
03
Paper reports
No signature, no photos, no proof — and no defence when the work is disputed.
04
Leaked revenue
Extra parts and extra hours performed on site never reach an invoice line.
The solution

One chain, end to end, with nothing re-keyed.

01
Contract & schedule
Define the customer, the services and the cadence — weekly through annual, with seasonal months and tolerance windows — and the engine generates draft visits that respect skills, hours and preferences, then sequences each day to minimise real driving time.
02
Execute
The technician works from an installable, offline-capable field app: route, access instructions, checklists, photos, materials and the customer's signature.
03
Bill
Completed visits and their extras flow straight into invoice lines. The invoice goes out as PDF, as Peppol UBL or as a Stripe payment link — and chases itself if unpaid.

Built this way, on purpose

01
Draft, review, publish
The optimiser is not a black box assigning work behind your back. It produces a draft schedule as a tracked job; your planner reviews it on the calendar, drags what needs dragging, and publishes. Four objectives are selectable: minimise time, minimise distance, balance workload, or minimise the number of drivers.
02
Routing runs inside your own server
Plannr embeds a full routing engine in-process, downloads its own OpenStreetMap extracts, and proxies and caches its own map tiles. No Google Maps contract, no Mapbox key, no per-request geocoding bill — and it works in an air-gapped network.
03
One product, not two halves
The extras a technician records on site are the same objects the invoice reads. There is no export, no nightly sync and no re-keying between the operations half and the finance half of the product, because there are not two halves.

Capabilities

01Recurrence, contracts & scheduling
  • Weekly, biweekly, monthly, bimonthly, quarterly, semi-annual, annual and custom N-day cadences, with anchor dates, seasonal active months and tolerance windows.
  • Contract lifecycle — prepared, active, paused, expired, cancelled — with accept and refuse recorded against an actor and a timestamp; termination with immediate or notice-period modes.
  • Contract replacement chains, a reusable clause library, contract templates and section styles, with PDF generation and e-mail dispatch.
  • Four optimisation objectives — minimise time, minimise distance, balance workload or minimise drivers — against hard constraints (availability, skills, hours, breaks) and soft ones.
  • Asynchronous draft generation as a tracked job; your planner reviews, publishes or cancels from the calendar.
  • Day, week and month calendar with technician colour coding, drag-and-drop reschedule, an unassigned panel and conflict detection.
  • Absence modelling (day off, vacation, sick, training) and customer closed periods, plus printable day-route sheets with iCal export.
02The field app & customer data
  • Plannr Field: a separate installable PWA with its own icon and service worker, offline-capable with the app shell and technician code precached and an offline login screen.
  • Numeric PIN login scoped to a location; a day list and appointment detail screen with access instructions, contacts and one-tap native navigation.
  • Status flow from planned through confirmed, in progress, completed, cancelled, no-show and rescheduled.
  • Reports prefilled with the planned services, durations and per-service checklists; actual arrival, departure and on-site times are captured automatically.
  • Additional work and materials added on site carry straight into billing, alongside photographs, remarks, a follow-up flag, customer signature and GPS coordinates at submission.
  • Separate site and billing addresses with coordinates, access instructions and gate codes; preferred visit days and windows are honoured by the optimiser.
  • A service catalogue with default duration, required skills, checklist items, pricing and periodicity; materials master data with units, price and VAT rate; CSV import with bulk geocoding.
03Quotes, invoicing & documents
  • Estimates with validity dates and decline reasons, converting into either an invoice or a contract.
  • Invoices with line and document discounts, VAT breakdown, credit notes, and frozen customer and company snapshots at issue; six line types including service, material, labour and travel.
  • Recurring invoicing on weekly through yearly cycles, with completed appointments and their on-site extras pulled directly into invoice lines.
  • Open-invoice, ageing and period-revenue reports as PDF.
  • Three WYSIWYG document designers — invoice, work order and contract — with field, WYSIWYG and block layout modes and a preset catalogue with generated thumbnails.
  • Logo upload per organisation, with pixel-accurate PDF rendered through headless Chromium.
04Getting paid
  • Peppol / UBL electronic invoicing across 35 country profiles, with directory lookup, participant eligibility checks and access-point delivery.
  • Stripe card payments: stored payment methods, off-session charging, a hosted public payment page and signed webhooks, with separate test and live credentials per tenant.
  • SEPA QR codes printed on the invoice for scan-to-pay bank transfer.
  • Automated dunning with three reminder stages and eight ready-made letter designs.
  • Bank transfer, cash, card, cheque, SEPA direct debit and Bancontact recorded as payment methods.
05Customer-facing, intake & platform
  • Token pages needing no login: confirm or reschedule an appointment, read the service report, complete a survey, accept a contract or pay an invoice — all branded per organisation.
  • Inbound service requests with fuzzy customer matching, threaded messages and internal notes, and one-click conversion into a customer, contract and estimate.
  • An embeddable offering widget — a drop-in snippet that puts a bookable service on your own website.
  • Satisfaction surveys with rating, yes/no, text and multiple-choice questions, and issue tracking through to resolution.
  • A notification engine spanning 23 event types across appointments, invoices, contracts, requests and subscriptions.
  • 510 documented REST endpoints with OpenAPI and a browsable console; scoped API keys with per-key rate limits; 13 HMAC-signed webhook events with retry, delivery log and replay.
  • Four e-mail backends — SMTP, Outboundly, Gmail API and Microsoft 365 Graph — and around 4,200 interface strings shipped in English and Dutch, with further languages addable at runtime.
06Security & governance
  • Five roles assigned per location; method-level authorisation
  • Tenant, organisation and location isolation on every query
  • TOTP multi-factor and single sign-on via Azure AD or Google — configured in the database and changeable without a restart
  • AES encryption at rest for single-sign-on secrets, mail credentials, payment keys and webhook secrets
  • Passwords and PINs hashed with bcrypt; session and API tokens stored hashed only
  • Login rate limiting, account lockout after repeated failures
  • Content Security Policy with per-request nonces, HSTS, strict referrer policy, CSRF protection
  • Full audit log with actor, action, before/after state, IP and timestamp
  • Configurable retention with automated purge; scheduled database backups
  • Dependency vulnerability scanning gated at CVSS 7 in the build
■Java 25 on Spring Boot 4, native-image ready; PostgreSQL with PostGIS, 93 versioned migrations.
■Server-rendered vanilla ES6 front end — no framework, no build step, no CDN; GraphHopper routing embedded in-process with a self-hosted OpenStreetMap tile cache.
■Two installable progressive web apps from one deployment; the field app works fully offline.
■One-command install via docker compose up, with credentials and secrets generated on first run; all-in-one or split into front end, back end and scheduler tiers.
■510 documented REST endpoints with OpenAPI; Peppol/UBL e-invoicing across 35 country profiles; Stripe payments.
■Around 155,000 lines of application code, 61 entities, 220 test classes.

Industries

Who it works for
  • HVAC, plumbing & heating
    Annual inspections, boiler servicing under contract and seasonal work, with skill tags for certified gas work and emergencies folded into a planned day.
  • Electrical contracting
    Periodic installation inspections and certification visits across multi-site portfolios under one customer.
  • Fire, safety & security
    Extinguisher, alarm and emergency-lighting checks where the cadence is a legal obligation, with access instructions and gate codes per site.
  • Lift & equipment servicing
    Contracted maintenance rounds with parts consumption captured on site and billed the same week.
  • Commercial cleaning
    High-frequency recurring visits across many sites, with closed periods and seasonal months respected.
  • Pest control & hygiene
    Treatment cycles with photographic evidence, customer-signed reports and survey follow-up.
  • Grounds, pools & water
    Seasonal rounds modelled as active months, and chemical service rounds with materials, readings and checklists per service type.
  • Medical & lab equipment
    Calibration and maintenance intervals with a signed, timestamped and photographed record for every visit.
  • Facility management
    Multi-trade coordination across bases and teams, with territory and workload balancing.

Use cases

Example scenarios
01 · Fire, safety & security

Statutory safety checks that no longer slip past their due date

Challenge
A fire-safety company tracks extinguisher and emergency-lighting checks for hundreds of sites in a spreadsheet. Visits drift from their legal interval, and paper reports without signature or photos offer little defence when a check is disputed.
Approach
Each site gets a contract with an annual or semi-annual cadence, anchor dates and a tolerance window, and the engine generates draft visits for technicians with the right skills. On site, the field app shows access instructions and per-service checklists, and captures photos, the customer signature and GPS coordinates; the customer reads the report through a token page without logging in.
Result
The legal cadence is planned rather than remembered, and every visit leaves a signed, photographed record that can be shown to the customer or an inspector.
02 · Grounds, pools & water

Seasonal rounds that pause in winter and restart without replanning

Challenge
A grounds-maintenance company rebuilds its schedule by hand every spring and sequences each crew's day from memory. Crews drive back and forth between distant sites, and customers who asked for a fixed weekday are easily forgotten.
Approach
Contracts carry seasonal active months, so visits stop in winter and resume in spring on their own. The optimiser produces a draft schedule that honours preferred days and closed periods and minimises driving distance using its built-in routing engine; the planner adjusts it with drag-and-drop on the calendar and publishes it to the field app.
Result
The spring restart no longer means rebuilding the schedule, and each crew's day is sequenced by real driving distance instead of habit.
03 · Lift & equipment servicing

Parts used on site reach the invoice without re-keying

Challenge
Lift technicians note replaced parts and extra hours on paper work orders, and the office retypes them into the invoicing package at the end of the month. Some extras never make it onto an invoice, and unpaid invoices are chased by hand.
Approach
Technicians add materials from the materials master, with unit price and VAT rate, and additional work directly in the field app. Completed visits and their extras flow into invoice lines, and the invoice goes out as PDF or Peppol UBL with a SEPA QR code, followed by automated dunning in three reminder stages.
Result
What is used on site is what gets billed, and invoices go out the same week as the visit instead of at month end.
Licence

Per deployment. Never per seat.

Licensed per deployment, not per technician: every planner, dispatcher, technician and seasonal hire can be added at no extra software cost. The annual fee is set on your own turnover, ex VAT, marginal like income tax so there are no cliffs, from a €900 minimum with yearly increases capped at 25%. Every tranche includes unlimited users, projects and organisations in one tenant, plus self-hosting and support; hosting, hardware, consultancy, setup, migration and training are arranged separately.

Annual licence by turnover, ex VAT
TurnoverPer year
Up to €500k€900
€1M€1,500
€5M€2,500
€25M€5,500
€100M€13,000
€500M€37,000
€1B€52,000

Illustrative: a per-technician subscription at €35 a month bills a hundred and twenty engineers €50,400 a year; at €5M turnover this is €2,500.

What it does

  • 01One platform carries a service contract all the way to a paid invoice — no exports, no re-keying and no second system for finance.
  • 02Route optimisation and map tiles run inside your own server: no Google Maps contract, no Mapbox key, no per-request geocoding bill, and it works air-gapped.
  • 03Peppol e-invoicing across 35 country profiles, and licensing by deployment rather than by technician, so headcount growth never raises the software bill.

At a glance

CategoryField Service Management
LicencePer deployment, unlimited users, from €900 a year
For whomHVAC · Inspection · Cleaning · Maintenance · Care

Bring us one week of your schedule.

Give us a real customer list and a real contract set. We will run the optimiser against it and show you the driving hours it removes.Start the conversation →