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
aamos-ledger-rust
En Rust-prototyp för aamos-ledger med följande funktionalitet:
Funktioner
- Konton (Accounts) - CRUD för konton med kod, namn och kontotyp
- Verifikat (Journal Entries) - Bokföringsverifikat med journalrader
- Dubbel bokföring - Debet/kredit-validering
- Rapporter - Trial balance (saldoöversikt)
- JWT-autentisering - Skyddade endpoints
Teknikstack
- tokio - Async runtime
- axum - Web framework
- sqlx - PostgreSQL-anslutning med compile-time query checking
- serde - Serialisering
- jsonwebtoken - JWT-hantering
- tracing - Logging
Komma igång
1. PostgreSQL
# Skapa databas
createdb aamos_ledger
2. Miljövariabler
cp .env.example .env
# Redigera .env med dina inställningar
3. Bygg och kör
cargo run
Servern startar på http://0.0.0.0:3000
API Endpoints
Publika endpoints
| Metod | Endpoint | Beskrivning |
|---|---|---|
| GET | /health |
Hälsokontroll |
| POST | /login |
Logga in (username + password) |
Skyddade endpoints (kräver JWT)
| Metod | Endpoint | Beskrivning |
|---|---|---|
| GET | /accounts |
Lista alla konton |
| POST | /accounts |
Skapa nytt konto |
| GET | /accounts/:id |
Hämta konto efter ID |
| GET | /journal-entries |
Lista verifikat |
| POST | /journal-entries |
Skapa nytt verifikat |
| GET | /journal-entries/:id |
Hämta verifikat med rader |
| GET | /trial-balance |
Saldoöversikt |
Exempelanrop
Logga in
curl -X POST http://localhost:3000/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"password"}'
Skapa konto
curl -X POST http://localhost:3000/accounts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"code":"7000","name":"Kontorsmaterial","account_type":"Expense"}'
Skapa verifikat
curl -X POST http://localhost:3000/journal-entries \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{
"entry_number":"V001",
"description":"Försäljning kontant",
"entry_date":"2025-01-15T00:00:00Z",
"lines":[
{"account_id":"<kassa-id>","debit":"1000.00","credit":null},
{"account_id":"<försäljning-id>","debit":null,"credit":"1000.00"}
]
}'
Hämta trial balance
curl http://localhost:3000/trial-balance \
-H "Authorization: Bearer <token>"
Standardkonton
Databasen seedas med svenska BAS-konton:
- 1000 Kassa (Tillgång)
- 1500 Bankkonto (Tillgång)
- 2000 Leverantörsskulder (Skuld)
- 2400 Moms skuld (Skuld)
- 3000 Försäljning (Intäkt)
- 4000 Varukostnad (Kostnad)
- 5000 Lönekostnad (Kostnad)
- 6000 Hyra (Kostnad)