Files
boc/BOC_FUNCTIONAL_AUDIT_2026-07-29.md
T
Bernt e5623d2f84 feat: integrate Grafana dashboards into BOC DashboardPage
- Add Infrastructure Health section with CPU/Memory/Disk panels
- Add Service Status section with PM2/Docker panels
- Create GrafanaPanel component for iframe embedding
- Build passes successfully
2026-07-29 19:03:06 +00:00

13 KiB

BOC Funktionalitetsaudit

Business Operations Center — Verksamhetsgranskning

Datum: 2026-07-29
Auditor: Bernt
System: boc.aamos.systems (port 9094)
Status: Aktiv drift, Torvalds-sprint klar, Uber-härdning pågår


Sammanfattning

BOC är ett ambitiöst verksamhetssystem med 106 API-endpoints fördelade över 12 domäner. Systemet är tekniskt körbart men har kritiska arkitektoniska brister som blockerar verksamhetsdrift på riktigt. Frontend och backend är delvis kopplade men databasen är tom — inga riktiga affärsprocesser kan drivas.

Verdict: BOC är en funktionell prototyp, inte ett produktionsklart verksamhetssystem.


1. Nuvarande Funktionalitet (Per Modul)

1.1 CRM (Kundrelationer)

Feature Status Kommentar
Kundregister API finns CRUD komplett, men 0 kunder i DB
Kontaktpersoner API finns Kopplade till kund
Interaktionslogg API finns Samtal, mail, möten, anteckningar
Pipeline / Leads API finns Status: lead → prospect → customer
Tilldelning API finns Användare kan tilldelas kund
Gap: Automatisk lead-import Saknas Ingen koppling till quiXzoom/AMOS
Gap: Lead-scoring Saknas Ingen AI-baserad prioritering

1.2 Sales (Försäljning)

Feature Status Kommentar
Deals / Affärer API finns Värde, sannolikhet, förväntat avslut
Offert → Order API finns 002-migration har quotes + orders
Produkter API finns Pris, beskrivning
MRR/ARR API finns Beräknat från deals
Gap: Fakturering ⚠️ Delvis Invoices finns men ej kopplade till ledger
Gap: Betalningspåminnelser Saknas
Gap: Återkommande intäkter Saknas Subscription-plans finns i schema men ej aktivt

1.3 Finance (Ekonomi)

Feature Status Kommentar
Balansräkning API finns Proxy till ledger (mock-fallback)
Resultaträkning API finns Proxy till ledger
Momsrapport API finns Proxy till ledger
Kontoplan API finns BAS-konton från ledger
Utgifter API finns Create + List
Budget API finns Enkel budget vs utfall
Kassaflöde API finns
Gap: Riktig ledger-koppling KRITISKT All finance är mock eller proxy
Gap: Bankintegration (PSD2) Saknas Ingen automatisk transaktionsimport
Gap: SIE4 export Saknas Migration har import_sie4.sql men ej export
Gap: Periodisering Saknas

1.4 HR (Personal)

Feature Status Kommentar
Anställdaregister API finns CRUD komplett
Frånvaro / Ledighet API finns Ansökan, godkännande
Tidrapport API finns Timmar per projekt
Gap: Löneutbetalning Saknas Ingen koppling till payroll-system
Gap: Kompetensmatris ⚠️ Delvis API finns men ej komplett
Gap: Prestandagranskning ⚠️ Delvis API finns men ej komplett
Feature Status Kommentar
Avtalsregister API finns CRUD + mallar
Påminnelser API finns Förnyelse-datum
Produkt-koppling API finns Avtal kopplade till produkter
Gap: E-signering Saknas Ingen integration med BankID/Adobe Sign
Gap: GDPR-radering Saknas Ingen automatisk datarensning

1.6 Marketing (Marknadsföring)

Feature Status Kommentar
Kampanjer API finns Enkel kampanjhantering
Innehåll API finns Content-kalender
Gap: Email-automation Saknas Ingen koppling till Resend/Mailchimp
Gap: Social media Saknas
Gap: ROI-tracking Saknas

1.7 Support (Kundtjänst)

Feature Status Kommentar
Ärenden (Tickets) API finns CRUD + kommentarer
CSAT API finns Kundnöjdhet
Gap: SLA-tracking Saknas Ingen övervakning av responstider
Gap: Kunskapsbas Saknas
Gap: Chat-integration Saknas

1.8 Automation (Automatisering)

Feature Status Kommentar
Workflows API finns Definierade men ej aktiva
Schemalagda jobb API finns Cron-liknande
Gap: Verklig automation Saknas Workflows triggar inga actions

1.9 Analytics (Analys)

Feature Status Kommentar
Dashboard API finns KPI:er
Aktiva användare API finns
Intäktsanalys API finns
Gap: Prediktion Saknas Ingen AMOS AI-koppling
Gap: Custom rapporter Saknas

1.10 Briefing (Daglig översikt)

Feature Status Kommentar
Daglig briefing API finns Prioriteringar, rekommendationer
"Real briefing" API finns Live-data från systemet
Larm API finns
Arbetsplan API finns

1.11 Journal (Bokföring)

Feature Status Kommentar
Verifikationslista API finns Journal entries
Kontodrill-down API finns Transaktioner per konto
Gap: Riktig bokföring KRITISKT Allt är mock-data

1.12 Tenant / Multi-tenancy

Feature Status Kommentar
Tenant-hantering API finns CRUD + hierarki
Tenant-switch API finns
Gap: RLS (Row Level Security) ⚠️ Delvis Schema har tenant_id men RLS ej aktiverat

2. Teknisk Skuld (Blockerare)

🔴 KRITISKT — Måste åtgärdas innan produktion

# Problem Impact Åtgärd
1 Ingen riktig data — DB är tom Systemet kan inte driva verksamhet Seed-data + migrera från befintliga system
2 Ledger = mock/proxy All ekonomi är fejk Bygg riktig ledger-klient med circuit breaker
3 Monolit-arkitektur — 15K rader i main.go Ounderhållbart, ingen testbarhet Clean Architecture (plan finns)
4 Ingen service layer — Affärslogik i handlers Duplicerad kod, ingen transaktionssäkerhet Domain-driven services
5 Repository pattern — bara Customer Alla andra moduler använder raw SQL i handlers Implementera för alla domäner
6 Frontend/backend osynk — web-v2 ej kopplad till API Statisk data, ingen verklig drift API-repository pattern i React
7 0% test coverage (förutom CRM) Regressioner garanterade Enhet + integrationstester

🟡 HÖG — Bör åtgärdas inom 30 dagar

# Problem Impact Åtgärd
8 Auth — fallback till HS256 Säkerhetsrisk Strikt RS256, neka HS256
9 Ingen CI/CD Manuella fel GitHub Actions (plan finns)
10 Ingen backup-strategi Dataförlust-risk Automatisk pg_dump + S3
11 Rust-service + C-runtime — inaktiva Död kod Aktivera eller ta bort
12 web-v1 (Next.js) + web-v2 (Vite) — två frontends Förvirring, dubbel arbete Välj en, arkivera andra

🟢 MEDEL — Bör åtgärdas inom 90 dagar

# Problem Impact Åtgärd
13 Ingen Kafka/event sourcing Audit trail saknas Aktivera EVENT_CATALOG
14 Grafana dashboard ej importerad Blind drift Importera dashboard
15 Ingen rate limiting per tenant Resursöverbrukning Tenant-baserade quotas
16 Ingen dataretention-policy GDPR-risk Automatisk radering

3. Verksamhetsgaps — Vad Behövs för att Driva Landvex

3.1 Landvex AB (Svenskt bolag)

Process BOC-stöd Gap
Bokföring (BAS-konton, SIE4) ⚠️ Mock KRITISKT: Koppla till aamos-ledger
Momsredovisning ⚠️ Mock KRITISKT: Riktig momsberäkning
Löner Saknas Integration med lönesystem
Fakturering ⚠️ Delvis Koppla till ledger + påminnelser
Leverantörsfakturor API finns Men ej kopplad till betalning
Årsredovisning Saknas Export till SIE4 + PDF

3.2 quiXzoom (Plattform)

Process BOC-stöd Gap
Zoomer-hantering Saknas quiXzoom-integration
Uppdragsflöde Saknas Mission-API koppling
Utbetalningar Saknas Payout Engine integration
KYZ-verifiering Saknas Identity-koppling

3.3 AMOS (AI-plattform)

Process BOC-stöd Gap
Lead-scoring Saknas AMOS Vision/Fraud
Riskanalys Saknas AMOS Risk Engine
Dokumentanalys Saknas AMOS Evidence Engine

4. Frontend-granskning

web-v2 (Aktiv — React 19 + Vite)

Sida Status Koppling till API
Login Mock-auth (ej RS256)
Briefing /api/v1/briefing/real — fungerar
Dashboard ⚠️ Statisk data
CRM ⚠️ Mock-data (ej kopplad till /api/v1/crm/customers)
Sales ⚠️ Mock-data
Finance ⚠️ Mock-data
HR ⚠️ Mock-data
Legal ⚠️ Mock-data
Marketing ⚠️ Mock-data
Support ⚠️ Mock-data
Automation ⚠️ Mock-data
Profile ⚠️ Mock-data

Problem: Frontend använder useMockStore — byt till useApiStore för live-data.

web-v1 (Next.js — Arkiverad?)

  • Deployad till /var/www/boc/ (nginx root)
  • Innehåller dashboard, login, osv.
  • Troligen föråldrad — bör tas bort

5. Rekommendationer — Prioritering

Fas 0: Stoppa Blödningen (Denna vecka)

  1. Bestäm master-repo: Lokalt vs GitHub (wolfoftyreso-debug/-landvex-boc)
  2. Välj frontend: web-v2 (React 19) eller boc-portal (React 18, mer komplett)
  3. Rensa död kod: Ta bort web-v1, Rust-service (om inaktiv), C-runtime
  4. Seed-data: Ladda in Landvex AB som tenant + demo-data

Fas 1: Foundation (Vecka 1-2)

  1. Clean Architecture — Refactor enligt BOC_IMPLEMENTATION_PLAN.md
  2. Repository pattern — Alla domäner
  3. Service layer — Transaktionssäkerhet
  4. Tester >80% — Enhet + integration

Fas 2: Koppla Ekonomin (Vecka 3-4)

  1. Riktig ledger-klient — Circuit breaker, cache, retry
  2. BAS-konton — Från aamos-ledger (port 3250)
  3. SIE4 import/export — För årsredovisning
  4. Bankintegration — PSD2/Open Banking

Fas 3: Koppla Frontend (Vecka 5)

  1. API-repository pattern — React → Backend
  2. Auth-flöde — RS256 via Ouroboros
  3. Real-time — WebSocket för updates

Fas 4: Integrationer (Vecka 6-8)

  1. quiXzoom — Zoomer-hantering, uppdrag
  2. AMOS AI — Lead-scoring, riskanalys
  3. Email/SMS — Resend/Twilio
  4. Fortnox/Visma — För kunder som kräver det

Fas 5: Produktion (Vecka 9-10)

  1. CI/CD — GitHub Actions
  2. Monitoring — Grafana dashboard
  3. Backup/DR — Automatisk + testad restore
  4. Security audit — gosec, trivy

6. Risker

Risk Sannolikhet Impact Mitigering
Ledger-API ändras Medium High Circuit breaker, versionering
Team tappar fokus High Medium Fasindelning, veckoleveranser
Dataförlust vid migration Low Critical Backup innan varje steg
Frontend/backend osynk Medium Medium OpenAPI-kontrakt
Performance vid skalning Medium High CQRS, read replicas

7. Mätetal (KPI:er för BOC)

Mått Nuvarande Mål
API-endpoints 106 150+ (färdiga integrationer)
Test coverage ~5% >80%
Frontend-API koppling ~10% 100%
Riktig data i DB 0% 100%
Ledger-integration Mock Riktig
CI/CD Manuell Automatisk
Uptime 99% 99.9%

Bilaga: Filstruktur

boc/
├── backend/           # Go-monolit (15K rader)
│   ├── handlers/      # 34 handlers (6664 rader)
│   ├── models/        # 1 fil (2891 rader) — för tunn
│   ├── repository/    # 1 fil (customer.go) — för få
│   ├── service/       # 1 fil (customer.go) — för få
│   └── main.go        # 14K rader — för tjock
├── web-v2/            # React 19 + Vite (aktiv utveckling)
│   ├── src/pages/     # 12 sidor
│   └── src/components/# UI-komponenter
├── web-v1-backup/     # Next.js (föråldrad)
├── web/               # Deployad till /var/www/boc (föråldrad)
├── rust-service/      # Inaktiv
├── c-runtime/         # Inaktiv
├── db/                # 5 migrationer (69 tabeller)
└── docs/              # Planer och specar

Audit genomförd: 2026-07-29 10:15 UTC
Nästa steg: Beslut om Fas 0 (master-repo, frontend-val, rensning)