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.
■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.

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

For whomHVAC · Inspection · Cleaning · Maintenance · Care
LicenceLicensed 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.

Plannr in your organisation?