From 23c4d21f44fdcc86c17c02b268a2ec3685daed0e Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Sat, 21 Mar 2026 17:44:25 +0100 Subject: [PATCH] Added UST Auswertung --- backend/db/schema/tenants.ts | 4 + backend/src/routes/auth/me.ts | 1 + frontend/pages/accounting/tax.vue | 289 +++++++++++++++++++++++++++++ frontend/pages/index.client.vue | 10 + frontend/pages/settings/tenant.vue | 23 +++ 5 files changed, 327 insertions(+) create mode 100644 frontend/pages/accounting/tax.vue diff --git a/backend/db/schema/tenants.ts b/backend/db/schema/tenants.ts index 826159f..fb6d01a 100644 --- a/backend/db/schema/tenants.ts +++ b/backend/db/schema/tenants.ts @@ -161,6 +161,10 @@ export const tenants = pgTable( .notNull() .default(14), + taxEvaluationPeriod: text("taxEvaluationPeriod") + .notNull() + .default("monthly"), + dokuboxEmailAddresses: jsonb("dokuboxEmailAddresses").default([]), dokuboxkey: uuid("dokuboxkey").notNull().defaultRandom(), diff --git a/backend/src/routes/auth/me.ts b/backend/src/routes/auth/me.ts index 34f0ead..1e543b0 100644 --- a/backend/src/routes/auth/me.ts +++ b/backend/src/routes/auth/me.ts @@ -57,6 +57,7 @@ export default async function meRoutes(server: FastifyInstance) { businessInfo: tenants.businessInfo, numberRanges: tenants.numberRanges, accountChart: tenants.accountChart, + taxEvaluationPeriod: tenants.taxEvaluationPeriod, dokuboxkey: tenants.dokuboxkey, standardEmailForInvoices: tenants.standardEmailForInvoices, standardPaymentDays: tenants.standardPaymentDays, diff --git a/frontend/pages/accounting/tax.vue b/frontend/pages/accounting/tax.vue new file mode 100644 index 0000000..2ece583 --- /dev/null +++ b/frontend/pages/accounting/tax.vue @@ -0,0 +1,289 @@ + + + diff --git a/frontend/pages/index.client.vue b/frontend/pages/index.client.vue index 2be9d18..bde2b48 100644 --- a/frontend/pages/index.client.vue +++ b/frontend/pages/index.client.vue @@ -7,6 +7,7 @@ import DisplayOpenBalances from "~/components/displayOpenBalances.vue" import DisplayBankaccounts from "~/components/displayBankaccounts.vue" import DisplayProjectsInPhases from "~/components/displayProjectsInPhases.vue" import DisplayOpenTasks from "~/components/displayOpenTasks.vue" +import DisplayTaxSummary from "~/components/displayTaxSummary.vue" setPageLayout("default") @@ -68,6 +69,15 @@ const DASHBOARD_WIDGETS = [ defaultLayout: { x: 0, y: 7, w: 4, h: 3 }, minW: 3, minH: 3 + }, + { + id: "tax-summary", + title: "USt aktuell", + description: "USt, Vorsteuer und Saldo des aktuellen Zeitraums", + component: markRaw(DisplayTaxSummary), + defaultLayout: { x: 4, y: 7, w: 4, h: 3 }, + minW: 3, + minH: 3 } ] diff --git a/frontend/pages/settings/tenant.vue b/frontend/pages/settings/tenant.vue index 9befb7d..3373c17 100644 --- a/frontend/pages/settings/tenant.vue +++ b/frontend/pages/settings/tenant.vue @@ -1,4 +1,8 @@