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.
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.
One chain, end to end, with nothing re-keyed.
Built this way, on purpose
Capabilities
- 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.
- 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.
- 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.
- 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.
- 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.
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.