feat: BAS data overhaul, currency revaluation, expenses, UI polish, and cleanup

- Update BAS account catalog with comprehensive SRU codes and K2 flags
- Add currency revaluation service with tests and API route
- Add expenses page and account deletion API
- Enhance booking templates with new patterns and improved tests
- Improve transaction categorization with template picker and description matching
- Polish dashboard, onboarding, import, and transaction UIs
- Refactor year-end service for multi-step closing
- Move SRU generator to ne-bilaga, remove standalone SRU export
- Remove unused dev docs, mock data, and extension hooks
- Add invoice delivery note sequences migration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-03-04 14:19:56 +01:00
co-authored by Claude Opus 4.6
parent a9bf24ce0b
commit 66a4027f1e
104 changed files with 4964 additions and 5501 deletions
+61 -61
View File
@@ -36,12 +36,12 @@ export { BAS_REFERENCE } from './bas-data'
/** Swedish labels for each BAS account class (1-8) */
export const ACCOUNT_CLASS_LABELS: Record<number, string> = {
1: 'Tillgangar',
1: 'Tillgångar',
2: 'Eget kapital och skulder',
3: 'Rorelseintatker',
4: 'Varuinkop och material',
5: 'Ovriga externa kostnader',
6: 'Ovriga externa kostnader',
3: 'Rörelseintäkter',
4: 'Varuinköp och material',
5: 'Övriga externa kostnader',
6: 'Övriga externa kostnader',
7: 'Personalkostnader och avskrivningar',
8: 'Finansiella poster och resultat',
}
@@ -49,100 +49,100 @@ export const ACCOUNT_CLASS_LABELS: Record<number, string> = {
/** Swedish labels for BAS account groups (first two digits) */
export const ACCOUNT_GROUP_LABELS: Record<string, string> = {
// Class 1 - Assets
'10': 'Immateriella anlaggningstillgangar',
'10': 'Immateriella anläggningstillgångar',
'11': 'Byggnader och mark',
'12': 'Maskiner respektive inventarier',
'13': 'Finansiella anlaggningstillgangar',
'14': 'Lager, produkter i arbete och pagaende arbeten',
'13': 'Finansiella anläggningstillgångar',
'14': 'Lager, produkter i arbete och pågående arbeten',
'15': 'Kundfordringar',
'16': 'Ovriga kortfristiga fordringar',
'17': 'Forutbetalda kostnader och upplupna intakter',
'16': 'Övriga kortfristiga fordringar',
'17': 'Förutbetalda kostnader och upplupna intäkter',
'18': 'Kortfristiga placeringar',
'19': 'Kassa och bank',
// Class 2 - Equity & Liabilities
'20': 'Eget kapital',
'21': 'Obeskattade reserver',
'22': 'Avsattningar',
'23': 'Langfristiga skulder',
'24': 'Kortfristiga skulder till kreditinstitut, kunder och leverantorer',
'22': 'Avsättningar',
'23': 'Långfristiga skulder',
'24': 'Kortfristiga skulder till kreditinstitut, kunder och leverantörer',
'25': 'Skatteskulder',
'26': 'Moms och punktskatter',
'27': 'Personalens skatter, avgifter och loneavdrag',
'28': 'Ovriga kortfristiga skulder',
'29': 'Upplupna kostnader och forutbetalda intakter',
'27': 'Personalens skatter, avgifter och löneavdrag',
'28': 'Övriga kortfristiga skulder',
'29': 'Upplupna kostnader och förutbetalda intäkter',
// Class 3 - Revenue
'30': 'Huvudintakter',
'31': 'Forsaljning av varor utanfor Sverige',
'32': 'Forsaljning VMB och omvand moms',
'33': 'Forsaljning av tjanster utanfor Sverige',
'34': 'Forsaljning, egna uttag',
'30': 'Huvudintäkter',
'31': 'Försäljning av varor utanför Sverige',
'32': 'Försäljning VMB och omvänd moms',
'33': 'Försäljning av tjänster utanför Sverige',
'34': 'Försäljning, egna uttag',
'35': 'Fakturerade kostnader',
'36': 'Rorelsens sidointakter',
'37': 'Intaktskorrigeringar',
'38': 'Aktiverat arbete for egen rakning',
'39': 'Ovriga rorelseintakter',
'36': 'Rörelsens sidointäkter',
'37': 'Intäktskorrigeringar',
'38': 'Aktiverat arbete för egen räkning',
'39': 'Övriga rörelseintäkter',
// Class 4 - Cost of goods
'40': 'Inkop av handelsvaror',
'41': 'Inkop av varor och material',
'42': 'Salda handelsvaror VMB',
'43': 'Inkop av ravaror och material i Sverige',
'44': 'Inkop av ravaror m.m., omvand betalningsskyldighet',
'45': 'Inkop av ravaror m.m. fran utlandet',
'46': 'Inkop av tjanster, underentreprenader och legoarbeten',
'47': 'Reduktion av inkopspriser',
'40': 'Inköp av handelsvaror',
'41': 'Inköp av varor och material',
'42': 'Sålda handelsvaror VMB',
'43': 'Inköp av råvaror och material i Sverige',
'44': 'Inköp av råvaror m.m., omvänd betalningsskyldighet',
'45': 'Inköp av råvaror m.m. från utlandet',
'46': 'Inköp av tjänster, underentreprenader och legoarbeten',
'47': 'Reduktion av inköpspriser',
'48': 'Andra produktionskostnader',
'49': 'Forandring av lager, produkter i arbete och pagaende arbeten',
'49': 'Förändring av lager, produkter i arbete och pågående arbeten',
// Class 5 - External expenses
'50': 'Lokalkostnader',
'51': 'Fastighetskostnader',
'52': 'Hyra av anlaggningstillgangar',
'53': 'Energikostnader for drift',
'54': 'Forbrukningsinventarier och forbrukningsmaterial',
'55': 'Reparation och underhall',
'56': 'Kostnader for transportmedel',
'52': 'Hyra av anläggningstillgångar',
'53': 'Energikostnader för drift',
'54': 'Förbrukningsinventarier och förbrukningsmaterial',
'55': 'Reparation och underhåll',
'56': 'Kostnader för transportmedel',
'57': 'Frakter och transporter',
'58': 'Resekostnader',
'59': 'Reklam och PR',
// Class 6 - Other external expenses
'60': 'Ovriga forsaljningskostnader',
'60': 'Övriga försäljningskostnader',
'61': 'Kontorsmateriel och trycksaker',
'62': 'Tele, data och post',
'63': 'Foretagsforsakringar och ovriga riskkostnader',
'64': 'Forvaltningskostnader',
'65': 'Ovriga externa tjanster',
'63': 'Företagsförsäkringar och övriga riskkostnader',
'64': 'Förvaltningskostnader',
'65': 'Övriga externa tjänster',
'66': 'Franchisingavgifter',
'67': 'Sarskilt for ideella foreningar och stiftelser',
'67': 'Särskilt för ideella föreningar och stiftelser',
'68': 'Inhyrd personal',
'69': 'Ovriga externa kostnader',
'69': 'Övriga externa kostnader',
// Class 7 - Personnel
'70': 'Loner till kollektivanstallda',
'71': 'Loner till anstallda',
'72': 'Loner till tjansteman och foretagsledare',
'73': 'Kostnadsersattningar och formaner',
'70': 'Löner till kollektivanställda',
'71': 'Löner till anställda',
'72': 'Löner till tjänstemän och företagsledare',
'73': 'Kostnadsersättningar och förmåner',
'74': 'Pensionskostnader',
'75': 'Sociala och andra avgifter enligt lag och avtal',
'76': 'Ovriga personalkostnader',
'77': 'Nedskrivningar och aterforing av nedskrivningar',
'76': 'Övriga personalkostnader',
'77': 'Nedskrivningar och återföring av nedskrivningar',
'78': 'Avskrivningar enligt plan',
'79': 'Ovriga rorelsekostnader',
'79': 'Övriga rörelsekostnader',
// Class 8 - Financial
'80': 'Resultat fran andelar i koncernforetag',
'81': 'Resultat fran andelar i intresseforetag',
'82': 'Resultat fran ovriga vardepapper och langfristiga fordringar',
'83': 'Ovriga ranteintakter och liknande resultatposter',
'84': 'Rantekostnader och liknande resultatposter',
'85': 'Extraordinara intakter',
'86': 'Extraordinara kostnader',
'87': 'Bokslutsdispositioner (intakter)',
'80': 'Resultat från andelar i koncernföretag',
'81': 'Resultat från andelar i intresseföretag',
'82': 'Resultat från övriga värdepapper och långfristiga fordringar',
'83': 'Övriga ränteintäkter och liknande resultatposter',
'84': 'Räntekostnader och liknande resultatposter',
'85': 'Extraordinära intäkter',
'86': 'Extraordinära kostnader',
'87': 'Bokslutsdispositioner (intäkter)',
'88': 'Bokslutsdispositioner',
'89': 'Skatter och arets resultat',
'89': 'Skatter och årets resultat',
}
// ---------------------------------------------------------------------------