feat: add INK2 declaration, full archive export, AI consent gate, fix VAT declaration rutor

- Fix VAT declaration ruta mappings to match SKV 4700 form correctly
  (ruta 05 = total taxable sales, ruta 10/11/12 = output VAT per rate)
- Add INK2 declaration report for aktiebolag with SRU export
- Add full archive ZIP export for 7-year retention compliance
- Add AI consent gate requiring user approval before AI extension API calls
- Add DPA and privacy policy public pages
- Add audit trail API routes
- Update VAT registration threshold from 80k to 120k kr in onboarding
- Update CLAUDE.md documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-03-05 14:20:47 +01:00
co-authored by Claude Opus 4.6
parent 50bf7b3b0f
commit 29240738fa
32 changed files with 3496 additions and 97 deletions
+7 -6
View File
@@ -423,16 +423,17 @@ export function createAccountingTools(supabase: SupabaseClient, userId: string)
return JSON.stringify({
period: `${period.start} – ${period.end}`,
output_vat_25: declaration.rutor.ruta05,
output_vat_12: declaration.rutor.ruta06,
output_vat_6: declaration.rutor.ruta07,
output_vat_25: declaration.rutor.ruta10,
output_vat_12: declaration.rutor.ruta11,
output_vat_6: declaration.rutor.ruta12,
total_output_vat: summary.totalOutputVat,
input_vat: summary.totalInputVat,
vat_to_pay: summary.vatToPay,
is_refund: summary.isRefund,
revenue_basis_25: declaration.rutor.ruta10,
revenue_basis_12: declaration.rutor.ruta11,
revenue_basis_6: declaration.rutor.ruta12,
domestic_taxable_sales: declaration.rutor.ruta05,
revenue_basis_25: declaration.breakdown.invoices.base25,
revenue_basis_12: declaration.breakdown.invoices.base12,
revenue_basis_6: declaration.breakdown.invoices.base6,
invoice_count: declaration.invoiceCount,
transaction_count: declaration.transactionCount,
})