4.2 KiB
4.2 KiB
CLAUDE.md — aamos-ledger
AI-kontext för alla som jobbar i detta repo.
Vad är detta?
aamos-ledger är LandveX AB:s bokföringsmotor — en komplett, egenutvecklad redovisningsmotor med:
- Dubbel bokföring (debet = kredit, alltid)
- BAS 2024 kontoplan (svensk standard)
- SIE4-import och export
- Multi-tenant isolering (tenant_id på varje rad)
- Full audit trail (varje operation sparas i
ledger_audit_log) - Hermes event-publicering (alla ekonomiska händelser)
Port: 3250
Tenant för LandveX AB: landvex
Tjänstnamn (systemd): aamos-ledger
Arkitektur
index.mjs — Express-app, alla API-routes
schema.sql — PostgreSQL-schema (kör vid start via initSchema())
hermes.mjs — Event-publishing till Hermes fabric
sie4-export.mjs — SIE4-exportlogik
Dockerfile.migrate — DB-migration container
package.json — Node ESM-modul
Databasschema (nyckelltabeller)
| Tabell | Beskrivning |
|---|---|
ledger_accounts |
Kontoplan (BAS 2024, IFRS, custom) |
ledger_journal_entries |
Verifikationer (IMMUTABLE efter posted) |
ledger_entry_lines |
Kontolinjer per verifikat (debet/kredit) |
ledger_periods |
Perioder (open/closed/locked) |
ledger_audit_log |
Audit trail för varje operation |
ledger_reconciliation_items |
Kontoavstämning |
ledger_period_close_tasks |
Periodeclose workflow |
ledger_vat_returns |
Momsdeklarationer |
ledger_fiscal_years |
Räkenskapsår |
API-design
Alla endpoints kräver auth (JWT eller API-key). Tenant sätts via:
- Header:
X-Tenant-ID: landvex - Body:
{ "tenant_id": "landvex" }
Exempel:
GET /api/accounts?tenant=landvex
POST /api/journal-entries
GET /api/periods?tenant=landvex
POST /api/sie4/export
Trace-propagering via headers:
X-Trace-ID— propageras genom hela systemetX-Correlation-ID— korrelation per request-trädX-User-ID— vem som triggar
Designprinciper (OBRYTBARA)
- Determinism före AI — alla bokföringsbeslut reproducerbara
- Audit First — VARJE operation genererar auditpost
- Tenant Isolation — kunddata korsas aldrig,
tenant_idfiltreras alltid - Hermes — ekonomiska händelser publiceras via event fabric
- Inga direktberoenden — till andra moduler (utom Hermes via events)
- IMMUTABLE journal — poster ändras ALDRIG efter
status=posted; annullering = nyvoided-post
Etapp 1 — Vertikal stängning (pågår juni 2026)
Checklista:
- Chart of Accounts (BAS 2024)
- Journal Entries med audit trail
- SIE4-import
- E1-004 Reconciliation Engine
- E1-005 Period Close Workflow
- E1-006 SIE4 Export (komplett)
- Auth mot Identity Service
- aamos-audit-engine restart-fix
- E1-008 Vertikal stängning acceptanstest
LandveX AB — Nuläge (per 2026-06-17)
| Mått | Värde |
|---|---|
| Journalposter totalt | ~710 |
| Alla poster | posted (inga drafts) |
| Obalanserade poster | 0 |
| Aktiva konton | 38 |
| Revolut-poster på 1689 (oklassificerade) | ~545 / 966 685 kr |
| Q1-moms förfallen | 202 787 kr — OBETALD |
| Leon-fordran | 212 922 kr (konto 1610) |
| Trygg Bil-avtal | 222 916 kr/mån t.o.m. mars 2027 |
Ekonomisystem — Fortnox-klonen i Ouroboros
Live-URLer:
- Fortnox-klonen: https://landvex.com/ouroboros/finance/
- Verifikatsvy: https://landvex.com/ouroboros/finance/ledger.html
- CFO-dashboard: https://landvex.com/public/cfo-dashboard.html
Filer på disk:
/opt/amos/public/ouroboros/finance/index.html/opt/amos/public/ouroboros/finance/ledger.html/opt/amos/public/public/cfo-dashboard.html
Kör lokalt
cd /home/bernt/.openclaw/workspace/aamos-ledger
# eller källkoden live på servern:
sudo -n systemctl status aamos-ledger
sudo -n journalctl -u aamos-ledger -n 50
# Health check
curl -sk http://localhost:3250/health
Bolagsinfo
- Bolag: LandveX AB (org.nr 559141-7042, f.d. Sommarliden Holding AB)
- Räkenskapsår: 1 maj – 30 april
- FY 2025/2026: avslutat, bokslut senast 31 okt 2026
- Revisor: Andreas Vretblad, KPMG, +46 70 865 67 27
Senast uppdaterad: 2026-06-17