Files
accounted/app/api/sandbox/seed/vat-deadline.ts
T
Mattsson 7d56e0ec01 fix(mcp): use canonical VAT deadlines (#1679)
* fix(mcp): use canonical VAT deadlines

* fix(mcp): handle incomplete VAT settings

* fix(mcp): block unknown VAT deadlines

* fix(mcp): tighten VAT tool description

* fix(mcp): fail closed on missing entity type

* ci: retry timed-out preview

* fix(vat): scope annual filing method requirement
2026-08-18 17:22:52 +02:00

34 lines
1.1 KiB
TypeScript

import { getVatDeadlineForPeriod } from '@/lib/tax/deadline-config'
import { adjustDeadlineToNextBankingDay } from '@/lib/tax/swedish-holidays'
export interface SandboxVatDeadline {
title: string
dueDate: string
period: string
}
/** Build the current quarter's canonical, banking-day-adjusted sandbox deadline. */
export function buildSandboxVatDeadline(today: Date): SandboxVatDeadline {
const year = today.getFullYear()
const quarter = Math.floor(today.getMonth() / 3) + 1
const rawDeadline = getVatDeadlineForPeriod('quarterly', year, quarter, {
vat_taxable_base_over_40m: false,
})
if (!rawDeadline) throw new Error('Could not resolve sandbox VAT deadline')
const deadline = adjustDeadlineToNextBankingDay(
new Date(rawDeadline.year, rawDeadline.month, rawDeadline.day),
)
const dueDate = [
deadline.getFullYear(),
String(deadline.getMonth() + 1).padStart(2, '0'),
String(deadline.getDate()).padStart(2, '0'),
].join('-')
return {
title: `Momsdeklaration Q${quarter} ${year}`,
dueDate,
period: `${year}-Q${quarter}`,
}
}