Files
boc/aamos-ledger/CLAUDE.md
T

4.2 KiB
Raw Blame History

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 systemet
  • X-Correlation-ID — korrelation per request-träd
  • X-User-ID — vem som triggar

Designprinciper (OBRYTBARA)

  1. Determinism före AI — alla bokföringsbeslut reproducerbara
  2. Audit First — VARJE operation genererar auditpost
  3. Tenant Isolation — kunddata korsas aldrig, tenant_id filtreras alltid
  4. Hermes — ekonomiska händelser publiceras via event fabric
  5. Inga direktberoenden — till andra moduler (utom Hermes via events)
  6. IMMUTABLE journal — poster ändras ALDRIG efter status=posted; annullering = ny voided-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:

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