The trip log that writes itself: stop guessing the business share of your vehicle
Every trip recorded automatically on a box you own, tagged in two minutes a week, exported as a year-end kilometre record
- A tracker per vehicle that speaks one of Traccar's protocols and can be pointed at your own server address, plus a data SIM: roughly EUR 65-125 one-off and EUR 1-3 a month each, prices move
- A machine that stays on, reachable from the internet over HTTPS, because the tracker has to deliver positions somewhere
- The odometer reading at the start and end of each year, photographed, or the totals have nothing to reconcile against
- Someone who tags last week's trips every week: this is the part that cannot be automated and the part that fails first
- If anyone other than the owner drives: a written geolocation policy naming every purpose and retention period, almost certainly a data protection impact assessment, and works council information where you have one
- An accountant who has told you which deduction method you are using, before you build the export
Version history
Verdict first, because this one has a hard boundary. If you are one person with one van, build it: a tracker, an evening, and you replace a subscription that runs €10 to €25 per vehicle per month. If staff drive the vehicles, build it, but read the pitfalls before you plug anything in — the Belgian data protection authority ruled on 25 March 2025 that recording around the clock is disproportionate, and the fix is a setting you can only make on a system you own. And if you are in Germany trying to replace the 1 % rule with a Fahrtenbuch, stop here. The courts want a closed book whose edits are visible inside the book itself. A system you can edit is not that, and no self-hosted setup is going to become one.
The architecture
the same flow as text
│ positions over the mobile network, straight to your address
▼
[ Traccar — the trip recorder (self-hosted, one small box) ]
├─ detects stops and closes a trip: start time, end time, addresses, distance
├─ geofences named after customers and sites → most trips label themselves
├─ reads the odometer off the OBD port where the tracker supports it
└─ records nothing outside the hours you configure
▼ n8n pulls new trips once a night
[ Grist — the weekly tagging table ]
├─ business · commute · private, plus the reason on business trips
└─ anything untagged after 7 days is chased, not forgotten
▼
[ year-end export ] every trip, odometer at both ends, one business percentage
Nothing here decides anything. It records, asks, totals and exports.
Three parts: something in the vehicle, a recorder you own, and a table where a human says what the trip was for. The third part is not automatable and pretending otherwise is how logbooks get rejected — only the driver knows whether Tuesday 14:20 to Ghent was a customer or a dentist.
The problem
A vehicle that is used for work and privately has a number attached to it: the share of kilometres that were business. That number decides how much VAT you recover and how much of the running cost you deduct. Most small businesses arrive at it by feel, once a year, in the accountant's office. It is the single largest unverified figure in a lot of small-company tax returns, and it is the easiest one to check — garages are required to note the odometer on service invoices, so the total kilometres are already on paper somewhere.
What the rules actually ask for. In Belgium, decision E.T. 119.650/3 of 11 December 2012 lets you establish professional use through a trip administration kept either by hand or, in its own words, in an automated way via an adapted GPS system. It lists the fields: date of the trip, start address, end address, kilometres per trip, total kilometres per day, plus the odometer reading at the start and end of the period. In the Netherlands the tax authority asks for the same shape plus make, model, plate, and a private-or-business marker per trip, with the 500 private kilometres a year threshold hanging off it. In the United States the IRS wants a contemporaneous record, and 2026 has a wrinkle: the business rate was 72,5 cents a mile from 1 January and 76 cents from 1 July, so the log has to be splittable at that date. Different tax offices, one data structure.
The money, for a Belgian passenger car. Three methods exist. The flat 35 % applies to every vehicle you own and locks you in for four years. The semi-flat formula puts private use at ((commute distance × 2 × 200) + 6.000) divided by total annual kilometres. The trip administration gives you your real number, capped at 50 % deduction for a passenger car. So the gap you are chasing is 15 percentage points on the VAT of the car and of every litre of fuel, tyre and repair. On a light commercial vehicle — a real one, not a car dressed as one — the 50 % cap does not apply at all: the trip administration can take you well past it, and the alternative flat rate is 85 % if the van is predominantly professional, 35 % if it is not. That is where the logbook pays for itself fastest.
Against what you would otherwise rent. Vimcar's Fahrtenbuch lists at €24,90 per vehicle per month excluding VAT, with a platform fee from €19,95 a month on the fleet product from the second year. Webfleet is quoted around $25 per vehicle per month. At the small end, MileIQ is $13,99 a month or $11,66 billed annually with 40 free drives, and Everlance gives 30 automatically detected trips a month free, $8,99 a month after that. Three vans on a fleet plan is roughly €1.100 a year. The build below is €0 of software, one tracker per vehicle at $75 to $135, a data SIM at a euro or two a month, and a small always-on box you probably already have.
One boundary before we start. Which method suits your vehicles, what you may deduct and how long you must keep the record are questions for your accountant and your tax office. This blueprint is the plumbing that produces the evidence, not advice on what to do with it.
Tool choices — and why
Setup outline
1. Get the two numbers you already have. Last year's odometer at 1 January and 31 December, from service invoices or the dashboard photo you never took. Divide your best guess at business kilometres by the total. That number is what you are about to replace with a measured one, and the difference is your business case.
2. Install Traccar on a small always-on box, behind a reverse proxy with a certificate. Add the vehicle. What you will see when it works: the device shows as online and a position appears on the map within a minute of the engine starting.
3. Fit the tracker and drive a known route — somewhere and back, a distance you know. Compare Traccar's trip distance with the odometer. Expect a small gap; write it down. If the gap is more than a couple of percent, fix it now, not in December.
4. Set the recording window. If anyone other than you drives, configure the system so it does not record outside working hours at all — not "records but hides", does not record. This is the step people skip and it is the one that matters legally.
5. Draw geofences around your yard, your regular customers and your home. Traccar will then name most arrivals for you, and the weekly tagging turns from typing into clicking.
6. Build the Grist table: trip id, vehicle, date, start, end, kilometres, category, purpose, customer. Wire the nightly n8n pull. What you will see when it works: Monday morning the table holds every trip from the weekend, untagged.
7. Tag one week by hand and time yourself. If it takes more than five minutes, your geofences are not doing enough work — go back to step 5 rather than accepting the chore.
8. Add the seven-day chase and the year-end export: every trip listed, odometer at both ends, totals per category, one business percentage per vehicle. Then run it in parallel with whatever you do today for one quarter and show the output to your accountant before you rely on it.
Pitfalls — the real ones
Verified repos
Traccar — Apache-2.0, 7.572 stars, release v6.14.5 18/06/2026, pushed 08/08/2026
Traccar web frontend — Apache-2.0, 1.152 stars, pushed 10/08/2026
Traccar Client — Apache-2.0, 166 stars, pushed 10/08/2026. The older per-platform clients (traccar-client-android, traccar-client-ios) were last pushed 07/06/2025 — use this one.
OwnTracks Android — EPL-1.0, 1.744 stars, pushed 08/08/2026 · OwnTracks Recorder — 1.188 stars, pushed 10/08/2026, licence not resolved to a standard identifier: read the LICENCE file
Grist — Apache-2.0, 11.438 stars, pushed 10/08/2026
NocoDB — 64.489 stars, pushed 10/08/2026, licence not resolved to a standard identifier: read the LICENCE file
n8n — Sustainable Use Licence (fair-code), 200k stars, pushed 10/08/2026
Repo facts checked 11/08/2026. Belgian trip-administration fields from decision E.T. 119.650/3 of 11/12/2012; Dutch fields from the Belastingdienst rittenregistratie page; German requirements from BFH 12/01/2024 (VI B 37/23), FG Düsseldorf 24/11/2023 (3 K 1887/22) and BMF 04/04/2018; US rates from IRS Notice 2026-10 and Announcement 2026-11; employee-monitoring points from Belgian DPA decision 61/2025 of 25/03/2025 and the authority's geolocation guidance. Hardware prices from the Freematics store, subscription prices from vendor list pages, all checked 11/08/2026 and all liable to change. None of this is tax or legal advice: confirm your method, your deduction and your monitoring obligations with your accountant and, where staff are involved, with a lawyer.