De kosten van custom software hangen af van wat je laat bouwen en wat nodig is om het dagelijks te gebruiken. Een prijslijst met alleen labels als MVP of bedrijfsplatform mist daarvoor te veel informatie. Deze gids helpt je een offerte uitsplitsen en de kosten over meerdere jaren berekenen. Voor de bredere keuze lees je de gids over custom software; bij code-eigendom en afhankelijkheid van leveranciers lees je wat je over de overdracht moet afspreken.
Hoe wordt de prijs van custom software bepaald?
De bouwprijs volgt uit de afgesproken werking en de omstandigheden waarin de software moet werken. Het aantal schermen is daarvoor geen goede maatstaf. Achter één knop kan een eenvoudige opslagactie zitten, maar ook een controle over meerdere systemen met verschillende toegangsrechten en foutafhandeling.
Een bruikbare scope beschrijft wat iemand moet kunnen afronden. Bijvoorbeeld: een medewerker maakt een aanvraag, een leidinggevende keurt die goed en de administratie verwerkt hem. Voeg toe wat er bij afwijzing of een ontbrekend gegeven gebeurt. Zo ziet een ontwikkelaar meer dan een lijst schermnamen en kun jij later beoordelen of het werk is opgeleverd.
Bestaande gegevens kunnen de raming veranderen. Wie controleert dubbele klanten, ontbrekende adressen of afwijkende productcodes vóór de migratie? En wie beslist welke waarde klopt? Dat is niet altijd programmeerwerk, maar het moet wel gebeuren. Een offerte die uitgaat van een schoon bestand is moeilijk te vergelijken met een offerte waarin de leverancier dat bestand eerst moet herstellen.
Welke onderdelen horen apart in een offerte?
Vraag de leverancier de posten zo op te schrijven dat je ziet welke oplevering erbij hoort. Dat hoeft geen gedetailleerde urenregistratie per knop te worden. Je moet wel kunnen herkennen of ontwerp, testen en ingebruikname zijn inbegrepen of nog volgen.
| Onderdeel | Gewenste toelichting | Bespreek deze aanname |
|---|---|---|
| Onderzoek en afbakening | Werkproces, rollen, uitzonderingen en haalbaarheid | Welke onzekerheden blijven over? |
| Ontwerp en bouw | Functies en schermen voor de afgesproken taken | Wat valt buiten de eerste versie? |
| Koppelingen | Gegevens en handelingen per extern systeem | Is toegang tot een API en testomgeving beschikbaar? |
| Migratie | Bronnen, opschoning en controle van overgezette gegevens | Wie levert welke gegevens aan? |
| Testen en beveiliging | Controle van werking, rechten en herstel | Welke resultaten krijg je te zien? |
| Ingebruikname | Installatie, instructie, documentatie en overgang | Wie helpt als de eerste werkdag anders loopt? |
| Beheer | Onderhoud, ondersteuning en externe diensten | Welke kosten keren terug? |
Een koppeling is meer dan de eerste succesvolle uitwisseling. Bespreek ook een storing, een dubbele verzending en een wijziging aan de kant van de leverancier. In software koppelen staat hoe je zo’n uitwisseling inhoudelijk afbakent. Vraag geen algemeen bedrag per koppeling als de betrokken systemen en handelingen nog onbekend zijn.
Beveiliging hoort eveneens bij het ontwerp en het ontwikkelwerk. Het Secure Software Development Framework van NIST beschrijft beveiligingspraktijken binnen het ontwikkelproces. Gebruik dat als aanleiding om de leverancier te vragen welke controles en afspraken je terugziet in het voorstel. Een verwijzing naar een kader is op zichzelf geen bewijs dat jouw toepassing is getest.
Hoe bereken je de kosten over twee jaar?
Onderstaand voorbeeld is volledig fictief. De bedragen zijn gekozen om de rekensom te laten zien. Het zijn geen marktgemiddelden, leverancierstarieven of TopDevs-prijzen. We nemen een gelijk gebruik in beide jaren aan, zonder prijsverhogingen of nieuwe functies. Alle bedragen zijn exclusief btw.
| Kostenpost in dit rekenvoorbeeld | Jaar 1 | Jaar 2 |
|---|---|---|
| Bouw van de afgesproken toepassing | €20.000 | €0 |
| Eenmalige gegevensmigratie | €2.000 | €0 |
| Hosting, aangenomen €100 per maand | €1.200 | €1.200 |
| Externe diensten, aangenomen €60 per maand | €720 | €720 |
| Afgesproken onderhoud | €2.400 | €2.400 |
| Eenmalige instructie | €1.000 | €0 |
| Subtotaal van deze posten | €27.320 | €4.320 |
Samen is dat €31.640 over twee jaar. De bouwofferte van €20.000 is dus één onderdeel van de berekening. In dit voorbeeld vervallen bouw, migratie en instructie in het tweede jaar, maar hosting, diensten en onderhoud lopen door.
Dit is nog geen complete bedrijfsbegroting. Interne uren, eventuele extra opleiding, nieuwe functies en onverwacht herstel zijn niet ingevuld. Voeg ze voor je eigen project toe. Houd ook rekening met de overgang: als het oude en nieuwe systeem tijdelijk naast elkaar draaien, kunnen in die periode twee abonnementen of beheerafspraken doorlopen.
Je hoeft onzekerheden niet te verbergen in één precies eindbedrag. Maak naast de basisbegroting een scenario waarin meer gebruikers aansluiten of een extra koppeling nodig wordt. Benoem welke aanname verandert. Daarmee wordt zichtbaar waarvoor je een besluit nodig hebt als dat scenario zich voordoet.
Welke kosten blijven terugkomen na oplevering?
Vraag wat onderhoud concreet inhoudt. Het kan gaan om beveiligingsupdates, het controleren van back-ups, herstel bij storingen of aanpassingen aan een gewijzigde koppeling. Nieuwe functies zijn weer ander werk. Laat een maandbedrag daarom altijd vergezeld gaan van een beschrijving van de dienstverlening.
Ondersteuning tijdens kantooruren is iets anders dan bereikbaarheid buiten kantooruren. En een afgesproken reactietijd is nog geen termijn waarbinnen ieder probleem is opgelost. Bespreek wie een storing mag melden, wie de ernst bepaalt en wie tijdelijk een handmatig proces kan inschakelen.
Externe diensten hebben eigen voorwaarden. Denk aan een maildienst, betaalverwerking of AI-model. Als je toepassing AI gebruikt, begroot dat verbruik apart met de methode uit AI agent kosten. Eigendom van de maatwerkcode maakt zulke diensten niet kosteloos en geeft je geen zeggenschap over hun tarieven.
Vergeet het functionele beheer niet. Iemand moet nieuwe medewerkers toegang geven, bepalen of een rapport nog klopt en veranderingen in het werkproces doorgeven. Leg vast wie dat binnen jouw bedrijf doet. Anders kan een technisch werkende toepassing alsnog met verouderde gegevens of werkinstructies blijven draaien.
Kies je een vaste prijs, uren of een budgetplafond?
Een vaste prijs past bij werk dat voldoende duidelijk is afgesproken. De prijs hoort dan bij die afbakening. Verander je later de werking, dan moet ook duidelijk zijn hoe partijen de gevolgen voor kosten en planning afspreken. Een vaste prijs betekent niet dat alle denkbare toekomstige wensen inbegrepen zijn.
Betalen op basis van uren kan passen bij onderzoek of werk waarvan de richting nog verandert. Vraag dan om zichtbare voortgang, inzicht in verbruikte uren en momenten waarop je beslist over het vervolg. Zonder die afspraken kun je wel facturen ontvangen, maar moeilijk beoordelen of de volgende investering zinvol is.
Bij een budgetplafond moet je weten wat er gebeurt als het plafond in zicht komt. Stopt het werk, wordt de scope kleiner of is aanvullende toestemming nodig? Het woord plafond alleen geeft daarop geen antwoord. Bij TopDevs spreken we voor de afgebakende opdracht vooraf een vaste prijs af; de inhoud van die opdracht blijft het vertrekpunt.
Hoe vergelijk je leveranciers zonder alleen op het uurtarief te letten?
Stuur iedere leverancier hetzelfde voorbeeldproces en dezelfde uitgangspunten. Laat ontbrekende informatie als vraag terugkomen. Vergelijk daarna de voorstellen per oplevering: inbegrepen, uitgesloten of nog onduidelijk. Een lege regel kan meer zeggen dan een klein prijsverschil.
Vraag wie het werk uitvoert, wie inhoudelijke keuzes toelicht en wie na oplevering bereikbaar is. Een freelancer kan met vervanging en overdracht werken; een groter bureau kan juist veel werk bij één persoon hebben liggen. Leid de continuïteit daarom af uit de afspraken en beschikbare mensen, niet uit de bedrijfsvorm.
Bespreek ook acceptatie. Welke taken moet je team kunnen uitvoeren voordat je een onderdeel goedkeurt? Gebruik daarvoor je eigen voorbeelden. Een leverancier kan laten zien dat een formulier werkt, terwijl jij wilt weten of een afgewezen aanvraag met de juiste reden terugkomt bij de medewerker.
Hoe voorkom je dat een gunstige begroting een dure keuze wordt?
Controleer eerst of een bestaand pakket je taak voldoende ondersteunt. Maatwerk is geen automatische besparing op licenties: je neemt ook verantwoordelijkheid voor een eigen toepassing. Onze vergelijking van AFAS en maatwerk laat zien waarom de passende route van het proces afhangt.
Koppel de investering vervolgens aan een meetbaar probleem. Hoeveel dubbel werk gebeurt er nu, wie ondervindt er hinder van en wat zou na invoering anders moeten gaan? Tel controlewerk en uitzonderingen mee. Een verwachting van tijdwinst is iets om te testen, geen gegarandeerde opbrengst die je alvast van de prijs kunt aftrekken.
Kijk ten slotte naar de kosten van verandering. Kun je gegevens exporteren, is de werking beschreven en kan een andere partij het beheer overnemen? De code is en blijft van jou bij TopDevs, maar een bruikbare overdracht vraagt ook toegang, documentatie en afspraken over externe diensten.
Hoe begin je concreet?
Neem een werkproces dat je wilt verbeteren en beschrijf de kleinste versie die je team echt kan gebruiken. Voeg voorbeelden, gebruikersrollen en bestaande systemen toe. Vraag daarna een voorstel met een eenmalig bedrag, terugkerende posten en de aannames die nog moeten worden getoetst.
Wil je maatwerk software laten maken, dan kunnen we die eerste afbakening samen bespreken. Met een concrete taak op tafel is het eenvoudiger om te zien welke investering nodig is en welke wensen later kunnen. Plan een gesprek.




