@fin.cx/skr 1.0.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.
Files changed (44) hide show
  1. package/dist_ts/index.d.ts +10 -0
  2. package/dist_ts/index.js +11 -0
  3. package/dist_ts/plugins.d.ts +5 -0
  4. package/dist_ts/plugins.js +7 -0
  5. package/dist_ts/skr.api.d.ts +181 -0
  6. package/dist_ts/skr.api.js +402 -0
  7. package/dist_ts/skr.classes.account.d.ts +34 -0
  8. package/dist_ts/skr.classes.account.js +224 -0
  9. package/dist_ts/skr.classes.chartofaccounts.d.ts +99 -0
  10. package/dist_ts/skr.classes.chartofaccounts.js +377 -0
  11. package/dist_ts/skr.classes.journalentry.d.ts +33 -0
  12. package/dist_ts/skr.classes.journalentry.js +296 -0
  13. package/dist_ts/skr.classes.ledger.d.ts +61 -0
  14. package/dist_ts/skr.classes.ledger.js +363 -0
  15. package/dist_ts/skr.classes.reports.d.ts +55 -0
  16. package/dist_ts/skr.classes.reports.js +514 -0
  17. package/dist_ts/skr.classes.transaction.d.ts +37 -0
  18. package/dist_ts/skr.classes.transaction.js +263 -0
  19. package/dist_ts/skr.database.d.ts +5 -0
  20. package/dist_ts/skr.database.js +28 -0
  21. package/dist_ts/skr.types.d.ts +126 -0
  22. package/dist_ts/skr.types.js +2 -0
  23. package/dist_ts/skr03.data.d.ts +18 -0
  24. package/dist_ts/skr03.data.js +890 -0
  25. package/dist_ts/skr04.data.d.ts +18 -0
  26. package/dist_ts/skr04.data.js +912 -0
  27. package/npmextra.json +17 -0
  28. package/package.json +61 -0
  29. package/readme.hints.md +3 -0
  30. package/readme.md +409 -0
  31. package/readme.plan.md +243 -0
  32. package/ts/index.ts +10 -0
  33. package/ts/plugins.ts +7 -0
  34. package/ts/skr.api.ts +533 -0
  35. package/ts/skr.classes.account.ts +238 -0
  36. package/ts/skr.classes.chartofaccounts.ts +508 -0
  37. package/ts/skr.classes.journalentry.ts +318 -0
  38. package/ts/skr.classes.ledger.ts +528 -0
  39. package/ts/skr.classes.reports.ts +721 -0
  40. package/ts/skr.classes.transaction.ts +300 -0
  41. package/ts/skr.database.ts +39 -0
  42. package/ts/skr.types.ts +154 -0
  43. package/ts/skr03.data.ts +901 -0
  44. package/ts/skr04.data.ts +923 -0
@@ -0,0 +1,890 @@
1
+ /**
2
+ * SKR03 - Process Structure Principle (Prozessgliederungsprinzip)
3
+ * Organized by business process flow
4
+ */
5
+ export const SKR03_ACCOUNTS = [
6
+ // Class 0: Capital Accounts (Anlagekonten)
7
+ {
8
+ accountNumber: '0001',
9
+ accountName: 'Aufwendungen für Ingangsetzung',
10
+ accountClass: 0,
11
+ accountType: 'asset',
12
+ skrType: 'SKR03',
13
+ description: 'Start-up expenses',
14
+ },
15
+ {
16
+ accountNumber: '0010',
17
+ accountName: 'Konzessionen',
18
+ accountClass: 0,
19
+ accountType: 'asset',
20
+ skrType: 'SKR03',
21
+ description: 'Concessions',
22
+ },
23
+ {
24
+ accountNumber: '0020',
25
+ accountName: 'Patente',
26
+ accountClass: 0,
27
+ accountType: 'asset',
28
+ skrType: 'SKR03',
29
+ description: 'Patents',
30
+ },
31
+ {
32
+ accountNumber: '0030',
33
+ accountName: 'Lizenzen',
34
+ accountClass: 0,
35
+ accountType: 'asset',
36
+ skrType: 'SKR03',
37
+ description: 'Licenses',
38
+ },
39
+ {
40
+ accountNumber: '0050',
41
+ accountName: 'Firmenwert',
42
+ accountClass: 0,
43
+ accountType: 'asset',
44
+ skrType: 'SKR03',
45
+ description: 'Goodwill',
46
+ },
47
+ {
48
+ accountNumber: '0100',
49
+ accountName: 'EDV-Software',
50
+ accountClass: 0,
51
+ accountType: 'asset',
52
+ skrType: 'SKR03',
53
+ description: 'IT Software',
54
+ },
55
+ {
56
+ accountNumber: '0200',
57
+ accountName: 'Grundstücke',
58
+ accountClass: 0,
59
+ accountType: 'asset',
60
+ skrType: 'SKR03',
61
+ description: 'Land and property',
62
+ },
63
+ {
64
+ accountNumber: '0210',
65
+ accountName: 'Gebäude',
66
+ accountClass: 0,
67
+ accountType: 'asset',
68
+ skrType: 'SKR03',
69
+ description: 'Buildings',
70
+ },
71
+ {
72
+ accountNumber: '0300',
73
+ accountName: 'Maschinen',
74
+ accountClass: 0,
75
+ accountType: 'asset',
76
+ skrType: 'SKR03',
77
+ description: 'Machinery',
78
+ },
79
+ {
80
+ accountNumber: '0400',
81
+ accountName: 'Fuhrpark',
82
+ accountClass: 0,
83
+ accountType: 'asset',
84
+ skrType: 'SKR03',
85
+ description: 'Vehicles',
86
+ },
87
+ {
88
+ accountNumber: '0500',
89
+ accountName: 'Betriebs- und Geschäftsausstattung',
90
+ accountClass: 0,
91
+ accountType: 'asset',
92
+ skrType: 'SKR03',
93
+ description: 'Office equipment',
94
+ },
95
+ {
96
+ accountNumber: '0600',
97
+ accountName: 'Geleistete Anzahlungen',
98
+ accountClass: 0,
99
+ accountType: 'asset',
100
+ skrType: 'SKR03',
101
+ description: 'Prepayments on fixed assets',
102
+ },
103
+ {
104
+ accountNumber: '0800',
105
+ accountName: 'Finanzanlagen',
106
+ accountClass: 0,
107
+ accountType: 'asset',
108
+ skrType: 'SKR03',
109
+ description: 'Financial assets',
110
+ },
111
+ // Class 1: Current Assets (Umlaufvermögen)
112
+ {
113
+ accountNumber: '1000',
114
+ accountName: 'Kasse',
115
+ accountClass: 1,
116
+ accountType: 'asset',
117
+ skrType: 'SKR03',
118
+ description: 'Cash on hand',
119
+ },
120
+ {
121
+ accountNumber: '1100',
122
+ accountName: 'Postbank',
123
+ accountClass: 1,
124
+ accountType: 'asset',
125
+ skrType: 'SKR03',
126
+ description: 'Postal bank account',
127
+ },
128
+ {
129
+ accountNumber: '1200',
130
+ accountName: 'Bank',
131
+ accountClass: 1,
132
+ accountType: 'asset',
133
+ skrType: 'SKR03',
134
+ description: 'Bank account',
135
+ },
136
+ {
137
+ accountNumber: '1210',
138
+ accountName: 'Sparkasse',
139
+ accountClass: 1,
140
+ accountType: 'asset',
141
+ skrType: 'SKR03',
142
+ description: 'Savings bank',
143
+ },
144
+ {
145
+ accountNumber: '1300',
146
+ accountName: 'Wertpapiere',
147
+ accountClass: 1,
148
+ accountType: 'asset',
149
+ skrType: 'SKR03',
150
+ description: 'Securities',
151
+ },
152
+ {
153
+ accountNumber: '1400',
154
+ accountName: 'Forderungen aus Lieferungen und Leistungen',
155
+ accountClass: 1,
156
+ accountType: 'asset',
157
+ skrType: 'SKR03',
158
+ description: 'Trade receivables',
159
+ },
160
+ {
161
+ accountNumber: '1500',
162
+ accountName: 'Sonstige Vermögensgegenstände',
163
+ accountClass: 1,
164
+ accountType: 'asset',
165
+ skrType: 'SKR03',
166
+ description: 'Other assets',
167
+ },
168
+ {
169
+ accountNumber: '1520',
170
+ accountName: 'Abziehbare Vorsteuer',
171
+ accountClass: 1,
172
+ accountType: 'asset',
173
+ skrType: 'SKR03',
174
+ description: 'Input VAT',
175
+ },
176
+ {
177
+ accountNumber: '1570',
178
+ accountName: 'Vorsteuer 7%',
179
+ accountClass: 1,
180
+ accountType: 'asset',
181
+ skrType: 'SKR03',
182
+ description: 'Input VAT 7%',
183
+ },
184
+ {
185
+ accountNumber: '1571',
186
+ accountName: 'Vorsteuer 19%',
187
+ accountClass: 1,
188
+ accountType: 'asset',
189
+ skrType: 'SKR03',
190
+ description: 'Input VAT 19%',
191
+ },
192
+ {
193
+ accountNumber: '1600',
194
+ accountName: 'Verbindlichkeiten aus Lieferungen und Leistungen',
195
+ accountClass: 1,
196
+ accountType: 'liability',
197
+ skrType: 'SKR03',
198
+ description: 'Trade payables',
199
+ },
200
+ {
201
+ accountNumber: '1700',
202
+ accountName: 'Sonstige Verbindlichkeiten',
203
+ accountClass: 1,
204
+ accountType: 'liability',
205
+ skrType: 'SKR03',
206
+ description: 'Other liabilities',
207
+ },
208
+ {
209
+ accountNumber: '1770',
210
+ accountName: 'Umsatzsteuer 7%',
211
+ accountClass: 1,
212
+ accountType: 'liability',
213
+ skrType: 'SKR03',
214
+ description: 'VAT payable 7%',
215
+ },
216
+ {
217
+ accountNumber: '1771',
218
+ accountName: 'Umsatzsteuer 19%',
219
+ accountClass: 1,
220
+ accountType: 'liability',
221
+ skrType: 'SKR03',
222
+ description: 'VAT payable 19%',
223
+ },
224
+ {
225
+ accountNumber: '1800',
226
+ accountName: 'Privatentnahmen',
227
+ accountClass: 1,
228
+ accountType: 'equity',
229
+ skrType: 'SKR03',
230
+ description: 'Private withdrawals',
231
+ },
232
+ {
233
+ accountNumber: '1810',
234
+ accountName: 'Privateinlagen',
235
+ accountClass: 1,
236
+ accountType: 'equity',
237
+ skrType: 'SKR03',
238
+ description: 'Private deposits',
239
+ },
240
+ {
241
+ accountNumber: '1900',
242
+ accountName: 'Verrechnungskonto',
243
+ accountClass: 1,
244
+ accountType: 'asset',
245
+ skrType: 'SKR03',
246
+ description: 'Clearing account',
247
+ },
248
+ // Class 2: Equity (Eigenkapital)
249
+ {
250
+ accountNumber: '2000',
251
+ accountName: 'Eigenkapital',
252
+ accountClass: 2,
253
+ accountType: 'equity',
254
+ skrType: 'SKR03',
255
+ description: 'Equity capital',
256
+ },
257
+ {
258
+ accountNumber: '2100',
259
+ accountName: 'Gezeichnetes Kapital',
260
+ accountClass: 2,
261
+ accountType: 'equity',
262
+ skrType: 'SKR03',
263
+ description: 'Subscribed capital',
264
+ },
265
+ {
266
+ accountNumber: '2200',
267
+ accountName: 'Kapitalrücklage',
268
+ accountClass: 2,
269
+ accountType: 'equity',
270
+ skrType: 'SKR03',
271
+ description: 'Capital reserves',
272
+ },
273
+ {
274
+ accountNumber: '2300',
275
+ accountName: 'Gewinnrücklagen',
276
+ accountClass: 2,
277
+ accountType: 'equity',
278
+ skrType: 'SKR03',
279
+ description: 'Revenue reserves',
280
+ },
281
+ {
282
+ accountNumber: '2400',
283
+ accountName: 'Gewinnvortrag',
284
+ accountClass: 2,
285
+ accountType: 'equity',
286
+ skrType: 'SKR03',
287
+ description: 'Profit carried forward',
288
+ },
289
+ {
290
+ accountNumber: '2500',
291
+ accountName: 'Verlustvortrag',
292
+ accountClass: 2,
293
+ accountType: 'equity',
294
+ skrType: 'SKR03',
295
+ description: 'Loss carried forward',
296
+ },
297
+ {
298
+ accountNumber: '2600',
299
+ accountName: 'Jahresüberschuss',
300
+ accountClass: 2,
301
+ accountType: 'equity',
302
+ skrType: 'SKR03',
303
+ description: 'Annual surplus',
304
+ },
305
+ {
306
+ accountNumber: '2700',
307
+ accountName: 'Jahresfehlbetrag',
308
+ accountClass: 2,
309
+ accountType: 'equity',
310
+ skrType: 'SKR03',
311
+ description: 'Annual deficit',
312
+ },
313
+ {
314
+ accountNumber: '2900',
315
+ accountName: 'Sonderposten mit Rücklageanteil',
316
+ accountClass: 2,
317
+ accountType: 'equity',
318
+ skrType: 'SKR03',
319
+ description: 'Special items with reserve portion',
320
+ },
321
+ // Class 3: Provisions and Liabilities (Rückstellungen und Verbindlichkeiten)
322
+ {
323
+ accountNumber: '3000',
324
+ accountName: 'Rückstellungen für Pensionen',
325
+ accountClass: 3,
326
+ accountType: 'liability',
327
+ skrType: 'SKR03',
328
+ description: 'Pension provisions',
329
+ },
330
+ {
331
+ accountNumber: '3100',
332
+ accountName: 'Steuerrückstellungen',
333
+ accountClass: 3,
334
+ accountType: 'liability',
335
+ skrType: 'SKR03',
336
+ description: 'Tax provisions',
337
+ },
338
+ {
339
+ accountNumber: '3200',
340
+ accountName: 'Sonstige Rückstellungen',
341
+ accountClass: 3,
342
+ accountType: 'liability',
343
+ skrType: 'SKR03',
344
+ description: 'Other provisions',
345
+ },
346
+ {
347
+ accountNumber: '3300',
348
+ accountName: 'Verbindlichkeiten gegenüber Kreditinstituten',
349
+ accountClass: 3,
350
+ accountType: 'liability',
351
+ skrType: 'SKR03',
352
+ description: 'Bank loans',
353
+ },
354
+ {
355
+ accountNumber: '3400',
356
+ accountName: 'Erhaltene Anzahlungen',
357
+ accountClass: 3,
358
+ accountType: 'liability',
359
+ skrType: 'SKR03',
360
+ description: 'Advance payments received',
361
+ },
362
+ {
363
+ accountNumber: '3500',
364
+ accountName: 'Verbindlichkeiten aus Steuern',
365
+ accountClass: 3,
366
+ accountType: 'liability',
367
+ skrType: 'SKR03',
368
+ description: 'Tax liabilities',
369
+ },
370
+ {
371
+ accountNumber: '3600',
372
+ accountName: 'Verbindlichkeiten im Rahmen der sozialen Sicherheit',
373
+ accountClass: 3,
374
+ accountType: 'liability',
375
+ skrType: 'SKR03',
376
+ description: 'Social security liabilities',
377
+ },
378
+ {
379
+ accountNumber: '3700',
380
+ accountName: 'Sonstige Verbindlichkeiten',
381
+ accountClass: 3,
382
+ accountType: 'liability',
383
+ skrType: 'SKR03',
384
+ description: 'Other liabilities',
385
+ },
386
+ {
387
+ accountNumber: '3900',
388
+ accountName: 'Passive Rechnungsabgrenzung',
389
+ accountClass: 3,
390
+ accountType: 'liability',
391
+ skrType: 'SKR03',
392
+ description: 'Deferred income',
393
+ },
394
+ // Class 4: Operating Income (Betriebliche Erträge)
395
+ {
396
+ accountNumber: '4000',
397
+ accountName: 'Umsatzerlöse',
398
+ accountClass: 4,
399
+ accountType: 'revenue',
400
+ skrType: 'SKR03',
401
+ description: 'Sales revenue',
402
+ vatRate: 19,
403
+ },
404
+ {
405
+ accountNumber: '4100',
406
+ accountName: 'steuerfreie Umsätze',
407
+ accountClass: 4,
408
+ accountType: 'revenue',
409
+ skrType: 'SKR03',
410
+ description: 'Tax-free sales',
411
+ },
412
+ {
413
+ accountNumber: '4200',
414
+ accountName: 'Erlöse 7% USt',
415
+ accountClass: 4,
416
+ accountType: 'revenue',
417
+ skrType: 'SKR03',
418
+ description: 'Revenue 7% VAT',
419
+ vatRate: 7,
420
+ },
421
+ {
422
+ accountNumber: '4300',
423
+ accountName: 'Erlöse 19% USt',
424
+ accountClass: 4,
425
+ accountType: 'revenue',
426
+ skrType: 'SKR03',
427
+ description: 'Revenue 19% VAT',
428
+ vatRate: 19,
429
+ },
430
+ {
431
+ accountNumber: '4400',
432
+ accountName: 'Erlöse innergemeinschaftliche Lieferungen',
433
+ accountClass: 4,
434
+ accountType: 'revenue',
435
+ skrType: 'SKR03',
436
+ description: 'EU sales',
437
+ },
438
+ {
439
+ accountNumber: '4500',
440
+ accountName: 'Erlöse Export',
441
+ accountClass: 4,
442
+ accountType: 'revenue',
443
+ skrType: 'SKR03',
444
+ description: 'Export sales',
445
+ },
446
+ {
447
+ accountNumber: '4600',
448
+ accountName: 'Bestandsveränderungen',
449
+ accountClass: 4,
450
+ accountType: 'revenue',
451
+ skrType: 'SKR03',
452
+ description: 'Inventory changes',
453
+ },
454
+ {
455
+ accountNumber: '4700',
456
+ accountName: 'Aktivierte Eigenleistungen',
457
+ accountClass: 4,
458
+ accountType: 'revenue',
459
+ skrType: 'SKR03',
460
+ description: 'Capitalized own work',
461
+ },
462
+ {
463
+ accountNumber: '4800',
464
+ accountName: 'Sonstige betriebliche Erträge',
465
+ accountClass: 4,
466
+ accountType: 'revenue',
467
+ skrType: 'SKR03',
468
+ description: 'Other operating income',
469
+ },
470
+ {
471
+ accountNumber: '4900',
472
+ accountName: 'Erträge aus Beteiligungen',
473
+ accountClass: 4,
474
+ accountType: 'revenue',
475
+ skrType: 'SKR03',
476
+ description: 'Investment income',
477
+ },
478
+ // Class 5: Material Costs (Materialkosten)
479
+ {
480
+ accountNumber: '5000',
481
+ accountName: 'Aufwendungen für Roh-, Hilfs- und Betriebsstoffe',
482
+ accountClass: 5,
483
+ accountType: 'expense',
484
+ skrType: 'SKR03',
485
+ description: 'Raw materials and supplies',
486
+ },
487
+ {
488
+ accountNumber: '5100',
489
+ accountName: 'Einkauf Waren',
490
+ accountClass: 5,
491
+ accountType: 'expense',
492
+ skrType: 'SKR03',
493
+ description: 'Purchase of goods',
494
+ },
495
+ {
496
+ accountNumber: '5200',
497
+ accountName: 'Wareneingang 7% Vorsteuer',
498
+ accountClass: 5,
499
+ accountType: 'expense',
500
+ skrType: 'SKR03',
501
+ description: 'Goods receipt 7% input tax',
502
+ vatRate: 7,
503
+ },
504
+ {
505
+ accountNumber: '5400',
506
+ accountName: 'Wareneingang 19% Vorsteuer',
507
+ accountClass: 5,
508
+ accountType: 'expense',
509
+ skrType: 'SKR03',
510
+ description: 'Goods receipt 19% input tax',
511
+ vatRate: 19,
512
+ },
513
+ {
514
+ accountNumber: '5500',
515
+ accountName: 'Aufwendungen für bezogene Leistungen',
516
+ accountClass: 5,
517
+ accountType: 'expense',
518
+ skrType: 'SKR03',
519
+ description: 'Purchased services',
520
+ },
521
+ {
522
+ accountNumber: '5600',
523
+ accountName: 'Aufwendungen für Energie',
524
+ accountClass: 5,
525
+ accountType: 'expense',
526
+ skrType: 'SKR03',
527
+ description: 'Energy costs',
528
+ },
529
+ {
530
+ accountNumber: '5700',
531
+ accountName: 'Reisekosten',
532
+ accountClass: 5,
533
+ accountType: 'expense',
534
+ skrType: 'SKR03',
535
+ description: 'Travel expenses',
536
+ },
537
+ {
538
+ accountNumber: '5800',
539
+ accountName: 'Bewirtungskosten',
540
+ accountClass: 5,
541
+ accountType: 'expense',
542
+ skrType: 'SKR03',
543
+ description: 'Entertainment expenses',
544
+ },
545
+ {
546
+ accountNumber: '5900',
547
+ accountName: 'Fremdleistungen',
548
+ accountClass: 5,
549
+ accountType: 'expense',
550
+ skrType: 'SKR03',
551
+ description: 'External services',
552
+ },
553
+ // Class 6: Personnel Costs (Personalkosten)
554
+ {
555
+ accountNumber: '6000',
556
+ accountName: 'Löhne und Gehälter',
557
+ accountClass: 6,
558
+ accountType: 'expense',
559
+ skrType: 'SKR03',
560
+ description: 'Wages and salaries',
561
+ },
562
+ {
563
+ accountNumber: '6100',
564
+ accountName: 'Soziale Abgaben',
565
+ accountClass: 6,
566
+ accountType: 'expense',
567
+ skrType: 'SKR03',
568
+ description: 'Social security contributions',
569
+ },
570
+ {
571
+ accountNumber: '6200',
572
+ accountName: 'Aufwendungen für Altersversorgung',
573
+ accountClass: 6,
574
+ accountType: 'expense',
575
+ skrType: 'SKR03',
576
+ description: 'Pension expenses',
577
+ },
578
+ {
579
+ accountNumber: '6300',
580
+ accountName: 'Sonstige soziale Aufwendungen',
581
+ accountClass: 6,
582
+ accountType: 'expense',
583
+ skrType: 'SKR03',
584
+ description: 'Other social expenses',
585
+ },
586
+ {
587
+ accountNumber: '6400',
588
+ accountName: 'Versicherungen',
589
+ accountClass: 6,
590
+ accountType: 'expense',
591
+ skrType: 'SKR03',
592
+ description: 'Insurance',
593
+ },
594
+ {
595
+ accountNumber: '6500',
596
+ accountName: 'Berufsgenossenschaft',
597
+ accountClass: 6,
598
+ accountType: 'expense',
599
+ skrType: 'SKR03',
600
+ description: 'Occupational insurance',
601
+ },
602
+ {
603
+ accountNumber: '6600',
604
+ accountName: 'Vermögenswirksame Leistungen',
605
+ accountClass: 6,
606
+ accountType: 'expense',
607
+ skrType: 'SKR03',
608
+ description: 'Employee savings schemes',
609
+ },
610
+ {
611
+ accountNumber: '6700',
612
+ accountName: 'Aufwendungen für Fortbildung',
613
+ accountClass: 6,
614
+ accountType: 'expense',
615
+ skrType: 'SKR03',
616
+ description: 'Training expenses',
617
+ },
618
+ {
619
+ accountNumber: '6800',
620
+ accountName: 'Aushilfslöhne',
621
+ accountClass: 6,
622
+ accountType: 'expense',
623
+ skrType: 'SKR03',
624
+ description: 'Temporary staff wages',
625
+ },
626
+ {
627
+ accountNumber: '6900',
628
+ accountName: 'Aufwendungen für freie Mitarbeiter',
629
+ accountClass: 6,
630
+ accountType: 'expense',
631
+ skrType: 'SKR03',
632
+ description: 'Freelancer expenses',
633
+ },
634
+ // Class 7: Other Operating Expenses (Sonstige betriebliche Aufwendungen)
635
+ {
636
+ accountNumber: '7000',
637
+ accountName: 'Abschreibungen',
638
+ accountClass: 7,
639
+ accountType: 'expense',
640
+ skrType: 'SKR03',
641
+ description: 'Depreciation',
642
+ },
643
+ {
644
+ accountNumber: '7100',
645
+ accountName: 'Raumkosten',
646
+ accountClass: 7,
647
+ accountType: 'expense',
648
+ skrType: 'SKR03',
649
+ description: 'Rent and lease',
650
+ },
651
+ {
652
+ accountNumber: '7200',
653
+ accountName: 'Instandhaltung',
654
+ accountClass: 7,
655
+ accountType: 'expense',
656
+ skrType: 'SKR03',
657
+ description: 'Maintenance',
658
+ },
659
+ {
660
+ accountNumber: '7300',
661
+ accountName: 'Versicherungen',
662
+ accountClass: 7,
663
+ accountType: 'expense',
664
+ skrType: 'SKR03',
665
+ description: 'Insurance',
666
+ },
667
+ {
668
+ accountNumber: '7400',
669
+ accountName: 'Fahrzeugkosten',
670
+ accountClass: 7,
671
+ accountType: 'expense',
672
+ skrType: 'SKR03',
673
+ description: 'Vehicle expenses',
674
+ },
675
+ {
676
+ accountNumber: '7500',
677
+ accountName: 'Werbe- und Reisekosten',
678
+ accountClass: 7,
679
+ accountType: 'expense',
680
+ skrType: 'SKR03',
681
+ description: 'Marketing and travel',
682
+ },
683
+ {
684
+ accountNumber: '7600',
685
+ accountName: 'Kosten der Warenabgabe',
686
+ accountClass: 7,
687
+ accountType: 'expense',
688
+ skrType: 'SKR03',
689
+ description: 'Distribution costs',
690
+ },
691
+ {
692
+ accountNumber: '7700',
693
+ accountName: 'Verschiedene betriebliche Kosten',
694
+ accountClass: 7,
695
+ accountType: 'expense',
696
+ skrType: 'SKR03',
697
+ description: 'Miscellaneous operating costs',
698
+ },
699
+ {
700
+ accountNumber: '7800',
701
+ accountName: 'Steuern vom Einkommen und Ertrag',
702
+ accountClass: 7,
703
+ accountType: 'expense',
704
+ skrType: 'SKR03',
705
+ description: 'Income taxes',
706
+ },
707
+ {
708
+ accountNumber: '7900',
709
+ accountName: 'Sonstige Steuern',
710
+ accountClass: 7,
711
+ accountType: 'expense',
712
+ skrType: 'SKR03',
713
+ description: 'Other taxes',
714
+ },
715
+ // Class 8: Financial Accounts (Finanzkonten)
716
+ {
717
+ accountNumber: '8000',
718
+ accountName: 'Erlöse aus Anlagenabgängen',
719
+ accountClass: 8,
720
+ accountType: 'revenue',
721
+ skrType: 'SKR03',
722
+ description: 'Gains from asset disposals',
723
+ },
724
+ {
725
+ accountNumber: '8100',
726
+ accountName: 'Sonstige Zinsen und ähnliche Erträge',
727
+ accountClass: 8,
728
+ accountType: 'revenue',
729
+ skrType: 'SKR03',
730
+ description: 'Interest income',
731
+ },
732
+ {
733
+ accountNumber: '8200',
734
+ accountName: 'Erträge aus Beteiligungen',
735
+ accountClass: 8,
736
+ accountType: 'revenue',
737
+ skrType: 'SKR03',
738
+ description: 'Investment income',
739
+ },
740
+ {
741
+ accountNumber: '8300',
742
+ accountName: 'Zinsen und ähnliche Aufwendungen',
743
+ accountClass: 8,
744
+ accountType: 'expense',
745
+ skrType: 'SKR03',
746
+ description: 'Interest expense',
747
+ },
748
+ {
749
+ accountNumber: '8400',
750
+ accountName: 'Sonstige Erträge',
751
+ accountClass: 8,
752
+ accountType: 'revenue',
753
+ skrType: 'SKR03',
754
+ description: 'Other income',
755
+ },
756
+ {
757
+ accountNumber: '8500',
758
+ accountName: 'Sonstige Aufwendungen',
759
+ accountClass: 8,
760
+ accountType: 'expense',
761
+ skrType: 'SKR03',
762
+ description: 'Other expenses',
763
+ },
764
+ {
765
+ accountNumber: '8600',
766
+ accountName: 'Außerordentliche Erträge',
767
+ accountClass: 8,
768
+ accountType: 'revenue',
769
+ skrType: 'SKR03',
770
+ description: 'Extraordinary income',
771
+ },
772
+ {
773
+ accountNumber: '8700',
774
+ accountName: 'Außerordentliche Aufwendungen',
775
+ accountClass: 8,
776
+ accountType: 'expense',
777
+ skrType: 'SKR03',
778
+ description: 'Extraordinary expenses',
779
+ },
780
+ {
781
+ accountNumber: '8800',
782
+ accountName: 'Erträge aus Verlustübernahme',
783
+ accountClass: 8,
784
+ accountType: 'revenue',
785
+ skrType: 'SKR03',
786
+ description: 'Income from loss absorption',
787
+ },
788
+ {
789
+ accountNumber: '8900',
790
+ accountName: 'Aufgrund von Gewinnabführung abgeführte Gewinne',
791
+ accountClass: 8,
792
+ accountType: 'expense',
793
+ skrType: 'SKR03',
794
+ description: 'Profits transferred',
795
+ },
796
+ // Class 9: Closing Accounts (Abschlusskonten)
797
+ {
798
+ accountNumber: '9000',
799
+ accountName: 'Saldenvorträge',
800
+ accountClass: 9,
801
+ accountType: 'equity',
802
+ skrType: 'SKR03',
803
+ description: 'Opening balances',
804
+ },
805
+ {
806
+ accountNumber: '9100',
807
+ accountName: 'Summenvortrag',
808
+ accountClass: 9,
809
+ accountType: 'equity',
810
+ skrType: 'SKR03',
811
+ description: 'Total carried forward',
812
+ },
813
+ {
814
+ accountNumber: '9200',
815
+ accountName: 'Eröffnungsbilanzkonto',
816
+ accountClass: 9,
817
+ accountType: 'equity',
818
+ skrType: 'SKR03',
819
+ description: 'Opening balance sheet account',
820
+ },
821
+ {
822
+ accountNumber: '9300',
823
+ accountName: 'Schlussbilanzkonto',
824
+ accountClass: 9,
825
+ accountType: 'equity',
826
+ skrType: 'SKR03',
827
+ description: 'Closing balance sheet account',
828
+ },
829
+ {
830
+ accountNumber: '9400',
831
+ accountName: 'Gewinn- und Verlustkonto',
832
+ accountClass: 9,
833
+ accountType: 'equity',
834
+ skrType: 'SKR03',
835
+ description: 'Profit and loss account',
836
+ },
837
+ {
838
+ accountNumber: '9500',
839
+ accountName: 'Kapitalkonto',
840
+ accountClass: 9,
841
+ accountType: 'equity',
842
+ skrType: 'SKR03',
843
+ description: 'Capital account',
844
+ },
845
+ {
846
+ accountNumber: '9600',
847
+ accountName: 'Privatkonto',
848
+ accountClass: 9,
849
+ accountType: 'equity',
850
+ skrType: 'SKR03',
851
+ description: 'Private account',
852
+ },
853
+ {
854
+ accountNumber: '9700',
855
+ accountName: 'Eigenverbrauch',
856
+ accountClass: 9,
857
+ accountType: 'equity',
858
+ skrType: 'SKR03',
859
+ description: 'Personal consumption',
860
+ },
861
+ {
862
+ accountNumber: '9800',
863
+ accountName: 'Statistische Konten',
864
+ accountClass: 9,
865
+ accountType: 'equity',
866
+ skrType: 'SKR03',
867
+ description: 'Statistical accounts',
868
+ },
869
+ {
870
+ accountNumber: '9900',
871
+ accountName: 'Verrechnungskonten',
872
+ accountClass: 9,
873
+ accountType: 'equity',
874
+ skrType: 'SKR03',
875
+ description: 'Clearing accounts',
876
+ },
877
+ ];
878
+ export const SKR03_ACCOUNT_CLASSES = {
879
+ 0: 'Anlagekonten (Fixed Assets)',
880
+ 1: 'Umlaufvermögen (Current Assets)',
881
+ 2: 'Eigenkapital (Equity)',
882
+ 3: 'Rückstellungen und Verbindlichkeiten (Provisions and Liabilities)',
883
+ 4: 'Betriebliche Erträge (Operating Income)',
884
+ 5: 'Materialkosten (Material Costs)',
885
+ 6: 'Personalkosten (Personnel Costs)',
886
+ 7: 'Sonstige betriebliche Aufwendungen (Other Operating Expenses)',
887
+ 8: 'Finanzkonten (Financial Accounts)',
888
+ 9: 'Abschlusskonten (Closing Accounts)',
889
+ };
890
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tyMDMuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NrcjAzLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFtQjtJQUM1QywyQ0FBMkM7SUFDM0M7UUFDRSxhQUFhLEVBQUUsTUFBTTtRQUNyQixXQUFXLEVBQUUsZ0NBQWdDO1FBQzdDLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLE9BQU87UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLG1CQUFtQjtLQUNqQztJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsYUFBYTtLQUMzQjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsU0FBUztLQUN2QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFVBQVU7UUFDdkIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsVUFBVTtLQUN4QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLFlBQVk7UUFDekIsWUFBWSxFQUFFLENBQUM7UUFDZixXQUFXLEVBQUUsT0FBTztRQUNwQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsVUFBVTtLQUN4QjtJQUNEO1FBQ0UsYUFBYSxFQUFFLE1BQU07UUFDckIsV0FBVyxFQUFFLGNBQWM7UUFDM0IsWUFB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