Casestudy · Web applicatie

OTN Implants

Van papier en Excel naar een MDR-audit-ready productie-ERP, gebouwd na twee weken discovery.
Productie dashboard met orderoverzicht en Q-nummers
Klant OTN Implants Type Web applicatie Stack Next.js + .NET Sector Medische hulpmiddelen
Achtergrond

De klant

OTN Implants is een Nederlandse producent van hoogwaardige medische implantaten. Vanuit hun magazijn in Nederland levert het bedrijf aan ziekenhuizen en klinieken in meer dan vijftien landen. Door snelle groei, strengere MDR-regelgeving en toenemende complexiteit in de supply chain had OTN behoefte aan een centraal systeem dat het volledige traject van grondstof tot patient digitaliseert.
Uitdaging

De aanleiding

Voor de applicatie werkte OTN met losse spreadsheets, handmatige pakbonnen en papieren intakeformulieren. Elk implantaat moet wettelijk traceerbaar zijn tot op lotnummer. Bij een audit of recall moet binnen minuten duidelijk zijn welk product, uit welke batch, naar welke klant is gegaan. Daarnaast kostte het genereren van douanedocumenten voor internationale zendingen uren handwerk per order. Een vijftien jaar organisch gegroeid proces, deels op papier, deels in Excel, deels in hoofden, was niet langer houdbaar.
Discovery

Het proces in kaart brengen

Voor we één regel code schreven, namen we twee weken voor discovery. Geen intake-ronde, maar een echt gesprek: hoe werkt jullie operatie vandaag, tot op het niveau van één bestelling van één klant. Ira, de operations manager van OTN, begon met wat ze had: een A4’tje met pen en potlood, vijftien jaar ervaring erin verpakt. Wij vroegen door.

Handgeschreven procesdiagram van Ira op A4
De eerste kaart van hoe het systeem moest werken.
Discovery

Van schets naar gedeelde taal

Vanaf de schets bouwden we samen met OTN een whiteboard. Elk symbool staat voor een data-object, elk blokje voor een handeling, elk vraagteken voor een gesprek dat nog moest plaatsvinden. Die vraagtekens waren geen tekortkoming, ze waren bewijs dat we de werkelijkheid wilden begrijpen vóór we er beslissingen over namen. Na twee weken had iedereen dezelfde kaart in zijn hoofd: van aanvraag tot factuur, met alle uitzonderingen zichtbaar.
Procesflow mapping Datamodel opbouw Open vragen markeren Iteratieve validatie Stakeholder alignment
Whiteboard met legenda en opening van de procesflow Volledige horizontale procesflow van aanvraag tot factuur
Aanpak

De oplossing

Vanaf de eerste conceptversie zag het er al uitstekend uit en werkte het vrijwel zonder bugs.

Ira van der Meent, Business Operations Manager OTN Implants

Na discovery werd bouwen een kwestie van consistent uitvoeren. Appec bouwde een volledig maatwerk webapplicatie die het hele bedrijfsproces centraliseert. Van offerte tot commerciele factuur, van inkoop bij leveranciers tot aflevering bij de klant: alles verloopt via één interface. Verkoop, productie, inkoop, voorraad, klanten en leveranciers vormen samen één samenhangend systeem.

Next.js frontend C# .NET backend SQL Server database Azure Blob Storage OpenIddict OAuth2 Verplichte 2FA API-first architectuur OpenAPI codegeneratie Sentry monitoring QuestPDF documenten
Samenhangend systeem: drie modules, Verkoop, Leveringsoverzicht met LOT-popup, en Leveranciers
In beeld

Een rondleiding door de applicatie

Wat hierboven beschreven staat, ziet er in de praktijk zo uit. Zeven schermen die elk een unieke dimensie van het systeem tonen: van orderbeheer tot LOT-traceability tot automatische documentgeneratie.
← Scroll zijwaarts voor meer
Modules

Wat het systeem doet

De applicatie bestaat uit samenhangende modules die het volledige bedrijfsproces afdekken, inclusief enkele minder zichtbare maar essentiele cross-cutting features.
01

Verkoop en offertes

Offertes aanmaken, opvolgen en omzetten naar orders. Automatische Q-nummering, statustracking van offerte tot verzending, directe koppeling met productie.
02

Productie met statusflow

Productiebatches met statusovergangen, goedkeuringsflows en prelim-dates. De status van een item dwingt af wat er mag gebeuren en wat niet.
03

Multi-location voorraad

Voorraad in het magazijn, plus zicht-voorraad op locatie bij klanten en huurvoorraad. Items verplaatsen automatisch tussen locaties.
04

LOT-traceability

Elk fysiek item krijgt een uniek lotnummer, voor maatwerk globaal uniek over alle productrefs. De volledige reis van grondstof tot klant is auditbaar.
05

Transactie-architectuur

Elke voorraadbeweging is een transactie record. Geen veldje dat overschreven wordt, maar een onveranderlijke geschiedenis die returns en correcties natuurlijk afhandelt.
06

Business rules engine

Bedrijfsregels zorgen dat orders niet in een onmogelijke staat kunnen komen. Regels die van OTN zelf komen, wij maakten ze digitaal afdwingbaar.
07

Cross-page notities

Een berichten-panel dat op elk scherm beschikbaar is. Discussies, vragen en taken blijven gekoppeld aan orders of items, ook als je door de applicatie navigeert.
08

Documentgeneratie

Pakbonnen en commerciele facturen worden automatisch gegenereerd als PDF, inclusief tariefcodes, classificatie en gewichten voor de douane.
Beveiliging

Gebouwd voor compliance

In de medische sector is beveiliging geen feature maar een vereiste. Vier bouwstenen vormen samen de audit-klare basis:

2FA verplicht

Elke gebruiker activeert tweefactor vóór toegang. Geen opt-out.

OAuth2 sessies

Tokens verlopen automatisch, rate-limited, brute-force-proof.

CSP-headers

Content Security Policy blokkeert XSS en inline-script injectie.

Property-level audit log

Welk veld, door wie, wanneer, van-welke-naar-welke-waarde. MDR-ready in seconden.

Partnership

Projecten eindigen niet, ze groeien mee

Na live-gang hield het werk niet op. Elke paar weken komt er feedback uit het veld, telkens verwerkt in een volgende release. Niet als herstelwerk, maar als natuurlijk ritme: de applicatie leert mee met de operatie.

Dat is geen luxe. Het is de reden dat het na meer dan een jaar productie nog steeds dagelijks gebruikt wordt, in plaats van terug te keren naar Excel.

Team

Gebouwd door

Een vast team van vijf bij Appec heeft deze applicatie gebouwd, onderhouden en doorontwikkeld. Korte lijnen, directe verantwoordelijkheid, en iedereen kent de context.
Stijn
Stijn
Lead developer
Mychon
Mychon
Developer
Harris
Harris
Developer
Martijn
Martijn
UX designer
Robert
Robert
Developer
Technologie

Onder de motorkap

De frontend draait op Next.js met React en TypeScript. Tabellen verwerken duizenden rijen zonder vertraging dankzij virtualisatie. De API client wordt automatisch gegenereerd vanuit een OpenAPI spec, waardoor front- en backend altijd in sync zijn. De backend is gebouwd op .NET met een Clean Architecture opzet: API, Application, Domain en Infrastructure als gescheiden lagen. Authenticatie verloopt via OpenIddict met verplichte tweefactorauthenticatie.
// Tech stack
frontend: “Next.js + React + TanStack”
backend: “.NET (C#) + EF Core”
architecture: “Clean Architecture”
database: “SQL Server”
auth: “OpenIddict + verplichte 2FA”
storage: “Azure Blob Storage”
pdf: “QuestPDF”
excel: “ClosedXML”
monitoring: “Sentry + Prometheus”
api-contract: “OpenAPI (auto-gen client)”
Begrepen verrassend snel onze complexe bedrijfsprocessen en dachten mee aan verbeteringen en hoe het in het systeem eruit zou moeten zien. Communicatief erg vaardig en prettig in de omgang.
Ira van der Meent Business Operations Manager, OTN Implants
hallo@appec.nl +31 (0) 24 202 243 5