feat: open-source under AGPL-3.0, redesign UI to grayscale palette, add uncategorize API, fix VAT account names

Add LICENSE (AGPL-3.0-or-later), CONTRIBUTING.md, SECURITY.md, DCO, and NOTICE files.
Rewrite README for open-source audience with self-hosting instructions.
Redesign color palette to grayscale chrome theme across all components.
Add transaction uncategorize API route with tests.
Fix VAT account name mismatches in migration 052.
Improve import page with SIE file support and loading skeleton.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-03-05 18:18:11 +01:00
co-authored by Claude Opus 4.6
parent 29240738fa
commit f3ec634a46
58 changed files with 1662 additions and 218 deletions
+60 -21
View File
@@ -1,31 +1,70 @@
# 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.
Open-source Swedish accounting software for sole traders (enskild firma) and limited companies (aktiebolag).
[![License: AGPL-3.0-or-later](https://img.shields.io/badge/License-AGPL--3.0--or--later-blue.svg)](LICENSE)
## What is erp-base?
erp-base implements double-entry bookkeeping compliant with Swedish accounting law (Bokforingslagen). It supports the BAS 2026 chart of accounts, handles VAT declarations (momsdeklaration), SIE import/export, and enforces 7-year document retention. Built for sole traders and limited companies operating in Sweden.
## Features
- **Double-entry bookkeeping** -- BAS 2026 chart of accounts, draft/commit workflow, sequential voucher numbering
- **Invoicing** -- Create, send, and track invoices with mixed VAT rates and PDF generation
- **Bank reconciliation** -- PSD2 bank connection via Enable Banking, 4-pass automatic matching
- **VAT declaration** -- SKV 4700 form mapping, per-rate breakdown, EU/export handling
- **Tax reports** -- NE-bilaga, INK2, SRU export for Skatteverket
- **Supplier invoices** -- Registration, payment tracking, input VAT deduction
- **Document archive** -- SHA-256 integrity, 7-year retention enforcement, full archive ZIP export
- **SIE import/export** -- Standard Swedish accounting interchange format
- **Extension system** -- Opt-in plugins for AI categorization, receipt OCR, email, calendar, and more
## Self-Hosting
```bash
# Clone and configure
git clone https://github.com/erp-mafia/erp-base.git
cd erp-base
cp .env.example .env # Fill in your Supabase credentials
# Start with Docker Compose
docker compose up -d
```
See `docker-compose.yml` for the full service configuration. You need a Supabase project -- create one at [supabase.com](https://supabase.com) and run the migrations from `supabase/migrations/`.
## Development Setup
Prerequisites: Node.js 20+, a Supabase project.
```bash
npm install
npm run dev # Start dev server (auto-generates extension registry)
npm test # Run tests
npm run build # Production build
npm run lint # ESLint
```
## Tech Stack
- **Framework**: Next.js 16 (App Router), React 19, TypeScript (strict)
- **Database**: Supabase (PostgreSQL + RLS + magic link auth)
- **Database**: Supabase (PostgreSQL + Row Level Security + 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
```bash
npm install
npm run dev
```
## Commands
```bash
npm run dev # Start development server
npm run build # Production build
npm run lint # ESLint
npm test # Run all Vitest tests
```
- **Integrations**: Enable Banking (PSD2), Anthropic SDK, LangChain, OpenAI, Resend, JSZip
## Documentation
See `CLAUDE.md` for comprehensive project documentation including architecture, bookkeeping engine, extension development, and database conventions.
- [CLAUDE.md](CLAUDE.md) -- Architecture, bookkeeping engine, database conventions, extension system
- [CONTRIBUTING.md](CONTRIBUTING.md) -- Development workflow, code style, pull request process
- [SECURITY.md](SECURITY.md) -- Vulnerability reporting policy
## Contributing
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide.
All commits require a [DCO sign-off](DCO) (`git commit -s`).
## License
[AGPL-3.0-or-later](LICENSE). See [NOTICE](NOTICE) for third-party attributions.