'use client' import Link from 'next/link' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { Badge } from '@/components/ui/badge' import { CheckCircle, XCircle, AlertCircle, FileText, ExternalLink, RotateCcw, Info, } from 'lucide-react' import type { ImportResult } from '@/lib/import/types' interface ImportResultStepProps { result: ImportResult onNewImport: () => void } export default function ImportResultStep({ result, onNewImport }: ImportResultStepProps) { const hasErrors = result.errors.length > 0 const skipped = result.details?.skippedVouchers // Filter out raw "hoppades över" warnings when we have structured data const otherWarnings = skipped && skipped.total > 0 ? result.warnings.filter((w) => !w.includes('hoppades över')) : result.warnings return (
{/* Success/Failure header */} {result.success ? ( <> Import genomförd ) : ( <> Import misslyckades )} {result.success ? skipped && skipped.total > 0 ? `Din bokföring har importerats. ${result.journalEntriesCreated} verifikationer skapades, ${skipped.total} hoppades över — se detaljer nedan.` : 'Din bokföring har importerats framgångsrikt.' : 'Det uppstod fel under importen. Läs felmeddelanden nedan för att förstå vad som gick snett och hur du kan åtgärda det.'} {/* Statistics */} {result.success && (
Verifikationer skapade

{result.journalEntriesCreated}

Räkenskapsår
{result.fiscalPeriodId ? ( Skapat ) : ( Befintligt )}
Ingående balanser
{result.openingBalanceEntryId ? ( Importerade ) : ( Inga )}
)} {/* Errors */} {hasErrors && ( Fel ({result.errors.length})
{result.errors.map((error, i) => (
{error}
))}
{!result.success && (

Vad kan du göra?

  • Kontrollera att SIE-filen exporterades korrekt från källsystemet
  • Prova att exportera filen igen och ladda upp på nytt
  • Om felet kvarstår, kontakta support med felmeddelandet ovan
)}
)} {/* Skipped vouchers — structured breakdown */} {skipped && skipped.total > 0 && ( Hoppade över {skipped.total} verifikationer
{skipped.empty > 0 && (

{skipped.empty} tomma verifikationer

Platshållare utan bokföringsrader — vanligt i Fortnox och Visma. Påverkar inte din bokföring.

)} {skipped.unbalanced > 0 && (

{skipped.unbalanced} obalanserade verifikationer

Debet och kredit stämmer inte överens i källsystemet. Saldon har justerats automatiskt.

)} {skipped.singleLine > 0 && (

{skipped.singleLine} enradsverifikationer

Verifikationer med bara en rad (t.ex. periodiseringar). Kräver minst två rader för dubbelbokning.

)} {skipped.unmapped > 0 && (

{skipped.unmapped} verifikationer med ej kopplade konton

Innehåller konton som inte kunde kopplas till din kontoplan.

)}
)} {/* Other warnings (filtered) */} {otherWarnings.length > 0 && ( Varningar ({otherWarnings.length})
{otherWarnings.map((warning, i) => (
{warning}
))}
)} {/* Next steps */} {result.success && ( Nästa steg
1

Granska importerade verifikationer

Kontrollera att allt ser korrekt ut i bokföringslistan

2

Verifiera balanserna

Jämför huvudboken med din tidigare bokföring

3

Fortsätt med ny bokföring

Nu kan du börja lägga till nya transaktioner

)} {/* Actions */}
{result.success && ( <> )}
) }