@fin.cx/chartdata 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  export * from './chartdata.types.js';
2
2
  export * from './chartdata.lookup.js';
3
+ export * from './chartdata.hgb.js';
3
4
  export { SKR03_2026 } from './data/skr03.2026.js';
4
5
  export { SKR04_2026 } from './data/skr04.2026.js';
package/dist_ts/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './chartdata.types.js';
2
2
  export * from './chartdata.lookup.js';
3
+ export * from './chartdata.hgb.js';
3
4
  export { SKR03_2026 } from './data/skr03.2026.js';
4
5
  export { SKR04_2026 } from './data/skr04.2026.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyJ9
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fin.cx/chartdata",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "private": false,
5
5
  "description": "Year-versioned German SKR03/SKR04 chart-of-accounts datasets with Automatikkonto functions, BU-key rules, and UStVA-Kennzahl mappings",
6
6
  "main": "dist_ts/index.js",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@fin.cx/chartdata',
6
- version: '2.1.0',
6
+ version: '2.2.0',
7
7
  description: 'Year-versioned German SKR03/SKR04 chart-of-accounts datasets with Automatikkonto functions, BU-key rules, and UStVA-Kennzahl mappings'
8
8
  }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * HGB Gliederung trees: §266 balance sheet and §275 Abs. 2 income statement
3
+ * (Gesamtkostenverfahren). Structure and wording follow the statute (amtliches
4
+ * Werk, §5 UrhG — public domain). Position keys are the strings used by
5
+ * IChartAccount.hgb266Position / hgb275Position.
6
+ */
7
+
8
+ export interface IHgbPosition {
9
+ key: string;
10
+ label: string;
11
+ }
12
+
13
+ export const HGB_266_POSITIONS: IHgbPosition[] = [
14
+ { key: 'Aktiva A.I.1', label: 'Selbst geschaffene gewerbliche Schutzrechte und ähnliche Rechte und Werte' },
15
+ { key: 'Aktiva A.I.2', label: 'Entgeltlich erworbene Konzessionen, gewerbliche Schutzrechte und ähnliche Rechte und Werte sowie Lizenzen an solchen Rechten und Werten' },
16
+ { key: 'Aktiva A.I.3', label: 'Geschäfts- oder Firmenwert' },
17
+ { key: 'Aktiva A.I.4', label: 'Geleistete Anzahlungen (immaterielle Vermögensgegenstände)' },
18
+ { key: 'Aktiva A.II.1', label: 'Grundstücke, grundstücksgleiche Rechte und Bauten einschließlich der Bauten auf fremden Grundstücken' },
19
+ { key: 'Aktiva A.II.2', label: 'Technische Anlagen und Maschinen' },
20
+ { key: 'Aktiva A.II.3', label: 'Andere Anlagen, Betriebs- und Geschäftsausstattung' },
21
+ { key: 'Aktiva A.II.4', label: 'Geleistete Anzahlungen und Anlagen im Bau' },
22
+ { key: 'Aktiva A.III.1', label: 'Anteile an verbundenen Unternehmen' },
23
+ { key: 'Aktiva A.III.2', label: 'Ausleihungen an verbundene Unternehmen' },
24
+ { key: 'Aktiva A.III.3', label: 'Beteiligungen' },
25
+ { key: 'Aktiva A.III.4', label: 'Ausleihungen an Unternehmen, mit denen ein Beteiligungsverhältnis besteht' },
26
+ { key: 'Aktiva A.III.5', label: 'Wertpapiere des Anlagevermögens' },
27
+ { key: 'Aktiva A.III.6', label: 'Sonstige Ausleihungen' },
28
+ { key: 'Aktiva B.I.1', label: 'Roh-, Hilfs- und Betriebsstoffe' },
29
+ { key: 'Aktiva B.I.2', label: 'Unfertige Erzeugnisse, unfertige Leistungen' },
30
+ { key: 'Aktiva B.I.3', label: 'Fertige Erzeugnisse und Waren' },
31
+ { key: 'Aktiva B.I.4', label: 'Geleistete Anzahlungen (Vorräte)' },
32
+ { key: 'Aktiva B.II.1', label: 'Forderungen aus Lieferungen und Leistungen' },
33
+ { key: 'Aktiva B.II.2', label: 'Forderungen gegen verbundene Unternehmen' },
34
+ { key: 'Aktiva B.II.3', label: 'Forderungen gegen Unternehmen, mit denen ein Beteiligungsverhältnis besteht' },
35
+ { key: 'Aktiva B.II.4', label: 'Sonstige Vermögensgegenstände' },
36
+ { key: 'Aktiva B.III.1', label: 'Anteile an verbundenen Unternehmen (Umlaufvermögen)' },
37
+ { key: 'Aktiva B.III.2', label: 'Sonstige Wertpapiere' },
38
+ { key: 'Aktiva B.IV', label: 'Kassenbestand, Bundesbankguthaben, Guthaben bei Kreditinstituten und Schecks' },
39
+ { key: 'Aktiva C', label: 'Rechnungsabgrenzungsposten' },
40
+ { key: 'Aktiva D', label: 'Aktive latente Steuern' },
41
+ { key: 'Aktiva E', label: 'Aktiver Unterschiedsbetrag aus der Vermögensverrechnung' },
42
+ { key: 'Passiva A.I', label: 'Gezeichnetes Kapital' },
43
+ { key: 'Passiva A.II', label: 'Kapitalrücklage' },
44
+ { key: 'Passiva A.III', label: 'Gewinnrücklagen' },
45
+ { key: 'Passiva A.IV', label: 'Gewinnvortrag/Verlustvortrag' },
46
+ { key: 'Passiva A.V', label: 'Jahresüberschuss/Jahresfehlbetrag' },
47
+ { key: 'Passiva B.1', label: 'Rückstellungen für Pensionen und ähnliche Verpflichtungen' },
48
+ { key: 'Passiva B.2', label: 'Steuerrückstellungen' },
49
+ { key: 'Passiva B.3', label: 'Sonstige Rückstellungen' },
50
+ { key: 'Passiva C.1', label: 'Anleihen' },
51
+ { key: 'Passiva C.2', label: 'Verbindlichkeiten gegenüber Kreditinstituten' },
52
+ { key: 'Passiva C.3', label: 'Erhaltene Anzahlungen auf Bestellungen' },
53
+ { key: 'Passiva C.4', label: 'Verbindlichkeiten aus Lieferungen und Leistungen' },
54
+ { key: 'Passiva C.5', label: 'Verbindlichkeiten aus der Annahme gezogener Wechsel und der Ausstellung eigener Wechsel' },
55
+ { key: 'Passiva C.6', label: 'Verbindlichkeiten gegenüber verbundenen Unternehmen' },
56
+ { key: 'Passiva C.7', label: 'Verbindlichkeiten gegenüber Unternehmen, mit denen ein Beteiligungsverhältnis besteht' },
57
+ { key: 'Passiva C.8', label: 'Sonstige Verbindlichkeiten' },
58
+ { key: 'Passiva D', label: 'Rechnungsabgrenzungsposten' },
59
+ { key: 'Passiva E', label: 'Passive latente Steuern' },
60
+ ];
61
+
62
+ export const HGB_275_GKV_POSITIONS: IHgbPosition[] = [
63
+ { key: 'GuV 1', label: 'Umsatzerlöse' },
64
+ { key: 'GuV 2', label: 'Erhöhung oder Verminderung des Bestands an fertigen und unfertigen Erzeugnissen' },
65
+ { key: 'GuV 3', label: 'Andere aktivierte Eigenleistungen' },
66
+ { key: 'GuV 4', label: 'Sonstige betriebliche Erträge' },
67
+ { key: 'GuV 5', label: 'Materialaufwand' },
68
+ { key: 'GuV 6', label: 'Personalaufwand' },
69
+ { key: 'GuV 7', label: 'Abschreibungen' },
70
+ { key: 'GuV 8', label: 'Sonstige betriebliche Aufwendungen' },
71
+ { key: 'GuV 9', label: 'Erträge aus Beteiligungen' },
72
+ { key: 'GuV 10', label: 'Erträge aus anderen Wertpapieren und Ausleihungen des Finanzanlagevermögens' },
73
+ { key: 'GuV 11', label: 'Sonstige Zinsen und ähnliche Erträge' },
74
+ { key: 'GuV 12', label: 'Abschreibungen auf Finanzanlagen und auf Wertpapiere des Umlaufvermögens' },
75
+ { key: 'GuV 13', label: 'Zinsen und ähnliche Aufwendungen' },
76
+ { key: 'GuV 14', label: 'Steuern vom Einkommen und vom Ertrag' },
77
+ { key: 'GuV 15', label: 'Ergebnis nach Steuern' },
78
+ { key: 'GuV 16', label: 'Sonstige Steuern' },
79
+ { key: 'GuV 17', label: 'Jahresüberschuss/Jahresfehlbetrag' },
80
+ ];
81
+
82
+ const BY_KEY = new Map(
83
+ [...HGB_266_POSITIONS, ...HGB_275_GKV_POSITIONS].map((position) => [position.key, position]),
84
+ );
85
+
86
+ export function getHgbPosition(key: string): IHgbPosition | null {
87
+ return BY_KEY.get(key) ?? null;
88
+ }
89
+
90
+ export function isValidHgbPosition(key: string): boolean {
91
+ return BY_KEY.has(key);
92
+ }