Files
boc/docs/GOVERNMENT_PORTAL_SPEC.md
T

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