Skip to content

Commit a5612d3

Browse files
committed
fix SV values for 2025, update tests
1 parent ff110bf commit a5612d3

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

src/sv-values.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ export const percentages = {
5252
// @see https://www.svs.at/cdscontent/?contentid=10007.846813&portal=svsportal
5353
export const fixValues = {
5454
2025: {
55-
uv: 11.35, // TODO: check value in 2025
55+
uv: 12.07,
5656
kvMinBeitragsgrundlage: 551.10,
5757
pvMinBeitragsgrundlage: 551.10,
5858
svsMinBeitragsgrundlage: 551.10,
5959
maxBeitragsgrundlage: 7525,
60-
limit: 6439.03 // TODO: check value in 2025
60+
limit: 6613.2
6161
},
6262
2024: {
6363
uv: 11.35, // monatlich in € Unfallversicherung

tests/est.test.js

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
import { einkommensteuer, freibetragValues, investGewinnfreibetrag } from '../src/est.js';
22

3-
test('should return 0 for 0-12816 income', () => {
4-
expect(einkommensteuer(0, 2024)).toBe(0);
5-
expect(einkommensteuer(12816, 2024)).toBe(0);
6-
expect(einkommensteuer(12817, 2024)).not.toBe(0);
3+
test('should return 0 for 0-13308 income', () => {
4+
expect(einkommensteuer(0, 2025)).toBe(0);
5+
expect(einkommensteuer(13308, 2025)).toBe(0);
6+
expect(einkommensteuer(13309, 2025)).not.toBe(0);
7+
});
8+
9+
test('should return correct ESt for all levels in 2025', () => {
10+
const limits = [13308, 21617, 35836, 69166, 103072, 1000000];
11+
const percentages = [0, 0.2, 0.3, 0.4, 0.48, 0.5, 0.55];
12+
const levels = limits.map((limit, index) => {
13+
return {
14+
limit,
15+
est: (limit - (index > 0 ? limits[index-1] : 0)) * percentages[index]
16+
};
17+
});
18+
levels.forEach((level, i) => { level.est += (levels[i-1] ? levels[i-1].est : 0); });
19+
levels.forEach((level) => {
20+
expect(einkommensteuer(level.limit, 2025)).toBe(level.est);
21+
});
722
});
823

924
test('should return correct ESt for all levels in 2024', () => {

tests/test.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import hundert11 from '../src/index.js';
22
import { fixValues } from '../src/sv-values.js';
3+
import { freibetragValues } from '../src/est.js';
34

45
// Wenn man weniger als 5.710,32 € Gewinn pro Jahr erzielt, kann man
56
// sich bei der SVA von der KV+PV ausnehmen lassen. Man bezahlt dann nur die UV.
@@ -46,8 +47,10 @@ test('should return the correct SV-Nachzahlung for 10.000€ (year = founding ye
4647
let income = 10000;
4748
let outgo = 1200;
4849
let { sv, svAdditional } = hundert11.calculate(income, outgo, options);
49-
expect(sv).toBe(1805); // values from WKO SV-Beitrag Rechner
50-
// expect(svAdditional).toBe(240);
50+
const haudeSvValues = [1805, 429]; // values from WKO & haude Rechner
51+
// both values from https://www.ea-tabelle.at/?from=2548
52+
expect(sv).toBe(haudeSvValues[0]);
53+
// expect(svAdditional).toBe(haudeSvValues[1]);
5154
});
5255

5356
test('should add tipp to exclude KV/PV if profit is smaller than 5.710,32', () => {
@@ -91,13 +94,15 @@ test('should return zero maxInvestFreibetrag because of 33.000 limit', () => {
9194
test('should return correct maxInvestFreibetrag for 2024', () => {
9295
let income = 833000;
9396
let outgo = 200000;
94-
const grundfreibetrag = 4950;
97+
const { grundfreibetrag } = freibetragValues(2024); // = 4950
98+
expect(grundfreibetrag).toBe(4950);
9599
expect(hundert11.calculate(income, outgo).maxInvestFreibetrag).toBe(46400 - grundfreibetrag);
96100
});
97101

98102
test('should return correct maxInvestFreibetrag for 2023', () => {
99103
let income = 833000;
100104
let outgo = 200000;
101-
const grundfreibetrag = 4500;
105+
const { grundfreibetrag } = freibetragValues(2023); // = 4500
106+
expect(grundfreibetrag).toBe(4500);
102107
expect(hundert11.calculate(income, outgo, {year: 2023}).maxInvestFreibetrag).toBe(45950 - grundfreibetrag);
103108
});

0 commit comments

Comments
 (0)