import type { Invoice, Customer, CompanySettings } from '@/types' import { formatCurrency, formatDate } from '@/lib/utils' export interface ReminderEmailData { invoice: Invoice customer: Customer company: CompanySettings reminderLevel: 1 | 2 | 3 daysOverdue: number actionUrl: string // URL for customer to mark as paid or dispute } // Reminder level configurations const REMINDER_CONFIG = { 1: { title: 'Vänlig påminnelse', tone: 'friendly', daysAfterDue: 15 }, 2: { title: 'Andra påminnelsen', tone: 'firm', daysAfterDue: 30 }, 3: { title: 'Slutlig påminnelse', tone: 'urgent', daysAfterDue: 45 } } as const /** * Generate HTML email for payment reminder */ export function generateReminderEmailHtml(data: ReminderEmailData): string { const { invoice, customer, company, reminderLevel, daysOverdue, actionUrl } = data const config = REMINDER_CONFIG[reminderLevel] // Different styling based on urgency const headerColor = reminderLevel === 3 ? '#dc2626' : reminderLevel === 2 ? '#ea580c' : '#2563eb' const buttonColor = reminderLevel === 3 ? '#dc2626' : reminderLevel === 2 ? '#ea580c' : '#2563eb' return `
Hej${customer.name ? ` ${customer.name.split(' ')[0]}` : ''},
${reminderLevel === 1 ? `Vi vill påminna dig om att faktura ${invoice.invoice_number} förföll till betalning den ${formatDate(invoice.due_date)}. Om du redan har betalat kan du bortse från denna påminnelse.
` : reminderLevel === 2 ? `Trots vår tidigare påminnelse har vi ännu inte mottagit betalning för faktura ${invoice.invoice_number} som förföll den ${formatDate(invoice.due_date)}.
Vi ber dig vänligen att omgående reglera detta belopp för att undvika ytterligare åtgärder.
` : `Detta är vår slutliga påminnelse gällande faktura ${invoice.invoice_number}.
Fakturan förföll till betalning den ${formatDate(invoice.due_date)} och vi har ännu inte mottagit betalning trots tidigare påminnelser.
Om betalning inte inkommer inom 7 dagar kommer ärendet att överlämnas för vidare hantering.
`}| Fakturanummer: | ${invoice.invoice_number} |
| Fakturadatum: | ${formatDate(invoice.invoice_date)} |
| Förfallodatum: | ${formatDate(invoice.due_date)} |
| Belopp att betala: | ${formatCurrency(invoice.total, invoice.currency)} |
| Bank: | ${company.bank_name} |
| Kontonummer: | ${company.clearing_number}-${company.account_number} |
| IBAN: | ${company.iban} |
| BIC/SWIFT: | ${company.bic} |
| Meddelande: | ${invoice.invoice_number} |
Har du redan betalat eller har frågor om fakturan?
Hantera fakturaHar du frågor? Svara direkt på detta mejl så hjälper vi dig.
Med vänliga hälsningar,
${company.company_name}
Org.nr: ${company.org_number} ${company.vat_number ? ` | VAT: ${company.vat_number}` : ''}
` : ''}Detta är ett automatiskt meddelande angående en obetald faktura.