Brasswork is een complete broncode-sjabloon voor het runnen van je eigen operations SaaS. Je verkoopt plannen; elke klant krijgt een geïsoleerd bedrijf met zijn eigen boeken, voorraad, mensen en documenten.
Het is gebouwd voor kleine bedrijven die maken, verkopen en bedienen: een brander met een café, een bakkerij die in bulk verkoopt, een fietsenwinkel met een werkplaats. Ze verkopen over de toonbank en op factuur, kopen van leveranciers, houden voorraad op meer dan één plek, betalen een team op basis van diensten en runnen een paar projecten. Brasswork dekt die hele dag in één set boeken, zodat de verkoop aan de toonbank, de groothandelsfactuur, de leverancier factuur en de loonrun allemaal naar hetzelfde grootboek worden geboekt.

Werk is georganiseerd in lanes genoemd naar de taak: Vandaag, Verkopen, Kopen, Voorraad, Geld, Mensen en Werk. Vandaag verzamelt de beslissingen die de eigenaar nodig heeft over elke lane. Records worden weergegeven als geprinte bladen met een papieren spoor (Offerte → Bestelling → Factuur → Betaling → Grootboek), zodat iedereen kan zien waar een document vandaan kwam en waar het naartoe ging.
Aan de platformzijde krijg je planbanden die zijn afgestemd op het team (Solo, Crew, Company, Group) met apps en opslag inbegrepen, app-pakketten, proefversies, kortingscodes, Stripe en PayPal met automatische verlenging, betalen op factuur, een winkelfront dat je vanuit de console bewerkt, hulpverzoeken en een Pulse-weergave van inkomsten en aanmeldingen.
De code is modern en getypt van begin tot eind: Next.js 16 App Router met Server Components en Server Actions, TypeScript, Tailwind CSS v4 met shadcn/ui, Drizzle ORM op PostgreSQL, Better Auth en Zod. Geld gebruikt decimale rekenkunde, documenten worden opnieuw berekend op de server, en de boeken worden gevoed door evenementen van elke app binnen dezelfde database-transactie. Het wordt geleverd met eenheid, integratie en end-to-end tests, een CI-workflow, een Docker Compose-kit en een voorgeconfigureerd demo-bedrijf: Hollow Pine Coffee Roasters.
Hernoem het, kies je apps en prijzen, laad je eigen demo voor jouw sector en lanceer.

Kenmerken per lane
Vandaag
- De beslissingen die je nodig hebt over elke app: goedkeuringen, achterstallige facturen, te betalen rekeningen, voorraad die laag is, banklijnen om te matchen, concepten.
- Pulse: contant, verschuldigd aan jou, jij verschuldigd, de verkopen van deze week.
- Een checklist om te beginnen voor nieuwe bedrijven.
Verkopen
- Facturering: offertes met een bordweergave, facturen, creditnota's (toepassen of terugbetalen), één betaling over verschillende facturen, terugkerende facturen, automatische betalingsherinneringen, klantoverzichten, deel links, PDF's bij e-mails, online kaartbetalingen via de eigen Stripe-account van elk bedrijf, rapporten.
- Counter (verkooppunt): een aanraakvriendelijk verkoopscherm, kassa's en geldladen, promoties, retouren en goedkeuringen, ontvangstbewijzen, een klantdisplay, offline verkopen die later synchroniseren, barcode-scanning, een per-item "Verkopen aan de Counter"-schakelaar.
- Pijplijn: lead- en dealborden met waarden en volgende stappen, oproepen, e-mails en notities, conversie, trechter- en maandrapporten.



Kopen
- Aankooporders, gedeeltelijke ontvangst, rekeningen, één betaling over verschillende rekeningen, retouren van leveranciers en debetnota's, terugkerende rekeningen, leveranciersoverzichten, deel links, rapporten.
Voorraad
- Voorraadartikelen, niet-voorraadartikelen en diensten, afbeeldingsgalerijen, categorieën, belastingen, eenheden, verschillende magazijnen.
- Een voorraad grootboek voor elke beweging, gewogen gemiddelde kosten, overdrachten, voorraadtelling, herbestelpunt en suggesties, labelprinten. Voorraad kan niet stilletjes negatief worden.

Geld
- Dubbel boekhouden gevoed door elke app, rekeningenstelsel, journaal, terugkerende journaals.
- Bank-, kaart- en leningrekeningen; statement-import (CSV, OFX/QFX, CAMT.053), matchingregels en reconciliatie.
- Inkomsten en uitgaven (terugkerend), budgetten, P&L en balans met vergelijkingen, proefbalans, grootboek, veroudering.
- Meerdere valuta met handmatige of ECB-wisselkoersen en gerealiseerde/onrealiseerde FX.
- Een slotdatum, integriteitscontroles en "Herbouw boekingen".


Mensen
- Werknemers met CSV-import en een organigram, rooster, tijdklok, verlof met goedkeuringen van lijnmanagers.
- Betaalruns (wekelijks, om de twee weken, twee keer per maand, maandelijks), loonstroken per e-mail, SEPA- en NACHA-bankbestanden, voorschotten en leningen.
- De werknemersreis (erkenning, functiewijzigingen, gedragsnotities, zorgen, exits), onboarding- en offboarding-checklists, werving met een carrièresite, beoordelingen, training en een bedrijfscentrum.


Werk
- Projecten met meerdere klanten, sjablonen, taakborden, lijst- en kalenderweergaven, een tijdlijn (Gantt) met afhankelijkheden, mijlpalen en mijlpaalfacturering, problemen, urenregistraties en timers, klanttoegang.

Bedrijf en instellingen
- Directory van klanten en leveranciers, bestanden, teamchat, hulpverzoeken, Vraag (een AI-assistent; elk bedrijf voert zijn eigen Anthropic, OpenAI of Google API-sleutel in).
- Rollen met machtigingen per app en "eigen vs alles" zichtbaarheid, klantkamers en leverancierskamers.
- Aangepaste velden, opgeslagen lijstweergaven, CSV-export op elke lijst, bulkacties, ⌘K-zoekopdracht, activiteitslogboek, meldingsvoorkeuren en dagelijkse samenvattingen, kalenderfeeds, een eigen SMTP-server van het bedrijf.
- REST API met gescopeerde sleutels en een OpenAPI-document; ondertekende uitgaande webhooks met herhalingen.

Operatorconsole (jouw SaaS)
- Puls: maandelijkse terugkerende inkomsten, betalende bedrijven, conversie van proefversies, verlopen plannen, aanmeldingen, inkomsten per band.
- Klanten: bedrijven, mensen, aanmeldingen, bedrijven en accounts aanmaken, inloggen als eigenaar.
- Catalogus: banden, apps, app-pakketten, aanbiedingcodes, synchronisatie met Stripe en PayPal, app-afbouw.
- Betalingen: bestellingen, terugbetalingen, planfacturen voor bankoverschrijving.
- Winkelpagina: een blokgebaseerde startpagina, pagina's, facturerings-e-mailtemplates.
- Hulpverzoeken en Setup met een eerste-run walkthrough (merk, e-mail, valuta, betalingen, catalogus).



Werkt op elk scherm


Technische stack
- Next.js 16 (App Router, React 19, Server Components, Server Actions, Turbopack)
- TypeScript
- Tailwind CSS v4 en shadcn/ui (Radix)
- PostgreSQL met Drizzle ORM
- Better Auth (e-mail en wachtwoord, optionele Google- en GitHub-aanmelding, twee-factor)
- Zod 4, decimal.js, @react-pdf/renderer, Recharts
- Stripe en PayPal SDK's; nodemailer; AWS S3 SDK (elke S3-compatibele opslag)
- Vitest en Playwright (met axe toegankelijkheidscontroles); GitHub Actions CI
Wat is inbegrepen
- Volledige broncode van de app, de Operatorconsole en de winkelpagina.
- Database-schema, seed en een complete demo-onderneming met ongeveer 18 maanden geschiedenis, een zusterbedrijf en vijftien voorbeeldklantbedrijven.
- Docker Compose-kit (Postgres, migratiestap, app, uurlijkse cron) en een Dockerfile.
- Documentatie: installatie, configuratie, implementatie (Docker, Vercel, VPS met nginx), betalingen, rebranding, upgrades, architectuur, REST API en webhooks, testen, coderingsconventies, ontwerpsysteem, ondersteuning.
- Unit-, integratie- en end-to-end test suites, een CI-workflow en herhaalbare betalingscontroles met Stripe- en PayPal-mocks.
.env.example, licentie en changelog.
Niet inbegrepen: hosting, een Stripe- of PayPal-account, een SMTP-service, native mobiele apps, vertalingen (de UI is in het Engels).
Vereisten
- Node.js 20.9 of later (22 aanbevolen) en pnpm 10
- PostgreSQL 15 of later
- Voor productie: een server of host voor Next.js (Docker, een VPS of Vercel), een domein met HTTPS, een uurlijkse cron-aanroep
- Optioneel: SMTP voor e-mail, een S3-compatibele bucket voor bestanden (vereist op Vercel), Stripe- en/of PayPal-accounts
- Enige ervaring met Node.js en PostgreSQL om het te installeren, configureren en aanpassen
Demo-accounts
Gecreëerd door pnpm db:seed in ontwikkeling (wachtwoord wachtwoord123):
RolE-mailOperator (Operatorconsole)admin@example.comEigenaar van Hollow Pine Coffee Roastersmargit@hollowpine.examplePersoneelslidlena@hollowpine.exampleKlantkameruth@brickyardbagels.exampleLeverancier kamerana@altiplanogreen.example
De seed weigert demo-gegevens en demo-wachtwoorden in productie.
Changelog
1.0.0 (2026-10-09): eerste release. Het multi-tenant platform met plannen, Stripe, PayPal en betalen op factuur; de Operatorconsole en winkelpagina; Vandaag en de zes banen (Verkopen, Kopen, Voorraad, Geld, Mensen, Werk) met Facturering, Balie, Pipeline, Aankopen, Voorraad, Boeken, Mensen & betalen en Projecten; de REST API en webhooks; het ontwerpsysteem in lichte en donkere modus; Docker, Vercel en VPS-implementatiehandleidingen; tests en CI.