acb85edf4a1b9e5185f7fff53f660215da9763ff
- Add 8 new Zod schemas (UpdateCustomer, UpdateSupplier, UpdateSupplierInvoice, UpdateAccount, BankUnlink, RunReconciliation, CorrectJournalEntry, EvaluateMappingRules) and wire validateBody() into 24 JSON-body API routes - Remove redundant manual validation checks replaced by Zod - Add comprehensive schema tests (222 tests) - Improve type definitions in types/index.ts with expanded interfaces - Refactor extension types (push-notifications, receipt-ocr) for cleaner imports - Update transaction components (BatchCategorySelector, SwipeCategorizationView, QuickReviewDialog, VatTreatmentSelect) and invoice inbox workspace - Add invoice-inbox utilities and type decoupling tests - Fix NE-bilaga, SRU export, and invoice PDF template type usage - Update CLAUDE.md with expanded architecture documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
erp-base
Swedish accounting SaaS for sole traders (enskild firma) and limited companies (aktiebolag). Implements double-entry bookkeeping compliant with Swedish accounting law (Bokforingslagen), including VAT handling, tax reporting, and 7-year document retention.
Tech Stack
- Framework: Next.js 16 (App Router), React 19, TypeScript (strict)
- Database: Supabase (PostgreSQL + RLS + magic link auth)
- Styling: Tailwind CSS 4 + shadcn/ui
- Hosting: Vercel
- Integrations: Enable Banking (PSD2), Anthropic SDK, OpenAI (embeddings), Resend (email), web-push (VAPID)
Getting Started
npm install
npm run dev
Commands
npm run dev # Start development server
npm run build # Production build
npm run lint # ESLint
npm test # Run all Vitest tests
Documentation
See CLAUDE.md for comprehensive project documentation including architecture, bookkeeping engine, extension development, and database conventions.
Languages
TypeScript
93%
PLpgSQL
5.8%
JavaScript
0.4%
HTML
0.3%
MDX
0.2%
Other
0.1%