@tasenor/common-plugins 1.9.32 → 1.9.33

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 (125) hide show
  1. package/.turbo/turbo-ci.log +3 -3
  2. package/data/PluginIndex.mjs +27 -0
  3. package/dist/CoinAPI/backend/index.d.ts +22 -0
  4. package/dist/CoinAPI/backend/index.js +91 -0
  5. package/dist/CoinAPI/backend/index.js.map +1 -0
  6. package/dist/CoinbaseImport/backend/CoinbaseHandler.d.ts +11 -0
  7. package/dist/CoinbaseImport/backend/CoinbaseHandler.js +30 -0
  8. package/dist/CoinbaseImport/backend/CoinbaseHandler.js.map +1 -0
  9. package/dist/CoinbaseImport/backend/index.d.ts +5 -0
  10. package/dist/CoinbaseImport/backend/index.js +18 -0
  11. package/dist/CoinbaseImport/backend/index.js.map +1 -0
  12. package/dist/DocumentCleaner/ui/index.d.ts +43 -0
  13. package/dist/DocumentCleaner/ui/index.js +139 -0
  14. package/dist/DocumentCleaner/ui/index.js.map +1 -0
  15. package/dist/Euro/ui/index.d.ts +15 -0
  16. package/dist/Euro/ui/index.js +22 -0
  17. package/dist/Euro/ui/index.js.map +1 -0
  18. package/dist/Finnish/ui/finnish.json +341 -0
  19. package/dist/Finnish/ui/index.d.ts +17 -0
  20. package/dist/Finnish/ui/index.js +47 -0
  21. package/dist/Finnish/ui/index.js.map +1 -0
  22. package/dist/FinnishBalanceSheetReport/backend/index.d.ts +18 -0
  23. package/dist/FinnishBalanceSheetReport/backend/index.js +96 -0
  24. package/dist/FinnishBalanceSheetReport/backend/index.js.map +1 -0
  25. package/dist/FinnishBalanceSheetReportInvestment/backend/index.d.ts +18 -0
  26. package/dist/FinnishBalanceSheetReportInvestment/backend/index.js +96 -0
  27. package/dist/FinnishBalanceSheetReportInvestment/backend/index.js.map +1 -0
  28. package/dist/FinnishBalanceSheetReportLite/backend/index.d.ts +19 -0
  29. package/dist/FinnishBalanceSheetReportLite/backend/index.js +109 -0
  30. package/dist/FinnishBalanceSheetReportLite/backend/index.js.map +1 -0
  31. package/dist/FinnishIncomeStatementReport/backend/index.d.ts +26 -0
  32. package/dist/FinnishIncomeStatementReport/backend/index.js +190 -0
  33. package/dist/FinnishIncomeStatementReport/backend/index.js.map +1 -0
  34. package/dist/FinnishIncomeStatementReportInvestment/backend/index.d.ts +26 -0
  35. package/dist/FinnishIncomeStatementReportInvestment/backend/index.js +190 -0
  36. package/dist/FinnishIncomeStatementReportInvestment/backend/index.js.map +1 -0
  37. package/dist/FinnishIncomeStatementReportLite/backend/index.d.ts +26 -0
  38. package/dist/FinnishIncomeStatementReportLite/backend/index.js +188 -0
  39. package/dist/FinnishIncomeStatementReportLite/backend/index.js.map +1 -0
  40. package/dist/FinnishInvestmentCompany/backend/index.d.ts +10 -0
  41. package/dist/FinnishInvestmentCompany/backend/index.js +36 -0
  42. package/dist/FinnishInvestmentCompany/backend/index.js.map +1 -0
  43. package/dist/FinnishInvestmentCompany/ui/index.d.ts +16 -0
  44. package/dist/FinnishInvestmentCompany/ui/index.js +22 -0
  45. package/dist/FinnishInvestmentCompany/ui/index.js.map +1 -0
  46. package/dist/FinnishLimitedCompanyComplete/backend/index.d.ts +10 -0
  47. package/dist/FinnishLimitedCompanyComplete/backend/index.js +36 -0
  48. package/dist/FinnishLimitedCompanyComplete/backend/index.js.map +1 -0
  49. package/dist/FinnishLimitedCompanyComplete/ui/index.d.ts +16 -0
  50. package/dist/FinnishLimitedCompanyComplete/ui/index.js +22 -0
  51. package/dist/FinnishLimitedCompanyComplete/ui/index.js.map +1 -0
  52. package/dist/FinnishLimitedCompanyLite/backend/index.d.ts +10 -0
  53. package/dist/FinnishLimitedCompanyLite/backend/index.js +43 -0
  54. package/dist/FinnishLimitedCompanyLite/backend/index.js.map +1 -0
  55. package/dist/FinnishLimitedCompanyLite/ui/index.d.ts +16 -0
  56. package/dist/FinnishLimitedCompanyLite/ui/index.js +24 -0
  57. package/dist/FinnishLimitedCompanyLite/ui/index.js.map +1 -0
  58. package/dist/GitBackup/backend/index.d.ts +26 -0
  59. package/dist/GitBackup/backend/index.js +91 -0
  60. package/dist/GitBackup/backend/index.js.map +1 -0
  61. package/dist/GitBackup/ui/index.d.ts +44 -0
  62. package/dist/GitBackup/ui/index.js +114 -0
  63. package/dist/GitBackup/ui/index.js.map +1 -0
  64. package/dist/IncomeAndExpenses/backend/index.d.ts +5 -0
  65. package/dist/IncomeAndExpenses/backend/index.js +350 -0
  66. package/dist/IncomeAndExpenses/backend/index.js.map +1 -0
  67. package/dist/JournalReport/backend/index.d.ts +15 -0
  68. package/dist/JournalReport/backend/index.js +143 -0
  69. package/dist/JournalReport/backend/index.js.map +1 -0
  70. package/dist/KrakenImport/backend/KrakenHandler.d.ts +23 -0
  71. package/dist/KrakenImport/backend/KrakenHandler.js +83 -0
  72. package/dist/KrakenImport/backend/KrakenHandler.js.map +1 -0
  73. package/dist/KrakenImport/backend/index.d.ts +5 -0
  74. package/dist/KrakenImport/backend/index.js +18 -0
  75. package/dist/KrakenImport/backend/index.js.map +1 -0
  76. package/dist/LedgerReport/backend/index.d.ts +15 -0
  77. package/dist/LedgerReport/backend/index.js +150 -0
  78. package/dist/LedgerReport/backend/index.js.map +1 -0
  79. package/dist/LynxImport/backend/LynxHandler.d.ts +28 -0
  80. package/dist/LynxImport/backend/LynxHandler.js +340 -0
  81. package/dist/LynxImport/backend/LynxHandler.js.map +1 -0
  82. package/dist/LynxImport/backend/index.d.ts +5 -0
  83. package/dist/LynxImport/backend/index.js +18 -0
  84. package/dist/LynxImport/backend/index.js.map +1 -0
  85. package/dist/NordeaImport/backend/NordeaHandler.d.ts +11 -0
  86. package/dist/NordeaImport/backend/NordeaHandler.js +39 -0
  87. package/dist/NordeaImport/backend/NordeaHandler.js.map +1 -0
  88. package/dist/NordeaImport/backend/index.d.ts +5 -0
  89. package/dist/NordeaImport/backend/index.js +18 -0
  90. package/dist/NordeaImport/backend/index.js.map +1 -0
  91. package/dist/NordnetImport/backend/NordnetHandler.d.ts +17 -0
  92. package/dist/NordnetImport/backend/NordnetHandler.js +66 -0
  93. package/dist/NordnetImport/backend/NordnetHandler.js.map +1 -0
  94. package/dist/NordnetImport/backend/index.d.ts +5 -0
  95. package/dist/NordnetImport/backend/index.js +18 -0
  96. package/dist/NordnetImport/backend/index.js.map +1 -0
  97. package/dist/Rand/ui/index.d.ts +15 -0
  98. package/dist/Rand/ui/index.js +22 -0
  99. package/dist/Rand/ui/index.js.map +1 -0
  100. package/dist/RapidAPI/backend/index.d.ts +22 -0
  101. package/dist/RapidAPI/backend/index.js +119 -0
  102. package/dist/RapidAPI/backend/index.js.map +1 -0
  103. package/dist/TITOImport/backend/TITOHandler.d.ts +13 -0
  104. package/dist/TITOImport/backend/TITOHandler.js +241 -0
  105. package/dist/TITOImport/backend/TITOHandler.js.map +1 -0
  106. package/dist/TITOImport/backend/index.d.ts +5 -0
  107. package/dist/TITOImport/backend/index.js +18 -0
  108. package/dist/TITOImport/backend/index.js.map +1 -0
  109. package/dist/TagEditor/ui/index.d.ts +31 -0
  110. package/dist/TagEditor/ui/index.js +349 -0
  111. package/dist/TagEditor/ui/index.js.map +1 -0
  112. package/dist/USDollar/ui/index.d.ts +15 -0
  113. package/dist/USDollar/ui/index.js +22 -0
  114. package/dist/USDollar/ui/index.js.map +1 -0
  115. package/dist/VAT/ui/index.d.ts +69 -0
  116. package/dist/VAT/ui/index.js +509 -0
  117. package/dist/VAT/ui/index.js.map +1 -0
  118. package/dist/VATFinland/backend/index.d.ts +5 -0
  119. package/dist/VATFinland/backend/index.js +17 -0
  120. package/dist/VATFinland/backend/index.js.map +1 -0
  121. package/dist/index.d.ts +28 -0
  122. package/dist/index.js +29 -0
  123. package/dist/index.js.map +1 -0
  124. package/package.json +7 -4
  125. package/src/index.ts +28 -0
@@ -0,0 +1,190 @@
1
+ import { ReportPlugin } from '@tasenor/common-node';
2
+ import dayjs from 'dayjs';
3
+ import quarterOfYear from 'dayjs/plugin/quarterOfYear';
4
+ dayjs.extend(quarterOfYear);
5
+ class FinnishIncomeStatementReportInvestment extends ReportPlugin {
6
+ constructor() {
7
+ super('income-statement-investment-detailed', 'income-statement-investment');
8
+ this.schemes = new Set(['FinnishInvestmentCompany']);
9
+ this.code = 'FinnishIncomeStatementReportInvestment';
10
+ this.title = 'Income Statement Report (Finnish - Investment)';
11
+ this.version = '1.0.1';
12
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><path d="M0,0h24v24H0V0z" fill="none"/></g><g><g><path d="M14,5H5v14h14v-9h-5V5z M8,17c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S8.55,17,8,17z M8,13 c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S8.55,13,8,13z M8,9C7.45,9,7,8.55,7,8s0.45-1,1-1s1,0.45,1,1S8.55,9,8,9z" opacity=".3"/><circle cx="8" cy="8" r="1"/><path d="M15,3H5C3.9,3,3.01,3.9,3.01,5L3,19c0,1.1,0.89,2,1.99,2H19c1.1,0,2-0.9,2-2V9L15,3z M19,19H5V5h9v5h5V19z"/><circle cx="8" cy="12" r="1"/><circle cx="8" cy="16" r="1"/></g></g></svg>';
13
+ this.releaseDate = '2023-03-14';
14
+ this.use = 'backend';
15
+ this.type = 'report';
16
+ this.description = 'Investment company income statement report translated in Finnish.';
17
+ this.languages = {
18
+ en: {
19
+ 'report-income-statement-investment-detailed': 'Detailed income statement',
20
+ 'report-income-statement-investment': 'Income statement'
21
+ },
22
+ fi: {
23
+ 'report-income-statement-investment-detailed': 'Tuloslaskelma tilierittelyin',
24
+ 'report-income-statement-investment': 'Tuloslaskelma'
25
+ }
26
+ };
27
+ }
28
+ forceOptions(options) {
29
+ return {
30
+ negateAssetAndProfit: true,
31
+ addPreviousPeriod: !options.byTags
32
+ };
33
+ }
34
+ getLanguages() {
35
+ return ['fi'];
36
+ }
37
+ getReportOptions() {
38
+ return {
39
+ quarter1: 'radio:1',
40
+ quarter2: 'radio:1',
41
+ quarter3: 'radio:1',
42
+ full: 'radio:1:default',
43
+ byTags: 'boolean'
44
+ };
45
+ }
46
+ /**
47
+ * Construct column title for period.
48
+ * @param formatName
49
+ * @param period
50
+ * @param settings
51
+ */
52
+ columnTitle(id, period, options) {
53
+ const start = this.time2str(period.start_date);
54
+ let end;
55
+ if (options.quarter1) {
56
+ const year = dayjs(period.start_date).year();
57
+ end = dayjs(`${year}-04-01`).subtract(1, 'day').format('YYYY-MM-DD');
58
+ }
59
+ else if (options.quarter2) {
60
+ const year = dayjs(period.start_date).year();
61
+ end = dayjs(`${year}-07-01`).subtract(1, 'day').format('YYYY-MM-DD');
62
+ }
63
+ else if (options.quarter3) {
64
+ const year = dayjs(period.start_date).year();
65
+ end = dayjs(`${year}-10-01`).subtract(1, 'day').format('YYYY-MM-DD');
66
+ }
67
+ else {
68
+ end = this.time2str(period.end_date);
69
+ }
70
+ return '{' + start + '} - {' + end + '}';
71
+ }
72
+ async getColumns(id, entries, options, settings) {
73
+ // Construct columns for each tag and extra column for non-tagged.
74
+ if (options.byTags) {
75
+ const columns = settings.tags.map((tag) => ({
76
+ type: 'numeric',
77
+ name: `tag-${tag.tag}`,
78
+ title: tag.name
79
+ }));
80
+ columns.push({
81
+ type: 'numeric',
82
+ name: 'other',
83
+ title: '{Other}'
84
+ });
85
+ columns.unshift({
86
+ name: 'title',
87
+ title: '',
88
+ type: 'name'
89
+ });
90
+ return columns;
91
+ }
92
+ return super.getColumns(id, entries, options, settings);
93
+ }
94
+ preProcessByTags(id, entries, options, settings, columns) {
95
+ // Prepapre.
96
+ const columnNames = columns.map((col) => col.name);
97
+ const tagSet = new Set(settings.tags.map(t => t.tag));
98
+ // Summarize all totals from the entries.
99
+ const totals = {};
100
+ columnNames.forEach((column) => (totals[column] = {}));
101
+ const accountNames = {};
102
+ const accountNumbers = new Set();
103
+ const regex = /^((\[\w+\])+)/;
104
+ entries.forEach((entry) => {
105
+ let shares = [];
106
+ const r = regex.exec(entry.description);
107
+ if (r) {
108
+ shares = r[1].substr(1, r[1].length - 2).split('][').filter(t => tagSet.has(t));
109
+ }
110
+ let amount = entry.amount;
111
+ if (shares.length) {
112
+ // Share the amount so that rounding errors are split.
113
+ const piece = amount < 0 ? Math.ceil(amount / shares.length) : Math.floor(amount / shares.length);
114
+ shares.forEach((tag) => {
115
+ const column = `tag-${tag}`;
116
+ totals[column][entry.number] = totals[column][entry.number] || 0;
117
+ totals[column][entry.number] += piece;
118
+ amount -= piece;
119
+ });
120
+ if (amount) {
121
+ // Make semi-random starting point and distribute cents.
122
+ let i = (entry.periodId) % shares.length;
123
+ const delta = amount < 0 ? -1 : 1;
124
+ for (let count = Math.abs(amount); count > 0; count--) {
125
+ const column = `tag-${shares[i]}`;
126
+ totals[column][entry.number] += delta;
127
+ amount -= delta;
128
+ i = (i + 1) % shares.length;
129
+ }
130
+ }
131
+ }
132
+ if (amount) {
133
+ totals.other[entry.number] = totals.other[entry.number] || 0;
134
+ totals.other[entry.number] += amount;
135
+ }
136
+ accountNames[entry.number] = entry.name;
137
+ accountNumbers.add(entry.number);
138
+ });
139
+ return this.parseAndCombineReport([...accountNumbers], accountNames, columns, options.format, totals);
140
+ }
141
+ preProcess(id, entries, options, settings, columns) {
142
+ if (options.byTags) {
143
+ return this.preProcessByTags(id, entries, options, settings, columns);
144
+ }
145
+ const columnNames = columns.map((col) => col.name);
146
+ // Summarize all totals from the entries.
147
+ const totals = {};
148
+ columnNames.forEach((column) => (totals[column] = {}));
149
+ const accountNames = {};
150
+ const accountNumbers = new Set();
151
+ entries.forEach((entry) => {
152
+ const column = 'period' + entry.periodId;
153
+ totals[column][entry.number] = totals[column][entry.number] || 0;
154
+ totals[column][entry.number] += entry.amount;
155
+ accountNames[entry.number] = entry.name;
156
+ accountNumbers.add(entry.number);
157
+ });
158
+ return this.parseAndCombineReport([...accountNumbers], accountNames, columns, options.format, totals);
159
+ }
160
+ /**
161
+ * Remove empty columns if report made by tags.
162
+ */
163
+ postProcess(id, data, options, settings, columns) {
164
+ if (!options.byTags) {
165
+ return data;
166
+ }
167
+ // Find empty columns.
168
+ const found = new Set();
169
+ for (const line of data) {
170
+ if (!line.amounts) {
171
+ continue;
172
+ }
173
+ for (const [k, v] of Object.entries(line.amounts)) {
174
+ if (v !== null && !isNaN(v)) {
175
+ found.add(k);
176
+ }
177
+ }
178
+ }
179
+ // Remove empty columns.
180
+ for (let i = 0; i < columns.length; i++) {
181
+ if (columns[i].type === 'numeric' && !found.has(columns[i].name)) {
182
+ columns.splice(i, 1);
183
+ i--;
184
+ }
185
+ }
186
+ return data;
187
+ }
188
+ }
189
+ export default FinnishIncomeStatementReportInvestment;
190
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FinnishIncomeStatementReportInvestment/backend/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Language, ReportOptions } from '@tasenor/common';
2
+ import { ReportPlugin } from '@tasenor/common-node';
3
+ declare class FinnishIncomeStatementReportLite extends ReportPlugin {
4
+ constructor();
5
+ forceOptions(options: any): {
6
+ negateAssetAndProfit: boolean;
7
+ addPreviousPeriod: boolean;
8
+ };
9
+ getLanguages(): Language[];
10
+ getReportOptions(): ReportOptions;
11
+ /**
12
+ * Construct column title for period.
13
+ * @param formatName
14
+ * @param period
15
+ * @param settings
16
+ */
17
+ columnTitle(id: any, period: any, options: any): string;
18
+ getColumns(id: any, entries: any, options: any, settings: any): Promise<any>;
19
+ preProcessByTags(id: any, entries: any, options: any, settings: any, columns: any): import("@tasenor/common").ReportLine[];
20
+ preProcess(id: any, entries: any, options: any, settings: any, columns: any): import("@tasenor/common").ReportLine[];
21
+ /**
22
+ * Remove empty columns if report made by tags.
23
+ */
24
+ postProcess(id: any, data: any, options: any, settings: any, columns: any): any;
25
+ }
26
+ export default FinnishIncomeStatementReportLite;
@@ -0,0 +1,188 @@
1
+ import { ReportPlugin } from '@tasenor/common-node';
2
+ import dayjs from 'dayjs';
3
+ import quarterOfYear from 'dayjs/plugin/quarterOfYear';
4
+ dayjs.extend(quarterOfYear);
5
+ class FinnishIncomeStatementReportLite extends ReportPlugin {
6
+ constructor() {
7
+ super('income-statement-lite');
8
+ this.schemes = new Set(['FinnishLimitedCompanyLite']);
9
+ this.code = 'FinnishIncomeStatementReportLite';
10
+ this.title = 'Income Statement Report (Finnish - Lite)';
11
+ this.version = '1.0.17';
12
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><path d="M0,0h24v24H0V0z" fill="none"/></g><g><g><path d="M14,5H5v14h14v-9h-5V5z M8,17c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S8.55,17,8,17z M8,13 c-0.55,0-1-0.45-1-1s0.45-1,1-1s1,0.45,1,1S8.55,13,8,13z M8,9C7.45,9,7,8.55,7,8s0.45-1,1-1s1,0.45,1,1S8.55,9,8,9z" opacity=".3"/><circle cx="8" cy="8" r="1"/><path d="M15,3H5C3.9,3,3.01,3.9,3.01,5L3,19c0,1.1,0.89,2,1.99,2H19c1.1,0,2-0.9,2-2V9L15,3z M19,19H5V5h9v5h5V19z"/><circle cx="8" cy="12" r="1"/><circle cx="8" cy="16" r="1"/></g></g></svg>';
13
+ this.releaseDate = '2023-03-14';
14
+ this.use = 'backend';
15
+ this.type = 'report';
16
+ this.description = 'Compact version of income statement report translated in Finnish.';
17
+ this.languages = {
18
+ en: {
19
+ 'report-income-statement-lite': 'Income statement'
20
+ },
21
+ fi: {
22
+ 'report-income-statement-lite': 'Tuloslaskelma'
23
+ }
24
+ };
25
+ }
26
+ forceOptions(options) {
27
+ return {
28
+ negateAssetAndProfit: true,
29
+ addPreviousPeriod: !options.byTags
30
+ };
31
+ }
32
+ getLanguages() {
33
+ return ['fi', 'en'];
34
+ }
35
+ getReportOptions() {
36
+ return {
37
+ quarter1: 'radio:1',
38
+ quarter2: 'radio:1',
39
+ quarter3: 'radio:1',
40
+ full: 'radio:1:default',
41
+ byTags: 'boolean'
42
+ };
43
+ }
44
+ /**
45
+ * Construct column title for period.
46
+ * @param formatName
47
+ * @param period
48
+ * @param settings
49
+ */
50
+ columnTitle(id, period, options) {
51
+ const start = this.time2str(period.start_date);
52
+ let end;
53
+ if (options.quarter1) {
54
+ const year = dayjs(period.start_date).year();
55
+ end = dayjs(`${year}-04-01`).subtract(1, 'day').format('YYYY-MM-DD');
56
+ }
57
+ else if (options.quarter2) {
58
+ const year = dayjs(period.start_date).year();
59
+ end = dayjs(`${year}-07-01`).subtract(1, 'day').format('YYYY-MM-DD');
60
+ }
61
+ else if (options.quarter3) {
62
+ const year = dayjs(period.start_date).year();
63
+ end = dayjs(`${year}-10-01`).subtract(1, 'day').format('YYYY-MM-DD');
64
+ }
65
+ else {
66
+ end = this.time2str(period.end_date);
67
+ }
68
+ return '{' + start + '} - {' + end + '}';
69
+ }
70
+ async getColumns(id, entries, options, settings) {
71
+ // Construct columns for each tag and extra column for non-tagged.
72
+ if (options.byTags) {
73
+ const columns = settings.tags.map((tag) => ({
74
+ type: 'numeric',
75
+ name: `tag-${tag.tag}`,
76
+ title: tag.name
77
+ }));
78
+ columns.push({
79
+ type: 'numeric',
80
+ name: 'other',
81
+ title: '{Other}'
82
+ });
83
+ columns.unshift({
84
+ name: 'title',
85
+ title: '',
86
+ type: 'name'
87
+ });
88
+ return columns;
89
+ }
90
+ return super.getColumns(id, entries, options, settings);
91
+ }
92
+ preProcessByTags(id, entries, options, settings, columns) {
93
+ // Prepapre.
94
+ const columnNames = columns.map((col) => col.name);
95
+ const tagSet = new Set(settings.tags.map(t => t.tag));
96
+ // Summarize all totals from the entries.
97
+ const totals = {};
98
+ columnNames.forEach((column) => (totals[column] = {}));
99
+ const accountNames = {};
100
+ const accountNumbers = new Set();
101
+ const regex = /^((\[\w+\])+)/;
102
+ entries.forEach((entry) => {
103
+ let shares = [];
104
+ const r = regex.exec(entry.description);
105
+ if (r) {
106
+ shares = r[1].substr(1, r[1].length - 2).split('][').filter(t => tagSet.has(t));
107
+ }
108
+ let amount = entry.amount;
109
+ if (shares.length) {
110
+ // Share the amount so that rounding errors are split.
111
+ const piece = amount < 0 ? Math.ceil(amount / shares.length) : Math.floor(amount / shares.length);
112
+ shares.forEach((tag) => {
113
+ const column = `tag-${tag}`;
114
+ totals[column][entry.number] = totals[column][entry.number] || 0;
115
+ totals[column][entry.number] += piece;
116
+ amount -= piece;
117
+ });
118
+ if (amount) {
119
+ // Make semi-random starting point and distribute cents.
120
+ let i = (entry.periodId) % shares.length;
121
+ const delta = amount < 0 ? -1 : 1;
122
+ for (let count = Math.abs(amount); count > 0; count--) {
123
+ const column = `tag-${shares[i]}`;
124
+ totals[column][entry.number] += delta;
125
+ amount -= delta;
126
+ i = (i + 1) % shares.length;
127
+ }
128
+ }
129
+ }
130
+ if (amount) {
131
+ totals.other[entry.number] = totals.other[entry.number] || 0;
132
+ totals.other[entry.number] += amount;
133
+ }
134
+ accountNames[entry.number] = entry.name;
135
+ accountNumbers.add(entry.number);
136
+ });
137
+ return this.parseAndCombineReport([...accountNumbers], accountNames, columns, options.format, totals);
138
+ }
139
+ preProcess(id, entries, options, settings, columns) {
140
+ if (options.byTags) {
141
+ return this.preProcessByTags(id, entries, options, settings, columns);
142
+ }
143
+ const columnNames = columns.map((col) => col.name);
144
+ // Summarize all totals from the entries.
145
+ const totals = {};
146
+ columnNames.forEach((column) => (totals[column] = {}));
147
+ const accountNames = {};
148
+ const accountNumbers = new Set();
149
+ entries.forEach((entry) => {
150
+ const column = 'period' + entry.periodId;
151
+ totals[column][entry.number] = totals[column][entry.number] || 0;
152
+ totals[column][entry.number] += entry.amount;
153
+ accountNames[entry.number] = entry.name;
154
+ accountNumbers.add(entry.number);
155
+ });
156
+ return this.parseAndCombineReport([...accountNumbers], accountNames, columns, options.format, totals);
157
+ }
158
+ /**
159
+ * Remove empty columns if report made by tags.
160
+ */
161
+ postProcess(id, data, options, settings, columns) {
162
+ if (!options.byTags) {
163
+ return data;
164
+ }
165
+ // Find empty columns.
166
+ const found = new Set();
167
+ for (const line of data) {
168
+ if (!line.amounts) {
169
+ continue;
170
+ }
171
+ for (const [k, v] of Object.entries(line.amounts)) {
172
+ if (v !== null && !isNaN(v)) {
173
+ found.add(k);
174
+ }
175
+ }
176
+ }
177
+ // Remove empty columns.
178
+ for (let i = 0; i < columns.length; i++) {
179
+ if (columns[i].type === 'numeric' && !found.has(columns[i].name)) {
180
+ columns.splice(i, 1);
181
+ i--;
182
+ }
183
+ }
184
+ return data;
185
+ }
186
+ }
187
+ export default FinnishIncomeStatementReportLite;
188
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FinnishIncomeStatementReportLite/backend/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { SchemePlugin } from '@tasenor/common-node';
2
+ import { Currency, Language, TsvFilePath } from '@tasenor/common';
3
+ declare class FinnishInvestmentCompany extends SchemePlugin {
4
+ constructor();
5
+ getSchemePaths(code: any): TsvFilePath[];
6
+ getSchemeDefaults(code: any): Record<string, unknown>;
7
+ supportedCurrencies(): Currency[];
8
+ supportedLanguages(): Language[];
9
+ }
10
+ export default FinnishInvestmentCompany;
@@ -0,0 +1,36 @@
1
+ import path from 'path';
2
+ import { SchemePlugin } from '@tasenor/common-node';
3
+ class FinnishInvestmentCompany extends SchemePlugin {
4
+ constructor() {
5
+ super('FinnishInvestmentCompany');
6
+ this.code = 'FinnishInvestmentCompany';
7
+ this.title = 'Finnish Investment Company';
8
+ this.version = '1.0.21';
9
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11.17 8l-.58-.59L9.17 6H4v12h16V8h-8z" opacity=".3"/><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l1.41 1.41.59.59H20v10z"/></svg>';
10
+ this.releaseDate = '2023-05-24';
11
+ this.use = 'both';
12
+ this.type = 'scheme';
13
+ this.description = 'An accounting scheme for Finnish limited company investing in various financial instruments like stocks and bonds.';
14
+ this.languages = {
15
+ fi: {}
16
+ };
17
+ }
18
+ getSchemePaths(code) {
19
+ if (code === 'FinnishInvestmentCompany') {
20
+ return [path.join(__dirname, 'fi-EUR.tsv')];
21
+ }
22
+ return [];
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ getSchemeDefaults(code) {
26
+ return {};
27
+ }
28
+ supportedCurrencies() {
29
+ return ['EUR'];
30
+ }
31
+ supportedLanguages() {
32
+ return ['fi'];
33
+ }
34
+ }
35
+ export default FinnishInvestmentCompany;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FinnishInvestmentCompany/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,wBAAyB,SAAQ,YAAY;IAEjD;QACE,KAAK,CAAC,0BAAwC,CAAC,CAAA;QAE/C,IAAI,CAAC,IAAI,GAAG,0BAAwC,CAAA;QACpD,IAAI,CAAC,KAAK,GAAG,4BAA4B,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,QAAmB,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,gWAAgW,CAAA;QAC5W,IAAI,CAAC,WAAW,GAAG,YAAY,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAA;QACjB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,oHAAoH,CAAA;QAEvI,IAAI,CAAC,SAAS,GAAG;YACf,EAAE,EAAE,EACH;SACF,CAAA;IACH,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,IAAI,IAAI,KAAK,0BAA0B,EAAE;YACvC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAgB,CAAC,CAAA;SAC3D;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,6DAA6D;IAC7D,iBAAiB,CAAC,IAAI;QACpB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,mBAAmB;QACjB,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;CACF;AAED,eAAe,wBAAwB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { SchemePlugin } from '@tasenor/common-ui';
2
+ declare class FinnishInvestmentCompany extends SchemePlugin {
3
+ static code: string;
4
+ static title: string;
5
+ static version: string;
6
+ static icon: string;
7
+ static releaseDate: string;
8
+ static use: string;
9
+ static type: string;
10
+ static description: string;
11
+ constructor();
12
+ getAccountingSchemes(): {
13
+ FinnishInvestmentCompany: string;
14
+ };
15
+ }
16
+ export default FinnishInvestmentCompany;
@@ -0,0 +1,22 @@
1
+ import { SchemePlugin } from '@tasenor/common-ui';
2
+ class FinnishInvestmentCompany extends SchemePlugin {
3
+ static code = 'FinnishInvestmentCompany';
4
+ static title = 'Finnish Investment Company';
5
+ static version = '1.0.21';
6
+ static icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11.17 8l-.58-.59L9.17 6H4v12h16V8h-8z" opacity=".3"/><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l1.41 1.41.59.59H20v10z"/></svg>';
7
+ static releaseDate = '2023-05-24';
8
+ static use = 'both';
9
+ static type = 'scheme';
10
+ static description = 'An accounting scheme for Finnish limited company investing in various financial instruments like stocks and bonds.';
11
+ constructor() {
12
+ super();
13
+ this.languages = {
14
+ fi: {}
15
+ };
16
+ }
17
+ getAccountingSchemes() {
18
+ return { FinnishInvestmentCompany: 'Sijoitusyhtiön tilikartta' };
19
+ }
20
+ }
21
+ export default FinnishInvestmentCompany;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FinnishInvestmentCompany/ui/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,wBAAyB,SAAQ,YAAY;IAEjD,MAAM,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,MAAM,CAAC,KAAK,GAAG,4BAA4B,CAAA;IAC3C,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA;IACzB,MAAM,CAAC,IAAI,GAAG,gWAAgW,CAAA;IAC9W,MAAM,CAAC,WAAW,GAAG,YAAY,CAAA;IACjC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;IACnB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;IACtB,MAAM,CAAC,WAAW,GAAG,oHAAoH,CAAA;IAEzI;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG;YACf,EAAE,EAAE,EAAE;SACP,CAAA;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,CAAA;IAClE,CAAC;;AAGH,eAAe,wBAAwB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { SchemePlugin } from '@tasenor/common-node';
2
+ import { Currency, Language, TsvFilePath } from '@tasenor/common';
3
+ declare class FinnishLimitedCompanyComplete extends SchemePlugin {
4
+ constructor();
5
+ getSchemePaths(code: any): TsvFilePath[];
6
+ getSchemeDefaults(code: any): Record<string, unknown>;
7
+ supportedCurrencies(): Currency[];
8
+ supportedLanguages(): Language[];
9
+ }
10
+ export default FinnishLimitedCompanyComplete;
@@ -0,0 +1,36 @@
1
+ import path from 'path';
2
+ import { SchemePlugin } from '@tasenor/common-node';
3
+ class FinnishLimitedCompanyComplete extends SchemePlugin {
4
+ constructor() {
5
+ super('FinnishLimitedCompanyComplete');
6
+ this.code = 'FinnishLimitedCompanyComplete';
7
+ this.title = 'Finnish Limited Company - Complete';
8
+ this.version = '1.0.35';
9
+ this.icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11.17 8l-.58-.59L9.17 6H4v12h16V8h-8z" opacity=".3"/><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l1.41 1.41.59.59H20v10z"/></svg>';
10
+ this.releaseDate = '2023-05-24';
11
+ this.use = 'both';
12
+ this.type = 'scheme';
13
+ this.description = 'Complete accounting scheme for Finnish limited company.';
14
+ this.languages = {
15
+ fi: {}
16
+ };
17
+ }
18
+ getSchemePaths(code) {
19
+ if (code === 'FinnishLimitedCompanyComplete') {
20
+ return [path.join(__dirname, 'fi-EUR.tsv')];
21
+ }
22
+ return [];
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ getSchemeDefaults(code) {
26
+ return {};
27
+ }
28
+ supportedCurrencies() {
29
+ return ['EUR'];
30
+ }
31
+ supportedLanguages() {
32
+ return ['fi'];
33
+ }
34
+ }
35
+ export default FinnishLimitedCompanyComplete;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FinnishLimitedCompanyComplete/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,6BAA8B,SAAQ,YAAY;IAEtD;QACE,KAAK,CAAC,+BAA6C,CAAC,CAAA;QAEpD,IAAI,CAAC,IAAI,GAAG,+BAA6C,CAAA;QACzD,IAAI,CAAC,KAAK,GAAG,oCAAoC,CAAA;QACjD,IAAI,CAAC,OAAO,GAAG,QAAmB,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,gWAAgW,CAAA;QAC5W,IAAI,CAAC,WAAW,GAAG,YAAY,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAA;QACjB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,yDAAyD,CAAA;QAE5E,IAAI,CAAC,SAAS,GAAG;YACf,EAAE,EAAE,EACH;SACF,CAAA;IACH,CAAC;IAED,cAAc,CAAC,IAAI;QACjB,IAAI,IAAI,KAAK,+BAA+B,EAAE;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAgB,CAAC,CAAA;SAC3D;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,6DAA6D;IAC7D,iBAAiB,CAAC,IAAI;QACpB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,mBAAmB;QACjB,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;CACF;AAED,eAAe,6BAA6B,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { SchemePlugin } from '@tasenor/common-ui';
2
+ declare class FinnishLimitedCompanyComplete extends SchemePlugin {
3
+ static code: string;
4
+ static title: string;
5
+ static version: string;
6
+ static icon: string;
7
+ static releaseDate: string;
8
+ static use: string;
9
+ static type: string;
10
+ static description: string;
11
+ constructor();
12
+ getAccountingSchemes(): {
13
+ FinnishLimitedCompanyComplete: string;
14
+ };
15
+ }
16
+ export default FinnishLimitedCompanyComplete;
@@ -0,0 +1,22 @@
1
+ import { SchemePlugin } from '@tasenor/common-ui';
2
+ class FinnishLimitedCompanyComplete extends SchemePlugin {
3
+ static code = 'FinnishLimitedCompanyComplete';
4
+ static title = 'Finnish Limited Company - Complete';
5
+ static version = '1.0.35';
6
+ static icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11.17 8l-.58-.59L9.17 6H4v12h16V8h-8z" opacity=".3"/><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l1.41 1.41.59.59H20v10z"/></svg>';
7
+ static releaseDate = '2023-05-24';
8
+ static use = 'both';
9
+ static type = 'scheme';
10
+ static description = 'Complete accounting scheme for Finnish limited company.';
11
+ constructor() {
12
+ super();
13
+ this.languages = {
14
+ fi: {}
15
+ };
16
+ }
17
+ getAccountingSchemes() {
18
+ return { FinnishLimitedCompanyComplete: 'Osakeyhtiö (Laaja tilikartta)' };
19
+ }
20
+ }
21
+ export default FinnishLimitedCompanyComplete;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/FinnishLimitedCompanyComplete/ui/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,6BAA8B,SAAQ,YAAY;IAEtD,MAAM,CAAC,IAAI,GAAG,+BAA+B,CAAA;IAC7C,MAAM,CAAC,KAAK,GAAG,oCAAoC,CAAA;IACnD,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAA;IACzB,MAAM,CAAC,IAAI,GAAG,gWAAgW,CAAA;IAC9W,MAAM,CAAC,WAAW,GAAG,YAAY,CAAA;IACjC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;IACnB,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;IACtB,MAAM,CAAC,WAAW,GAAG,yDAAyD,CAAA;IAE9E;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG;YACf,EAAE,EAAE,EAAE;SACP,CAAA;IACH,CAAC;IAED,oBAAoB;QAClB,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,CAAA;IAC3E,CAAC;;AAGH,eAAe,6BAA6B,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { SchemePlugin } from '@tasenor/common-node';
2
+ import { Currency, Language, TsvFilePath } from '@tasenor/common';
3
+ declare class FinnishLimitedCompanyLite extends SchemePlugin {
4
+ constructor();
5
+ getSchemePaths(code: any, language: any): TsvFilePath[];
6
+ getSchemeDefaults(code: any): Record<string, unknown>;
7
+ supportedCurrencies(): Currency[];
8
+ supportedLanguages(): Language[];
9
+ }
10
+ export default FinnishLimitedCompanyLite;