5.5 KiB
5.5 KiB
Government Customer Portal — Specification
Core Principle
Myndigheter ska själva administrera:
- Betalningssätt (kort, faktura, autogiro)
- Fakturaadress och referenser
- Kostnadsramar och budgetbevakning
- Användare och behörigheter
- Vilka områden de vill bevaka
Self-Service Model
| Funktion | Beskrivning |
|---|---|
| Betalningsinställningar | Välj kort, faktura, autogiro. Ange fakturaadress, OCR/er referens, attestflöde |
| Kostnadsramar | Sätt månads-/årsbudget. Få varning vid 80%. Blockera vid 100% (kan överridas) |
| Användarhantering | Lägg till kollegor, tilldela roller (beställare, attestant, tittare) |
| Bevakningsområden | Rita på karta, välj fastigheter, adresser, eller kommunala objekt |
| Fakturahistorik | Se alla fakturor, ladda ner PDF, exportera till Excel |
| Avtalsöversikt | Se aktiva avtal, förbrukning, förnyelsedatum |
Integrationer
Stripe
- Kortbetalning (automatiskt)
- Sätta upp autogiro
- Faktura via Stripe (alternativ till PEPPOL)
PEPPOL (för myndigheter som kräver det)
- Elektronisk faktura direkt till deras ekonomisystem
- Stöd för Svefaktura 1.0 / PEPPOL BIS Billing 3.0
- Org-nr validering mot Skatteverket
AAMOS Ledger (port 3250)
- Bokföring av alla transaktioner
- SIE4-export för myndighetens redovisning
- Momsredovisning
Teknisk Arkitektur
┌─────────────────────────────────────────┐
│ Government Portal (React/Vue) │
│ - Självbetjäning │
│ - Kostnadsöversikt │
│ - Fakturahistorik │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ LandveX Gateway (port 3004) │
│ - Auth & API-nycklar │
│ - Routing till rätt tjänst │
└─────────────────┬───────────────────────┘
│
┌─────────────┼─────────────┐
│ │ │
┌───▼───┐ ┌────▼────┐ ┌────▼────┐
│Stripe │ │ PEPPOL │ │AAMOS │
│ │ │ Gateway │ │Ledger │
│3250 │ │ │ │(3250) │
└───────┘ └─────────┘ └─────────┘
Data Model
interface GovernmentCustomer {
id: string; // org-nr som ID
name: string;
type: 'kommun' | 'region' | 'myndighet' | 'bolag';
// Betalningsinställningar
paymentSettings: {
method: 'card' | 'invoice' | 'autogiro';
invoiceAddress: string;
invoiceEmail: string;
reference: string; // "Ert referensnummer"
ocrNumber?: string;
costCenter?: string;
};
// Kostnadsramar
budgetLimits: {
monthly?: number;
yearly?: number;
alertAtPercent: number; // default 80
blockAtPercent: number; // default 100
};
// Bevakningsområden
watchAreas: Array<{
id: string;
name: string;
geometry: GeoJSON.Polygon; // Rita på karta
type: 'custom' | 'property' | 'municipal';
}>;
// Användare
users: Array<{
email: string;
role: 'admin' | 'orderer' | 'approver' | 'viewer';
name: string;
}>;
}
API Endpoints
GET /api/v1/government/me → Min profil
PUT /api/v1/government/payment → Uppdatera betalningsinställningar
GET /api/v1/government/invoices → Fakturahistorik
GET /api/v1/government/budget → Kostnadsöversikt
POST /api/v1/government/areas → Lägg till bevakningsområde
GET /api/v1/government/areas → Lista bevakningsområden
DELETE /api/v1/government/areas/:id → Ta bort bevakningsområde
POST /api/v1/government/users → Bjud in användare
Fakturaflöde
1. Myndighet beställer tjänst
2. Uppdrag genomförs
3. Faktura genereras (PDF + PEPPOL)
4. Faktura skickas till angiven adress/epost
5. Myndighet ser faktura i portalen
6. Betalning registreras i AAMOS Ledger
7. SIE4-export för redovisning
Kostnadsöversikt (Dashboard)
| Widget | Data |
|---|---|
| Denna månad | Förbrukat / Budget |
| Prognos | Årsprognos baserat på nuvarande takt |
| Per tjänst | Uppdelning per typ av uppdrag |
| Per område | Kostnad per bevakningsområde |
| Jämförelse | Denna månad vs förra månaden |
MVP-0: Government Portal
Sprint 1: Grund
- Inloggning med BankID (Svensk E-legitimation)
- Profilsida med org-nr och adress
- Betalningsinställningar (fakturaadress, referens)
Sprint 2: Bevakning
- Karta med ritverktyg
- Spara bevakningsområden
- Lista bevakade områden
Sprint 3: Ekonomi
- Kostnadsöversikt
- Fakturahistorik
- Budgetvarningar
Sprint 4: Användare
- Bjud in kollegor
- Roller och behörigheter
- Attestflöde
Status
Specifikation: ✅ KLAR Implementation: 🔄 EJ PÅBÖRJAD Beroenden:
- AAMOS Ledger (3250) — måste vara igång
- Stripe — måste konfigureras
- PEPPOL — kan vänta till efter MVP