Files
skr/ts/skr03.data.ts
Juergen Kunz 8a9056e767
Some checks failed
Default (tags) / security (push) Successful in 44s
Default (tags) / test (push) Failing after 4m4s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
feat(core): initial release of SKR03/SKR04 German accounting standards implementation
- Complete implementation of German standard charts of accounts
- SKR03 (Process Structure Principle) for trading/service companies
- SKR04 (Financial Classification Principle) for manufacturing companies
- Double-entry bookkeeping with MongoDB persistence
- Comprehensive reporting suite with DATEV export
- Full TypeScript support and type safety
2025-08-09 12:00:40 +00:00

902 lines
21 KiB
TypeScript

import type { IAccountData } from './skr.types.js';
/**
* SKR03 - Process Structure Principle (Prozessgliederungsprinzip)
* Organized by business process flow
*/
export const SKR03_ACCOUNTS: IAccountData[] = [
// Class 0: Capital Accounts (Anlagekonten)
{
accountNumber: '0001',
accountName: 'Aufwendungen für Ingangsetzung',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Start-up expenses',
},
{
accountNumber: '0010',
accountName: 'Konzessionen',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Concessions',
},
{
accountNumber: '0020',
accountName: 'Patente',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Patents',
},
{
accountNumber: '0030',
accountName: 'Lizenzen',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Licenses',
},
{
accountNumber: '0050',
accountName: 'Firmenwert',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Goodwill',
},
{
accountNumber: '0100',
accountName: 'EDV-Software',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'IT Software',
},
{
accountNumber: '0200',
accountName: 'Grundstücke',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Land and property',
},
{
accountNumber: '0210',
accountName: 'Gebäude',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Buildings',
},
{
accountNumber: '0300',
accountName: 'Maschinen',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Machinery',
},
{
accountNumber: '0400',
accountName: 'Fuhrpark',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Vehicles',
},
{
accountNumber: '0500',
accountName: 'Betriebs- und Geschäftsausstattung',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Office equipment',
},
{
accountNumber: '0600',
accountName: 'Geleistete Anzahlungen',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Prepayments on fixed assets',
},
{
accountNumber: '0800',
accountName: 'Finanzanlagen',
accountClass: 0,
accountType: 'asset',
skrType: 'SKR03',
description: 'Financial assets',
},
// Class 1: Current Assets (Umlaufvermögen)
{
accountNumber: '1000',
accountName: 'Kasse',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Cash on hand',
},
{
accountNumber: '1100',
accountName: 'Postbank',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Postal bank account',
},
{
accountNumber: '1200',
accountName: 'Bank',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Bank account',
},
{
accountNumber: '1210',
accountName: 'Sparkasse',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Savings bank',
},
{
accountNumber: '1300',
accountName: 'Wertpapiere',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Securities',
},
{
accountNumber: '1400',
accountName: 'Forderungen aus Lieferungen und Leistungen',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Trade receivables',
},
{
accountNumber: '1500',
accountName: 'Sonstige Vermögensgegenstände',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Other assets',
},
{
accountNumber: '1520',
accountName: 'Abziehbare Vorsteuer',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Input VAT',
},
{
accountNumber: '1570',
accountName: 'Vorsteuer 7%',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Input VAT 7%',
},
{
accountNumber: '1571',
accountName: 'Vorsteuer 19%',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Input VAT 19%',
},
{
accountNumber: '1600',
accountName: 'Verbindlichkeiten aus Lieferungen und Leistungen',
accountClass: 1,
accountType: 'liability',
skrType: 'SKR03',
description: 'Trade payables',
},
{
accountNumber: '1700',
accountName: 'Sonstige Verbindlichkeiten',
accountClass: 1,
accountType: 'liability',
skrType: 'SKR03',
description: 'Other liabilities',
},
{
accountNumber: '1770',
accountName: 'Umsatzsteuer 7%',
accountClass: 1,
accountType: 'liability',
skrType: 'SKR03',
description: 'VAT payable 7%',
},
{
accountNumber: '1771',
accountName: 'Umsatzsteuer 19%',
accountClass: 1,
accountType: 'liability',
skrType: 'SKR03',
description: 'VAT payable 19%',
},
{
accountNumber: '1800',
accountName: 'Privatentnahmen',
accountClass: 1,
accountType: 'equity',
skrType: 'SKR03',
description: 'Private withdrawals',
},
{
accountNumber: '1810',
accountName: 'Privateinlagen',
accountClass: 1,
accountType: 'equity',
skrType: 'SKR03',
description: 'Private deposits',
},
{
accountNumber: '1900',
accountName: 'Verrechnungskonto',
accountClass: 1,
accountType: 'asset',
skrType: 'SKR03',
description: 'Clearing account',
},
// Class 2: Equity (Eigenkapital)
{
accountNumber: '2000',
accountName: 'Eigenkapital',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Equity capital',
},
{
accountNumber: '2100',
accountName: 'Gezeichnetes Kapital',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Subscribed capital',
},
{
accountNumber: '2200',
accountName: 'Kapitalrücklage',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Capital reserves',
},
{
accountNumber: '2300',
accountName: 'Gewinnrücklagen',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Revenue reserves',
},
{
accountNumber: '2400',
accountName: 'Gewinnvortrag',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Profit carried forward',
},
{
accountNumber: '2500',
accountName: 'Verlustvortrag',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Loss carried forward',
},
{
accountNumber: '2600',
accountName: 'Jahresüberschuss',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Annual surplus',
},
{
accountNumber: '2700',
accountName: 'Jahresfehlbetrag',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Annual deficit',
},
{
accountNumber: '2900',
accountName: 'Sonderposten mit Rücklageanteil',
accountClass: 2,
accountType: 'equity',
skrType: 'SKR03',
description: 'Special items with reserve portion',
},
// Class 3: Provisions and Liabilities (Rückstellungen und Verbindlichkeiten)
{
accountNumber: '3000',
accountName: 'Rückstellungen für Pensionen',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Pension provisions',
},
{
accountNumber: '3100',
accountName: 'Steuerrückstellungen',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Tax provisions',
},
{
accountNumber: '3200',
accountName: 'Sonstige Rückstellungen',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Other provisions',
},
{
accountNumber: '3300',
accountName: 'Verbindlichkeiten gegenüber Kreditinstituten',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Bank loans',
},
{
accountNumber: '3400',
accountName: 'Erhaltene Anzahlungen',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Advance payments received',
},
{
accountNumber: '3500',
accountName: 'Verbindlichkeiten aus Steuern',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Tax liabilities',
},
{
accountNumber: '3600',
accountName: 'Verbindlichkeiten im Rahmen der sozialen Sicherheit',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Social security liabilities',
},
{
accountNumber: '3700',
accountName: 'Sonstige Verbindlichkeiten',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Other liabilities',
},
{
accountNumber: '3900',
accountName: 'Passive Rechnungsabgrenzung',
accountClass: 3,
accountType: 'liability',
skrType: 'SKR03',
description: 'Deferred income',
},
// Class 4: Operating Income (Betriebliche Erträge)
{
accountNumber: '4000',
accountName: 'Umsatzerlöse',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Sales revenue',
vatRate: 19,
},
{
accountNumber: '4100',
accountName: 'steuerfreie Umsätze',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Tax-free sales',
},
{
accountNumber: '4200',
accountName: 'Erlöse 7% USt',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Revenue 7% VAT',
vatRate: 7,
},
{
accountNumber: '4300',
accountName: 'Erlöse 19% USt',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Revenue 19% VAT',
vatRate: 19,
},
{
accountNumber: '4400',
accountName: 'Erlöse innergemeinschaftliche Lieferungen',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'EU sales',
},
{
accountNumber: '4500',
accountName: 'Erlöse Export',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Export sales',
},
{
accountNumber: '4600',
accountName: 'Bestandsveränderungen',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Inventory changes',
},
{
accountNumber: '4700',
accountName: 'Aktivierte Eigenleistungen',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Capitalized own work',
},
{
accountNumber: '4800',
accountName: 'Sonstige betriebliche Erträge',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Other operating income',
},
{
accountNumber: '4900',
accountName: 'Erträge aus Beteiligungen',
accountClass: 4,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Investment income',
},
// Class 5: Material Costs (Materialkosten)
{
accountNumber: '5000',
accountName: 'Aufwendungen für Roh-, Hilfs- und Betriebsstoffe',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Raw materials and supplies',
},
{
accountNumber: '5100',
accountName: 'Einkauf Waren',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Purchase of goods',
},
{
accountNumber: '5200',
accountName: 'Wareneingang 7% Vorsteuer',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Goods receipt 7% input tax',
vatRate: 7,
},
{
accountNumber: '5400',
accountName: 'Wareneingang 19% Vorsteuer',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Goods receipt 19% input tax',
vatRate: 19,
},
{
accountNumber: '5500',
accountName: 'Aufwendungen für bezogene Leistungen',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Purchased services',
},
{
accountNumber: '5600',
accountName: 'Aufwendungen für Energie',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Energy costs',
},
{
accountNumber: '5700',
accountName: 'Reisekosten',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Travel expenses',
},
{
accountNumber: '5800',
accountName: 'Bewirtungskosten',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'Entertainment expenses',
},
{
accountNumber: '5900',
accountName: 'Fremdleistungen',
accountClass: 5,
accountType: 'expense',
skrType: 'SKR03',
description: 'External services',
},
// Class 6: Personnel Costs (Personalkosten)
{
accountNumber: '6000',
accountName: 'Löhne und Gehälter',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Wages and salaries',
},
{
accountNumber: '6100',
accountName: 'Soziale Abgaben',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Social security contributions',
},
{
accountNumber: '6200',
accountName: 'Aufwendungen für Altersversorgung',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Pension expenses',
},
{
accountNumber: '6300',
accountName: 'Sonstige soziale Aufwendungen',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Other social expenses',
},
{
accountNumber: '6400',
accountName: 'Versicherungen',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Insurance',
},
{
accountNumber: '6500',
accountName: 'Berufsgenossenschaft',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Occupational insurance',
},
{
accountNumber: '6600',
accountName: 'Vermögenswirksame Leistungen',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Employee savings schemes',
},
{
accountNumber: '6700',
accountName: 'Aufwendungen für Fortbildung',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Training expenses',
},
{
accountNumber: '6800',
accountName: 'Aushilfslöhne',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Temporary staff wages',
},
{
accountNumber: '6900',
accountName: 'Aufwendungen für freie Mitarbeiter',
accountClass: 6,
accountType: 'expense',
skrType: 'SKR03',
description: 'Freelancer expenses',
},
// Class 7: Other Operating Expenses (Sonstige betriebliche Aufwendungen)
{
accountNumber: '7000',
accountName: 'Abschreibungen',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Depreciation',
},
{
accountNumber: '7100',
accountName: 'Raumkosten',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Rent and lease',
},
{
accountNumber: '7200',
accountName: 'Instandhaltung',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Maintenance',
},
{
accountNumber: '7300',
accountName: 'Versicherungen',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Insurance',
},
{
accountNumber: '7400',
accountName: 'Fahrzeugkosten',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Vehicle expenses',
},
{
accountNumber: '7500',
accountName: 'Werbe- und Reisekosten',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Marketing and travel',
},
{
accountNumber: '7600',
accountName: 'Kosten der Warenabgabe',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Distribution costs',
},
{
accountNumber: '7700',
accountName: 'Verschiedene betriebliche Kosten',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Miscellaneous operating costs',
},
{
accountNumber: '7800',
accountName: 'Steuern vom Einkommen und Ertrag',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Income taxes',
},
{
accountNumber: '7900',
accountName: 'Sonstige Steuern',
accountClass: 7,
accountType: 'expense',
skrType: 'SKR03',
description: 'Other taxes',
},
// Class 8: Financial Accounts (Finanzkonten)
{
accountNumber: '8000',
accountName: 'Erlöse aus Anlagenabgängen',
accountClass: 8,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Gains from asset disposals',
},
{
accountNumber: '8100',
accountName: 'Sonstige Zinsen und ähnliche Erträge',
accountClass: 8,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Interest income',
},
{
accountNumber: '8200',
accountName: 'Erträge aus Beteiligungen',
accountClass: 8,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Investment income',
},
{
accountNumber: '8300',
accountName: 'Zinsen und ähnliche Aufwendungen',
accountClass: 8,
accountType: 'expense',
skrType: 'SKR03',
description: 'Interest expense',
},
{
accountNumber: '8400',
accountName: 'Sonstige Erträge',
accountClass: 8,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Other income',
},
{
accountNumber: '8500',
accountName: 'Sonstige Aufwendungen',
accountClass: 8,
accountType: 'expense',
skrType: 'SKR03',
description: 'Other expenses',
},
{
accountNumber: '8600',
accountName: 'Außerordentliche Erträge',
accountClass: 8,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Extraordinary income',
},
{
accountNumber: '8700',
accountName: 'Außerordentliche Aufwendungen',
accountClass: 8,
accountType: 'expense',
skrType: 'SKR03',
description: 'Extraordinary expenses',
},
{
accountNumber: '8800',
accountName: 'Erträge aus Verlustübernahme',
accountClass: 8,
accountType: 'revenue',
skrType: 'SKR03',
description: 'Income from loss absorption',
},
{
accountNumber: '8900',
accountName: 'Aufgrund von Gewinnabführung abgeführte Gewinne',
accountClass: 8,
accountType: 'expense',
skrType: 'SKR03',
description: 'Profits transferred',
},
// Class 9: Closing Accounts (Abschlusskonten)
{
accountNumber: '9000',
accountName: 'Saldenvorträge',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Opening balances',
},
{
accountNumber: '9100',
accountName: 'Summenvortrag',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Total carried forward',
},
{
accountNumber: '9200',
accountName: 'Eröffnungsbilanzkonto',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Opening balance sheet account',
},
{
accountNumber: '9300',
accountName: 'Schlussbilanzkonto',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Closing balance sheet account',
},
{
accountNumber: '9400',
accountName: 'Gewinn- und Verlustkonto',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Profit and loss account',
},
{
accountNumber: '9500',
accountName: 'Kapitalkonto',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Capital account',
},
{
accountNumber: '9600',
accountName: 'Privatkonto',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Private account',
},
{
accountNumber: '9700',
accountName: 'Eigenverbrauch',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Personal consumption',
},
{
accountNumber: '9800',
accountName: 'Statistische Konten',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Statistical accounts',
},
{
accountNumber: '9900',
accountName: 'Verrechnungskonten',
accountClass: 9,
accountType: 'equity',
skrType: 'SKR03',
description: 'Clearing accounts',
},
];
export const SKR03_ACCOUNT_CLASSES = {
0: 'Anlagekonten (Fixed Assets)',
1: 'Umlaufvermögen (Current Assets)',
2: 'Eigenkapital (Equity)',
3: 'Rückstellungen und Verbindlichkeiten (Provisions and Liabilities)',
4: 'Betriebliche Erträge (Operating Income)',
5: 'Materialkosten (Material Costs)',
6: 'Personalkosten (Personnel Costs)',
7: 'Sonstige betriebliche Aufwendungen (Other Operating Expenses)',
8: 'Finanzkonten (Financial Accounts)',
9: 'Abschlusskonten (Closing Accounts)',
};