4d2140bcf844cd241988bc8de13660e99e6d132f
- Fix buildLineInserts() using wrong DB column names (cost_center_id → cost_center, project_id → project) and add missing tax_code field - Replace transaction-based dashboard income/expense with journal-entry-based calculation using account classes (3xxx revenue, 4-7xxx expenses) - Add email/phone fields to CompanySettings type, validate RESEND_FROM_EMAIL in isResendConfigured(), remove unsafe type casts in invoice send/reminders - Always auto-fill line description from account name in JournalEntryForm - Reorder expense lines in TransactionBookingDialog so 1930 is always first row 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%