@tasenor/common-plugins 1.9.31 → 1.9.32
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.
- package/package.json +4 -4
- package/dist/CoinAPI/backend/index.d.ts +0 -22
- package/dist/CoinAPI/backend/index.js +0 -91
- package/dist/CoinAPI/backend/index.js.map +0 -1
- package/dist/CoinbaseImport/backend/CoinbaseHandler.d.ts +0 -11
- package/dist/CoinbaseImport/backend/CoinbaseHandler.js +0 -30
- package/dist/CoinbaseImport/backend/CoinbaseHandler.js.map +0 -1
- package/dist/CoinbaseImport/backend/index.d.ts +0 -5
- package/dist/CoinbaseImport/backend/index.js +0 -18
- package/dist/CoinbaseImport/backend/index.js.map +0 -1
- package/dist/DocumentCleaner/ui/index.d.ts +0 -43
- package/dist/DocumentCleaner/ui/index.js +0 -139
- package/dist/DocumentCleaner/ui/index.js.map +0 -1
- package/dist/Euro/ui/index.d.ts +0 -15
- package/dist/Euro/ui/index.js +0 -22
- package/dist/Euro/ui/index.js.map +0 -1
- package/dist/Finnish/ui/finnish.json +0 -341
- package/dist/Finnish/ui/index.d.ts +0 -17
- package/dist/Finnish/ui/index.js +0 -47
- package/dist/Finnish/ui/index.js.map +0 -1
- package/dist/FinnishBalanceSheetReport/backend/index.d.ts +0 -18
- package/dist/FinnishBalanceSheetReport/backend/index.js +0 -96
- package/dist/FinnishBalanceSheetReport/backend/index.js.map +0 -1
- package/dist/FinnishBalanceSheetReportInvestment/backend/index.d.ts +0 -18
- package/dist/FinnishBalanceSheetReportInvestment/backend/index.js +0 -96
- package/dist/FinnishBalanceSheetReportInvestment/backend/index.js.map +0 -1
- package/dist/FinnishBalanceSheetReportLite/backend/index.d.ts +0 -19
- package/dist/FinnishBalanceSheetReportLite/backend/index.js +0 -109
- package/dist/FinnishBalanceSheetReportLite/backend/index.js.map +0 -1
- package/dist/FinnishIncomeStatementReport/backend/index.d.ts +0 -26
- package/dist/FinnishIncomeStatementReport/backend/index.js +0 -190
- package/dist/FinnishIncomeStatementReport/backend/index.js.map +0 -1
- package/dist/FinnishIncomeStatementReportInvestment/backend/index.d.ts +0 -26
- package/dist/FinnishIncomeStatementReportInvestment/backend/index.js +0 -190
- package/dist/FinnishIncomeStatementReportInvestment/backend/index.js.map +0 -1
- package/dist/FinnishIncomeStatementReportLite/backend/index.d.ts +0 -26
- package/dist/FinnishIncomeStatementReportLite/backend/index.js +0 -188
- package/dist/FinnishIncomeStatementReportLite/backend/index.js.map +0 -1
- package/dist/FinnishInvestmentCompany/backend/index.d.ts +0 -10
- package/dist/FinnishInvestmentCompany/backend/index.js +0 -36
- package/dist/FinnishInvestmentCompany/backend/index.js.map +0 -1
- package/dist/FinnishInvestmentCompany/ui/index.d.ts +0 -16
- package/dist/FinnishInvestmentCompany/ui/index.js +0 -22
- package/dist/FinnishInvestmentCompany/ui/index.js.map +0 -1
- package/dist/FinnishLimitedCompanyComplete/backend/index.d.ts +0 -10
- package/dist/FinnishLimitedCompanyComplete/backend/index.js +0 -36
- package/dist/FinnishLimitedCompanyComplete/backend/index.js.map +0 -1
- package/dist/FinnishLimitedCompanyComplete/ui/index.d.ts +0 -16
- package/dist/FinnishLimitedCompanyComplete/ui/index.js +0 -22
- package/dist/FinnishLimitedCompanyComplete/ui/index.js.map +0 -1
- package/dist/FinnishLimitedCompanyLite/backend/index.d.ts +0 -10
- package/dist/FinnishLimitedCompanyLite/backend/index.js +0 -43
- package/dist/FinnishLimitedCompanyLite/backend/index.js.map +0 -1
- package/dist/FinnishLimitedCompanyLite/ui/index.d.ts +0 -16
- package/dist/FinnishLimitedCompanyLite/ui/index.js +0 -24
- package/dist/FinnishLimitedCompanyLite/ui/index.js.map +0 -1
- package/dist/GitBackup/backend/index.d.ts +0 -26
- package/dist/GitBackup/backend/index.js +0 -91
- package/dist/GitBackup/backend/index.js.map +0 -1
- package/dist/GitBackup/ui/index.d.ts +0 -44
- package/dist/GitBackup/ui/index.js +0 -114
- package/dist/GitBackup/ui/index.js.map +0 -1
- package/dist/IncomeAndExpenses/backend/index.d.ts +0 -5
- package/dist/IncomeAndExpenses/backend/index.js +0 -350
- package/dist/IncomeAndExpenses/backend/index.js.map +0 -1
- package/dist/JournalReport/backend/index.d.ts +0 -15
- package/dist/JournalReport/backend/index.js +0 -143
- package/dist/JournalReport/backend/index.js.map +0 -1
- package/dist/KrakenImport/backend/KrakenHandler.d.ts +0 -23
- package/dist/KrakenImport/backend/KrakenHandler.js +0 -83
- package/dist/KrakenImport/backend/KrakenHandler.js.map +0 -1
- package/dist/KrakenImport/backend/index.d.ts +0 -5
- package/dist/KrakenImport/backend/index.js +0 -18
- package/dist/KrakenImport/backend/index.js.map +0 -1
- package/dist/LedgerReport/backend/index.d.ts +0 -15
- package/dist/LedgerReport/backend/index.js +0 -150
- package/dist/LedgerReport/backend/index.js.map +0 -1
- package/dist/LynxImport/backend/LynxHandler.d.ts +0 -28
- package/dist/LynxImport/backend/LynxHandler.js +0 -340
- package/dist/LynxImport/backend/LynxHandler.js.map +0 -1
- package/dist/LynxImport/backend/index.d.ts +0 -5
- package/dist/LynxImport/backend/index.js +0 -18
- package/dist/LynxImport/backend/index.js.map +0 -1
- package/dist/NordeaImport/backend/NordeaHandler.d.ts +0 -11
- package/dist/NordeaImport/backend/NordeaHandler.js +0 -39
- package/dist/NordeaImport/backend/NordeaHandler.js.map +0 -1
- package/dist/NordeaImport/backend/index.d.ts +0 -5
- package/dist/NordeaImport/backend/index.js +0 -18
- package/dist/NordeaImport/backend/index.js.map +0 -1
- package/dist/NordnetImport/backend/NordnetHandler.d.ts +0 -17
- package/dist/NordnetImport/backend/NordnetHandler.js +0 -66
- package/dist/NordnetImport/backend/NordnetHandler.js.map +0 -1
- package/dist/NordnetImport/backend/index.d.ts +0 -5
- package/dist/NordnetImport/backend/index.js +0 -18
- package/dist/NordnetImport/backend/index.js.map +0 -1
- package/dist/Rand/ui/index.d.ts +0 -15
- package/dist/Rand/ui/index.js +0 -22
- package/dist/Rand/ui/index.js.map +0 -1
- package/dist/RapidAPI/backend/index.d.ts +0 -22
- package/dist/RapidAPI/backend/index.js +0 -119
- package/dist/RapidAPI/backend/index.js.map +0 -1
- package/dist/TITOImport/backend/TITOHandler.d.ts +0 -13
- package/dist/TITOImport/backend/TITOHandler.js +0 -241
- package/dist/TITOImport/backend/TITOHandler.js.map +0 -1
- package/dist/TITOImport/backend/index.d.ts +0 -5
- package/dist/TITOImport/backend/index.js +0 -18
- package/dist/TITOImport/backend/index.js.map +0 -1
- package/dist/TagEditor/ui/index.d.ts +0 -31
- package/dist/TagEditor/ui/index.js +0 -349
- package/dist/TagEditor/ui/index.js.map +0 -1
- package/dist/USDollar/ui/index.d.ts +0 -15
- package/dist/USDollar/ui/index.js +0 -22
- package/dist/USDollar/ui/index.js.map +0 -1
- package/dist/VAT/ui/index.d.ts +0 -69
- package/dist/VAT/ui/index.js +0 -509
- package/dist/VAT/ui/index.js.map +0 -1
- package/dist/VATFinland/backend/index.d.ts +0 -5
- package/dist/VATFinland/backend/index.js +0 -17
- package/dist/VATFinland/backend/index.js.map +0 -1
- package/dist/index.d.ts +0 -28
- package/dist/index.js +0 -29
- package/dist/index.js.map +0 -1
package/dist/VAT/ui/index.js
DELETED
|
@@ -1,509 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line no-use-before-define
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import dayjs from 'dayjs';
|
|
4
|
-
import { Trans } from 'react-i18next';
|
|
5
|
-
import { haveKnowledge } from '@tasenor/common';
|
|
6
|
-
import { Localize, SubPanel, IconButton, IconSpacer, ToolPlugin, Money, TagChip, Dialog, Note } from '@tasenor/common-ui';
|
|
7
|
-
import { Link, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from '@mui/material';
|
|
8
|
-
import { makeObservable, observable, runInAction } from 'mobx';
|
|
9
|
-
class VAT extends ToolPlugin {
|
|
10
|
-
// Observable flag for VAT table dialog.
|
|
11
|
-
showVatTable = false;
|
|
12
|
-
// A flag if all requirements are available.
|
|
13
|
-
requirements = false;
|
|
14
|
-
static code = 'VAT';
|
|
15
|
-
static title = 'Value Added Tax';
|
|
16
|
-
static version = '1.0.45';
|
|
17
|
-
static 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><rect fill="none" height="24" width="24"/></g><g><g><g><path d="M7.5,4C5.57,4,4,5.57,4,7.5S5.57,11,7.5,11S11,9.43,11,7.5S9.43,4,7.5,4z M7.5,9C6.67,9,6,8.33,6,7.5S6.67,6,7.5,6 S9,6.67,9,7.5S8.33,9,7.5,9z M16.5,13c-1.93,0-3.5,1.57-3.5,3.5s1.57,3.5,3.5,3.5s3.5-1.57,3.5-3.5S18.43,13,16.5,13z M16.5,18 c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S17.33,18,16.5,18z M5.41,20L4,18.59L18.59,4L20,5.41L5.41,20z"/></g></g></g></svg>';
|
|
18
|
-
static releaseDate = '2022-07-10';
|
|
19
|
-
static use = 'ui';
|
|
20
|
-
static type = 'tool';
|
|
21
|
-
static description = 'General purpose VAT handling. You can configure accounts that automatically inserts either purchase or sales VAT entry. In addition, a tool for paying (receiving) VAT is provided. You need also VAT data plugin for your area.';
|
|
22
|
-
constructor() {
|
|
23
|
-
super();
|
|
24
|
-
makeObservable(this, {
|
|
25
|
-
showVatTable: observable
|
|
26
|
-
});
|
|
27
|
-
this.languages = {
|
|
28
|
-
en: {
|
|
29
|
-
'icon-summarize-vat-period': 'Collect VAT liabilities/receivables',
|
|
30
|
-
'icon-view-vat-table': 'View defined VAT categories',
|
|
31
|
-
'label-delayedPayableAccount': 'An account for payable VAT transferred from the last period',
|
|
32
|
-
'label-delayedReceivableAccount': 'An account for receivable VAT transferred from the last period',
|
|
33
|
-
'label-payableAccount': 'Currently collected VAT payable that is due',
|
|
34
|
-
'label-purchasesAccount': 'An account for recording VAT from purchases',
|
|
35
|
-
'label-receivableAccount': 'Currently collected VAT receivable that is due',
|
|
36
|
-
'label-salesAccount': 'An account for recording VAT from sales',
|
|
37
|
-
},
|
|
38
|
-
fi: {
|
|
39
|
-
'icon-summarize-vat-period': 'Kerää ALV velat/saatavat',
|
|
40
|
-
'icon-view-vat-table': 'Selaa määriteltyjä ALV kategorioita',
|
|
41
|
-
'label-delayedPayableAccount': 'Tili edelliseltä kaudelta siirretyille ALV maksuille',
|
|
42
|
-
'label-delayedReceivableAccount': 'Tili edelliseltä kaudelta siirretyille ALV saataville',
|
|
43
|
-
'label-payableAccount': 'Tämän hetkisten koostetutjen ALV maksujen tili',
|
|
44
|
-
'label-purchasesAccount': 'Tili ostojen ALV:n kirjaamiseen',
|
|
45
|
-
'label-receivableAccount': 'Tämän hetkisten koostetutjen ALV saatavien tili',
|
|
46
|
-
'label-salesAccount': 'Tili myynin ALV:n kirjaamiseen',
|
|
47
|
-
'Cumulated VAT by tags': 'Kertynyt ALV tägeittäin',
|
|
48
|
-
'Cumulated VAT from purchases': 'Kertynyt ALV ostoista',
|
|
49
|
-
'Cumulated VAT from sales': 'Kertynyt ALV myynnistä',
|
|
50
|
-
'Current VAT payable': 'Nykyiset ALV velat',
|
|
51
|
-
'Current VAT receivable': 'Nykyiset ALV saatavat',
|
|
52
|
-
'Defined VAT Categories': 'Määritellyt ALV kategoriat',
|
|
53
|
-
'Delayed VAT': 'Siirretty ALV',
|
|
54
|
-
'Description missing': 'Kuvaus puuttuu',
|
|
55
|
-
'Entries that has no tags': 'Tapahtumat, joissa ei ole yhtään tägiä',
|
|
56
|
-
'Payable to add': 'Lisättävä velkaa',
|
|
57
|
-
'Receivable to add': 'Lisättävä saatavia',
|
|
58
|
-
'This database does not have configured VAT accounts.': 'Tässä tietokannassa ei ole konfiguroituna ALV-tilejä.',
|
|
59
|
-
'Value Added Tax': 'Arvonlisävero',
|
|
60
|
-
VAT: 'ALV',
|
|
61
|
-
'VAT %': 'ALV %',
|
|
62
|
-
'VAT from purchases': 'ALV ostoista',
|
|
63
|
-
'VAT from sales': 'ALV myynnistä',
|
|
64
|
-
'VAT update': 'ALV päivitys',
|
|
65
|
-
'No VAT data found. Please add VAT data plugin.': 'Tietoa ALV:stä ei löydy. Ole hyvä ja lisää lisäosa, josta ALV tiedot löytyvät.',
|
|
66
|
-
'No income and expense knowledge base found. Please install a plugin for it.': 'Tulojen ja menojen tietämyskanta puuttuu. Ole hyvä ja lisää lisäosa, josta tiedot löytyvät.'
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
init(catalog) {
|
|
71
|
-
catalog.registerHook('editTransaction', (document, row, column, originalValue) => this.editTransaction(document, row, column, originalValue));
|
|
72
|
-
this.requirements = catalog.isAvailable('IncomeAndExpenses');
|
|
73
|
-
}
|
|
74
|
-
toolMenu() {
|
|
75
|
-
return [{ title: 'Value Added Tax', disabled: !this.store.periodId }];
|
|
76
|
-
}
|
|
77
|
-
toolTitle() {
|
|
78
|
-
return 'Value Added Tax';
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Gather documents with non-reconciled VAT entries.
|
|
82
|
-
*/
|
|
83
|
-
openVATDocuments() {
|
|
84
|
-
const VAT_SALES_ACCOUNT = this.settings.get('VAT.salesAccount');
|
|
85
|
-
const VAT_PURCHASES_ACCOUNT = this.settings.get('VAT.purchasesAccount');
|
|
86
|
-
return this.store.getDocuments([VAT_SALES_ACCOUNT, VAT_PURCHASES_ACCOUNT], (entry) => !entry.data || !entry.data.VAT || (!entry.data.VAT.reconciled && !entry.data.VAT.ignore));
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Calculate sum of unprocessed payable and receivable for VAT.
|
|
90
|
-
* @return {Object} An object with `sales` and `purchases`.
|
|
91
|
-
*/
|
|
92
|
-
VATSummary() {
|
|
93
|
-
let sales = 0;
|
|
94
|
-
let purchases = 0;
|
|
95
|
-
const VAT_SALES_ACCOUNT = this.settings.get('VAT.salesAccount');
|
|
96
|
-
const VAT_PURCHASES_ACCOUNT = this.settings.get('VAT.purchasesAccount');
|
|
97
|
-
this.openVATDocuments().forEach((doc) => {
|
|
98
|
-
doc.entries.forEach((entry) => {
|
|
99
|
-
const acc = entry.account.number;
|
|
100
|
-
if (acc === VAT_SALES_ACCOUNT) {
|
|
101
|
-
sales += entry.total;
|
|
102
|
-
}
|
|
103
|
-
if (acc === VAT_PURCHASES_ACCOUNT) {
|
|
104
|
-
purchases += entry.total;
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
return { sales, purchases };
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Icons and VAT table viewer.
|
|
112
|
-
* @param index
|
|
113
|
-
* @returns
|
|
114
|
-
*/
|
|
115
|
-
toolTopPanel() {
|
|
116
|
-
const knowledge = haveKnowledge();
|
|
117
|
-
const table = this.requirements ? knowledge.vatTable() : [];
|
|
118
|
-
const { store } = this;
|
|
119
|
-
const VAT = store.period ? this.VATSummary() : { sales: 0, purchases: 0 };
|
|
120
|
-
return (React.createElement(React.Fragment, null,
|
|
121
|
-
React.createElement(IconButton, { id: "Summarize VAT", key: "button-vat", disabled: !this.requirements || (!VAT.sales && !VAT.purchases), onClick: () => this.createVATEntry(), title: "summarize-vat-period", icon: "summarize" }),
|
|
122
|
-
React.createElement(IconSpacer, null),
|
|
123
|
-
React.createElement(IconButton, { id: "View VAT Table", title: "view-vat-table", key: "view-vat-table", icon: "view", onClick: () => {
|
|
124
|
-
runInAction(() => {
|
|
125
|
-
this.showVatTable = true;
|
|
126
|
-
});
|
|
127
|
-
} }),
|
|
128
|
-
React.createElement(Dialog, { title: React.createElement(Trans, null, "Defined VAT Categories"), isVisible: this.showVatTable, okOnly: true, onClose: () => {
|
|
129
|
-
runInAction(() => {
|
|
130
|
-
this.showVatTable = false;
|
|
131
|
-
});
|
|
132
|
-
} },
|
|
133
|
-
React.createElement(TableContainer, null,
|
|
134
|
-
React.createElement(Table, { className: "TransactionTable", size: "medium", padding: "none" },
|
|
135
|
-
React.createElement(TableHead, null,
|
|
136
|
-
React.createElement(TableRow, null,
|
|
137
|
-
React.createElement(TableCell, { variant: "head" },
|
|
138
|
-
React.createElement(Trans, null, "Category")),
|
|
139
|
-
React.createElement(TableCell, { variant: "head" },
|
|
140
|
-
React.createElement(Trans, null, "VAT")))),
|
|
141
|
-
React.createElement(TableBody, null,
|
|
142
|
-
table.length < 1 && React.createElement(TableRow, null,
|
|
143
|
-
React.createElement(TableCell, { colSpan: 2 },
|
|
144
|
-
React.createElement(Trans, null, "No VAT data found. Please add VAT data plugin."))),
|
|
145
|
-
table.map(line => React.createElement(TableRow, { key: line.id },
|
|
146
|
-
React.createElement(TableCell, { sx: { paddingLeft: line.level * 2 } },
|
|
147
|
-
React.createElement(Trans, null, line.name)),
|
|
148
|
-
React.createElement(TableCell, null,
|
|
149
|
-
line.value,
|
|
150
|
-
"%")))))))));
|
|
151
|
-
}
|
|
152
|
-
toolMainPanel() {
|
|
153
|
-
if (!this.requirements) {
|
|
154
|
-
return React.createElement(Note, null,
|
|
155
|
-
React.createElement(Trans, null, "You must install Income and Expenses plugin."));
|
|
156
|
-
}
|
|
157
|
-
const { store } = this;
|
|
158
|
-
if (!store.period) {
|
|
159
|
-
return React.createElement(React.Fragment, null);
|
|
160
|
-
}
|
|
161
|
-
const VAT = this.VATSummary();
|
|
162
|
-
const VAT_SALES_ACCOUNT = this.settings.get('VAT.salesAccount');
|
|
163
|
-
const VAT_PURCHASES_ACCOUNT = this.settings.get('VAT.purchasesAccount');
|
|
164
|
-
const VAT_RECEIVABLE_ACCOUNT = this.settings.get('VAT.receivableAccount');
|
|
165
|
-
const VAT_PAYABLE_ACCOUNT = this.settings.get('VAT.payableAccount');
|
|
166
|
-
const VAT_DELAYED_RECEIVABLE_ACCOUNT = this.settings.get('VAT.delayedReceivableAccount');
|
|
167
|
-
const VAT_DELAYED_PAYABLE_ACCOUNT = this.settings.get('VAT.delayedPayableAccount');
|
|
168
|
-
const VAT_STATEMENT_TAG_TYPES = this.settings.get('VAT.statementTagTypes');
|
|
169
|
-
const vatSalesAccount = this.store.database.getAccountByNumber(VAT_SALES_ACCOUNT);
|
|
170
|
-
const vatPurchasesAccount = this.store.database.getAccountByNumber(VAT_PURCHASES_ACCOUNT);
|
|
171
|
-
const vatPayableAccount = this.store.database.getAccountByNumber(VAT_PAYABLE_ACCOUNT);
|
|
172
|
-
const vatReceivableAccount = this.store.database.getAccountByNumber(VAT_RECEIVABLE_ACCOUNT);
|
|
173
|
-
const vatDelayedPayableAccount = this.store.database.getAccountByNumber(VAT_DELAYED_PAYABLE_ACCOUNT);
|
|
174
|
-
const vatDelayedReceivableAccount = this.store.database.getAccountByNumber(VAT_DELAYED_RECEIVABLE_ACCOUNT);
|
|
175
|
-
if (!vatSalesAccount || !vatPurchasesAccount || !vatPayableAccount || !vatReceivableAccount || !vatDelayedReceivableAccount || !vatDelayedPayableAccount) {
|
|
176
|
-
return (React.createElement("div", null,
|
|
177
|
-
React.createElement(SubPanel, null,
|
|
178
|
-
React.createElement(Trans, null, "This database does not have configured VAT accounts."))));
|
|
179
|
-
}
|
|
180
|
-
const payable = store.period.getBalanceByNumber(VAT_PAYABLE_ACCOUNT);
|
|
181
|
-
const receivable = store.period.getBalanceByNumber(VAT_RECEIVABLE_ACCOUNT);
|
|
182
|
-
const payableDelayed = store.period.getBalanceByNumber(VAT_DELAYED_PAYABLE_ACCOUNT);
|
|
183
|
-
const receivableDelayed = store.period.getBalanceByNumber(VAT_DELAYED_RECEIVABLE_ACCOUNT);
|
|
184
|
-
const openVATDocuments = store.period ? this.openVATDocuments() : [];
|
|
185
|
-
// Split by tags.
|
|
186
|
-
const VAT_TAG_TYPES = VAT_STATEMENT_TAG_TYPES || [];
|
|
187
|
-
const validTags = new Set(Object.values(this.store.database.tagsByTag)
|
|
188
|
-
.filter(tag => VAT_TAG_TYPES.includes(tag.type))
|
|
189
|
-
.map(tag => tag.tag));
|
|
190
|
-
const vatByTag = {};
|
|
191
|
-
let vatByNoTag = null;
|
|
192
|
-
let hasTags = false;
|
|
193
|
-
const addVatByTags = (tags, amount) => {
|
|
194
|
-
tags = tags.filter(tag => validTags.has(tag));
|
|
195
|
-
if (!tags.length) {
|
|
196
|
-
vatByNoTag = (vatByNoTag || 0) + amount;
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
hasTags = true;
|
|
200
|
-
const share = (amount >= 0 ? Math.ceil(amount / tags.length) : Math.floor(amount / tags.length));
|
|
201
|
-
tags.forEach((tag) => {
|
|
202
|
-
const delta = (amount >= 0 ? Math.min(amount, share) : Math.max(amount, share));
|
|
203
|
-
vatByTag[tag] = (vatByTag[tag] || 0) + delta;
|
|
204
|
-
amount -= delta;
|
|
205
|
-
});
|
|
206
|
-
};
|
|
207
|
-
for (const doc of openVATDocuments) {
|
|
208
|
-
for (const entry of doc.entries) {
|
|
209
|
-
if (entry.account_id === vatSalesAccount.id || entry.account_id === vatPurchasesAccount.id) {
|
|
210
|
-
addVatByTags(entry.tagNames, entry.total);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
const currency = this.settings.get('currency');
|
|
215
|
-
return (React.createElement("div", null,
|
|
216
|
-
React.createElement(SubPanel, null,
|
|
217
|
-
React.createElement("b", null,
|
|
218
|
-
React.createElement(Link, { onClick: () => this.goto(vatReceivableAccount.getUrl()) },
|
|
219
|
-
React.createElement(Trans, null, "Current VAT receivable"),
|
|
220
|
-
": ",
|
|
221
|
-
React.createElement(Money, { currency: currency, cents: (receivable && receivable.total) || 0 })),
|
|
222
|
-
"\u00A0",
|
|
223
|
-
receivableDelayed && receivableDelayed.total !== 0 &&
|
|
224
|
-
React.createElement(Link, { onClick: () => this.goto(vatReceivableAccount.getUrl()) },
|
|
225
|
-
"(",
|
|
226
|
-
React.createElement(Trans, null, "Delayed VAT"),
|
|
227
|
-
": ",
|
|
228
|
-
React.createElement(Money, { currency: currency, cents: receivableDelayed.total || 0 }),
|
|
229
|
-
")"),
|
|
230
|
-
React.createElement("br", null),
|
|
231
|
-
React.createElement(Link, { onClick: () => this.goto(vatPayableAccount.getUrl()) },
|
|
232
|
-
React.createElement(Trans, null, "Current VAT payable"),
|
|
233
|
-
": ",
|
|
234
|
-
React.createElement(Money, { currency: currency, cents: (payable && payable.total) || 0 })),
|
|
235
|
-
"\u00A0",
|
|
236
|
-
payableDelayed && payableDelayed.total !== 0 &&
|
|
237
|
-
React.createElement(Link, { onClick: () => this.goto(vatDelayedPayableAccount.getUrl()) },
|
|
238
|
-
"(",
|
|
239
|
-
React.createElement(Trans, null, "Delayed VAT"),
|
|
240
|
-
": ",
|
|
241
|
-
React.createElement(Money, { currency: currency, cents: payableDelayed.total || 0 }),
|
|
242
|
-
")"),
|
|
243
|
-
React.createElement("br", null),
|
|
244
|
-
React.createElement("br", null),
|
|
245
|
-
React.createElement(Link, { onClick: () => this.goto(vatPurchasesAccount.getUrl()) },
|
|
246
|
-
React.createElement(Trans, null, "Cumulated VAT from purchases"),
|
|
247
|
-
": ",
|
|
248
|
-
React.createElement(Money, { currency: currency, cents: VAT.purchases })),
|
|
249
|
-
React.createElement("br", null),
|
|
250
|
-
React.createElement(Link, { onClick: () => this.goto(vatSalesAccount.getUrl()) },
|
|
251
|
-
React.createElement(Trans, null, "Cumulated VAT from sales"),
|
|
252
|
-
": ",
|
|
253
|
-
React.createElement(Money, { currency: currency, cents: VAT.sales })),
|
|
254
|
-
React.createElement("br", null),
|
|
255
|
-
React.createElement(Trans, null, VAT.sales + VAT.purchases < 0 ? 'Payable to add' : 'Receivable to add'),
|
|
256
|
-
": ",
|
|
257
|
-
React.createElement(Money, { currency: currency, cents: VAT.sales + VAT.purchases }),
|
|
258
|
-
React.createElement("br", null))),
|
|
259
|
-
hasTags &&
|
|
260
|
-
React.createElement(SubPanel, null,
|
|
261
|
-
React.createElement("b", null,
|
|
262
|
-
React.createElement(Trans, null, "Cumulated VAT by tags"),
|
|
263
|
-
":"),
|
|
264
|
-
React.createElement("table", null,
|
|
265
|
-
React.createElement("tbody", null,
|
|
266
|
-
Object.entries(vatByTag).map(([tag, amount]) => React.createElement("tr", { key: tag },
|
|
267
|
-
React.createElement("td", { width: "48px" },
|
|
268
|
-
React.createElement(TagChip, { tag: this.store.database.getTag(tag) })),
|
|
269
|
-
React.createElement("td", { width: "48px" }, tag),
|
|
270
|
-
React.createElement("td", null, this.store.database.getTag(tag).name),
|
|
271
|
-
React.createElement("td", null,
|
|
272
|
-
React.createElement(Money, { currency: currency, cents: amount })))),
|
|
273
|
-
vatByNoTag && React.createElement("tr", null,
|
|
274
|
-
React.createElement("td", null),
|
|
275
|
-
React.createElement("td", null),
|
|
276
|
-
React.createElement("td", null,
|
|
277
|
-
React.createElement(Trans, null, "Entries that has no tags")),
|
|
278
|
-
React.createElement("td", null,
|
|
279
|
-
React.createElement(Money, { currency: currency, cents: vatByNoTag })))))),
|
|
280
|
-
openVATDocuments.length > 0 &&
|
|
281
|
-
React.createElement(SubPanel, null, openVATDocuments.map((doc) => {
|
|
282
|
-
return React.createElement("div", { key: doc.id },
|
|
283
|
-
React.createElement(Localize, { date: doc.date }),
|
|
284
|
-
React.createElement("br", null),
|
|
285
|
-
doc.entries.map((entry) => {
|
|
286
|
-
return React.createElement("div", { key: entry.id },
|
|
287
|
-
React.createElement("b", null,
|
|
288
|
-
" ",
|
|
289
|
-
entry.account.toString(),
|
|
290
|
-
" "),
|
|
291
|
-
entry.text || React.createElement("span", { style: { color: 'red' } },
|
|
292
|
-
React.createElement(Trans, null, "Description missing")),
|
|
293
|
-
React.createElement("span", null, " "),
|
|
294
|
-
React.createElement(Money, { currency: currency, cents: entry.total }));
|
|
295
|
-
}),
|
|
296
|
-
React.createElement("br", null));
|
|
297
|
-
}))));
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Combine unprocessed VAT to new payable or receivable entry.
|
|
301
|
-
*/
|
|
302
|
-
async createVATEntry() {
|
|
303
|
-
const VAT_SALES_ACCOUNT = this.settings.get('VAT.salesAccount');
|
|
304
|
-
const VAT_PURCHASES_ACCOUNT = this.settings.get('VAT.purchasesAccount');
|
|
305
|
-
const VAT_RECEIVABLE_ACCOUNT = this.settings.get('VAT.receivableAccount');
|
|
306
|
-
const VAT_PAYABLE_ACCOUNT = this.settings.get('VAT.payableAccount');
|
|
307
|
-
const VAT_DELAYED_RECEIVABLE_ACCOUNT = this.settings.get('VAT.delayedReceivableAccount');
|
|
308
|
-
const VAT_DELAYED_PAYABLE_ACCOUNT = this.settings.get('VAT.delayedPayableAccount');
|
|
309
|
-
// Collect entries.
|
|
310
|
-
let sales = 0;
|
|
311
|
-
let purchases = 0;
|
|
312
|
-
const entries = [];
|
|
313
|
-
for (const doc of this.openVATDocuments()) {
|
|
314
|
-
for (const entry of doc.entries) {
|
|
315
|
-
const acc = entry.account.number;
|
|
316
|
-
if (acc === VAT_SALES_ACCOUNT) {
|
|
317
|
-
sales += entry.total;
|
|
318
|
-
entries.push(entry);
|
|
319
|
-
}
|
|
320
|
-
if (acc === VAT_PURCHASES_ACCOUNT) {
|
|
321
|
-
purchases += entry.total;
|
|
322
|
-
entries.push(entry);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
if (!this.store.period) {
|
|
327
|
-
throw new Error('Canont create VAT entries without period.');
|
|
328
|
-
}
|
|
329
|
-
// Create new VAT payable/receivable.
|
|
330
|
-
let date = dayjs().format('YYYY-MM-DD');
|
|
331
|
-
let isDelayed = false;
|
|
332
|
-
if (date > this.store.period.end_date) {
|
|
333
|
-
isDelayed = true;
|
|
334
|
-
date = this.store.period.end_date;
|
|
335
|
-
}
|
|
336
|
-
const doc = {
|
|
337
|
-
period_id: this.store.period.id,
|
|
338
|
-
date,
|
|
339
|
-
entries: []
|
|
340
|
-
};
|
|
341
|
-
// Just to keep compiler happy.
|
|
342
|
-
if (!doc.entries) {
|
|
343
|
-
return;
|
|
344
|
-
}
|
|
345
|
-
if (sales) {
|
|
346
|
-
doc.entries.push({
|
|
347
|
-
number: VAT_SALES_ACCOUNT,
|
|
348
|
-
amount: -sales,
|
|
349
|
-
data: { VAT: { ignore: true } },
|
|
350
|
-
description: this.t('VAT update')
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
if (purchases) {
|
|
354
|
-
doc.entries.push({
|
|
355
|
-
number: VAT_PURCHASES_ACCOUNT,
|
|
356
|
-
amount: -purchases,
|
|
357
|
-
data: { VAT: { ignore: true } },
|
|
358
|
-
description: this.t('VAT update')
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
// Add it to the receivable or to the payable VAT.
|
|
362
|
-
if (sales + purchases < 0) {
|
|
363
|
-
doc.entries.push({
|
|
364
|
-
number: isDelayed ? VAT_DELAYED_PAYABLE_ACCOUNT : VAT_PAYABLE_ACCOUNT,
|
|
365
|
-
amount: sales + purchases,
|
|
366
|
-
data: { VAT: { ignore: true } },
|
|
367
|
-
description: this.t('VAT update')
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
if (sales + purchases > 0) {
|
|
371
|
-
doc.entries.push({
|
|
372
|
-
number: isDelayed ? VAT_DELAYED_RECEIVABLE_ACCOUNT : VAT_RECEIVABLE_ACCOUNT,
|
|
373
|
-
amount: sales + purchases,
|
|
374
|
-
data: { VAT: { ignore: true } },
|
|
375
|
-
description: this.t('VAT update')
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
await this.store.period.createDocument(doc);
|
|
379
|
-
// Mark entries as reconciled.
|
|
380
|
-
runInAction(async () => {
|
|
381
|
-
for (const entry of entries) {
|
|
382
|
-
if (entry.data) {
|
|
383
|
-
entry.data.VAT = entry.data.VAT || {};
|
|
384
|
-
entry.data.VAT.reconciled = true;
|
|
385
|
-
}
|
|
386
|
-
await entry.save();
|
|
387
|
-
}
|
|
388
|
-
});
|
|
389
|
-
await this.store.fetchBalances();
|
|
390
|
-
}
|
|
391
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
392
|
-
async editTransaction(document, row, column, originalValue) {
|
|
393
|
-
// If editing date, no interest.
|
|
394
|
-
if (row === null) {
|
|
395
|
-
return;
|
|
396
|
-
}
|
|
397
|
-
// Dig some usable references.
|
|
398
|
-
const entry = document.entries[row];
|
|
399
|
-
const date = document.date || new Date();
|
|
400
|
-
const account = entry.account;
|
|
401
|
-
const knowledge = haveKnowledge();
|
|
402
|
-
// Helper to create VAT entry, if needed VAT percentage found.
|
|
403
|
-
const checkAndAddVat = async (vatAccountNumber, isExpense) => {
|
|
404
|
-
if (!account || !vatAccountNumber) {
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
|
-
const vatPercentage = knowledge.vat(account.data.code, date);
|
|
408
|
-
const text = `${this.t('VAT')} ${vatPercentage}%`;
|
|
409
|
-
const vatAccount = this.store.database.getAccountByNumber(vatAccountNumber);
|
|
410
|
-
if (vatPercentage) {
|
|
411
|
-
if (document.entries.filter(e => e.account_id === vatAccount.id).length === 0) {
|
|
412
|
-
await runInAction(async () => {
|
|
413
|
-
const vatAmount = Math.round(entry.amount - entry.amount / (1 + vatPercentage / 100));
|
|
414
|
-
const vat = {
|
|
415
|
-
id: vatAccount.id,
|
|
416
|
-
amount: isExpense ? vatAmount : -vatAmount,
|
|
417
|
-
description: `${entry.description} ${text}`.trim()
|
|
418
|
-
};
|
|
419
|
-
entry.amount -= vatAmount;
|
|
420
|
-
await entry.save();
|
|
421
|
-
await document.createEntry(vat);
|
|
422
|
-
});
|
|
423
|
-
return new Set([vatAccountNumber]);
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
427
|
-
// Check that the reason is not related to missing plugin.
|
|
428
|
-
const { income, vat } = knowledge.count();
|
|
429
|
-
if (!vat) {
|
|
430
|
-
this.store.addError('No VAT data found. Please add VAT data plugin.');
|
|
431
|
-
}
|
|
432
|
-
if (!income) {
|
|
433
|
-
this.store.addError('No income and expense knowledge base found. Please install a plugin for it.');
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
};
|
|
437
|
-
// Automatically add VAT entry for purchases.
|
|
438
|
-
if (column === 2) {
|
|
439
|
-
if (account.type === 'EXPENSE') {
|
|
440
|
-
return await checkAndAddVat(this.getSetting('purchasesAccount'), true);
|
|
441
|
-
}
|
|
442
|
-
// Automatically add VAT entry for sales.
|
|
443
|
-
}
|
|
444
|
-
else if (column === 3) {
|
|
445
|
-
if (account.type === 'REVENUE') {
|
|
446
|
-
return await checkAndAddVat(this.getSetting('salesAccount'), false);
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
getSettings() {
|
|
451
|
-
// Should actually also remove defaults given elsewhere
|
|
452
|
-
return {
|
|
453
|
-
type: 'flat',
|
|
454
|
-
elements: [
|
|
455
|
-
{
|
|
456
|
-
type: 'account',
|
|
457
|
-
name: 'delayedPayableAccount',
|
|
458
|
-
filter: {
|
|
459
|
-
type: 'LIABILITY'
|
|
460
|
-
}
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
type: 'account',
|
|
464
|
-
name: 'delayedReceivableAccount',
|
|
465
|
-
filter: {
|
|
466
|
-
type: 'ASSET'
|
|
467
|
-
}
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
type: 'account',
|
|
471
|
-
name: 'payableAccount',
|
|
472
|
-
filter: {
|
|
473
|
-
type: 'LIABILITY'
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
{
|
|
477
|
-
type: 'account',
|
|
478
|
-
name: 'purchasesAccount',
|
|
479
|
-
filter: {
|
|
480
|
-
type: 'LIABILITY'
|
|
481
|
-
}
|
|
482
|
-
},
|
|
483
|
-
{
|
|
484
|
-
type: 'account',
|
|
485
|
-
name: 'receivableAccount',
|
|
486
|
-
filter: {
|
|
487
|
-
type: 'ASSET'
|
|
488
|
-
}
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
type: 'account',
|
|
492
|
-
name: 'salesAccount',
|
|
493
|
-
filter: {
|
|
494
|
-
type: 'LIABILITY'
|
|
495
|
-
}
|
|
496
|
-
},
|
|
497
|
-
{
|
|
498
|
-
type: 'button',
|
|
499
|
-
label: 'Save',
|
|
500
|
-
actions: {
|
|
501
|
-
onClick: { type: 'saveSettings', plugin: 'VAT' }
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
]
|
|
505
|
-
};
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
export default VAT;
|
|
509
|
-
//# sourceMappingURL=index.js.map
|
package/dist/VAT/ui/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/VAT/ui/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DataPlugin } from '@tasenor/common-node';
|
|
2
|
-
class VATFinland extends DataPlugin {
|
|
3
|
-
constructor() {
|
|
4
|
-
super('vat');
|
|
5
|
-
this.code = 'VATFinland';
|
|
6
|
-
this.title = 'VAT Data for Finland';
|
|
7
|
-
this.version = '1.0.12';
|
|
8
|
-
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><rect fill="none" height="24" width="24"/></g><g><g><g><path d="M7.5,4C5.57,4,4,5.57,4,7.5S5.57,11,7.5,11S11,9.43,11,7.5S9.43,4,7.5,4z M7.5,9C6.67,9,6,8.33,6,7.5S6.67,6,7.5,6 S9,6.67,9,7.5S8.33,9,7.5,9z M16.5,13c-1.93,0-3.5,1.57-3.5,3.5s1.57,3.5,3.5,3.5s3.5-1.57,3.5-3.5S18.43,13,16.5,13z M16.5,18 c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S17.33,18,16.5,18z M5.41,20L4,18.59L18.59,4L20,5.41L5.41,20z"/></g></g></g></svg>';
|
|
9
|
-
this.releaseDate = '2022-07-23';
|
|
10
|
-
this.use = 'backend';
|
|
11
|
-
this.type = 'data';
|
|
12
|
-
this.description = 'This plugin provides data needed for VAT handling in Finland.';
|
|
13
|
-
this.languages = {};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export default VATFinland;
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/VATFinland/backend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,UAAW,SAAQ,UAAU;IACjC;QACE,KAAK,CAAC,KAAK,CAAC,CAAA;QAEZ,IAAI,CAAC,IAAI,GAAG,YAAyB,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,QAAmB,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,mkBAAmkB,CAAA;QAC/kB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,+DAA+D,CAAA;QAElF,IAAI,CAAC,SAAS,GAAG,EAChB,CAAA;IACH,CAAC;CACF;AAED,eAAe,UAAU,CAAA"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export { default as CoinAPIBackend } from './CoinAPI/backend';
|
|
2
|
-
export { default as CoinbaseImportBackend } from './CoinbaseImport/backend';
|
|
3
|
-
export { CoinbaseHandler } from './CoinbaseImport/backend/CoinbaseHandler';
|
|
4
|
-
export { default as FinnishBalanceSheetReportBackend } from './FinnishBalanceSheetReport/backend';
|
|
5
|
-
export { default as FinnishBalanceSheetReportInvestmentBackend } from './FinnishBalanceSheetReportInvestment/backend';
|
|
6
|
-
export { default as FinnishBalanceSheetReportLiteBackend } from './FinnishBalanceSheetReportLite/backend';
|
|
7
|
-
export { default as FinnishIncomeStatementReportBackend } from './FinnishIncomeStatementReport/backend';
|
|
8
|
-
export { default as FinnishIncomeStatementReportInvestmentBackend } from './FinnishIncomeStatementReportInvestment/backend';
|
|
9
|
-
export { default as FinnishIncomeStatementReportLiteBackend } from './FinnishIncomeStatementReportLite/backend';
|
|
10
|
-
export { default as FinnishInvestmentCompanyBackend } from './FinnishInvestmentCompany/backend';
|
|
11
|
-
export { default as FinnishLimitedCompanyCompleteBackend } from './FinnishLimitedCompanyComplete/backend';
|
|
12
|
-
export { default as FinnishLimitedCompanyLiteBackend } from './FinnishLimitedCompanyLite/backend';
|
|
13
|
-
export { default as GitBackupBackend } from './GitBackup/backend';
|
|
14
|
-
export { default as IncomeAndExpensesBackend } from './IncomeAndExpenses/backend';
|
|
15
|
-
export { default as JournalReportBackend } from './JournalReport/backend';
|
|
16
|
-
export { default as KrakenImportBackend } from './KrakenImport/backend';
|
|
17
|
-
export { KrakenHandler } from './KrakenImport/backend/KrakenHandler';
|
|
18
|
-
export { default as LedgerReportBackend } from './LedgerReport/backend';
|
|
19
|
-
export { default as LynxImportBackend } from './LynxImport/backend';
|
|
20
|
-
export { LynxHandler } from './LynxImport/backend/LynxHandler';
|
|
21
|
-
export { default as NordeaImportBackend } from './NordeaImport/backend';
|
|
22
|
-
export { NordeaHandler } from './NordeaImport/backend/NordeaHandler';
|
|
23
|
-
export { default as NordnetImportBackend } from './NordnetImport/backend';
|
|
24
|
-
export { NordnetHandler } from './NordnetImport/backend/NordnetHandler';
|
|
25
|
-
export { default as RapidAPIBackend } from './RapidAPI/backend';
|
|
26
|
-
export { default as TITOImportBackend } from './TITOImport/backend';
|
|
27
|
-
export { TITOHandler } from './TITOImport/backend/TITOHandler';
|
|
28
|
-
export { default as VATFinlandBackend } from './VATFinland/backend';
|
package/dist/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export { default as CoinAPIBackend } from './CoinAPI/backend';
|
|
2
|
-
export { default as CoinbaseImportBackend } from './CoinbaseImport/backend';
|
|
3
|
-
export { CoinbaseHandler } from './CoinbaseImport/backend/CoinbaseHandler';
|
|
4
|
-
export { default as FinnishBalanceSheetReportBackend } from './FinnishBalanceSheetReport/backend';
|
|
5
|
-
export { default as FinnishBalanceSheetReportInvestmentBackend } from './FinnishBalanceSheetReportInvestment/backend';
|
|
6
|
-
export { default as FinnishBalanceSheetReportLiteBackend } from './FinnishBalanceSheetReportLite/backend';
|
|
7
|
-
export { default as FinnishIncomeStatementReportBackend } from './FinnishIncomeStatementReport/backend';
|
|
8
|
-
export { default as FinnishIncomeStatementReportInvestmentBackend } from './FinnishIncomeStatementReportInvestment/backend';
|
|
9
|
-
export { default as FinnishIncomeStatementReportLiteBackend } from './FinnishIncomeStatementReportLite/backend';
|
|
10
|
-
export { default as FinnishInvestmentCompanyBackend } from './FinnishInvestmentCompany/backend';
|
|
11
|
-
export { default as FinnishLimitedCompanyCompleteBackend } from './FinnishLimitedCompanyComplete/backend';
|
|
12
|
-
export { default as FinnishLimitedCompanyLiteBackend } from './FinnishLimitedCompanyLite/backend';
|
|
13
|
-
export { default as GitBackupBackend } from './GitBackup/backend';
|
|
14
|
-
export { default as IncomeAndExpensesBackend } from './IncomeAndExpenses/backend';
|
|
15
|
-
export { default as JournalReportBackend } from './JournalReport/backend';
|
|
16
|
-
export { default as KrakenImportBackend } from './KrakenImport/backend';
|
|
17
|
-
export { KrakenHandler } from './KrakenImport/backend/KrakenHandler';
|
|
18
|
-
export { default as LedgerReportBackend } from './LedgerReport/backend';
|
|
19
|
-
export { default as LynxImportBackend } from './LynxImport/backend';
|
|
20
|
-
export { LynxHandler } from './LynxImport/backend/LynxHandler';
|
|
21
|
-
export { default as NordeaImportBackend } from './NordeaImport/backend';
|
|
22
|
-
export { NordeaHandler } from './NordeaImport/backend/NordeaHandler';
|
|
23
|
-
export { default as NordnetImportBackend } from './NordnetImport/backend';
|
|
24
|
-
export { NordnetHandler } from './NordnetImport/backend/NordnetHandler';
|
|
25
|
-
export { default as RapidAPIBackend } from './RapidAPI/backend';
|
|
26
|
-
export { default as TITOImportBackend } from './TITOImport/backend';
|
|
27
|
-
export { TITOHandler } from './TITOImport/backend/TITOHandler';
|
|
28
|
-
export { default as VATFinlandBackend } from './VATFinland/backend';
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,0CAA0C,EAAE,MAAM,+CAA+C,CAAA;AACrH,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,yCAAyC,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,mCAAmC,EAAE,MAAM,wCAAwC,CAAA;AACvG,OAAO,EAAE,OAAO,IAAI,6CAA6C,EAAE,MAAM,kDAAkD,CAAA;AAC3H,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,4CAA4C,CAAA;AAC/G,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,oCAAoC,CAAA;AAC/F,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,yCAAyC,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
|