CustomsLens β Een compleet douaneplatform bouwen, van scratch
8 API-integraties, AI document processing, en een hoop geleerde lessen
Douane-afhandeling is niet sexy. Het is papierwerk, regels, en heel veel handmatig overtypen. Maar juist daar zit de kans: als iets vervelend en repetitief is, kun je het automatiseren. Met CustomsLens zagen wij die kans.

Resultaten
90%
minder handmatig invoerwerk
8
API-integraties
π―De Uitdaging
- Eindeloos overtypen β Medewerkers zaten letterlijk facturen over te typen in systemen. Regel voor regel. Dat is niet alleen traag, het is ook foutgevoelig
- Documenten overal β In e-mail, WhatsApp, op bureaus, in mappen. Niemand wist waar de laatste versie was
- HS-codes zijn een nachtmerrie β Duizenden codes, en de verkeerde kiezen betekent verkeerde tarieven of boetes
- Handtekeningen via de printer β Printen, tekenen, scannen, mailen. In 2024. Echt waar
- Iedereen werkt langs elkaar β Traders, expediteurs, brokers β allemaal met hun eigen Excel-sheets en e-mailketens
π‘Onze Oplossing
- AI die facturen leest β Upload een PDF, en OpenAI Vision haalt er alle data uit. Bedrijfsnamen, adressen, goederenregels, bedragen. De gebruiker checkt het en past aan waar nodig. Klaar
- ΓΓ©n plek voor alle documenten β Simpel, maar essentieel. Alles staat bij de shipment, met versiebeheer en duidelijke status
- HS-codes zoeken die werkt β Een zoekfunctie die direct koppelt aan de EU TARIC-database. Type "katoenen shirt" en je krijgt de juiste code met het tarief erbij
- Digitaal tekenen β DocuSeal integratie. Stuur een document, ontvang een handtekening. Geen printer nodig
- Rollen die kloppen β Traders zien hun eigen spullen, brokers zien wat ze moeten zien, admins beheren het team. Logisch, maar het moet wel gebouwd worden
Waar het begon
Met CustomsLens lossen wij een duidelijk probleem op: douane-afhandeling kost te veel tijd en gaat te vaak fout. Hun klanten β importeurs, exporteurs, expediteurs β waren uren kwijt aan administratie die grotendeels repetitief was.
De vraag was simpel: kunnen jullie dit automatiseren?
Wat we gebouwd hebben
We zijn begonnen met de grootste pijnpunten. Eerst de factuurverwerking, want daar zat de meeste tijdverspilling.
De AI-extractie
Dit is waar het interessant werd. We gebruiken OpenAI's Vision API om commercial invoices te lezen. Niet alleen de tekst β de AI begrijpt de structuur. Hij weet dat het bedrag rechtsonder meestal het totaal is, dat de tabel in het midden de goederenregels bevat, en dat het adres linksboven de exporteur is.
Het werkt niet perfect. Soms pakt hij een verkeerd veld, soms mist hij een regel. Maar in 90%+ van de gevallen klopt het, en de gebruiker hoeft alleen te corrigeren in plaats van alles zelf in te typen. Dat is het verschil tussen 20 minuten en 2 minuten per factuur.
De TARIC-integratie
HS-codes zijn de classificatiecodes voor goederen bij de douane. Er zijn er duizenden, en de juiste kiezen is cruciaal β verkeerde code betekent verkeerde invoerrechten.
We hebben een directe koppeling gebouwd met de EU TARIC-database. Je zoekt op beschrijving ("hardhouten tuinmeubelen") of op code ("9403.60"), en je krijgt direct het tarief en eventuele beperkingen te zien. Geen PDF's meer doorspitten.
De rest van het platform
Daaromheen bouwden we wat je verwacht van een modern SaaS-platform:
- Document management met categorieΓ«n en status tracking
- Digitale ondertekening via DocuSeal
- Shipment wizard die je door het proces leidt
- Dashboard met filters, zoeken, en bulk-acties
- Locatie tracking via Google Maps
- Team management met uitnodigingen en rollen
De integraties
Dit project heeft ons weer geleerd hoeveel werk externe integraties zijn. We koppelden met:
- OpenAI Vision (document AI)
- EU TARIC API (douanetarieven)
- DocuSeal (ondertekening)
- Google Places (locaties)
- KVK API (bedrijfsgegevens NL)
- VAT Sense (BTW-validatie EU)
- Twilio (SMS-verificatie)
- SendGrid (e-mail)
Elke integratie heeft zijn eigen quirks. Rate limits, authenticatie-flows, error handling, edge cases. Het is nooit "even een API aansluiten."
De technische keuzes
Supabase als backend β We wilden snel kunnen bouwen zonder een complete backend te schrijven. Supabase geeft je PostgreSQL, authenticatie, en storage out-of-the-box. Row Level Security zorgt dat data van verschillende organisaties strikt gescheiden blijft.
Next.js 14 met App Router β Server components waar het kan, client components waar het moet. Goede performance, goede developer experience.
Tailwind + shadcn/ui β Geen tijd verspillen aan custom design systems. shadcn geeft je solide componenten die je kunt aanpassen.
Wat we geleerd hebben
Elk project leert je iets. Bij CustomsLens:
- AI is krachtig maar niet magisch β Je moet edge cases afvangen, feedback loops inbouwen, en accepteren dat het niet 100% wordt
- Domeinkennis is essentieel β We hebben veel tijd gestoken in begrijpen hoe douane-afhandeling werkt. Zonder die kennis bouw je de verkeerde dingen
- Multi-tenant is complex β Vijf gebruikersrollen met verschillende rechten, gecombineerd met organisatie-niveau permissies. Dat moet je vanaf het begin goed ontwerpen
Waar het nu staat
CustomsLens wordt nu gebruikt door bedrijven die dagelijks met douane te maken hebben. De feedback is positief β vooral de AI-extractie en de HS-code zoekfunctie worden veel genoemd.
Er is nog genoeg te bouwen. Meer automatisering, slimmere suggesties, betere rapportages. Maar de basis staat, en die basis werkt.
Gebruikte TechnologieΓ«n
"De AI-extractie scheelt ons echt uren per week. Het is niet perfect, soms moet je wat aanpassen, maar het is zoveel beter dan alles zelf intypen. En die HS-code zoekfunctie β eindelijk iets dat gewoon werkt."
Martijn de Vries
Operations Manager