@fin.cx/chartdata 3.4.0 → 3.6.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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@fin.cx/chartdata',
6
- version: '3.4.0',
6
+ version: '3.6.0',
7
7
  description: 'Year-versioned German SKR03/SKR04 chart-of-accounts datasets with Automatikkonto functions, BU-key rules, UStVA-Kennzahl and Anlage EÜR mappings'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxtQkFBbUI7SUFDekIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLGtKQUFrSjtDQUNoSyxDQUFBIn0=
@@ -1,4 +1,4 @@
1
- import type { IChart, IChartAccount, IDatevNumbers, IIndividualAccountDeclaration, IIndividualAccountProblem, IIndividualAccountTemplate, IMappingCoverage, TAccountRole, TChartName, TEuerAccountLines, TExpenseRole, TMappingDimension, TPayrollRole, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
1
+ import type { IChart, IChartAccount, IDatevNumbers, IIndividualAccountDeclaration, IIndividualAccountProblem, IIndividualAccountTemplate, IMappingCoverage, TAccountRole, TChartName, TEuerAccountLines, TExpenseRole, TMappingDimension, TPayrollRole, TPeriodRole, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
2
2
  import { type IEuerLinesOptions } from './chartdata.euer.js';
3
3
  /**
4
4
  * The numbers the DATEV standard chart of a year assigns and reserves, as read from the DATEV Kontenrahmen. Throws
@@ -53,6 +53,8 @@ export declare class BooksChart implements IChart {
53
53
  getPayrollAccount(roleArg: TPayrollRole): IChartAccount | null;
54
54
  /** The one account of the books that books the expense role, or `null`; an individual account takes none. */
55
55
  getExpenseAccount(roleArg: TExpenseRole): IChartAccount | null;
56
+ /** The one account of the books that books the period role, or `null`; an individual account takes none. */
57
+ getPeriodAccount(roleArg: TPeriodRole): IChartAccount | null;
56
58
  getMappingCoverage(usedAccountsArg: string[], dimensionArg: TMappingDimension): IMappingCoverage;
57
59
  getEuerLines(accountNumberArg: string, formYearArg: number, optionsArg?: IEuerLinesOptions): TEuerAccountLines | null;
58
60
  }
@@ -1,6 +1,6 @@
1
1
  import { euerLinesOf, getEuerFormLine, listEuerFormYears } from './chartdata.euer.js';
2
2
  import { HGB_266_POSITIONS, HGB_275_GKV_POSITIONS } from './chartdata.hgb.js';
3
- import { getChart, mappingCoverageOf } from './chartdata.lookup.js';
3
+ import { getChart, hasTaxReturnFunction, mappingCoverageOf } from './chartdata.lookup.js';
4
4
  import { DATEV_NUMBERS_SKR03_2026, DATEV_NUMBERS_SKR04_2026 } from './data/datevnumbers.2026.js';
5
5
  const DATEV_NUMBERS = [DATEV_NUMBERS_SKR03_2026, DATEV_NUMBERS_SKR04_2026];
6
6
  /**
@@ -171,8 +171,13 @@ export function individualAccountProblemsOf(chart, year, declarations) {
171
171
  }
172
172
  }
173
173
  }
174
+ // the marks pass on unchanged, so only the tax rule can be dropped: never the parent's only return function
175
+ const ownTaxRule = overrides.taxRule === undefined ? parent.taxRule : overrides.taxRule ?? undefined;
176
+ if (hasTaxReturnFunction(parent) && !hasTaxReturnFunction({ datevMarks: parent.datevMarks, taxRule: ownTaxRule })) {
177
+ add(number, 'override_invalid', `${number} drops the tax rule ${parent.taxRule} of its parent ${parent.accountNumber}, its only tax-return function`);
178
+ }
174
179
  if (declaration.securitiesRole !== undefined) {
175
- const taxRule = overrides.taxRule === undefined ? parent.taxRule : overrides.taxRule ?? undefined;
180
+ const taxRule = ownTaxRule;
176
181
  const key = `${declaration.securitiesRole}:${taxRule ?? ''}`;
177
182
  const holder = roles.get(key);
178
183
  if (holder !== undefined)
@@ -212,6 +217,8 @@ function individualAccountOf(parentArg, declarationArg, yearArg) {
212
217
  ...(accountRole ? { accountRole } : {}),
213
218
  ...(declarationArg.securitiesRole ? { securitiesRole: declarationArg.securitiesRole } : {}),
214
219
  ...(taxRule ? { taxRule } : {}),
220
+ ...(parentArg.datevMarks ? { datevMarks: [...parentArg.datevMarks] } : {}),
221
+ ...(parentArg.priorYearAccounts ? { priorYearAccounts: { ...parentArg.priorYearAccounts } } : {}),
215
222
  ...(commercialOnly ? { commercialOnly } : {}),
216
223
  ...(ustva ? { ustva } : {}),
217
224
  ...(hgb266Position ? { hgb266Position } : {}),
@@ -273,6 +280,10 @@ export class BooksChart {
273
280
  getExpenseAccount(roleArg) {
274
281
  return this.accounts.find((account) => account.expenseRole === roleArg) ?? null;
275
282
  }
283
+ /** The one account of the books that books the period role, or `null`; an individual account takes none. */
284
+ getPeriodAccount(roleArg) {
285
+ return this.accounts.find((account) => account.periodRole === roleArg) ?? null;
286
+ }
276
287
  getMappingCoverage(usedAccountsArg, dimensionArg) {
277
288
  return mappingCoverageOf(this.accounts, usedAccountsArg, dimensionArg);
278
289
  }
@@ -281,4 +292,4 @@ export class BooksChart {
281
292
  return account ? euerLinesOf(account, formYearArg, optionsArg) : null;
282
293
  }
283
294
  }
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmluZGl2aWR1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jaGFydGRhdGEuaW5kaXZpZHVhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpHLE1BQU0sYUFBYSxHQUFvQixDQUFDLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFNUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFpQixFQUFFLElBQVk7SUFDN0QsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNoRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixLQUFLLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsNkVBQTZFO0FBQzdFLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBaUIsRUFBRSxJQUFZLEVBQUUsYUFBcUI7SUFDbEYsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVE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
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmluZGl2aWR1YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jaGFydGRhdGEuaW5kaXZpZHVhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpHLE1BQU0sYUFBYSxHQUFvQixDQUFDLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFNUY7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFpQixFQUFFLElBQVk7SUFDN0QsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNoRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixLQUFLLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsNkVBQTZFO0FBQzdFLE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBaUIsRUFBRSxJQUFZLEVBQUUsYUFBcUI7SUFDbEYsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFD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
@@ -1,4 +1,4 @@
1
- import type { IChart, IChartAccount, IMappingCoverage, IScenarioKennzahlen, TAccountRole, TChartName, TEuerAccountLines, TExpenseRole, TMappingDimension, TPayrollRole, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
1
+ import type { IChart, IChartAccount, IMappingCoverage, IScenarioKennzahlen, TAccountRole, TChartName, TEuerAccountLines, TExpenseRole, TMappingDimension, TPayrollRole, TPeriodRole, TSecuritiesRole, TTaxRule } from './chartdata.types.js';
2
2
  import { type IEuerLinesOptions } from './chartdata.euer.js';
3
3
  /**
4
4
  * UStVA Kennzahlen driven by the tax scenario of a booking (not by a single
@@ -44,6 +44,16 @@ export declare function getPayrollAccount(chart: TChartName, year: number, role:
44
44
  * keeps none for it. Throws for unknown chart/year combinations, as `getChart`.
45
45
  */
46
46
  export declare function getExpenseAccount(chart: TChartName, year: number, role: TExpenseRole): IChartAccount | null;
47
+ /**
48
+ * The one account of a chart that books the period role (`IChartAccount.periodRole`), or `null` where the chart keeps
49
+ * none for it. Throws for unknown chart/year combinations, as `getChart`.
50
+ */
51
+ export declare function getPeriodAccount(chart: TChartName, year: number, role: TPeriodRole): IChartAccount | null;
52
+ /**
53
+ * Whether a tax return acts on the account's amounts beyond its type and position: DATEV marks it for its trade or
54
+ * corporate income tax program ("G", "K", `datevMarks`) or it is kept for a rule of the income tax law (`taxRule`).
55
+ */
56
+ export declare function hasTaxReturnFunction(account: Pick<IChartAccount, 'datevMarks' | 'taxRule'>): boolean;
47
57
  /**
48
58
  * Coverage check for the accounts a ledger actually uses. Callers must treat
49
59
  * missing/unknown accounts as a hard error before generating filings.
@@ -81,6 +81,20 @@ export function getPayrollAccount(chart, year, role) {
81
81
  export function getExpenseAccount(chart, year, role) {
82
82
  return getChart(chart, year).accounts.find((account) => account.expenseRole === role) ?? null;
83
83
  }
84
+ /**
85
+ * The one account of a chart that books the period role (`IChartAccount.periodRole`), or `null` where the chart keeps
86
+ * none for it. Throws for unknown chart/year combinations, as `getChart`.
87
+ */
88
+ export function getPeriodAccount(chart, year, role) {
89
+ return getChart(chart, year).accounts.find((account) => account.periodRole === role) ?? null;
90
+ }
91
+ /**
92
+ * Whether a tax return acts on the account's amounts beyond its type and position: DATEV marks it for its trade or
93
+ * corporate income tax program ("G", "K", `datevMarks`) or it is kept for a rule of the income tax law (`taxRule`).
94
+ */
95
+ export function hasTaxReturnFunction(account) {
96
+ return (account.datevMarks?.length ?? 0) > 0 || account.taxRule !== undefined;
97
+ }
84
98
  function hasMapping(account, dimension) {
85
99
  switch (dimension) {
86
100
  case 'ustva':
@@ -134,4 +148,4 @@ export function getEuerLines(chart, chartYear, accountNumber, formYear, options
134
148
  const account = getAccount(chart, chartYear, accountNumber);
135
149
  return account ? euerLinesOf(account, formYear, options) : null;
136
150
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NoYXJ0ZGF0YS5sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsT0FBTyxFQUFFLFdBQVcsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE1BQU0sTUFBTSxHQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBd0I7SUFDNUQsOEJBQThCLEVBQUUsRUFBRTtJQUNsQyw2QkFBNkIsRUFBRSxFQUFFO0lBQ2pDLDJCQUEyQixFQUFFLEVBQUU7SUFDL0IsMEJBQTBCLEVBQUUsRUFBRTtJQUM5QiwyQkFBMkIsRUFBRSxFQUFFO0lBQy9CLDBCQUEwQixFQUFFLEVBQUU7SUFDOUIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixxQkFBcUIsRUFBRSxFQUFFO0lBQ3pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsVUFBVSxFQUFFLEVBQUU7SUFDZCxvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIseUJBQXlCLEVBQUUsRUFBRTtJQUM3QixRQUFRLEVBQUUsRUFBRTtJQUNaLGVBQWUsRUFBRSxFQUFFO0lBQ25CLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7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
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRkYXRhLmxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NoYXJ0ZGF0YS5sb29rdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxFQUFFLFdBQVcsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE1BQU0sTUFBTSxHQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBd0I7SUFDNUQsOEJBQThCLEVBQUUsRUFBRTtJQUNsQyw2QkFBNkIsRUFBRSxFQUFFO0lBQ2pDLDJCQUEyQixFQUFFLEVBQUU7SUFDL0IsMEJBQTBCLEVBQUUsRUFBRTtJQUM5QiwyQkFBMkIsRUFBRSxFQUFFO0lBQy9CLDBCQUEwQixFQUFFLEVBQUU7SUFDOUIsc0JBQXNCLEVBQUUsRUFBRTtJQUMxQixxQkFBcUIsRUFBRSxFQUFFO0lBQ3pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsVUFBVSxFQUFFLEVBQUU7SUFDZCxvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIseUJBQXlCLEVBQUUsRUFBRTtJQUM3QixRQUFRLEVBQUUsRUFBRTtJQUNaLGVBQWUsRUFBRSxFQUFFO0lBQ25CLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsU0FBUyxFQUFFLEVBQUU7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBaUIsRUFBRSxJQUFZO0lBQ3RELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDL0YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYixNQUFNLEtBQUsscUJBQXFCLElBQUksZ0JBQWdCLE1BQU0sQ0FBQyxHQUFHLENBQzVELENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxDQUN0RCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNmLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsS0FBaUIsRUFDakIsSUFBWSxFQUNaLGFBQXFCO0lBRXJCLE9BQU8sQ0FDTCxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2pDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FDckQsSUFBSSxJQUFJLENBQ1YsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEtBQWlCLEVBQ2pCLElBQVksRUFDWixJQUFrQjtJQUVsQixPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUMxRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQWlCLEVBQ2pCLElBQVksRUFDWixJQUFxQjtJQUVyQixPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsS0FBaUIsRUFDakIsSUFBWSxFQUNaLElBQXFCLEVBQ3JCLE9BQWtCO0lBRWxCLE9BQU8sMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQy9HLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxJQUFZLEVBQUUsSUFBa0I7SUFDbkYsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQ2hHLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBaUIsRUFBRSxJQUFZLEVBQUUsSUFBa0I7SUFDbkYsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQ2hHLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBaUIsRUFBRSxJQUFZLEVBQUUsSUFBaUI7SUFDakYsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQy9GLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBc0Q7SUFDekYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQztBQUNoRixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsT0FBc0IsRUFBRSxTQUE0QjtJQUN0RSxRQUFRLFNBQVMsRUFBRSxDQUFDO1FBQ2xCLEtBQUssT0FBTztZQUNWLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUM7UUFDckMsS0FBSyxRQUFRO1lBQ1gsT0FBTyxPQUFPLENBQUMsY0FBYyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztRQUN2RixLQUFLLEtBQUs7WUFDUixPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDO1FBQ3ZDLEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUM7UUFDOUMsS0FBSyxTQUFTO1lBQ1osT0FBTyxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztRQUMvQyxLQUFLLE1BQU07WUFDVCxPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEtBQUssU0FBUyxDQUFDO0lBQzdFLENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxLQUFpQixFQUNqQixJQUFZLEVBQ1osWUFBc0IsRUFDdEIsU0FBNEI7SUFFNUIsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDcEYsQ0FBQztBQUVELGtIQUFrSDtBQUNsSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLFFBQWtDLEVBQ2xDLFlBQXNCLEVBQ3RCLFNBQTRCO0lBRTVCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsTUFBTSxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBQzdCLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUM3QixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsS0FBSyxNQUFNLGFBQWEsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUIsU0FBUztRQUNYLENBQUM7UUFDRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7O1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUNsRixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsS0FBaUIsRUFDakIsU0FBaUIsRUFDakIsYUFBcUIsRUFDckIsUUFBZ0IsRUFDaEIsT0FBTyxHQUFzQixFQUFFO0lBRS9CLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzVELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2xFLENBQUMifQ==
@@ -162,8 +162,7 @@ export type TPayrollRole = 'wages' | 'salaries' | 'managing_director_salaries' |
162
162
  */
163
163
  export type TExpenseRole = 'travel_employee' | 'travel_employee_transport' | 'travel_employee_meals' | 'travel_employee_lodging' | 'mileage_employee' | 'business_meals' | 'business_meals_nondeductible' | 'vehicle_running_costs' | 'office_supplies' | 'postage' | 'literature' | 'training' | 'software' | 'other_operating_expenses' | 'credit_card_settlement';
164
164
  /**
165
- * A rule of the income tax law an income or expense account is kept for, as
166
- * its DATEV name states it:
165
+ * A rule of the income tax law an income or expense account is kept for, which the tax returns act on:
167
166
  * - 'estg_3_40_kstg_8b': income from shares and the expenses of it under the
168
167
  * Teileinkünfteverfahren (§ 3 Nr. 40, § 3c Abs. 2 EStG) or, for a
169
168
  * corporation, § 8b KStG — DATEV names these accounts "§ 3 Nr. 40 EStG bzw.
@@ -171,9 +170,48 @@ export type TExpenseRole = 'travel_employee' | 'travel_employee_transport' | 'tr
171
170
  * income as 100 % tax-free and their expenses as 100 % non-deductible, its
172
171
  * interface to the trade tax 40 % each (Kontenrahmen SKR 03 and SKR 04,
173
172
  * gültig für 2026, footnote 9); the corrections are made in the return, not
174
- * in the books.
173
+ * in the books;
174
+ * - 'estg_4_7': an expense of § 4 Abs. 5 Satz 1 EStG that § 4 Abs. 7 EStG requires to be recorded apart from the
175
+ * other business expenses and that DATEV marks for no tax program (no "G" or "K", `datevMarks`): the deductible
176
+ * gifts (Nr. 1), the deductible 70 % of business meals (Nr. 2), the deductible part of other restricted expenses
177
+ * and of a home office.
178
+ * The accounts DATEV marks "G" or "K" need no tax rule for their return function: their mark is one. Each rule is
179
+ * the account's, not a booking's: which scenario applies is the books' decision.
175
180
  */
176
- export type TTaxRule = 'estg_3_40_kstg_8b';
181
+ export type TTaxRule = 'estg_3_40_kstg_8b' | 'estg_4_7';
182
+ /**
183
+ * DATEV's marks of an account for its tax programs, in the column "Programmverbindung" of the DATEV Kontenrahmen
184
+ * (SKR 03 and SKR 04, gültig für 2026, Erläuterungen, S. 37): 'G' passes the account to the Gewerbesteuer, 'K' to the
185
+ * Körperschaftsteuer (their add-backs and corrections, such as § 8 Nr. 1 GewStG or § 10 KStG). DATEV passes an
186
+ * account's marks on to the individual accounts after it, up to the next account of the standard chart.
187
+ */
188
+ export type TDatevMark = 'G' | 'K';
189
+ /**
190
+ * What an account books when a booking of an earlier period reaches the books after that period's year is closed:
191
+ * - 'out_of_period_expense', 'out_of_period_income': the periodenfremde Aufwendungen and Erträge, under the other
192
+ * operating expenses and income (§ 275 Abs. 2 Nr. 8 and Nr. 4 HGB), neutral in the BWA;
193
+ * - 'vat_posting_year': the VAT of an earlier period of the posting date's own calendar year ("Umsatzsteuer
194
+ * laufendes Jahr"; it arises only where the fiscal year is not the calendar year), with the current VAT
195
+ * (§ 16 Abs. 1 Satz 2 UStG);
196
+ * - 'vat_previous_year', 'vat_earlier_years': the VAT of the calendar year before the posting date's and of the
197
+ * years before that ("Umsatzsteuerverbindlichkeiten Vorjahr", "… frühere Jahre").
198
+ * A booking finds its account by this role: within a chart, no two accounts share one, and every role has its account
199
+ * in both standard charts (DATEV Kontenrahmen SKR 03 Art.-Nr. 11174, pp. 11, 13, 16, and SKR 04 Art.-Nr. 11175,
200
+ * pp. 14, 18, 25, gültig für 2026). None of the accounts carries a tax function.
201
+ */
202
+ export type TPeriodRole = 'out_of_period_expense' | 'out_of_period_income' | 'vat_posting_year' | 'vat_previous_year' | 'vat_earlier_years';
203
+ /**
204
+ * The accounts DATEV keeps for a current-year tax account's amounts of earlier years (SKR 03 2200 → 2203/2204,
205
+ * SKR 04 7600 → 7603/7604): `expense` for an additional payment, `income` for a refund, picked by the amount's sign;
206
+ * one account may take both ("Gewerbesteuernachzahlungen und Gewerbesteuererstattungen für Vorjahre"). Each is a
207
+ * profit-and-loss account of the same chart with a DATEV mark, under the income-statement position of the account
208
+ * naming it, and names no prior-year accounts of its own. A refund twin is an expense account like the others: a
209
+ * refund reduces the taxes on income (§ 275 Abs. 2 Nr. 14 HGB), an expense item.
210
+ */
211
+ export interface IPriorYearAccounts {
212
+ expense: string;
213
+ income: string;
214
+ }
177
215
  /**
178
216
  * Built-in DATEV tax automatism of an account. Lines on automatik accounts
179
217
  * must carry no BU key (automatism applies) or key 40 (automatism cancelled).
@@ -235,13 +273,20 @@ export type TEuerMapping = {
235
273
  * Zeile 58); what a return leaves to pay counts as paid VAT (Kz 186);
236
274
  * - 'closing': a carry-forward, closing or statistical account, which records
237
275
  * no business transaction;
276
+ * - 'out_of_period': an earlier year's income or expense booked after that
277
+ * year is closed (periodenfremd), a category a cash-basis book does not
278
+ * have: § 4 Abs. 3 with § 11 EStG puts every receipt and payment in the
279
+ * year paid, and a late payment for an earlier year is ordinary income or
280
+ * expense of that year, on the account for what it is; an amount a
281
+ * cash-basis book posts here is for the consumer to refuse or move, never
282
+ * to leave out of the form silently;
238
283
  * - 'deferred_current_asset': a current asset named in § 4 Abs. 3 Satz 4
239
284
  * EStG — shares, securities, land and buildings —, whose cost counts only
240
285
  * when its sale's proceeds are received or it is withdrawn, as goods
241
286
  * (Zeile 29, Kz 100), through the list of such assets in the Anlage AVEÜR
242
287
  * (Zeilen 93 bis 96), not when it is paid.
243
288
  */
244
- export type TEuerExclusion = 'balance_sheet' | 'fixed_asset' | 'inventory' | 'valuation' | 'pass_through' | 'reverse_charge' | 'closing' | 'deferred_current_asset';
289
+ export type TEuerExclusion = 'balance_sheet' | 'fixed_asset' | 'inventory' | 'valuation' | 'pass_through' | 'reverse_charge' | 'closing' | 'out_of_period' | 'deferred_current_asset';
245
290
  /**
246
291
  * The part of the Anlage EÜR a line belongs to: Betriebseinnahmen (Zeilen
247
292
  * 12 bis 22), Betriebsausgaben (Zeilen 24 bis 76 of the 2026 form), or the
@@ -335,8 +380,14 @@ export interface IChartAccount {
335
380
  payrollRole?: TPayrollRole;
336
381
  /** what the account books of the expenses an employee lays out and claims back; unset = nothing of its own */
337
382
  expenseRole?: TExpenseRole;
338
- /** the income tax rule the account is kept for, as its DATEV name states it; unset = none of its own */
383
+ /** the income tax rule the account is kept for; unset = none of its own */
339
384
  taxRule?: TTaxRule;
385
+ /** DATEV's marks of the account for its tax programs ("G", "K"), as the Kontenrahmen prints them; unset = none */
386
+ datevMarks?: TDatevMark[];
387
+ /** what the account books when a booking of a closed year's period reaches the books; unset = nothing of its own */
388
+ periodRole?: TPeriodRole;
389
+ /** the accounts DATEV keeps for this tax account's amounts of earlier years; unset = none */
390
+ priorYearAccounts?: IPriorYearAccounts;
340
391
  /**
341
392
  * DATEV's mark "HB": the account is posted in the commercial balance sheet only (Handelsbilanz), its amounts
342
393
  * are no part of the tax balance sheet; unset = both
@@ -433,10 +484,11 @@ export interface IIndividualAccountOverrides {
433
484
  * An account the books set up themselves (an Individualkonto) on a number the DATEV standard chart leaves free,
434
485
  * belonging to one of its accounts (the parent, `parentAccountNumber`): it is what its parent is — its type, its
435
486
  * balance-sheet or income-statement position, its UStVA and Anlage EÜR mapping, its account role, its tax rule
436
- * and DATEV's mark "HB" — unless `overrides` changes one deliberately. It does not take the parent's DATEV tax
437
- * automatism (DATEV applies one only to the accounts it marks) nor its securities role, which names one account of
438
- * a chart: an individual account takes one only where its declaration names it. The declarations are the books';
439
- * chartdata stores none.
487
+ * and DATEV's mark "HB" — unless `overrides` changes one deliberately. It takes the parent's DATEV marks for the tax
488
+ * programs ("G", "K") and its prior-year twins as they are: no override changes them. It does not take the parent's
489
+ * DATEV tax automatism (DATEV applies one only to the accounts it marks) nor its securities role or period role,
490
+ * each of which names one account of a chart: an individual account takes a securities role only where its
491
+ * declaration names it, a period role never. The declarations are the books'; chartdata stores none.
440
492
  */
441
493
  export interface IIndividualAccountDeclaration {
442
494
  accountNumber: string;
@@ -465,7 +517,8 @@ export interface IIndividualAccountDeclaration {
465
517
  * - `override_invalid`: an override names no balance-sheet position of § 266 HGB, no income-statement position of
466
518
  * § 275 HGB, or one the account's type does not take (a balance-sheet account has a balance-sheet position, a
467
519
  * profit-and-loss account an income-statement position); an Anlage EÜR line no form year holds, a split line on
468
- * the other side; or both a line and an exclusion.
520
+ * the other side; both a line and an exclusion; or it drops the tax rule that is its parent's only tax-return
521
+ * function (`hasTaxReturnFunction`; adding one, or replacing a tax rule by another, stays allowed).
469
522
  */
470
523
  export type TIndividualAccountProblemCode = 'number_invalid' | 'number_assigned' | 'number_duplicate' | 'name_missing' | 'parent_unknown' | 'parent_individual' | 'parent_not_allowed' | 'class_mismatch' | 'not_following_parent' | 'role_taken' | 'override_invalid';
471
524
  export interface IIndividualAccountProblem {