Ik ontwikkelde Vessia, een programma waarin binnenvaartschippers ritten, verhuur, facturen, boorddocumenten, gasolie en metingen op één plek bijhouden.
Vier keer dezelfde gegevens
De aanleiding was concreet. Mijn broer is binnenvaartschipper en doet zijn administratie zelf. Jaren geleden maakte ik daar Excel-bestanden voor: een ritoverzicht met formules, een opzet voor een factuur. Die hebben goed dienstgedaan en waren een flinke stap vooruit ten opzichte van losse briefjes.
Alleen losten ze het echte probleem niet op. Elke reis werd vier keer ingevoerd: in het ritoverzicht, op het formulier van de bevrachter, op de factuur en aan het eind van de week nog eens in de weekstaat. Dezelfde tonnages, datums en plaatsen werden telkens opnieuw overgetikt, met elke keer de kans op een typefout die pas opvalt als de factuur al is verstuurd.
Dat patroon zie ik bij veel bedrijven terug. Het is zelden luiheid of slordigheid. Het komt doordat elk bestand zijn eigen kopie van dezelfde gegevens bewaart en de bestanden niets van elkaar weten.
Eén keer vastleggen, overal hergebruiken
In Vessia hangt alles aan de rit. Je legt de reis vast met route, lading, tijden en prijs, en daaruit volgt de rest: de factuur, het formulier van de bevrachter, de weekstaat, het gasolieverbruik en de overzichten. Een terugkerende reis kopieer je in een paar klikken.

Het uitgangspunt: wat je al hebt ingevoerd, tik je nooit meer over.
Eerst kijken hoe het werk echt gaat
Mijn eerste opzet ging uit van een net stappenplan: aankomen bij de laadplek en dat melden, laden, vertrekken, aankomen, lossen. De app zou je door de reis heen leiden en onderweg alles verzamelen. Logisch bedacht achter een bureau.
Mijn broer prikte daar meteen doorheen. Zo gaat het aan boord niet. Tijdens het laden heb je wel wat anders te doen dan een programma doorklikken, en onderweg komt er van alles tussendoor. In de praktijk gaat alles snel op een kladje, en wordt het ’s avonds of een paar dagen later netjes verwerkt.
Dus gooide ik het ontwerp om. Vessia dwingt geen volgorde af. Wil je iets meteen invoeren, dan kan dat. Wil je een hele reis achteraf in één keer overnemen van dat kladje, dan is elk scherm daar net zo goed op ingericht. Dat is de belangrijkste keuze in het hele programma geworden, en die kwam niet van mij maar uit de stuurhut.

Dit is precies waarom ik langskom voordat ik iets bouw. Een uur meekijken hoe het werk echt gaat, levert een beter programma op dan drie videogesprekken over hoe het zou moeten gaan.
Je eigen formulieren vullen zichzelf
Hier verdwijnt het dubbele werk het duidelijkst. Elke bevrachter heeft zijn eigen formulier, en dat moest voor iedere reis opnieuw met de hand worden ingevuld met gegevens die al in de administratie stonden.
Je zet je bestaande Excel- of pdf-formulier één keer in Vessia en wijst aan waar elk gegeven hoort. Daarna vult het programma dat formulier voor je in, per reis, week, jaar of verhuurperiode. Je eigen formulier wordt automatisch ingevuld, zonder dat de bevrachter iets hoeft te veranderen.

Een document maken kost daarna twee klikken: kies het formulier en de reis. De reisgegevens staan er al in. Je controleert ze, vult aan wat nog ontbreekt en maakt het document definitief. Een handtekening zet je op het scherm, ook die van de man aan de wal, dus er hoeft niets meer te worden geprint of gescand. Versturen gaat vanuit het programma zelf, vanaf je eigen e-mailadres. Je ziet precies terug wat je wanneer naar wie hebt gestuurd.
Meten zonder papieren tabel
Bij laden en lossen wordt de lading bepaald met een diepgangsmeting. Je leest af hoe diep het schip ligt en zoekt het bijbehorende gewicht op in de ijktabel van het schip. Voorheen betekende dat bladeren in een papieren tabel en tussenwaarden met de hand uitrekenen.
In Vessia zet je die tabel er één keer in. Daarna vul je de aflezingen in en rekent het programma de lading uit. Het bijbehorende formulier staat meteen klaar, met je eigen logo en handtekening erop.

Facturen die kloppen met de afspraak
Facturen maak je vanuit de reizen, vanuit verhuur of met losse regels. Vessia stelt de bedragen voor, inclusief de gasolietoeslag zoals die per reis is afgesproken: per ton, per verbruikte kubieke meter of een vast bedrag bij een lege vaart. Per factuur kies je de btw-situatie, en het programma bewaakt de nummering en maakt er een nette pdf van met je eigen logo.

Verhuur van het schip voor een langere periode is apart geregeld, want dat is een ander soort afspraak: een dagtarief, een looptijd en een vergoeding voor de gasolie, met daaronder de gemaakte reizen.
Wat het aan boord scheelt
- Een reis wordt eenmaal ingevoerd in plaats van vier keer. Daardoor verdwijnen de typefouten die bij overtypen ontstaan.
- Formulieren van bevrachters worden gevuld met gegevens die al in Vessia staan.
- Het dashboard laat zien wat klaarstaat voor facturatie en welke betalingen nog openstaan.
- Een kladje verwerken kost na een vaarweek nog een paar minuten.
De schipper die Vessia dagelijks gebruikt zei daarover:
Ik vind dat platform toch zo handig. Gisteren ook een bon gemaakt. Ik mocht namens die man tekenen, en dat kon nu mooi online. Het werkt mooi zo en het bespaart echt veel tijd.
Binnenvaartschipper
Waarom dit ook buiten de binnenvaart geldt
De binnenvaart is een niche, maar het onderliggende probleem is dat niet. Dubbele invoer is bijna nooit op te lossen met een sneller formulier of een strakker Excel-bestand. Het probleem verdwijnt pas als de gegevens één keer op één plek staan en alles daarnaar verwijst.
Bij andere bedrijven begin ik op dezelfde plek: waar worden dezelfde gegevens meerdere keren ingevoerd? Daarna maak ik één bron waar de andere documenten en overzichten uit worden opgebouwd.
Vessia wordt inmiddels dagelijks aan boord gebruikt. Ken je een schipper die avonden kwijt is aan zijn administratie, wijs hem er dan gerust op.
Voor de technische lezer: Vessia is gebouwd op mijn eigen projectsjabloon, met een .NET 10-API, een React 19-front-end en een Astro-marketingsite. Van de eerste regel code tot een werkend product in drie weken, omdat inloggen, betalingen, e-mail en beheer al klaarstonden.
