diff --git a/src/routes/(app)/companies/[companyId]/+layout.svelte b/src/routes/(app)/companies/[companyId]/+layout.svelte
index 6acd151..144e09f 100644
--- a/src/routes/(app)/companies/[companyId]/+layout.svelte
+++ b/src/routes/(app)/companies/[companyId]/+layout.svelte
@@ -32,6 +32,9 @@
{ href: `/companies/${data.company.id}/integrations`, label: 'Integrations' }
]
: []),
+ ...(data.companyRoles.includes('admin') || data.companyRoles.includes('accountant')
+ ? [{ href: `/companies/${data.company.id}/export`, label: 'Export' }]
+ : []),
...(data.companyRoles.includes('admin') || data.companyRoles.includes('manager')
? [
{ href: `/companies/${data.company.id}/import`, label: 'Import' },
diff --git a/src/routes/(app)/companies/[companyId]/export/+page.server.ts b/src/routes/(app)/companies/[companyId]/export/+page.server.ts
new file mode 100644
index 0000000..808cd1b
--- /dev/null
+++ b/src/routes/(app)/companies/[companyId]/export/+page.server.ts
@@ -0,0 +1,8 @@
+import type { PageServerLoad } from './$types';
+import { requireCompanyRoleAny } from '$lib/server/authorization.js';
+
+export const load: PageServerLoad = async ({ locals, params, parent }) => {
+ await requireCompanyRoleAny(locals, params.companyId, ['admin', 'accountant']);
+ await parent();
+ return {};
+};
diff --git a/src/routes/(app)/companies/[companyId]/export/+page.svelte b/src/routes/(app)/companies/[companyId]/export/+page.svelte
new file mode 100644
index 0000000..a172b7d
--- /dev/null
+++ b/src/routes/(app)/companies/[companyId]/export/+page.svelte
@@ -0,0 +1,90 @@
+
+
+
+ Download a complete year-scoped snapshot for internal review or tax filing. +
+ + +
+ ZIP filename: financial-export-{data.company.name.replace(/[^a-zA-Z0-9_-]+/g, '_')}-{year}.zip
+
{f.name}
+ {f.desc}
+ Sensitive data — handle with care
++ This export contains full salaries, bank account numbers, national IDs, and tax IDs. + Store the ZIP securely and only share with parties (auditors, accountants) who require the data. +
++ All generations are logged in the company audit trail. +
+