Case 02 / 05Eigen softwarepakket voor voorraad, btw en consignatie2026Live

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.

Collett CoreCollett Core
Collett Core
Collett Core: Eigen softwarepakket voor voorraad, btw en consignatie
Schermafbeelding van het werk

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.

26schermen in de admin-app
3apps op één designsysteem
3btw-profielen, waaronder de margeregeling
1record per fysiek paar

Wat we bouwden

Collett Core
  • Items 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
Collett Core
Items: de bron van waarheid voor elk fysiek paar, met filters per status en vestiging.
01Items: de bron van waarheid voor elk fysiek paar, met filters per status en vestiging.
Collett Core
De review-wizard in zes stappen. Opslaan verandert de status niet.
02De review-wizard in zes stappen. Opslaan verandert de status niet.
Collett Core
Btw-review: een werklijst voor financiën met blokkades per item.
03Btw-review: een werklijst voor financiën met blokkades per item.
Collett Core
Shopify Control Center: een begeleide dry-run in zeven stappen.
04Shopify Control Center: een begeleide dry-run in zeven stappen.
Collett Core
Rebalancing: voorstellen met reden en betrouwbaarheid. Niets beweegt vanzelf.
05Rebalancing: voorstellen met reden en betrouwbaarheid. Niets beweegt vanzelf.
Collett Core
Inkooporders met regels en een printbare declaratie.
06Inkooporders met regels en een printbare declaratie.
Collett Core
Het B2B-portal voor zakelijke partners.
07Het B2B-portal voor zakelijke partners.
Collett Core
Het consignatieportal met de uitbetaling als zichtbare rekensom.
08Het consignatieportal met de uitbetaling als zichtbare rekensom.
Collett Core
Het designsysteem leeft als pagina in de app zelf.
09Het designsysteem leeft als pagina in de app zelf.

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
Volgende case — 03 / 05Care-4 AllWebsite op maat met eigen CMS en aanmeldroutes