scadenze 0.1.0__tar.gz

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.
@@ -0,0 +1,18 @@
1
+ name: Pubblica su PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ pypi:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write # per il trusted publishing su PyPI
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+ - uses: astral-sh/setup-uv@v5
15
+ - run: uv sync
16
+ - run: uv run pytest
17
+ - run: uv build
18
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,6 @@
1
+ .venv/
2
+ __pycache__/
3
+ *.pyc
4
+ dist/
5
+ *.ics
6
+ .pytest_cache/
scadenze-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Nimesh Bothalage
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,152 @@
1
+ Metadata-Version: 2.4
2
+ Name: scadenze
3
+ Version: 0.1.0
4
+ Summary: Scadenze fiscali italiane 2026, dal terminale
5
+ Project-URL: Homepage, https://nbflows.com
6
+ Project-URL: Repository, https://github.com/nbflows-managemente/scadenze
7
+ Author-email: Nimesh Bothalage <nimeshbflows@gmail.com>
8
+ License: MIT License
9
+
10
+ Copyright (c) 2026 Nimesh Bothalage
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+ License-File: LICENSE
30
+ Keywords: cli,f24,fisco,italia,iva,scadenze
31
+ Classifier: Development Status :: 3 - Alpha
32
+ Classifier: Environment :: Console
33
+ Classifier: License :: OSI Approved :: MIT License
34
+ Classifier: Natural Language :: Italian
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Topic :: Office/Business :: Financial
37
+ Requires-Python: >=3.10
38
+ Requires-Dist: icalendar>=6.0
39
+ Requires-Dist: rich>=13.0
40
+ Requires-Dist: typer>=0.12
41
+ Description-Content-Type: text/markdown
42
+
43
+ # scadenze
44
+
45
+ > Le scadenze fiscali italiane 2026, dal terminale.
46
+
47
+ ![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue)
48
+ ![Licenza MIT](https://img.shields.io/badge/licenza-MIT-green)
49
+ ![Test](https://img.shields.io/badge/test-16%20passed-brightgreen)
50
+
51
+ CLI per consultare le principali scadenze fiscali italiane del 2026: IVA,
52
+ ritenute, LIPE, contributi INPS, IMU, dichiarazioni e acconti — con gli
53
+ slittamenti per weekend, festivi e differimento feriale già applicati.
54
+
55
+ ![Demo animata del CLI](docs/demo.gif)
56
+
57
+ ## Installazione
58
+
59
+ ```sh
60
+ uv tool install scadenze # oppure: pip install scadenze
61
+ ```
62
+
63
+ Per provarlo dal repository senza installare:
64
+
65
+ ```sh
66
+ git clone https://github.com/nbflows-managemente/scadenze
67
+ cd scadenze
68
+ uv run scadenze prossime
69
+ ```
70
+
71
+ ## Uso
72
+
73
+ ```sh
74
+ scadenze prossime # scadenze nei prossimi 30 giorni
75
+ scadenze prossime --giorni 60
76
+ scadenze mese settembre # anche: scadenze mese 9
77
+ scadenze cerca lipe
78
+ scadenze --categoria iva prossime # filtra per categoria
79
+ scadenze export --ical -o scadenze.ics
80
+ ```
81
+
82
+ La colonna **Tra** evidenzia in rosso le scadenze entro 7 giorni.
83
+ Il file `.ics` esportato si importa in Google Calendar, Outlook o Apple
84
+ Calendar.
85
+
86
+ **Categorie disponibili**: `iva`, `ritenute`, `inps`, `inail`, `imu`,
87
+ `imposte`, `dichiarazioni`, `bollo`, `societa`.
88
+
89
+ ## Il dataset
90
+
91
+ 54 scadenze del 2026 in [un unico JSON](scadenze/data/scadenze_2026.json),
92
+ generato da [`scripts/genera_dataset.py`](scripts/genera_dataset.py):
93
+
94
+ - versamenti mensili F24 (IVA e ritenute) con gli slittamenti 2026:
95
+ 18 maggio e 20 agosto (differimento feriale)
96
+ - IVA trimestrale, LIPE, bollo fatture elettroniche, rate fisse INPS
97
+ artigiani e commercianti
98
+ - scadenze annuali: CU, dichiarazione IVA, IMU, saldo e acconti delle
99
+ imposte (inclusa la proroga al 20 luglio per soggetti ISA e forfettari,
100
+ D.L. 89/2026), 730, Redditi, 770, acconto IVA
101
+
102
+ Ogni scadenza segue lo schema:
103
+
104
+ ```json
105
+ {
106
+ "id": "iva-liquidazione-2026-08",
107
+ "data": "2026-08-20",
108
+ "titolo": "Liquidazione IVA mensile",
109
+ "descrizione": "Versamento IVA relativa a luglio 2026 (contribuenti mensili; differimento feriale)",
110
+ "categoria": "iva",
111
+ "soggetti": ["partita_iva_mensile"],
112
+ "modello": "F24",
113
+ "ricorrenza": "mensile"
114
+ }
115
+ ```
116
+
117
+ Trovato un errore in una data? Apri una issue o una PR: è il contributo
118
+ più prezioso per un progetto come questo.
119
+
120
+ ## ⚠️ Disclaimer
121
+
122
+ I dati sono forniti **a scopo puramente informativo** e possono contenere
123
+ errori o non riflettere proroghe e modifiche normative successive.
124
+ Verificare sempre le date sullo
125
+ [scadenzario dell'Agenzia delle Entrate](https://www.agenziaentrate.gov.it/portale/scadenzario-fiscale)
126
+ o con il proprio commercialista. Questo strumento non sostituisce una
127
+ consulenza professionale.
128
+
129
+ ## Roadmap
130
+
131
+ - [ ] Revisione completa delle date su fonti ufficiali
132
+ - [ ] Dataset 2027
133
+ - [ ] Export CSV
134
+ - [ ] Notifiche/reminder
135
+
136
+ ## Sviluppo
137
+
138
+ ```sh
139
+ uv sync
140
+ uv run pytest # 16 test
141
+ uv run python scripts/genera_dataset.py # rigenera il dataset
142
+ uv run python scripts/genera_screenshot.py
143
+ uv run python scripts/genera_gif.py # richiede Edge (Windows)
144
+ ```
145
+
146
+ ## Chi sono
147
+
148
+ Progetto di Nimesh Bothalage — [nbflows.com](https://nbflows.com).
149
+
150
+ ## Licenza
151
+
152
+ [MIT](LICENSE)
@@ -0,0 +1,110 @@
1
+ # scadenze
2
+
3
+ > Le scadenze fiscali italiane 2026, dal terminale.
4
+
5
+ ![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue)
6
+ ![Licenza MIT](https://img.shields.io/badge/licenza-MIT-green)
7
+ ![Test](https://img.shields.io/badge/test-16%20passed-brightgreen)
8
+
9
+ CLI per consultare le principali scadenze fiscali italiane del 2026: IVA,
10
+ ritenute, LIPE, contributi INPS, IMU, dichiarazioni e acconti — con gli
11
+ slittamenti per weekend, festivi e differimento feriale già applicati.
12
+
13
+ ![Demo animata del CLI](docs/demo.gif)
14
+
15
+ ## Installazione
16
+
17
+ ```sh
18
+ uv tool install scadenze # oppure: pip install scadenze
19
+ ```
20
+
21
+ Per provarlo dal repository senza installare:
22
+
23
+ ```sh
24
+ git clone https://github.com/nbflows-managemente/scadenze
25
+ cd scadenze
26
+ uv run scadenze prossime
27
+ ```
28
+
29
+ ## Uso
30
+
31
+ ```sh
32
+ scadenze prossime # scadenze nei prossimi 30 giorni
33
+ scadenze prossime --giorni 60
34
+ scadenze mese settembre # anche: scadenze mese 9
35
+ scadenze cerca lipe
36
+ scadenze --categoria iva prossime # filtra per categoria
37
+ scadenze export --ical -o scadenze.ics
38
+ ```
39
+
40
+ La colonna **Tra** evidenzia in rosso le scadenze entro 7 giorni.
41
+ Il file `.ics` esportato si importa in Google Calendar, Outlook o Apple
42
+ Calendar.
43
+
44
+ **Categorie disponibili**: `iva`, `ritenute`, `inps`, `inail`, `imu`,
45
+ `imposte`, `dichiarazioni`, `bollo`, `societa`.
46
+
47
+ ## Il dataset
48
+
49
+ 54 scadenze del 2026 in [un unico JSON](scadenze/data/scadenze_2026.json),
50
+ generato da [`scripts/genera_dataset.py`](scripts/genera_dataset.py):
51
+
52
+ - versamenti mensili F24 (IVA e ritenute) con gli slittamenti 2026:
53
+ 18 maggio e 20 agosto (differimento feriale)
54
+ - IVA trimestrale, LIPE, bollo fatture elettroniche, rate fisse INPS
55
+ artigiani e commercianti
56
+ - scadenze annuali: CU, dichiarazione IVA, IMU, saldo e acconti delle
57
+ imposte (inclusa la proroga al 20 luglio per soggetti ISA e forfettari,
58
+ D.L. 89/2026), 730, Redditi, 770, acconto IVA
59
+
60
+ Ogni scadenza segue lo schema:
61
+
62
+ ```json
63
+ {
64
+ "id": "iva-liquidazione-2026-08",
65
+ "data": "2026-08-20",
66
+ "titolo": "Liquidazione IVA mensile",
67
+ "descrizione": "Versamento IVA relativa a luglio 2026 (contribuenti mensili; differimento feriale)",
68
+ "categoria": "iva",
69
+ "soggetti": ["partita_iva_mensile"],
70
+ "modello": "F24",
71
+ "ricorrenza": "mensile"
72
+ }
73
+ ```
74
+
75
+ Trovato un errore in una data? Apri una issue o una PR: è il contributo
76
+ più prezioso per un progetto come questo.
77
+
78
+ ## ⚠️ Disclaimer
79
+
80
+ I dati sono forniti **a scopo puramente informativo** e possono contenere
81
+ errori o non riflettere proroghe e modifiche normative successive.
82
+ Verificare sempre le date sullo
83
+ [scadenzario dell'Agenzia delle Entrate](https://www.agenziaentrate.gov.it/portale/scadenzario-fiscale)
84
+ o con il proprio commercialista. Questo strumento non sostituisce una
85
+ consulenza professionale.
86
+
87
+ ## Roadmap
88
+
89
+ - [ ] Revisione completa delle date su fonti ufficiali
90
+ - [ ] Dataset 2027
91
+ - [ ] Export CSV
92
+ - [ ] Notifiche/reminder
93
+
94
+ ## Sviluppo
95
+
96
+ ```sh
97
+ uv sync
98
+ uv run pytest # 16 test
99
+ uv run python scripts/genera_dataset.py # rigenera il dataset
100
+ uv run python scripts/genera_screenshot.py
101
+ uv run python scripts/genera_gif.py # richiede Edge (Windows)
102
+ ```
103
+
104
+ ## Chi sono
105
+
106
+ Progetto di Nimesh Bothalage — [nbflows.com](https://nbflows.com).
107
+
108
+ ## Licenza
109
+
110
+ [MIT](LICENSE)
Binary file
@@ -0,0 +1,155 @@
1
+ <svg class="rich-terminal" viewBox="0 0 1092 635.5999999999999" xmlns="http://www.w3.org/2000/svg">
2
+ <!-- Generated with Rich https://www.textualize.io -->
3
+ <style>
4
+
5
+ @font-face {
6
+ font-family: "Fira Code";
7
+ src: local("FiraCode-Regular"),
8
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
9
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
10
+ font-style: normal;
11
+ font-weight: 400;
12
+ }
13
+ @font-face {
14
+ font-family: "Fira Code";
15
+ src: local("FiraCode-Bold"),
16
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
17
+ url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
18
+ font-style: bold;
19
+ font-weight: 700;
20
+ }
21
+
22
+ .terminal-1052290131-matrix {
23
+ font-family: Fira Code, monospace;
24
+ font-size: 20px;
25
+ line-height: 24.4px;
26
+ font-variant-east-asian: full-width;
27
+ }
28
+
29
+ .terminal-1052290131-title {
30
+ font-size: 18px;
31
+ font-weight: bold;
32
+ font-family: arial;
33
+ }
34
+
35
+ .terminal-1052290131-r1 { fill: #c5c8c6;font-weight: bold }
36
+ .terminal-1052290131-r2 { fill: #68a0b3;font-weight: bold }
37
+ .terminal-1052290131-r3 { fill: #c5c8c6 }
38
+ .terminal-1052290131-r4 { fill: #c5c8c6;font-style: italic; }
39
+ .terminal-1052290131-r5 { fill: #98a84b }
40
+ .terminal-1052290131-r6 { fill: #868887 }
41
+ </style>
42
+
43
+ <defs>
44
+ <clipPath id="terminal-1052290131-clip-terminal">
45
+ <rect x="0" y="0" width="1072.6" height="584.5999999999999" />
46
+ </clipPath>
47
+ <clipPath id="terminal-1052290131-line-0">
48
+ <rect x="0" y="1.5" width="1073.6" height="24.65"/>
49
+ </clipPath>
50
+ <clipPath id="terminal-1052290131-line-1">
51
+ <rect x="0" y="25.9" width="1073.6" height="24.65"/>
52
+ </clipPath>
53
+ <clipPath id="terminal-1052290131-line-2">
54
+ <rect x="0" y="50.3" width="1073.6" height="24.65"/>
55
+ </clipPath>
56
+ <clipPath id="terminal-1052290131-line-3">
57
+ <rect x="0" y="74.7" width="1073.6" height="24.65"/>
58
+ </clipPath>
59
+ <clipPath id="terminal-1052290131-line-4">
60
+ <rect x="0" y="99.1" width="1073.6" height="24.65"/>
61
+ </clipPath>
62
+ <clipPath id="terminal-1052290131-line-5">
63
+ <rect x="0" y="123.5" width="1073.6" height="24.65"/>
64
+ </clipPath>
65
+ <clipPath id="terminal-1052290131-line-6">
66
+ <rect x="0" y="147.9" width="1073.6" height="24.65"/>
67
+ </clipPath>
68
+ <clipPath id="terminal-1052290131-line-7">
69
+ <rect x="0" y="172.3" width="1073.6" height="24.65"/>
70
+ </clipPath>
71
+ <clipPath id="terminal-1052290131-line-8">
72
+ <rect x="0" y="196.7" width="1073.6" height="24.65"/>
73
+ </clipPath>
74
+ <clipPath id="terminal-1052290131-line-9">
75
+ <rect x="0" y="221.1" width="1073.6" height="24.65"/>
76
+ </clipPath>
77
+ <clipPath id="terminal-1052290131-line-10">
78
+ <rect x="0" y="245.5" width="1073.6" height="24.65"/>
79
+ </clipPath>
80
+ <clipPath id="terminal-1052290131-line-11">
81
+ <rect x="0" y="269.9" width="1073.6" height="24.65"/>
82
+ </clipPath>
83
+ <clipPath id="terminal-1052290131-line-12">
84
+ <rect x="0" y="294.3" width="1073.6" height="24.65"/>
85
+ </clipPath>
86
+ <clipPath id="terminal-1052290131-line-13">
87
+ <rect x="0" y="318.7" width="1073.6" height="24.65"/>
88
+ </clipPath>
89
+ <clipPath id="terminal-1052290131-line-14">
90
+ <rect x="0" y="343.1" width="1073.6" height="24.65"/>
91
+ </clipPath>
92
+ <clipPath id="terminal-1052290131-line-15">
93
+ <rect x="0" y="367.5" width="1073.6" height="24.65"/>
94
+ </clipPath>
95
+ <clipPath id="terminal-1052290131-line-16">
96
+ <rect x="0" y="391.9" width="1073.6" height="24.65"/>
97
+ </clipPath>
98
+ <clipPath id="terminal-1052290131-line-17">
99
+ <rect x="0" y="416.3" width="1073.6" height="24.65"/>
100
+ </clipPath>
101
+ <clipPath id="terminal-1052290131-line-18">
102
+ <rect x="0" y="440.7" width="1073.6" height="24.65"/>
103
+ </clipPath>
104
+ <clipPath id="terminal-1052290131-line-19">
105
+ <rect x="0" y="465.1" width="1073.6" height="24.65"/>
106
+ </clipPath>
107
+ <clipPath id="terminal-1052290131-line-20">
108
+ <rect x="0" y="489.5" width="1073.6" height="24.65"/>
109
+ </clipPath>
110
+ <clipPath id="terminal-1052290131-line-21">
111
+ <rect x="0" y="513.9" width="1073.6" height="24.65"/>
112
+ </clipPath>
113
+ <clipPath id="terminal-1052290131-line-22">
114
+ <rect x="0" y="538.3" width="1073.6" height="24.65"/>
115
+ </clipPath>
116
+ </defs>
117
+
118
+ <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1090" height="633.6" rx="8"/><text class="terminal-1052290131-title" fill="#c5c8c6" text-anchor="middle" x="545" y="27">scadenze</text>
119
+ <g transform="translate(26,22)">
120
+ <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
121
+ <circle cx="22" cy="0" r="7" fill="#febc2e"/>
122
+ <circle cx="44" cy="0" r="7" fill="#28c840"/>
123
+ </g>
124
+
125
+ <g transform="translate(9, 41)" clip-path="url(#terminal-1052290131-clip-terminal)">
126
+
127
+ <g class="terminal-1052290131-matrix">
128
+ <text class="terminal-1052290131-r1" x="0" y="20" textLength="353.8" clip-path="url(#terminal-1052290131-line-0)">$&#160;scadenze&#160;prossime&#160;--giorni&#160;</text><text class="terminal-1052290131-r2" x="353.8" y="20" textLength="24.4" clip-path="url(#terminal-1052290131-line-0)">40</text><text class="terminal-1052290131-r3" x="1073.6" y="20" textLength="12.2" clip-path="url(#terminal-1052290131-line-0)">
129
+ </text><text class="terminal-1052290131-r3" x="1073.6" y="44.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-1)">
130
+ </text><text class="terminal-1052290131-r4" x="0" y="68.8" textLength="1073.6" clip-path="url(#terminal-1052290131-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Scadenze&#160;nei&#160;prossimi&#160;40&#160;giorni&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="1073.6" y="68.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-2)">
131
+ </text><text class="terminal-1052290131-r3" x="0" y="93.2" textLength="1073.6" clip-path="url(#terminal-1052290131-line-3)">┌────────────┬───────────────────────────────────────────┬───────────┬─────────┬───────┐</text><text class="terminal-1052290131-r3" x="1073.6" y="93.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-3)">
132
+ </text><text class="terminal-1052290131-r3" x="0" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">│</text><text class="terminal-1052290131-r2" x="24.4" y="117.6" textLength="122" clip-path="url(#terminal-1052290131-line-4)">Data&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="158.6" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">│</text><text class="terminal-1052290131-r2" x="183" y="117.6" textLength="500.2" clip-path="url(#terminal-1052290131-line-4)">Scadenza&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">│</text><text class="terminal-1052290131-r2" x="719.8" y="117.6" textLength="109.8" clip-path="url(#terminal-1052290131-line-4)">Categoria</text><text class="terminal-1052290131-r3" x="841.8" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">│</text><text class="terminal-1052290131-r2" x="866.2" y="117.6" textLength="85.4" clip-path="url(#terminal-1052290131-line-4)">Modello</text><text class="terminal-1052290131-r3" x="963.8" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">│</text><text class="terminal-1052290131-r2" x="988.2" y="117.6" textLength="61" clip-path="url(#terminal-1052290131-line-4)">&#160;&#160;Tra</text><text class="terminal-1052290131-r3" x="1061.4" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="117.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-4)">
133
+ </text><text class="terminal-1052290131-r3" x="0" y="142" textLength="1073.6" clip-path="url(#terminal-1052290131-line-5)">├────────────┼───────────────────────────────────────────┼───────────┼─────────┼───────┤</text><text class="terminal-1052290131-r3" x="1073.6" y="142" textLength="12.2" clip-path="url(#terminal-1052290131-line-5)">
134
+ </text><text class="terminal-1052290131-r3" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">│</text><text class="terminal-1052290131-r1" x="24.4" y="166.4" textLength="122" clip-path="url(#terminal-1052290131-line-6)">20/08/2026</text><text class="terminal-1052290131-r3" x="158.6" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">│</text><text class="terminal-1052290131-r3" x="183" y="166.4" textLength="500.2" clip-path="url(#terminal-1052290131-line-6)">Contributi&#160;INPS&#160;artigiani&#160;e&#160;commercianti&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">│</text><text class="terminal-1052290131-r3" x="719.8" y="166.4" textLength="109.8" clip-path="url(#terminal-1052290131-line-6)">inps&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="841.8" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">│</text><text class="terminal-1052290131-r3" x="866.2" y="166.4" textLength="85.4" clip-path="url(#terminal-1052290131-line-6)">F24&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="963.8" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">│</text><text class="terminal-1052290131-r5" x="988.2" y="166.4" textLength="61" clip-path="url(#terminal-1052290131-line-6)">28&#160;gg</text><text class="terminal-1052290131-r3" x="1061.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="166.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-6)">
135
+ </text><text class="terminal-1052290131-r3" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">│</text><text class="terminal-1052290131-r3" x="158.6" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">│</text><text class="terminal-1052290131-r6" x="183" y="190.8" textLength="366" clip-path="url(#terminal-1052290131-line-7)">Versamento&#160;2ª&#160;rata&#160;fissa&#160;2026&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">│</text><text class="terminal-1052290131-r3" x="841.8" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">│</text><text class="terminal-1052290131-r3" x="963.8" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="190.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-7)">
136
+ </text><text class="terminal-1052290131-r3" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">│</text><text class="terminal-1052290131-r3" x="158.6" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">│</text><text class="terminal-1052290131-r6" x="183" y="215.2" textLength="427" clip-path="url(#terminal-1052290131-line-8)">(differimento&#160;feriale&#160;al&#160;20/8)&#160;dei&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">│</text><text class="terminal-1052290131-r3" x="841.8" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">│</text><text class="terminal-1052290131-r3" x="963.8" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="215.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-8)">
137
+ </text><text class="terminal-1052290131-r3" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">│</text><text class="terminal-1052290131-r3" x="158.6" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">│</text><text class="terminal-1052290131-r6" x="183" y="239.6" textLength="414.8" clip-path="url(#terminal-1052290131-line-9)">contributi&#160;sul&#160;minimale&#160;di&#160;reddito</text><text class="terminal-1052290131-r3" x="695.4" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">│</text><text class="terminal-1052290131-r3" x="841.8" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">│</text><text class="terminal-1052290131-r3" x="963.8" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="239.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-9)">
138
+ </text><text class="terminal-1052290131-r3" x="0" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">│</text><text class="terminal-1052290131-r1" x="24.4" y="264" textLength="122" clip-path="url(#terminal-1052290131-line-10)">20/08/2026</text><text class="terminal-1052290131-r3" x="158.6" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">│</text><text class="terminal-1052290131-r3" x="183" y="264" textLength="500.2" clip-path="url(#terminal-1052290131-line-10)">Liquidazione&#160;IVA&#160;mensile&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">│</text><text class="terminal-1052290131-r3" x="719.8" y="264" textLength="109.8" clip-path="url(#terminal-1052290131-line-10)">iva&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="841.8" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">│</text><text class="terminal-1052290131-r3" x="866.2" y="264" textLength="85.4" clip-path="url(#terminal-1052290131-line-10)">F24&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="963.8" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">│</text><text class="terminal-1052290131-r5" x="988.2" y="264" textLength="61" clip-path="url(#terminal-1052290131-line-10)">28&#160;gg</text><text class="terminal-1052290131-r3" x="1061.4" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="264" textLength="12.2" clip-path="url(#terminal-1052290131-line-10)">
139
+ </text><text class="terminal-1052290131-r3" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">│</text><text class="terminal-1052290131-r3" x="158.6" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">│</text><text class="terminal-1052290131-r6" x="183" y="288.4" textLength="463.6" clip-path="url(#terminal-1052290131-line-11)">Versamento&#160;IVA&#160;relativa&#160;a&#160;luglio&#160;2026&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">│</text><text class="terminal-1052290131-r3" x="841.8" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">│</text><text class="terminal-1052290131-r3" x="963.8" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="288.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-11)">
140
+ </text><text class="terminal-1052290131-r3" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">│</text><text class="terminal-1052290131-r3" x="158.6" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">│</text><text class="terminal-1052290131-r6" x="183" y="312.8" textLength="439.2" clip-path="url(#terminal-1052290131-line-12)">(contribuenti&#160;mensili;&#160;differimento&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">│</text><text class="terminal-1052290131-r3" x="841.8" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">│</text><text class="terminal-1052290131-r3" x="963.8" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="312.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-12)">
141
+ </text><text class="terminal-1052290131-r3" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">│</text><text class="terminal-1052290131-r3" x="158.6" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">│</text><text class="terminal-1052290131-r6" x="183" y="337.2" textLength="97.6" clip-path="url(#terminal-1052290131-line-13)">feriale)</text><text class="terminal-1052290131-r3" x="695.4" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">│</text><text class="terminal-1052290131-r3" x="841.8" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">│</text><text class="terminal-1052290131-r3" x="963.8" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="337.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-13)">
142
+ </text><text class="terminal-1052290131-r3" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">│</text><text class="terminal-1052290131-r1" x="24.4" y="361.6" textLength="122" clip-path="url(#terminal-1052290131-line-14)">20/08/2026</text><text class="terminal-1052290131-r3" x="158.6" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">│</text><text class="terminal-1052290131-r3" x="183" y="361.6" textLength="500.2" clip-path="url(#terminal-1052290131-line-14)">Liquidazione&#160;IVA&#160;2°&#160;trimestre&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">│</text><text class="terminal-1052290131-r3" x="719.8" y="361.6" textLength="109.8" clip-path="url(#terminal-1052290131-line-14)">iva&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="841.8" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">│</text><text class="terminal-1052290131-r3" x="866.2" y="361.6" textLength="85.4" clip-path="url(#terminal-1052290131-line-14)">F24&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="963.8" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">│</text><text class="terminal-1052290131-r5" x="988.2" y="361.6" textLength="61" clip-path="url(#terminal-1052290131-line-14)">28&#160;gg</text><text class="terminal-1052290131-r3" x="1061.4" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="361.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-14)">
143
+ </text><text class="terminal-1052290131-r3" x="0" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">│</text><text class="terminal-1052290131-r3" x="158.6" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">│</text><text class="terminal-1052290131-r6" x="183" y="386" textLength="488" clip-path="url(#terminal-1052290131-line-15)">Versamento&#160;IVA&#160;relativa&#160;al&#160;2°&#160;trimestre&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">│</text><text class="terminal-1052290131-r3" x="841.8" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">│</text><text class="terminal-1052290131-r3" x="963.8" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="386" textLength="12.2" clip-path="url(#terminal-1052290131-line-15)">
144
+ </text><text class="terminal-1052290131-r3" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">│</text><text class="terminal-1052290131-r3" x="158.6" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">│</text><text class="terminal-1052290131-r6" x="183" y="410.4" textLength="390.4" clip-path="url(#terminal-1052290131-line-16)">2026,&#160;con&#160;maggiorazione&#160;dell&#x27;1%&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">│</text><text class="terminal-1052290131-r3" x="841.8" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">│</text><text class="terminal-1052290131-r3" x="963.8" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="410.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-16)">
145
+ </text><text class="terminal-1052290131-r3" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">│</text><text class="terminal-1052290131-r3" x="158.6" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">│</text><text class="terminal-1052290131-r6" x="183" y="434.8" textLength="488" clip-path="url(#terminal-1052290131-line-17)">(contribuenti&#160;trimestrali;&#160;differimento&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">│</text><text class="terminal-1052290131-r3" x="841.8" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">│</text><text class="terminal-1052290131-r3" x="963.8" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="434.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-17)">
146
+ </text><text class="terminal-1052290131-r3" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">│</text><text class="terminal-1052290131-r3" x="158.6" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">│</text><text class="terminal-1052290131-r6" x="183" y="459.2" textLength="97.6" clip-path="url(#terminal-1052290131-line-18)">feriale)</text><text class="terminal-1052290131-r3" x="695.4" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">│</text><text class="terminal-1052290131-r3" x="841.8" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">│</text><text class="terminal-1052290131-r3" x="963.8" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="459.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-18)">
147
+ </text><text class="terminal-1052290131-r3" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">│</text><text class="terminal-1052290131-r1" x="24.4" y="483.6" textLength="122" clip-path="url(#terminal-1052290131-line-19)">20/08/2026</text><text class="terminal-1052290131-r3" x="158.6" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">│</text><text class="terminal-1052290131-r3" x="183" y="483.6" textLength="500.2" clip-path="url(#terminal-1052290131-line-19)">Versamento&#160;ritenute&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">│</text><text class="terminal-1052290131-r3" x="719.8" y="483.6" textLength="109.8" clip-path="url(#terminal-1052290131-line-19)">ritenute&#160;</text><text class="terminal-1052290131-r3" x="841.8" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">│</text><text class="terminal-1052290131-r3" x="866.2" y="483.6" textLength="85.4" clip-path="url(#terminal-1052290131-line-19)">F24&#160;&#160;&#160;&#160;</text><text class="terminal-1052290131-r3" x="963.8" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">│</text><text class="terminal-1052290131-r5" x="988.2" y="483.6" textLength="61" clip-path="url(#terminal-1052290131-line-19)">28&#160;gg</text><text class="terminal-1052290131-r3" x="1061.4" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="483.6" textLength="12.2" clip-path="url(#terminal-1052290131-line-19)">
148
+ </text><text class="terminal-1052290131-r3" x="0" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">│</text><text class="terminal-1052290131-r3" x="158.6" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">│</text><text class="terminal-1052290131-r6" x="183" y="508" textLength="439.2" clip-path="url(#terminal-1052290131-line-20)">Ritenute&#160;IRPEF&#160;su&#160;redditi&#160;di&#160;lavoro&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">│</text><text class="terminal-1052290131-r3" x="841.8" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">│</text><text class="terminal-1052290131-r3" x="963.8" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="508" textLength="12.2" clip-path="url(#terminal-1052290131-line-20)">
149
+ </text><text class="terminal-1052290131-r3" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">│</text><text class="terminal-1052290131-r3" x="158.6" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">│</text><text class="terminal-1052290131-r6" x="183" y="532.4" textLength="475.8" clip-path="url(#terminal-1052290131-line-21)">dipendente&#160;e&#160;autonomo&#160;operate&#160;a&#160;luglio&#160;</text><text class="terminal-1052290131-r3" x="695.4" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">│</text><text class="terminal-1052290131-r3" x="841.8" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">│</text><text class="terminal-1052290131-r3" x="963.8" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="532.4" textLength="12.2" clip-path="url(#terminal-1052290131-line-21)">
150
+ </text><text class="terminal-1052290131-r3" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">│</text><text class="terminal-1052290131-r3" x="158.6" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">│</text><text class="terminal-1052290131-r6" x="183" y="556.8" textLength="329.4" clip-path="url(#terminal-1052290131-line-22)">2026&#160;(differimento&#160;feriale)</text><text class="terminal-1052290131-r3" x="695.4" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">│</text><text class="terminal-1052290131-r3" x="841.8" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">│</text><text class="terminal-1052290131-r3" x="963.8" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">│</text><text class="terminal-1052290131-r3" x="1061.4" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">│</text><text class="terminal-1052290131-r3" x="1073.6" y="556.8" textLength="12.2" clip-path="url(#terminal-1052290131-line-22)">
151
+ </text><text class="terminal-1052290131-r3" x="0" y="581.2" textLength="1073.6" clip-path="url(#terminal-1052290131-line-23)">└────────────┴───────────────────────────────────────────┴───────────┴─────────┴───────┘</text><text class="terminal-1052290131-r3" x="1073.6" y="581.2" textLength="12.2" clip-path="url(#terminal-1052290131-line-23)">
152
+ </text>
153
+ </g>
154
+ </g>
155
+ </svg>
@@ -0,0 +1,42 @@
1
+ [project]
2
+ name = "scadenze"
3
+ version = "0.1.0"
4
+ description = "Scadenze fiscali italiane 2026, dal terminale"
5
+ readme = "README.md"
6
+ license = { file = "LICENSE" }
7
+ requires-python = ">=3.10"
8
+ authors = [{ name = "Nimesh Bothalage", email = "nimeshbflows@gmail.com" }]
9
+ keywords = ["fisco", "scadenze", "iva", "f24", "cli", "italia"]
10
+ classifiers = [
11
+ "Development Status :: 3 - Alpha",
12
+ "Environment :: Console",
13
+ "License :: OSI Approved :: MIT License",
14
+ "Natural Language :: Italian",
15
+ "Programming Language :: Python :: 3",
16
+ "Topic :: Office/Business :: Financial",
17
+ ]
18
+ dependencies = [
19
+ "typer>=0.12",
20
+ "rich>=13.0",
21
+ "icalendar>=6.0",
22
+ ]
23
+
24
+ [project.urls]
25
+ Homepage = "https://nbflows.com"
26
+ Repository = "https://github.com/nbflows-managemente/scadenze"
27
+
28
+ [project.scripts]
29
+ scadenze = "scadenze.cli:app"
30
+
31
+ [dependency-groups]
32
+ dev = [
33
+ "pillow>=12.3.0",
34
+ "pytest>=8.0",
35
+ ]
36
+
37
+ [build-system]
38
+ requires = ["hatchling"]
39
+ build-backend = "hatchling.build"
40
+
41
+ [tool.hatch.build.targets.wheel]
42
+ packages = ["scadenze"]
@@ -0,0 +1,3 @@
1
+ """Scadenze fiscali italiane 2026, dal terminale."""
2
+
3
+ __version__ = "0.1.0"