@tasenor/common-plugins 1.17.10 → 1.17.11
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/.turbo/turbo-release.log +3 -2
- package/data/EstonianLimitedCompanyLite.mjs +6 -0
- package/data/VATEstonia.mjs +23 -0
- package/data/src/Estonia VAT - Definitions.tsv +9 -0
- package/data/src/EstonianLimitedCompanyLite - fi-EUR.tsv +79 -0
- package/package.json +5 -5
- package/src/EstonianLimitedCompanyLite/backend/fi-EUR.tsv +79 -0
- package/src/EstonianLimitedCompanyLite/backend/index.ts +50 -0
- package/src/EstonianLimitedCompanyLite/ui/index.tsx +28 -0
- package/src/NordnetImport/backend/NordnetHandler.ts +3 -0
- package/src/VATEstonia/backend/index.ts +22 -0
- package/src/VATEstonia/backend/vat.json +13 -0
package/.turbo/turbo-release.log
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
-
> @tasenor/common-plugins@1.17.
|
|
3
|
+
> @tasenor/common-plugins@1.17.10 release /home/wigy/project/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
|
|
4
4
|
> pnpm version patch && pnpm publish --force --access public --no-git-checks
|
|
5
5
|
|
|
6
6
|
[1mnpm[22m [33mwarn[39m [94mUnknown env config "auto-install-peers". This will stop working in the next major version of npm.[39m
|
|
7
|
-
v1.17.
|
|
7
|
+
v1.17.11
|
|
8
|
+
[43m[30m WARN [39m[49m using --force I sure hope you know what you are doing
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/usr/bin/env -S npx tsx
|
|
2
|
+
import commonNode from '@tasenor/common-node'
|
|
3
|
+
const { readFile, saveFile, trimCRLF } = commonNode.dataUtils
|
|
4
|
+
|
|
5
|
+
const tsv = trimCRLF(readFile('EstonianLimitedCompanyLite - fi-EUR.tsv'))
|
|
6
|
+
saveFile('EstonianLimitedCompanyLite', 'backend/fi-EUR.tsv', tsv)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env -S npx tsx
|
|
2
|
+
import commonNode from '@tasenor/common-node'
|
|
3
|
+
const { trimId, readTsv, fixNumber, saveJson } = commonNode.dataUtils
|
|
4
|
+
|
|
5
|
+
const data = []
|
|
6
|
+
const tsv = readTsv('Estonia VAT - Definitions.tsv', true)
|
|
7
|
+
|
|
8
|
+
for (let column = 1; column < tsv[0].length; column++) {
|
|
9
|
+
const from = tsv[0][column]
|
|
10
|
+
const to = tsv[1][column] || null
|
|
11
|
+
|
|
12
|
+
const percentage = {}
|
|
13
|
+
for (let line = 2; line < tsv.length; line++) {
|
|
14
|
+
const id = trimId(tsv[line][0])
|
|
15
|
+
const value = tsv[line][column]
|
|
16
|
+
if (value !== undefined) {
|
|
17
|
+
percentage[id] = fixNumber(value.replace(',', '.'))
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
data.push({ from, to, percentage })
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
saveJson('VATEstonia', 'vat', data)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# number / title text type code data
|
|
2
|
+
Vastaavaa
|
|
3
|
+
_Pysyvät vastaavat
|
|
4
|
+
_Aineettomat hyödykkeet
|
|
5
|
+
1000 Aineettomat hyödykkeet ASSET
|
|
6
|
+
1010 Ohjelmistot ASSET
|
|
7
|
+
1020 Kehittämismenot ASSET
|
|
8
|
+
1110 Koneet ja laitteet ASSET
|
|
9
|
+
1120 Kalusto ASSET
|
|
10
|
+
1130 IT-laitteet ASSET
|
|
11
|
+
1200 Kertyneet poistot ASSET
|
|
12
|
+
1210 Poistot, aineettomat ASSET
|
|
13
|
+
1220 Poistot, aineelliset ASSET
|
|
14
|
+
_Vaihtuvat vastaavat
|
|
15
|
+
__Saamiset
|
|
16
|
+
2010 Myyntisaamiset ASSET
|
|
17
|
+
2020 Siirtosaamiset ASSET
|
|
18
|
+
2030 Ennakkosaamiset ASSET
|
|
19
|
+
___Rahat ja pankkisaamiset
|
|
20
|
+
2110 Pankkitili ASSET
|
|
21
|
+
2120 Käteinen ASSET
|
|
22
|
+
2130 Maksunvälittäjä (Wise / PayPal) ASSET
|
|
23
|
+
Vastattavaa
|
|
24
|
+
_Oma pääoma
|
|
25
|
+
__Osakepääoma
|
|
26
|
+
3010 Osakepääoma EQUITY
|
|
27
|
+
__Edellisten tilikausien voitto (tappio)
|
|
28
|
+
3210 Tilikauden voitto/tappio PROFIT_PREV
|
|
29
|
+
3220 Osingonjako EQUITY
|
|
30
|
+
_Velat
|
|
31
|
+
__Lyhytaikaiset velat
|
|
32
|
+
4010 Ostovelat LIABILITY
|
|
33
|
+
4020 Verovelat LIABILITY
|
|
34
|
+
4030 Palkkavelat LIABILITY
|
|
35
|
+
4040 Siirtovelat LIABILITY
|
|
36
|
+
__Pitkäaikaiset velat
|
|
37
|
+
4110 Lainat omistajilta LIABILITY
|
|
38
|
+
4120 Pankkilainat LIABILITY
|
|
39
|
+
Tuloslaskelma
|
|
40
|
+
_Myyntituotot
|
|
41
|
+
5010 Palvelumyynti (Viro) REVENUE
|
|
42
|
+
5020 Palvelumyynti (EU) REVENUE
|
|
43
|
+
5030 Palvelumyynti (EU, ALV 0 %) REVENUE
|
|
44
|
+
5040 Palvelumyynti (EU ulkopuoli) REVENUE
|
|
45
|
+
_Muut tuotot
|
|
46
|
+
6010 Korkotuotot REVENUE
|
|
47
|
+
6020 Valuuttakurssivoitot REVENUE
|
|
48
|
+
_Liiketoiminnan kulut
|
|
49
|
+
__Ostot ja alihankinta
|
|
50
|
+
7010 Alihankintakulut EXPENSE
|
|
51
|
+
7020 Konsulttipalvelut EXPENSE
|
|
52
|
+
__Henkilöstökulut
|
|
53
|
+
7110 Palkat EXPENSE
|
|
54
|
+
7120 Sosiaalivero EXPENSE
|
|
55
|
+
7130 Työttömyysvakuutus EXPENSE
|
|
56
|
+
7140 Eläkevakuutus EXPENSE
|
|
57
|
+
__Hallintokulut
|
|
58
|
+
7210 Kirjanpito ja tilintarkastus EXPENSE
|
|
59
|
+
7220 Toimistokulut EXPENSE
|
|
60
|
+
7230 IT ja ohjelmistot EXPENSE
|
|
61
|
+
7240 Puhelin ja internet EXPENSE
|
|
62
|
+
__Markkinointi ja myynti
|
|
63
|
+
7310 Mainonta EXPENSE
|
|
64
|
+
7320 Verkkopalvelut EXPENSE
|
|
65
|
+
__Matkakulut
|
|
66
|
+
7410 Matkaliput EXPENSE
|
|
67
|
+
7420 Majoitus EXPENSE
|
|
68
|
+
7430 Päivärahat EXPENSE
|
|
69
|
+
__Poistot
|
|
70
|
+
7510 Poistot, aineelliset EXPENSE
|
|
71
|
+
7520 Poistot, aineettomat EXPENSE
|
|
72
|
+
__Muut kulut
|
|
73
|
+
7610 Valuuttakurssitappiot EXPENSE
|
|
74
|
+
7620 Pankkikulut EXPENSE
|
|
75
|
+
_Tuloverot
|
|
76
|
+
8010 Jaetun voiton tulovero EXPENSE
|
|
77
|
+
8020 Aiempiin vuosiin liittyvät verot EXPENSE
|
|
78
|
+
_Erikoistilit
|
|
79
|
+
9999 Selvittelyä vaativat tapahtumat EXPENSE SUSPENSE_ACCOUNT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-plugins",
|
|
3
|
-
"version": "1.17.
|
|
3
|
+
"version": "1.17.11",
|
|
4
4
|
"description": "Shared common plugins of Tasenor project",
|
|
5
5
|
"repository": "git@github.com:dataplugoy/tasenor-bookkeeper.git",
|
|
6
6
|
"author": "Tommi Ronkainen <tommi.ronkainen@gmail.com>",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"dayjs": "1.10.8",
|
|
14
14
|
"sprintf-js": "^1.1.2",
|
|
15
15
|
"tsx": "^4.7.0",
|
|
16
|
-
"@tasenor/common": "1.17.
|
|
17
|
-
"@tasenor/common-node": "1.17.
|
|
18
|
-
"@tasenor/common-ui": "1.17.
|
|
16
|
+
"@tasenor/common": "1.17.11",
|
|
17
|
+
"@tasenor/common-node": "1.17.11",
|
|
18
|
+
"@tasenor/common-ui": "1.17.11"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@mui/icons-material": "^5.14.1",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"react-i18next": "^14.0.5",
|
|
32
32
|
"react-router-dom": "^6.14.1",
|
|
33
33
|
"typescript": "^5.1.6",
|
|
34
|
-
"@tasenor/config": "1.17.
|
|
34
|
+
"@tasenor/config": "1.17.11",
|
|
35
35
|
"eslint-config-tasenor": "0.0.0"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# number / title text type code data
|
|
2
|
+
Vastaavaa
|
|
3
|
+
_Pysyvät vastaavat
|
|
4
|
+
_Aineettomat hyödykkeet
|
|
5
|
+
1000 Aineettomat hyödykkeet ASSET
|
|
6
|
+
1010 Ohjelmistot ASSET
|
|
7
|
+
1020 Kehittämismenot ASSET
|
|
8
|
+
1110 Koneet ja laitteet ASSET
|
|
9
|
+
1120 Kalusto ASSET
|
|
10
|
+
1130 IT-laitteet ASSET
|
|
11
|
+
1200 Kertyneet poistot ASSET
|
|
12
|
+
1210 Poistot, aineettomat ASSET
|
|
13
|
+
1220 Poistot, aineelliset ASSET
|
|
14
|
+
_Vaihtuvat vastaavat
|
|
15
|
+
__Saamiset
|
|
16
|
+
2010 Myyntisaamiset ASSET
|
|
17
|
+
2020 Siirtosaamiset ASSET
|
|
18
|
+
2030 Ennakkosaamiset ASSET
|
|
19
|
+
___Rahat ja pankkisaamiset
|
|
20
|
+
2110 Pankkitili ASSET
|
|
21
|
+
2120 Käteinen ASSET
|
|
22
|
+
2130 Maksunvälittäjä (Wise / PayPal) ASSET
|
|
23
|
+
Vastattavaa
|
|
24
|
+
_Oma pääoma
|
|
25
|
+
__Osakepääoma
|
|
26
|
+
3010 Osakepääoma EQUITY
|
|
27
|
+
__Edellisten tilikausien voitto (tappio)
|
|
28
|
+
3210 Tilikauden voitto/tappio PROFIT_PREV
|
|
29
|
+
3220 Osingonjako EQUITY
|
|
30
|
+
_Velat
|
|
31
|
+
__Lyhytaikaiset velat
|
|
32
|
+
4010 Ostovelat LIABILITY
|
|
33
|
+
4020 Verovelat LIABILITY
|
|
34
|
+
4030 Palkkavelat LIABILITY
|
|
35
|
+
4040 Siirtovelat LIABILITY
|
|
36
|
+
__Pitkäaikaiset velat
|
|
37
|
+
4110 Lainat omistajilta LIABILITY
|
|
38
|
+
4120 Pankkilainat LIABILITY
|
|
39
|
+
Tuloslaskelma
|
|
40
|
+
_Myyntituotot
|
|
41
|
+
5010 Palvelumyynti (Viro) REVENUE
|
|
42
|
+
5020 Palvelumyynti (EU) REVENUE
|
|
43
|
+
5030 Palvelumyynti (EU, ALV 0 %) REVENUE
|
|
44
|
+
5040 Palvelumyynti (EU ulkopuoli) REVENUE
|
|
45
|
+
_Muut tuotot
|
|
46
|
+
6010 Korkotuotot REVENUE
|
|
47
|
+
6020 Valuuttakurssivoitot REVENUE
|
|
48
|
+
_Liiketoiminnan kulut
|
|
49
|
+
__Ostot ja alihankinta
|
|
50
|
+
7010 Alihankintakulut EXPENSE
|
|
51
|
+
7020 Konsulttipalvelut EXPENSE
|
|
52
|
+
__Henkilöstökulut
|
|
53
|
+
7110 Palkat EXPENSE
|
|
54
|
+
7120 Sosiaalivero EXPENSE
|
|
55
|
+
7130 Työttömyysvakuutus EXPENSE
|
|
56
|
+
7140 Eläkevakuutus EXPENSE
|
|
57
|
+
__Hallintokulut
|
|
58
|
+
7210 Kirjanpito ja tilintarkastus EXPENSE
|
|
59
|
+
7220 Toimistokulut EXPENSE
|
|
60
|
+
7230 IT ja ohjelmistot EXPENSE
|
|
61
|
+
7240 Puhelin ja internet EXPENSE
|
|
62
|
+
__Markkinointi ja myynti
|
|
63
|
+
7310 Mainonta EXPENSE
|
|
64
|
+
7320 Verkkopalvelut EXPENSE
|
|
65
|
+
__Matkakulut
|
|
66
|
+
7410 Matkaliput EXPENSE
|
|
67
|
+
7420 Majoitus EXPENSE
|
|
68
|
+
7430 Päivärahat EXPENSE
|
|
69
|
+
__Poistot
|
|
70
|
+
7510 Poistot, aineelliset EXPENSE
|
|
71
|
+
7520 Poistot, aineettomat EXPENSE
|
|
72
|
+
__Muut kulut
|
|
73
|
+
7610 Valuuttakurssitappiot EXPENSE
|
|
74
|
+
7620 Pankkikulut EXPENSE
|
|
75
|
+
_Tuloverot
|
|
76
|
+
8010 Jaetun voiton tulovero EXPENSE
|
|
77
|
+
8020 Aiempiin vuosiin liittyvät verot EXPENSE
|
|
78
|
+
_Erikoistilit
|
|
79
|
+
9999 Selvittelyä vaativat tapahtumat EXPENSE SUSPENSE_ACCOUNT
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import path from 'path'
|
|
2
|
+
import { SchemePlugin } from '@tasenor/common-node'
|
|
3
|
+
import { Currency, Language, PluginCode, SchemeName, TsvFilePath, Version } from '@tasenor/common'
|
|
4
|
+
|
|
5
|
+
class EstonianLimitedCompanyLite extends SchemePlugin {
|
|
6
|
+
|
|
7
|
+
constructor() {
|
|
8
|
+
super('EstonianLimitedCompanyLite' as SchemeName)
|
|
9
|
+
|
|
10
|
+
this.code = 'EstonianLimitedCompanyLite' as PluginCode
|
|
11
|
+
this.title = 'Estonian Limited Company - Lite'
|
|
12
|
+
this.version = '1.0.0' as Version
|
|
13
|
+
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>'
|
|
14
|
+
this.releaseDate = '2023-05-24'
|
|
15
|
+
this.use = 'both'
|
|
16
|
+
this.type = 'scheme'
|
|
17
|
+
this.description = 'Small accounting scheme for Estonian private limited company (OÜ). Finnish version only.'
|
|
18
|
+
|
|
19
|
+
this.languages = {
|
|
20
|
+
fi: {
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
getSchemePaths(code, language): TsvFilePath[] {
|
|
26
|
+
if (code === 'EstonianLimitedCompanyLite') {
|
|
27
|
+
if (language === 'fi') {
|
|
28
|
+
return [
|
|
29
|
+
path.join(__dirname, 'fi-EUR.tsv'),
|
|
30
|
+
] as TsvFilePath[]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return []
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
37
|
+
getSchemeDefaults(code): Record<string, unknown> {
|
|
38
|
+
return {}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
supportedCurrencies(): Currency[] {
|
|
42
|
+
return ['EUR']
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
supportedLanguages(): Language[] {
|
|
46
|
+
return ['fi']
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default EstonianLimitedCompanyLite
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SchemePlugin } from '@tasenor/common-ui'
|
|
2
|
+
|
|
3
|
+
class EstonianLimitedCompanyLite extends SchemePlugin {
|
|
4
|
+
|
|
5
|
+
static code = 'EstonianLimitedCompanyLite'
|
|
6
|
+
static title = 'Estonian Limited Company - Lite'
|
|
7
|
+
static version = '1.0.0'
|
|
8
|
+
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>'
|
|
9
|
+
static releaseDate = '2023-05-24'
|
|
10
|
+
static use = 'both'
|
|
11
|
+
static type = 'scheme'
|
|
12
|
+
static description = 'Small accounting scheme for Estonian private limited company (OÜ). Finnish version only.'
|
|
13
|
+
|
|
14
|
+
constructor() {
|
|
15
|
+
super()
|
|
16
|
+
this.languages = {
|
|
17
|
+
fi: {
|
|
18
|
+
'Private limited company (Lite scheme)': 'Osakeyhtiö (Suppea tilikartta)'
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getAccountingSchemes() {
|
|
24
|
+
return { EstonianLimitedCompanyLite: 'Private limited company (Lite scheme)' }
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default EstonianLimitedCompanyLite
|
|
@@ -63,6 +63,9 @@ export class NordnetHandler extends TransactionImportHandler {
|
|
|
63
63
|
if (columns.Valuuttakurssi === '1' || columns.Vaihtokurssi === '1') {
|
|
64
64
|
columns.Valuutta = process.config.currency as string
|
|
65
65
|
}
|
|
66
|
+
if (columns.Valuuttakurssi === '' || columns.Vaihtokurssi === '') {
|
|
67
|
+
columns.Valuutta = process.config.currency as string
|
|
68
|
+
}
|
|
66
69
|
if (columns.Tapahtumatyyppi === 'OSINKO') {
|
|
67
70
|
const match = / ([A-Z]{3})\/OSAKE$/.exec(columns.Tapahtumateksti)
|
|
68
71
|
if (match) {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DataPlugin } from '@tasenor/common-node'
|
|
2
|
+
import { PluginCode, Version } from '@tasenor/common'
|
|
3
|
+
|
|
4
|
+
class VATEstonia extends DataPlugin {
|
|
5
|
+
constructor() {
|
|
6
|
+
super({ common: ['vat'], backend: [] })
|
|
7
|
+
|
|
8
|
+
this.code = 'VATEstonia'as PluginCode
|
|
9
|
+
this.title = 'VAT Data for Finland'
|
|
10
|
+
this.version = '1.0.0' as Version
|
|
11
|
+
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>'
|
|
12
|
+
this.releaseDate = '2022-07-23'
|
|
13
|
+
this.use = 'backend'
|
|
14
|
+
this.type = 'data'
|
|
15
|
+
this.description = 'This plugin provides data needed for VAT handling in Estonia.'
|
|
16
|
+
|
|
17
|
+
this.languages = {
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default VATEstonia
|