Skip to content

Commit 3c6dd58

Browse files
committed
Fyll automatiskt i notnummer för personalkostnader vid SIE-import
1 parent ded8190 commit 3c6dd58

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

src/util/autofillUtils.ts

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getTaxonomyManager, TaxonomyRootName } from "@/util/TaxonomyManager.ts";
2-
import { getOrCreateBeloppradInList } from "@/model/arsredovisning/Belopprad.ts";
2+
import { getOrCreateBeloppradInList, getTaxonomyItemForBelopprad } from "@/model/arsredovisning/Belopprad.ts";
33
import { isBeloppradComparable } from "@/model/arsredovisning/beloppradtyper/BaseBeloppradComparable.ts";
44
import Decimal from "decimal.js";
55
import type { Arsredovisning, Verksamhetsar } from "@/model/arsredovisning/Arsredovisning.ts";
@@ -87,6 +87,42 @@ export async function autofillSoliditet(arsredovisning: Arsredovisning) {
8787
}
8888
}
8989

90+
/**
91+
* Fyller automatiskt i notnummer för raden för personalkostnader i
92+
* resultaträkningen, om det finns en not för medelantalet anställda.
93+
*
94+
* @param arsredovisning - Årsredovisningen som ska få notnumret ifyllt
95+
*/
96+
export async function autofillPersonalkostnaderNot(
97+
arsredovisning: Arsredovisning,
98+
) {
99+
const personalkostnaderBelopprad = arsredovisning.resultatrakning.find(
100+
(belopprad) =>
101+
belopprad.taxonomyItemName === "se-gen-base:Personalkostnader",
102+
);
103+
const notMedelandataletAnstalldaBelopprad = arsredovisning.noter.find(
104+
(belopprad) =>
105+
belopprad.taxonomyItemName === "se-gen-base:NotMedelantaletAnstallda",
106+
);
107+
108+
if (
109+
personalkostnaderBelopprad != null &&
110+
notMedelandataletAnstalldaBelopprad != null
111+
) {
112+
const taxonomyManagerNoter = await getTaxonomyManager(
113+
TaxonomyRootName.NOTER,
114+
);
115+
personalkostnaderBelopprad.not = (
116+
arsredovisning.noter
117+
.filter(
118+
(b) =>
119+
getTaxonomyItemForBelopprad(taxonomyManagerNoter, b).level === 2,
120+
)
121+
.indexOf(notMedelandataletAnstalldaBelopprad) + 1
122+
).toString();
123+
}
124+
}
125+
90126
// Bolagsskatt per år (räkenskapsår som inleds 2021, 2022, osv)
91127
const BOLAGSSKATT_PER_AR: { [ar: string]: string } = {
92128
"2021": "20.6",

src/util/sieUtils.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ import {
1414
} from "@/model/arsredovisning/Belopprad.ts";
1515
import { isBeloppradComparable } from "@/model/arsredovisning/beloppradtyper/BaseBeloppradComparable.ts";
1616
import { SIE_MAPPINGS } from "@/data/sie/SIE_MAPPINGS.ts";
17-
import { autofillSoliditet } from "@/util/autofillUtils.ts";
17+
import {
18+
autofillPersonalkostnaderNot,
19+
autofillSoliditet,
20+
} from "@/util/autofillUtils.ts";
1821

1922
export interface SieMapping {
2023
basAccounts: { start: number; end: number }[];
@@ -172,6 +175,9 @@ export async function mapSieFileIntoArsredovisning(
172175

173176
// Räkna ut soliditet
174177
await autofillSoliditet(arsredovisning);
178+
179+
// Fyll i not för personalkostnader i resultaträkning
180+
await autofillPersonalkostnaderNot(arsredovisning);
175181
}
176182

177183
/**

0 commit comments

Comments
 (0)