Finances OSS is a SvelteKit-based prototype for managing freelance-style invoices end to end. It bundles:
- Secure session-based authentication with optional OIDC sign-in.
- Invoice CRUD flows and date/amount validation powered by Zod.
- Prisma + SQLite persistence for users, sessions, and invoices.
- Server-driven PDF rendering using Puppeteer plus a Svelte invoice template.
- No legal/compliance guarantee – This software does not aim to satisfy any regulatory, legal, accounting, or tax requirements. It is purely educational.
- Use at your own risk – The code is provided “as is,” without warranties or support. You are solely responsible for reviewing and operating it safely.
bun install
bunx puppeteer browser install chrome-headless-shell
bun run devEnvironment variables belong in .env (see .env.example). The default setup uses SQLite via Prisma, optionally OIDC for authentication, writes generated invoices to the directory specified by FILES_DIR (defaults to ./.cache/invoices), and lets you tune log verbosity via LOG_LEVEL.
The repo ships a NixOS module (configuration.nix) that fetches release artifacts from florianb-de/finance-oss. GitHub Actions (.github/workflows/release.yml) builds the app, runs checks/linting, and uploads a tarball to tagged releases.
MIT