fix(periodisering): stop overselling automatic periodization to enskild firma (#1730)
* fix(bokslut): honest periodisering for enskild firma (K1) Stop mis-selling automatic periodisering to sole traders and give the auto-detect a materiality floor: - Remove the inert PeriodiseringAutoDetectToggle (write-only localStorage, no reader anywhere); the settings row is now a plain link to the periodisering wizard, with new i18n keys in sv+en. - Auto-detect tags suggestions under 5 000 kr as low confidence with the reason 'Under 5 000 kr: behöver normalt inte periodiseras', citing K1 (BFNAR 2006:1) for enskild firma and K2 for aktiebolag; the wizard only pre-ticks high-confidence rows, so under-floor posts land unticked. Personnel-cost lines (7xxx) are exempt: they must always be accrued. - The accruals GET route resolves companies.entity_type and threads it to the detector. - Per-line accrual hint in the invoice editors is entity-aware: new accruals.k1_hint (K1, förenklat årsbokslut) for EF, k2_hint stays for AB. - Periodisering wizard and year-end AccrualsStep relabel Revisionsarvode to Bokslutsarvode for EF, default the liability account to 2991 instead of 2992, and show a muted K1-floor intro line. All copy stays advisory (behöver normalt inte, never får inte): entity_type is a proxy since no förenklat-vs-full-årsbokslut flag exists. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(bokslut): SEK-correct materiality floor, entity-type via settings, narrower personnel exemption Review fixes on the K1 periodisering branch: - The 5 000 kr floor now compares a SEK amount: queries select currency and subtotal_sek, the floor uses the periodisation share of subtotal_sek for foreign-currency invoices, and is skipped entirely when no SEK amount is resolvable (accrual-k2-hint precedent, DECISIONS.md 2026-07-26). - The accruals route resolves entity type via getCompanyEntityType (company_settings-primary, companies fallback) instead of reading companies.entity_type directly. - The personnel-cost exemption from the floor is narrowed from startsWith('7') to /^7[0-6]/: 78xx/79xx are not personnel costs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
Jakob Wennberg
parent
c402421908
commit
64fc7c783d
+5
-1
@@ -1047,6 +1047,7 @@
|
||||
"preview_invalid_period": "The period end must be after its start",
|
||||
"preview_min_months": "Deferral requires at least 2 calendar months",
|
||||
"k2_hint": "Amounts under SEK 5,000 normally do not need to be deferred (K2).",
|
||||
"k1_hint": "Amounts under SEK 5,000 normally do not need to be deferred (K1, simplified annual accounts).",
|
||||
"validation_period": "Enter a period of at least 2 calendar months",
|
||||
"incomplete_toast_title": "Incomplete deferral",
|
||||
"incomplete_toast_description": "Set the period start and end (at least 2 months) or remove the deferral from the line."
|
||||
@@ -1949,7 +1950,10 @@
|
||||
"fy_unlock_success": "Fiscal year unlocked",
|
||||
"fy_action_error": "The action could not be completed",
|
||||
"related_heading": "Related",
|
||||
"related_chart_of_accounts": "Chart of accounts (BAS)"
|
||||
"related_chart_of_accounts": "Chart of accounts (BAS)",
|
||||
"periodisering_label": "Accruals",
|
||||
"periodisering_help": "The year-end wizard scans invoices for date ranges extending into the next fiscal year and suggests accruals. Nothing is booked without your review.",
|
||||
"periodisering_open_wizard": "Open the accruals wizard"
|
||||
},
|
||||
"settings_tax": {},
|
||||
"settings_team": {},
|
||||
|
||||
+5
-1
@@ -1047,6 +1047,7 @@
|
||||
"preview_invalid_period": "Periodens slut måste vara efter dess start",
|
||||
"preview_min_months": "Periodisering kräver minst 2 kalendermånader",
|
||||
"k2_hint": "Belopp under 5 000 kr behöver normalt inte periodiseras (K2).",
|
||||
"k1_hint": "Belopp under 5 000 kr behöver normalt inte periodiseras (K1, förenklat årsbokslut).",
|
||||
"validation_period": "Ange en period på minst 2 kalendermånader",
|
||||
"incomplete_toast_title": "Ofullständig periodisering",
|
||||
"incomplete_toast_description": "Ange periodens start och slut (minst 2 månader) eller ta bort periodiseringen från raden."
|
||||
@@ -1949,7 +1950,10 @@
|
||||
"fy_unlock_success": "Räkenskapsåret är upplåst",
|
||||
"fy_action_error": "Åtgärden kunde inte slutföras",
|
||||
"related_heading": "Relaterat",
|
||||
"related_chart_of_accounts": "Kontoplan (BAS)"
|
||||
"related_chart_of_accounts": "Kontoplan (BAS)",
|
||||
"periodisering_label": "Periodisering",
|
||||
"periodisering_help": "I bokslut-wizarden skannas fakturor efter datumintervall som sträcker sig in i nästa räkenskapsår och periodiseringar föreslås. Inget bokförs utan din granskning.",
|
||||
"periodisering_open_wizard": "Öppna periodiserings-wizarden"
|
||||
},
|
||||
"settings_tax": {},
|
||||
"settings_team": {},
|
||||
|
||||
Reference in New Issue
Block a user