Skip to content

Commit 4ae2894

Browse files
fix(glossar): Re-Review — 9 Konten-Texte fachlich präzisiert + 3 Code-Kleinigkeiten
Re-Review (Christin): Delta-Code v2.13.1->v2.14.2 sauber (keine Regressionen; Zahllast- Äquivalenz + Konflikt-Warnung-False-Positive-Pfade tiefgeprüft). Fach-Review der 65 Glossar-Texte (zweites Augenpaar) fand 9 Beanstandungen — alle korrigiert: - 0135: Software-AfA — BMF 22.02.2022 erlaubt 1 Jahr Nutzungsdauer (Wahlrecht); "üblich 3 Jahre" war überholt (HOCH). - 7000: §8b-Logik richtig herum — grundsätzlich 95% frei, Streubesitz <10% VOLL steuerpflichtig (§8b Abs.4); GewSt-15%-Grenze ergänzt (HOCH). - 7600: konkreter KSt-Absenkungspfad 15%->10% (2028-2032) statt vager Prosa (HOCH). - 0670/6260: GWG-Wahlrechte getrennt (§6 Abs.2 Sofort vs §6 Abs.2a Sammelposten; steuerlich vs handelsrechtlich). 2910 (Teileinzahlung), 2920 (nur Gesellschafter- Zuzahlungen), 1600 (§146-Aufzeichnung vs Kassensturz), 3730 (Anmeldungszeitraum). Code: alleKonten() je Render nur 1x (Glossar-zeichne), EOF-Newline, Fristen-Kommentar (unbekannte Klasse -> strengere 3 Monate). 272 Tests grün. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent b6c9959 commit 4ae2894

6 files changed

Lines changed: 77 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,32 @@ nachvollziehbar, welcher Programmstand einen Abschluss erzeugt hat.
1111

1212
## [Unreleased]
1313

14+
## [2.14.3] - 2026-06-10
15+
16+
Ergebnis eines Re-Reviews (Delta-Code v2.13.1→v2.14.2 + fachliche Prüfung aller 65
17+
Konten-Glossar-Texte durch ein zweites Augenpaar). Der Code war sauber (keine Regressionen;
18+
UStVA-Zahllast-Äquivalenz und Konflikt-Warnung tiefgeprüft) — korrigiert wurden 9 Glossar-
19+
Texte und 3 Code-Kleinigkeiten.
20+
21+
### Behoben (Konten-Glossar, fachliche Präzisierungen)
22+
- **0135 Software**: Steuerlich gilt seit BMF-Schreiben 22.02.2022 eine Nutzungsdauer von
23+
1 Jahr für Standardsoftware als zulässig (Wahlrecht) — der pauschale Hinweis „üblich
24+
3 Jahre" war überholt und hätte Steuervorteile verschenkt.
25+
- **7000 Beteiligungserträge**: § 8b-KStG-Logik richtig herum erklärt — grundsätzlich 95 %
26+
steuerfrei, ABER Streubesitz unter 10 % voll steuerpflichtig (§ 8b Abs. 4 KStG);
27+
GewSt-15 %-Grenze ergänzt.
28+
- **7600 Körperschaftsteuer**: konkreter Absenkungspfad benannt (15 % bis 2027, ab 2028
29+
jährlich −1 Punkt bis 10 % ab 2032).
30+
- **0670/6260 GWG**: Wahlrechte sauber getrennt (Sofortabschreibung § 6 Abs. 2 vs.
31+
Sammelposten § 6 Abs. 2a EStG; steuerliches Wahlrecht vs. Handelsrecht).
32+
- **2910** (Gründungsbuchung nur bei Teileinzahlung), **2920** (nur Gesellschafter-
33+
Zuzahlungen, keine Drittzuschüsse), **1600** (tägliche Aufzeichnung + Kassensturz
34+
sauber getrennt), **3730** (Anmeldungszeitraum monatlich/vierteljährlich/jährlich).
35+
36+
### Geändert
37+
- Glossar-Render: Kontenliste wird je Eingabe nur noch einmal aufgebaut (Performance).
38+
- Fristen-Kommentar präzisiert (unbekannter Größenklassen-Wert → strengere 3 Monate).
39+
1440
## [2.14.2] - 2026-06-10
1541

1642
Nacharbeit: die letzten offenen Review-/Audit-Findings umgesetzt.
@@ -413,7 +439,8 @@ Einzelnachweise als Git-Commit-Kurz-Hashes in Klammern.
413439
für die GmbH, SKR04, E-Bilanz/XBRL-Grundlage, ELSTER-Bezug (`7e2ecb3`).
414440
Der vollständige Funktionsumfang dieses Stands ist in der README dokumentiert.
415441

416-
[Unreleased]: https://github.com/chloepriceless/OpenBilanz/compare/v2.14.2...HEAD
442+
[Unreleased]: https://github.com/chloepriceless/OpenBilanz/compare/v2.14.3...HEAD
443+
[2.14.3]: https://github.com/chloepriceless/OpenBilanz/compare/v2.14.2...v2.14.3
417444
[2.14.2]: https://github.com/chloepriceless/OpenBilanz/compare/v2.14.1...v2.14.2
418445
[2.14.1]: https://github.com/chloepriceless/OpenBilanz/compare/v2.14.0...v2.14.1
419446
[2.14.0]: https://github.com/chloepriceless/OpenBilanz/compare/v2.13.1...v2.14.0

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "openbilanz",
3-
"version": "2.14.2",
3+
"version": "2.14.3",
44
"description": "Lokales Open-Source-Tool zur Vorbereitung von Eroeffnungsbilanz und Jahresabschluss einer GmbH nach HGB inkl. E-Bilanz-XBRL-Export und Validierung gegen die amtliche Taxonomie.",
55
"main": "server.js",
66
"scripts": {

public/app.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5601,7 +5601,8 @@ function renderGlossar(m) {
56015601
* (übersichtlich); mit Suchbegriff ALLE Konten des vollen SKR04 durchsuchen
56025602
* (Nr, Name, Erklärtext), Treffer gedeckelt — hält das DOM klein. */
56035603
var hatGlossar = typeof SKR04Glossar !== 'undefined';
5604-
var konten = SKR04.alleKonten().filter(function (k) {
5604+
var alleK = SKR04.alleKonten(); // einmal aufbauen (läuft je Tastendruck)
5605+
var konten = alleK.filter(function (k) {
56055606
var erkl = hatGlossar ? SKR04Glossar.erklaerung(k.nr) : null;
56065607
if (!q) return !!erkl;
56075608
return (k.nr + ' ' + k.name + ' ' + (erkl || '')).toLowerCase().indexOf(q) >= 0;
@@ -5613,7 +5614,7 @@ function renderGlossar(m) {
56135614
'<div class="karte-hint">' + (q
56145615
? gesamt + ' Konto/Konten gefunden' + (gesamt > MAX ? ' — die ersten ' + MAX + ' angezeigt, Suche verfeinern' : '')
56155616
: 'Die häufigsten Konten mit Erklärung — über die Suche ist der gesamte Kontenrahmen (' +
5616-
SKR04.alleKonten().length + ' Konten) durchsuchbar.') + '</div>';
5617+
alleK.length + ' Konten) durchsuchbar.') + '</div>';
56175618
konten.forEach(function (k) {
56185619
var erkl = hatGlossar ? SKR04Glossar.erklaerung(k.nr) : null;
56195620
h += '<div style="margin-bottom:9px"><b class="mono">' + esc(k.nr) + '</b> &nbsp;<b>' +

public/shared/fristen.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,9 @@
107107
}
108108
// Jahresabschluss aufstellen (§ 264 Abs. 1 HGB): kleine und Kleinst-
109109
// Kapitalgesellschaften 6 Monate (Satz 4), mittelgroße/große 3 Monate
110-
// (Satz 3) nach dem Abschlussstichtag. Ohne Einstufung: 6 Monate
111-
// (Zielgruppe des Tools ist die kleine GmbH).
110+
// (Satz 3) nach dem Abschlussstichtag. Ohne Einstufung (undefined): 6 Monate
111+
// (Zielgruppe des Tools ist die kleine GmbH); ein UNBEKANNTER Klassenwert
112+
// (Fremd-Import) fällt bewusst auf die strengeren 3 Monate.
112113
var istKlein = !a.groessenklasse || a.groessenklasse === 'KLEINST' ||
113114
a.groessenklasse === 'KLEIN';
114115
var aufstellung = addMonate(stichtag, istKlein ? 6 : 3);

public/shared/skr04-glossar.js

Lines changed: 40 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424
var TEXTE = {
2525
/* ===== Geldkonten ==================================================== */
2626
'1600': 'Bargeldbestand der GmbH. Jede Bareinnahme und -ausgabe läuft über dieses Konto; ' +
27-
'der Saldo muss jederzeit dem gezählten Kassenbestand entsprechen (Kassensturzfähigkeit, ' +
28-
'§ 146 Abs. 1 AO). Ein Haben-Saldo (negative Kasse) ist ein klassischer Buchführungsmangel.',
27+
'Kasseneinnahmen und -ausgaben sind TÄGLICH aufzuzeichnen (§ 146 Abs. 1 AO), und der ' +
28+
'Saldo muss jederzeit dem gezählten Bestand entsprechen (Kassensturzfähigkeit, gestützt ' +
29+
'auf § 146 AO / § 238 HGB). Ein Haben-Saldo (negative Kasse) ist ein klassischer ' +
30+
'Buchführungsmangel.',
2931
'1800': 'Geschäftskonto der GmbH bei der Bank. Soll-Buchung = Geldeingang, Haben-Buchung = ' +
3032
'Geldausgang. Der Saldo soll dem Kontoauszug entsprechen — Grundlage des Bankimports.',
3133
'1460': 'Verrechnungskonto für Geld, das zwischen eigenen Konten unterwegs ist (z. B. ' +
@@ -39,11 +41,13 @@
3941
'unverändert, solange das Stammkapital nicht erhöht oder herabgesetzt wird (§ 272 Abs. 1 HGB).',
4042
'2910': 'Noch nicht eingeforderte ausstehende Einlagen auf das Stammkapital (Soll-Saldo). ' +
4143
'Sie werden offen vom gezeichneten Kapital abgesetzt — die Bilanz zeigt nur das ' +
42-
'eingeforderte Kapital (Nettomethode, § 272 Abs. 1 S. 2 HGB). Typische Gründungsbuchung: ' +
43-
'Bank + 2910 an 2900.',
44-
'2920': 'Zuzahlungen der Gesellschafter über das Stammkapital hinaus, z. B. ein Agio oder ' +
45-
'freiwillige Zuschüsse (§ 272 Abs. 2 HGB). Erhöht das Eigenkapital, ohne das Stammkapital ' +
46-
'zu verändern.',
44+
'eingeforderte Kapital (Nettomethode, § 272 Abs. 1 S. 2 HGB). Typische Gründungsbuchung ' +
45+
'bei TEILeinzahlung: Bank (eingezahlter Betrag) + 2910 (noch nicht eingeforderter Rest) ' +
46+
'an 2900 — bei Volleinzahlung entfällt 2910.',
47+
'2920': 'Zuzahlungen der GESELLSCHAFTER über das Stammkapital hinaus — ein Agio bei der ' +
48+
'Anteilsausgabe oder andere freiwillige Gesellschafter-Zuzahlungen (§ 272 Abs. 2 Nr. 1 ' +
49+
'und 4 HGB). Zuschüsse DRITTER (z. B. Fördermittel) gehören NICHT hierher, sondern in ' +
50+
'die Erträge. Erhöht das Eigenkapital, ohne das Stammkapital zu verändern.',
4751
'2970': 'Noch nicht verwendeter Gewinn aus Vorjahren. Bleibt stehen, bis die Gesellschafter' +
4852
'versammlung über die Verwendung beschließt — Ausschüttung, Rücklage oder erneuter ' +
4953
'Vortrag (§ 29 GmbHG).',
@@ -58,18 +62,24 @@
5862
'steuerliche Rücklagen (z. B. § 6b EStG) mit dem Steuerberater abstimmen.',
5963

6064
/* ===== Anlagevermögen =============================================== */
61-
'0135': 'Gekaufte Software und Lizenzen mit mehrjähriger Nutzung. Wird aktiviert und über ' +
62-
'die Nutzungsdauer abgeschrieben (üblich 3 Jahre). Selbst entwickelte Software gehört ' +
63-
'nicht hierher (Aktivierungswahlrecht auf 0143, § 248 Abs. 2 HGB).',
65+
'0135': 'Gekaufte Software und Lizenzen. Wird aktiviert und über die Nutzungsdauer ' +
66+
'abgeschrieben — steuerlich darf für Standardsoftware seit dem BMF-Schreiben vom ' +
67+
'22.02.2022 eine Nutzungsdauer von nur 1 Jahr angesetzt werden (Wahlrecht; faktisch ' +
68+
'Sofortabschreibung); handelsrechtlich und bei Individualsoftware gilt die tatsächliche ' +
69+
'Nutzungsdauer (bisher oft 3 Jahre). Selbst entwickelte Software gehört nicht hierher ' +
70+
'(Aktivierungswahlrecht auf 0143, § 248 Abs. 2 HGB).',
6471
'0500': 'Betriebs- und Geschäftsausstattung: Möbel, Geräte, Werkstatt- und Ladeneinrichtung. ' +
6572
'Aktivieren und über die Nutzungsdauer abschreiben (§ 253 Abs. 3 HGB).',
6673
'0520': 'Firmenfahrzeuge (Pkw) im Anlagevermögen. Anschaffungskosten aktivieren, Nutzungs' +
6774
'dauer üblich 6 Jahre. Bei privater Nutzung durch Gesellschafter-Geschäftsführer an ' +
6875
'1-%-Regel bzw. Fahrtenbuch denken.',
6976
'0650': 'Schreibtische, Regale, Bürotechnik und vergleichbare Einrichtung. Aktivieren und ' +
7077
'abschreiben; Gegenstände bis 800 € netto können sofort auf 6260 abgeschrieben werden.',
71-
'0670': 'Geringwertige Wirtschaftsgüter (Anschaffung bis 800 € netto, § 6 Abs. 2 EStG) — ' +
72-
'wahlweise hier sammeln oder direkt als Sofortaufwand auf 6260 buchen.',
78+
'0670': 'Geringwertige Wirtschaftsgüter bis 800 € netto (§ 6 Abs. 2 EStG): Regelfall ist ' +
79+
'die SOFORT-Abschreibung als Aufwand auf 6260 (keine Aktivierung). Dieses Aktivkonto ' +
80+
'wird nur genutzt, wenn GWG ausnahmsweise aktiviert und planmäßig abgeschrieben werden. ' +
81+
'Daneben existiert das separate Sammelposten-Wahlrecht (§ 6 Abs. 2a EStG, 250–1.000 € ' +
82+
'netto, pauschal 5 Jahre) — das ist ein eigenes Verfahren, nicht dieses Konto.',
7383
'0820': 'Anteile an anderen Unternehmen, die dauerhaft gehalten werden, um Einfluss oder ' +
7484
'Erträge zu erzielen (§ 271 Abs. 1 HGB). Kern der Beteiligungs-/Holding-GmbH; Erträge ' +
7585
'daraus laufen auf 7000.',
@@ -126,8 +136,9 @@
126136
'3700': 'Geschuldete Steuern, die bereits fällig oder angemeldet sind — v. a. die ' +
127137
'Umsatzsteuer-Zahllast nach Voranmeldung und einbehaltene Abzugsteuern. Abgrenzung: ' +
128138
'noch UNGEWISSE Steuern gehören als Rückstellung auf 3020/3030/3040.',
129-
'3730': 'Einbehaltene Lohn- und Kirchensteuer der Beschäftigten, die die GmbH bis zum ' +
130-
'10. des Folgemonats ans Finanzamt abführt (§ 41a EStG).',
139+
'3730': 'Einbehaltene Lohn- und Kirchensteuer der Beschäftigten, abzuführen bis zum 10. ' +
140+
'nach Ablauf des Anmeldungszeitraums (§ 41a EStG) — je nach Vorjahres-Lohnsteuersumme ' +
141+
'monatlich, vierteljährlich oder jährlich.',
131142
'3740': 'Einbehaltene und Arbeitgeber-Anteile zur Sozialversicherung, fällig an die ' +
132143
'Krankenkassen (drittletzter Bankarbeitstag des Monats).',
133144
'3806': 'Auf Ausgangsrechnungen ausgewiesene Umsatzsteuer 19 % (§ 12 Abs. 1 UStG) — ' +
@@ -146,8 +157,11 @@
146157
'4860': 'Miet- und Pachterlöse aus Grundbesitz — das Erlöskonto der Vermietungs-GmbH. ' +
147158
'Bei ausschließlicher Verwaltung eigenen Grundbesitzes an die erweiterte ' +
148159
'Grundstückskürzung denken (§ 9 Nr. 1 S. 2 GewStG).',
149-
'7000': 'Dividenden und Gewinnanteile aus Beteiligungen (Konto 0820). Bei Beteiligungen ' +
150-
'ab 10 % sind sie körperschaftsteuerlich zu 95 % steuerfrei (§ 8b KStG).',
160+
'7000': 'Dividenden und Gewinnanteile aus Beteiligungen (Konto 0820). Für eine GmbH ' +
161+
'grundsätzlich zu 95 % körperschaftsteuerfrei (§ 8b Abs. 1, 5 KStG) — ABER: Liegt die ' +
162+
'Beteiligung zu Jahresbeginn unter 10 %, sind die Dividenden als Streubesitz VOLL ' +
163+
'steuerpflichtig (§ 8b Abs. 4 KStG). Für die Gewerbesteuer gilt eine eigene ' +
164+
'15-%-Grenze (§ 9 Nr. 2a GewStG).',
151165
'7100': 'Zinsen aus Bankguthaben, Darlehen und Verzugszinsen (GuV-Finanzergebnis).',
152166

153167
/* ===== Aufwendungen (Klasse 5/6/7) ================================== */
@@ -161,8 +175,10 @@
161175
'Arbeitslosenversicherung) und Umlagen — Personalnebenkosten.',
162176
'6220': 'Planmäßige Abschreibung der Sachanlagen über die Nutzungsdauer ' +
163177
'(§ 253 Abs. 3 HGB); steuerlich nach den amtlichen AfA-Tabellen.',
164-
'6260': 'Sofortabschreibung geringwertiger Wirtschaftsgüter bis 800 € netto im Jahr ' +
165-
'der Anschaffung (§ 6 Abs. 2 EStG) — statt Aktivierung und mehrjähriger AfA.',
178+
'6260': 'Sofortabschreibung geringwertiger Wirtschaftsgüter bis 800 € netto im Jahr der ' +
179+
'Anschaffung — ein STEUERLICHES Wahlrecht (§ 6 Abs. 2 EStG), das bei kleinen Beträgen ' +
180+
'regelmäßig auch handelsrechtlich übernommen wird (Wesentlichkeit) — statt Aktivierung ' +
181+
'und mehrjähriger AfA.',
166182
'6300': 'Auffangkonto für betriebliche Aufwendungen ohne spezielleres Konto (Hosting, ' +
167183
'Software-Abos, Kleinmaterial). Besser spezifische Konten nutzen, wo vorhanden — ' +
168184
'das hält BWA und GuV aussagekräftig.',
@@ -189,10 +205,11 @@
189205
'7300': 'Zinsen und ähnliche Aufwendungen für Darlehen, Kontokorrent und ' +
190206
'Gesellschafterdarlehen (GuV-Finanzergebnis). Bei hohen Zinslasten die ' +
191207
'Zinsschranke und die gewerbesteuerliche Hinzurechnung (§ 8 Nr. 1 GewStG) beachten.',
192-
'7600': 'Körperschaftsteuer-Aufwand des Geschäftsjahres (15 % bis 2027, danach stufenweise ' +
193-
'sinkend). Buchung meist gegen die Rückstellung 3020/3040. KSt ist keine ' +
194-
'Betriebsausgabe im steuerlichen Sinn (§ 10 Nr. 2 KStG) — die Korrektur erfolgt ' +
195-
'außerbilanziell.',
208+
'7600': 'Körperschaftsteuer-Aufwand des Geschäftsjahres. Satz: 15 % bis VZ 2027, ab 2028 ' +
209+
'jährlich ein Prozentpunkt weniger bis 10 % ab 2032 (§ 23 Abs. 1 KStG i. d. F. des ' +
210+
'steuerlichen Investitionssofortprogramms 2025). Buchung meist gegen die Rückstellung ' +
211+
'3020/3040. KSt ist keine Betriebsausgabe im steuerlichen Sinn (§ 10 Nr. 2 KStG) — ' +
212+
'die Korrektur erfolgt außerbilanziell.',
196213
'7608': 'Solidaritätszuschlag: 5,5 % auf die festgesetzte Körperschaftsteuer.',
197214
'7610': 'Gewerbesteuer-Aufwand (Messzahl 3,5 % × Hebesatz der Gemeinde). Wie die KSt ' +
198215
'steuerlich nicht abziehbar (§ 4 Abs. 5b EStG); Rückstellung auf 3030.',
@@ -212,4 +229,4 @@
212229
function nummern() { return Object.keys(TEXTE); }
213230

214231
return { erklaerung: erklaerung, hatErklaerung: hatErklaerung, nummern: nummern };
215-
});
232+
});

public/shared/version.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
else root.Version = api;
1515
})(typeof self !== 'undefined' ? self : this, function () {
1616
'use strict';
17-
var APP = '2.14.2';
18-
var COMMIT = '1292cd2';
17+
var APP = '2.14.3';
18+
var COMMIT = 'b6c9959';
1919
return {
2020
app: APP,
2121
commit: COMMIT,

0 commit comments

Comments
 (0)