title: Phase 1+2: Backend security, data integrity, legal compliance

description: Fix negative debit/credit validation, mandatory document date, event sourcing timestamps, BankingController auth, attachment access check, CVR validation, API key salt, VAT code system, VAT accounts, SAF-T fixes, invoice CVR validation

status: closed

issue_type: task

created_by: Nicolaj Hartmann

close_reason: Closed


title: fix whitescreen at http://localhost:3000


title: Phase 2: Wire broken features to backend APIs

description: Connect all console.log-only handlers to real GraphQL mutations: Kassekladde submit, Settings save, Bankafstemning save, Kontooversigt account CRUD, FiscalYear creation, CloseFiscalYearWizard, Void/Copy actions.


title:
opret et backend job med hangfir
e som sikrer, at bankkonto altid stemmer med den pågældende konto


title: fjern brugers navn fra højre hjørne ved profile ikonet


title: revisit the laytoug and desig nfor kontooversigten.


title: Phase 3: Critical frontend bugs

description: Fix closing wizard entries, create-next-year checkbox, Dashboard a-href, Kassekladde filters, edit draft form population, Vis detaljer action, Flere filtre button, duplicate migration


title: Test automatisk pickup

close_reason: completed


title: opret giv et shortlink på frontenden til backend på /hangfire


title: opret

close_reason: Skipped - task description too vague


title: brug smb om regnskab + fropntend designer til at sikrer at alt er godt for både balance og kontooversigt


title: Phase 3: Accounting compliance fixes

description: Balanced entry enforcement, VAT code unification, invoice numbering, fiscal year gap/overlap checks, posting date tracking, SAF-T fixes.


title: fjern hurtig bogføring og den visning der høre dertil


title: fix bug med tilføj brugere står forkert med encoded tegn


title: Phase 4: UX consistency & bug fixes

description: Danish character encoding, DemoDataDisclaimer deployment, PageHeader adoption, mobile responsiveness, mock data removal, dead buttons.


title: Phase 1: GraphQL Authentication & Authorization

description: Add authentication to GraphQL endpoint and authorization checks to all resolvers. Fix: S-01 through S-06, RBAC always returning owner, admin hardcoded email check.


title: Fjern mock data og kobl frontend til backend GraphQL

description:
Frontend bruger ~2000 linjer hardcoded mock data i stedet for at bruge de eksisterende GraphQL hooks.

## Problem
- Backend GraphQL API er klar med queries og mutations
- Frontend har hooks skrevet (useAccounts, useFiscalYears, etc.)
- Men pages bruger hardcoded mock data i stedet for at kalde hooks

## Filer der skal opdateres
1. Dashboard.tsx - mock metrics, charts, transactions
2. Kassekladde.tsx - mock accounts og posteringer
3. Kontooversigt.tsx - mock kontoplan og balancer
4. Bankafstemning.tsx - mock bank accounts og transaktioner
5. FiscalYearSelector.tsx - mock fiscal years
6. CompanySwitcher.tsx - mock companies
7. Stores (companyStore, periodStore) - skal initialiseres fra API

## Acceptkriterier
- Al mock data fjernet fra frontend
- Alle pages bruger GraphQL hooks til at hente data
- Stores initialiseres korrekt ved app start
- Data vises fra backend i UI


title: Phase 6+7: Consistency, quality, UX, accessibility

description: Remove console.logs, adopt PageHeader on 6 pages, standardize loading states, date formats, fix deprecated props, colors, sidebar width, mobile responsiveness, aria-labels, a11y


title: Phase 4+5: Danish encoding + dead buttons

description: Fix ~45 Danish character encoding issues across 10 files. Fix dead buttons: Download PDF, Eksporter, Administrer fiscal year, bank connections, help link, notification bell


title: ændre navnet i venstre side til Books


title: Opret en logud knap i topbaren


title: tilføj en lille disclaimer på alle områder, hvor der er statisk data. brug gerne planning mode