'use client' import { useState } from 'react' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { DestructiveConfirmDialog } from '@/components/ui/destructive-confirm-dialog' import { Lock, Loader2 } from 'lucide-react' interface ExecuteStepProps { periodName: string isRunning: boolean error: string | null onBack: () => void onExecute: () => Promise } /** * Final confirmation before executing year-end. Uses the destructive confirm * dialog because year-end is irreversible per BFL — once the period is closed, * no further entries can be posted to it and the closing transaction is * immutable. */ export function ExecuteStep({ periodName, isRunning, error, onBack, onExecute }: ExecuteStepProps) { const [confirmOpen, setConfirmOpen] = useState(false) return (
Klar att verkställa

När du verkställer bokslutet för {periodName} kommer följande att hända i en transaktion:

  • Kursrevaluering bokas för öppna poster i utländsk valuta (om relevant)
  • Bokslutsverifikationen skapas och nollställer klass 3–8
  • Perioden låses och stängs (oåterkalleligt enligt BFL)
  • En ny räkenskapsperiod skapas och får ingående balanser från balansräkningen
  • IB/UB-kontinuitet verifieras

Det här går inte att ångra. Om du behöver göra rättelser efter bokslutet använder du stornering eller bokar i den nya perioden.

{error && (
{error}
)}
) }