Het centrale systeem voor voorraad, btw, levenscyclus en allocatie van Collett. Shopify is alleen het verkoopkanaal; elk fysiek paar is een eigen record met inkoopprijs, btw-profiel, leverancier, locatie en status.

De vraag
Collett verkoopt nieuw en tweedehands in twee winkels, online, B2B en in consignatie. Shopify telt per variant, de boekhouding per item: margeregeling of niet, van wie, en welke marge per verkoop.
Wat we deden
Een platform met het item als bron van waarheid: een admin-app met 26 schermen, een B2B-portal en een consignatieportal op één designsysteem. Een Fastify-API met OpenAPI, PostgreSQL en BullMQ-queues; de bedrijfsregels zitten in de statusmachine, niet in een handleiding.
Wat we bouwden
Collett CoreItems en review
Productgroepen, varianten en fysieke items in drie weergaven. Een review-wizard in zes stappen legt inkoopprijs, btw-profiel en conditie vast. Review verandert nooit de status; activeren is een aparte goedkeuring.
Btw en financiën
Btw-werklijst met blokkades, profielen voor margeregeling, standaard- en nultarief, en een exportpakket per periode voor de boekhouder. Alles op itemniveau, nooit per variant opgeteld.
Shopify Control Center
Shopify zit stroomafwaarts. Elke sync draait eerst als dry-run met een leesbaar logboek; schrijven gebeurt alleen na expliciete bevestiging, vanuit dit ene scherm.
Allocatie en rebalancing
Orders worden per item toegewezen (FIFO of maximale marge). Rebalancing stelt transfers voor op basis van dagen voorraad, met reden en betrouwbaarheid. Voorraad beweegt nooit automatisch.
Inkoop, transfers en retouren
Inkooporders via een wizard met printbare declaratie, transfers tussen vestigingen en retouren met inspectie: terug in voorraad, vasthouden of afwijzen.
B2B en consignatie
Partners vragen aan, Collett keurt per regel goed; niets wordt gereserveerd vóór akkoord. Consignanten zien alleen hun eigen items en uitbetalingen, met de rekensom: €200 verkoop, 30% commissie, €140 uitbetaling.
In beeld
Scroll om te bladeren








Het lastigste stuk
Regels afdwingen in de interface in plaats van in een handleiding. ‘Review is niet goedkeuren’, ‘UNKNOWN_REVIEW_REQUIRED blokkeert altijd’ en ‘voorraad beweegt nooit vanzelf’ zijn vaste statussen en vaste tekst in het systeem. Fout gebruik is daardoor onmogelijk, ook op een drukke zaterdag.
Onder de motorkap
Talen, frameworks en koppelingen- Talen
- TypeScript, SQL
- Monorepo
- pnpm workspaces, Turborepo
- API
- Fastify 5 op Node.js 22, OpenAPI
- Frontend
- Next.js 15 App Router, React
- Data
- PostgreSQL 16, Drizzle ORM
- Achtergrondtaken
- Redis, BullMQ
- Integraties
- Shopify GraphQL Admin API en webhooks, StockX-verrijking
- Infra
- Docker Compose op een eigen VPS, JWT in httpOnly-cookie
