bae705aa97
- Add NFC ePassport roadmap (ICAO 9303, eIDAS) - Add TensorFlow.js edge face detection (BlazeFace) - Add structured audit logger (GDPR-compliant) - Risk scoring support Part of KYC Apple Native UX v1.1.0
4.2 KiB
4.2 KiB
Fix #4 — Finance Services Konsolidering — Analys & Åtgärder
Datum: 2026-06-05
Utfört av: Loke (subagent)
Analys: Routes & Roller
ouroboros-finance (Node.js, port 3202)
- Roll: Affärsdatalager + persistering (PostgreSQL)
- DB-tabeller:
prexo_accounts,prexo_transactions,prexo_invoices,prexo_budget,prexo_journal_entries,prexo_journal_lines - Unika routes (ej i financial-engine):
POST /api/accounts— skapa konto (DB)GET/POST /api/transactions— läs/skriv transaktioner (DB)DELETE /api/transactions/:id— void transaktion (DB)GET /api/reports/pl— resultaträkning (DB-beräknad)GET /api/reports/balance— balansräkning (DB-beräknad)GET/POST/PUT /api/budget— budget (DB)GET/POST /api/invoices+ status/approve/reject — fakturor (DB)GET /api/stats— stats (DB)GET /api/dashboard— dashboard (DB)GET/POST /api/contracts— kontrakt (DB)POST /api/finance/journal-entries— dubbel bokföring med validering (DB, transaktionell)GET /api/finance/trial-balance— råbalans (DB)GET /api/finance/sie-export— SIE4-export (DB)
aamos-financial-engine (Rust, port 3203)
- Roll: Beräkningsmotor — stateless, ingen DB
- Typ: In-memory / beräknad data (mock-baserad)
- Unika routes (ej i ouroboros-finance):
GET /kpis— KPI-beräkning (MRR, ARR, EBITDA, LTV/CAC, etc.)GET /cashflow— cashflöde med kategorierGET /ledger+POST /ledger— ledger (in-memory)GET /tax-periods— skatteperioder (mock)GET /banking/live— banklive-data (forward till AMOS banking + mock fallback)GET /summary— exec-summaryPOST /payroll/calculate— lönekalkyl (stateless, exakt aritmetik i öre)POST /moms/calculate— momskalkyl (stateless, exakt aritmetik i öre)
Överlappande routes (ej duplicerade — OLIKA roller)
| Route | ouroboros-finance | financial-engine |
|---|---|---|
/accounts |
DB, CRUD | Hardkodad mock (bankonton) |
/balance |
DB rapport (konton+transaktioner) | Statisk mock (balansräkning) |
/transactions |
DB, filtrerbar | POST only, in-memory |
/invoices |
DB, full CRUD | GET only, hardkodad mock |
Slutsats: INTE duplicering — komplementära roller.
Namnbyten gjorda
ouroboros-finance/index.mjs
| Var | Gammalt | Nytt |
|---|---|---|
| Header | PREXO Finance Microservice |
AAMOS Finance Microservice |
| PORT env | PREXO_FINANCE_PORT |
AAMOS_FINANCE_PORT |
| JWT fallback | 'prexo-secret' |
'aamos-secret' |
| Rate limiter key | 'prexo-finance' |
'aamos-finance' |
| Health response | service: 'prexo-finance' |
service: 'aamos-finance' |
| Webhook router | webhookRouter('prexo-finance') |
webhookRouter('aamos-finance') |
| Webhook triggers | triggerWebhooks('prexo-finance', ...) |
triggerWebhooks('aamos-finance', ...) |
| Start log | [PREXO Finance] |
[AAMOS Finance] |
| DB table names | prexo_accounts, prexo_transactions, etc. |
Oförändrade (faktiska DB-tabellnamn) |
systemd ouroboros-finance.service
Description=Ouroboros Finance Service→Description=AAMOS Finance Service
financial-engine/src/main.rs
- Lade till arkitekturkommentar i toppen (ASCII-box) som klargör:
- Stateless beräkningsmotor
- Ingen DB-koppling
- Datapersistering → ouroboros-finance (:3202)
- Beräkningar/KPIer → denna service (:3203)
Status
Kräver root-åtgärd — filer ägda av root:
sudo bash /home/bernt/.openclaw/workspace/nginx-pending/apply-finance-rename.sh
Skriptet kopierar:
/tmp/ouroboros-finance-index.mjs→/opt/amos/services/ouroboros-finance/index.mjs/tmp/financial-engine-main.rs→/opt/amos/rust/financial-engine/src/main.rs- Uppdaterar systemd unit description + kör
daemon-reload
Ingen konsolidering genomfördes
Services är komplementära med tydligt separerade roller:
- ouroboros-finance = datapersistering, bokföring, SIE, fakturor, budget
- aamos-financial-engine = beräkningsmotor, KPIer, moms, lönekalkyl (stateless)
Att slå ihop dem skulle inte ge vinst — de tjänar olika klienter och har olika egenskaper (DB vs stateless).