odoo-addon-l10n-it-account-stamp 18.0.1.1.1.1__py3-none-any.whl → 18.0.1.2.0.2__py3-none-any.whl
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.
Potentially problematic release.
This version of odoo-addon-l10n-it-account-stamp might be problematic. Click here for more details.
- odoo/addons/l10n_it_account_stamp/README.rst +18 -5
- odoo/addons/l10n_it_account_stamp/__manifest__.py +2 -2
- odoo/addons/l10n_it_account_stamp/i18n/it.po +10 -4
- odoo/addons/l10n_it_account_stamp/i18n/l10n_it_account_stamp.pot +6 -0
- odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/post-migration.py +3 -3
- odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/pre-migration.py +1 -4
- odoo/addons/l10n_it_account_stamp/models/account_move.py +21 -0
- odoo/addons/l10n_it_account_stamp/readme/CONTRIBUTORS.md +1 -0
- odoo/addons/l10n_it_account_stamp/readme/DESCRIPTION.md +4 -3
- odoo/addons/l10n_it_account_stamp/static/description/index.html +30 -16
- odoo/addons/l10n_it_account_stamp/tests/test_account_stamp_invoicing.py +84 -0
- {odoo_addon_l10n_it_account_stamp-18.0.1.1.1.1.dist-info → odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info}/METADATA +20 -6
- {odoo_addon_l10n_it_account_stamp-18.0.1.1.1.1.dist-info → odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info}/RECORD +15 -15
- {odoo_addon_l10n_it_account_stamp-18.0.1.1.1.1.dist-info → odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info}/WHEEL +1 -1
- {odoo_addon_l10n_it_account_stamp-18.0.1.1.1.1.dist-info → odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info}/top_level.txt +0 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
.. image:: https://odoo-community.org/readme-banner-image
|
|
2
|
+
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
3
|
+
:alt: Odoo Community Association
|
|
4
|
+
|
|
1
5
|
======================
|
|
2
6
|
ITA - Imposta di bollo
|
|
3
7
|
======================
|
|
@@ -7,13 +11,13 @@ ITA - Imposta di bollo
|
|
|
7
11
|
!! This file is generated by oca-gen-addon-readme !!
|
|
8
12
|
!! changes will be overwritten. !!
|
|
9
13
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
-
!! source digest: sha256:
|
|
14
|
+
!! source digest: sha256:d29741720c8c8b6a1ad2db28a9979cf34a4cf2868852f58103fe19eaf7c4bd74
|
|
11
15
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
16
|
|
|
13
17
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
14
18
|
:target: https://odoo-community.org/page/development-status
|
|
15
19
|
:alt: Beta
|
|
16
|
-
.. |badge2| image:: https://img.shields.io/badge/
|
|
20
|
+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
|
|
17
21
|
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
|
|
18
22
|
:alt: License: LGPL-3
|
|
19
23
|
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github
|
|
@@ -30,12 +34,19 @@ ITA - Imposta di bollo
|
|
|
30
34
|
|
|
31
35
|
**Italiano**
|
|
32
36
|
|
|
33
|
-
Questo modulo
|
|
34
|
-
fatture e nelle ricevute
|
|
37
|
+
Questo modulo permette di calcolare automaticamente ed addebitare al
|
|
38
|
+
cliente l'imposta di bollo italiana nelle fatture e nelle ricevute
|
|
39
|
+
mantenendo la sincronizzazione con il campo "Dati Bollo"
|
|
40
|
+
(``l10n_it_stamp_duty``) di ``l10n_it_edi``. In questo modo l'elemento
|
|
41
|
+
XML ``<DatiBollo>`` verrà valorizzato correttamente.
|
|
35
42
|
|
|
36
43
|
**English**
|
|
37
44
|
|
|
38
|
-
This module
|
|
45
|
+
This module allows to automatically compute and charge the Italian stamp
|
|
46
|
+
duty to customers in invoices and receipts while maintaining
|
|
47
|
+
synchronization with the "Stamp Duty Data" field
|
|
48
|
+
(``l10n_it_stamp_duty``) of ``l10n_it_edi``. In this way XML tag
|
|
49
|
+
``<DatiBollo>`` will be correctly set.
|
|
39
50
|
|
|
40
51
|
**Table of contents**
|
|
41
52
|
|
|
@@ -169,6 +180,8 @@ Contributors
|
|
|
169
180
|
|
|
170
181
|
- Simone Rubino <simone.rubino@aion-tech.it>
|
|
171
182
|
|
|
183
|
+
- `Nextev Srl <https://www.nextev.it>`__
|
|
184
|
+
|
|
172
185
|
Maintainers
|
|
173
186
|
-----------
|
|
174
187
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
{
|
|
10
10
|
"name": "ITA - Imposta di bollo",
|
|
11
|
-
"version": "18.0.1.
|
|
11
|
+
"version": "18.0.1.2.0",
|
|
12
12
|
"category": "Localization/Italy",
|
|
13
13
|
"summary": "Gestione automatica dell'imposta di bollo",
|
|
14
14
|
"author": "Ermanno Gnan, Sergio Corato, Enrico Ganzaroli, "
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"license": "LGPL-3",
|
|
18
18
|
"depends": [
|
|
19
19
|
"product",
|
|
20
|
-
"
|
|
20
|
+
"l10n_it_edi",
|
|
21
21
|
],
|
|
22
22
|
"data": [
|
|
23
23
|
"data/data.xml",
|
|
@@ -7,8 +7,8 @@ msgstr ""
|
|
|
7
7
|
"Project-Id-Version: Odoo Server 16.0\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
9
|
"POT-Creation-Date: 2024-09-23 15:50+0000\n"
|
|
10
|
-
"PO-Revision-Date: 2025-
|
|
11
|
-
"Last-Translator:
|
|
10
|
+
"PO-Revision-Date: 2025-11-10 08:36+0000\n"
|
|
11
|
+
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
|
12
12
|
"Language-Team: \n"
|
|
13
13
|
"Language: it\n"
|
|
14
14
|
"MIME-Version: 1.0\n"
|
|
@@ -25,8 +25,8 @@ msgid ""
|
|
|
25
25
|
" Stamp charged to customer\n"
|
|
26
26
|
" </span>"
|
|
27
27
|
msgstr ""
|
|
28
|
-
"<span invisible
|
|
29
|
-
"
|
|
28
|
+
"<span invisible=\"not "
|
|
29
|
+
"l10n_it_account_stamp_is_stamp_duty_invoice_line_present\">\n"
|
|
30
30
|
" Bollo addebitato al cliente\n"
|
|
31
31
|
" </span>"
|
|
32
32
|
|
|
@@ -77,6 +77,12 @@ msgstr "Impostazioni di configurazione"
|
|
|
77
77
|
msgid "Configuration for stamp duty"
|
|
78
78
|
msgstr "Configurazione imposta di bollo"
|
|
79
79
|
|
|
80
|
+
#. module: l10n_it_account_stamp
|
|
81
|
+
#: model:ir.model.fields,field_description:l10n_it_account_stamp.field_account_bank_statement_line__l10n_it_stamp_duty
|
|
82
|
+
#: model:ir.model.fields,field_description:l10n_it_account_stamp.field_account_move__l10n_it_stamp_duty
|
|
83
|
+
msgid "Dati Bollo"
|
|
84
|
+
msgstr "Dati bollo"
|
|
85
|
+
|
|
80
86
|
#. module: l10n_it_account_stamp
|
|
81
87
|
#: model_terms:ir.ui.view,arch_db:l10n_it_account_stamp.product_template_form_view_account_stamp
|
|
82
88
|
msgid ""
|
|
@@ -63,6 +63,12 @@ msgstr ""
|
|
|
63
63
|
msgid "Configuration for stamp duty"
|
|
64
64
|
msgstr ""
|
|
65
65
|
|
|
66
|
+
#. module: l10n_it_account_stamp
|
|
67
|
+
#: model:ir.model.fields,field_description:l10n_it_account_stamp.field_account_bank_statement_line__l10n_it_stamp_duty
|
|
68
|
+
#: model:ir.model.fields,field_description:l10n_it_account_stamp.field_account_move__l10n_it_stamp_duty
|
|
69
|
+
msgid "Dati Bollo"
|
|
70
|
+
msgstr ""
|
|
71
|
+
|
|
66
72
|
#. module: l10n_it_account_stamp
|
|
67
73
|
#: model_terms:ir.ui.view,arch_db:l10n_it_account_stamp.product_template_form_view_account_stamp
|
|
68
74
|
msgid ""
|
|
@@ -5,10 +5,10 @@ from openupgradelib import openupgrade
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
@openupgrade.migrate()
|
|
8
|
-
def migrate(
|
|
8
|
+
def migrate(env, version):
|
|
9
9
|
openupgrade.load_data(
|
|
10
|
-
|
|
10
|
+
env, "l10n_it_account_stamp", "migrations/18.0.1.0.0/noupdate_changes.xml"
|
|
11
11
|
)
|
|
12
12
|
openupgrade.delete_record_translations(
|
|
13
|
-
cr, "l10n_it_account_stamp", ["l10n_it_account_stamp_2_euro"]
|
|
13
|
+
env.cr, "l10n_it_account_stamp", ["l10n_it_account_stamp_2_euro"]
|
|
14
14
|
)
|
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
from openupgradelib import openupgrade
|
|
5
5
|
|
|
6
|
-
from odoo import SUPERUSER_ID, api
|
|
7
|
-
|
|
8
6
|
|
|
9
7
|
def _rename_fields(env):
|
|
10
8
|
openupgrade.rename_fields(
|
|
@@ -75,6 +73,5 @@ def _rename_fields(env):
|
|
|
75
73
|
|
|
76
74
|
|
|
77
75
|
@openupgrade.migrate()
|
|
78
|
-
def migrate(
|
|
79
|
-
env = api.Environment(cr, SUPERUSER_ID, {})
|
|
76
|
+
def migrate(env, version):
|
|
80
77
|
_rename_fields(env)
|
|
@@ -25,6 +25,27 @@ class AccountMove(models.Model):
|
|
|
25
25
|
l10n_it_account_stamp_manually_apply_stamp_duty = fields.Boolean(
|
|
26
26
|
string="Apply stamp duty",
|
|
27
27
|
)
|
|
28
|
+
l10n_it_stamp_duty = fields.Float(
|
|
29
|
+
compute="_compute_l10n_it_stamp_duty",
|
|
30
|
+
store=True,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
@api.depends(
|
|
34
|
+
"l10n_it_account_stamp_is_stamp_duty_applied",
|
|
35
|
+
"company_id.l10n_it_account_stamp_stamp_duty_product_id.list_price",
|
|
36
|
+
)
|
|
37
|
+
def _compute_l10n_it_stamp_duty(self):
|
|
38
|
+
for invoice in self:
|
|
39
|
+
if invoice.state != "draft":
|
|
40
|
+
continue
|
|
41
|
+
elif invoice.l10n_it_account_stamp_is_stamp_duty_applied:
|
|
42
|
+
stamp_product = (
|
|
43
|
+
invoice.company_id.l10n_it_account_stamp_stamp_duty_product_id
|
|
44
|
+
)
|
|
45
|
+
stamp_duty_amount = stamp_product.list_price
|
|
46
|
+
else:
|
|
47
|
+
stamp_duty_amount = 0
|
|
48
|
+
invoice.l10n_it_stamp_duty = stamp_duty_amount
|
|
28
49
|
|
|
29
50
|
def is_stamp_duty_applicable(self):
|
|
30
51
|
stamp_product_id = self.company_id.with_context(
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
**Italiano**
|
|
2
2
|
|
|
3
|
-
Questo modulo
|
|
4
|
-
|
|
3
|
+
Questo modulo permette di calcolare automaticamente ed addebitare al cliente l'imposta di bollo italiana nelle fatture e nelle ricevute mantenendo la sincronizzazione con il campo "Dati Bollo" (`l10n_it_stamp_duty`) di `l10n_it_edi`.
|
|
4
|
+
In questo modo l'elemento XML `<DatiBollo>` verrà valorizzato correttamente.
|
|
5
5
|
|
|
6
6
|
**English**
|
|
7
7
|
|
|
8
|
-
This module
|
|
8
|
+
This module allows to automatically compute and charge the Italian stamp duty to customers in invoices and receipts while maintaining synchronization with the "Stamp Duty Data" field (`l10n_it_stamp_duty`) of `l10n_it_edi`.
|
|
9
|
+
In this way XML tag `<DatiBollo>` will be correctly set.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
5
5
|
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
|
|
6
|
-
<title>
|
|
6
|
+
<title>README.rst</title>
|
|
7
7
|
<style type="text/css">
|
|
8
8
|
|
|
9
9
|
/*
|
|
@@ -360,21 +360,33 @@ ul.auto-toc {
|
|
|
360
360
|
</style>
|
|
361
361
|
</head>
|
|
362
362
|
<body>
|
|
363
|
-
<div class="document"
|
|
364
|
-
<h1 class="title">ITA - Imposta di bollo</h1>
|
|
363
|
+
<div class="document">
|
|
365
364
|
|
|
365
|
+
|
|
366
|
+
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
|
|
367
|
+
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
|
|
368
|
+
</a>
|
|
369
|
+
<div class="section" id="ita-imposta-di-bollo">
|
|
370
|
+
<h1>ITA - Imposta di bollo</h1>
|
|
366
371
|
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
367
372
|
!! This file is generated by oca-gen-addon-readme !!
|
|
368
373
|
!! changes will be overwritten. !!
|
|
369
374
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
370
|
-
!! source digest: sha256:
|
|
375
|
+
!! source digest: sha256:d29741720c8c8b6a1ad2db28a9979cf34a4cf2868852f58103fe19eaf7c4bd74
|
|
371
376
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
372
|
-
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/
|
|
377
|
+
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-italy/tree/18.0/l10n_it_account_stamp"><img alt="OCA/l10n-italy" src="https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/l10n-italy-18-0/l10n-italy-18-0-l10n_it_account_stamp"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
373
378
|
<p><strong>Italiano</strong></p>
|
|
374
|
-
<p>Questo modulo
|
|
375
|
-
fatture e nelle ricevute
|
|
379
|
+
<p>Questo modulo permette di calcolare automaticamente ed addebitare al
|
|
380
|
+
cliente l’imposta di bollo italiana nelle fatture e nelle ricevute
|
|
381
|
+
mantenendo la sincronizzazione con il campo “Dati Bollo”
|
|
382
|
+
(<tt class="docutils literal">l10n_it_stamp_duty</tt>) di <tt class="docutils literal">l10n_it_edi</tt>. In questo modo l’elemento
|
|
383
|
+
XML <tt class="docutils literal"><DatiBollo></tt> verrà valorizzato correttamente.</p>
|
|
376
384
|
<p><strong>English</strong></p>
|
|
377
|
-
<p>This module
|
|
385
|
+
<p>This module allows to automatically compute and charge the Italian stamp
|
|
386
|
+
duty to customers in invoices and receipts while maintaining
|
|
387
|
+
synchronization with the “Stamp Duty Data” field
|
|
388
|
+
(<tt class="docutils literal">l10n_it_stamp_duty</tt>) of <tt class="docutils literal">l10n_it_edi</tt>. In this way XML tag
|
|
389
|
+
<tt class="docutils literal"><DatiBollo></tt> will be correctly set.</p>
|
|
378
390
|
<p><strong>Table of contents</strong></p>
|
|
379
391
|
<div class="contents local topic" id="contents">
|
|
380
392
|
<ul class="simple">
|
|
@@ -391,7 +403,7 @@ fatture e nelle ricevute.</p>
|
|
|
391
403
|
</ul>
|
|
392
404
|
</div>
|
|
393
405
|
<div class="section" id="configuration">
|
|
394
|
-
<
|
|
406
|
+
<h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
|
|
395
407
|
<p><strong>Italiano</strong></p>
|
|
396
408
|
<p>Per modificare le impostazioni sul prodotto “Imposta di bollo 2 euro” è
|
|
397
409
|
necessario abilitare le funzioni complete per la contabilità:</p>
|
|
@@ -446,7 +458,7 @@ checkbox.</li>
|
|
|
446
458
|
and expense = ‘Valori bollati’.</p>
|
|
447
459
|
</div>
|
|
448
460
|
<div class="section" id="usage">
|
|
449
|
-
<
|
|
461
|
+
<h2><a class="toc-backref" href="#toc-entry-2">Usage</a></h2>
|
|
450
462
|
<p><strong>Italiano</strong></p>
|
|
451
463
|
<p>Se nella fattura o ricevuta è previsto l’addebito dell’imposta di bollo
|
|
452
464
|
al cliente, fare clic sul pulsante “Aggiungi riga bollo” per aggiungere
|
|
@@ -460,7 +472,7 @@ button to add stamp duty as invoice line, thus charging customer.</p>
|
|
|
460
472
|
customer.</p>
|
|
461
473
|
</div>
|
|
462
474
|
<div class="section" id="known-issues-roadmap">
|
|
463
|
-
<
|
|
475
|
+
<h2><a class="toc-backref" href="#toc-entry-3">Known issues / Roadmap</a></h2>
|
|
464
476
|
<p>** Italiano **</p>
|
|
465
477
|
<p>Sono stati aggiunti gli script di migrazione, da provare quando saranno
|
|
466
478
|
rilasciati quelli relativi ad <tt class="docutils literal">account</tt>.</p>
|
|
@@ -469,7 +481,7 @@ rilasciati quelli relativi ad <tt class="docutils literal">account</tt>.</p>
|
|
|
469
481
|
ones will be released.</p>
|
|
470
482
|
</div>
|
|
471
483
|
<div class="section" id="bug-tracker">
|
|
472
|
-
<
|
|
484
|
+
<h2><a class="toc-backref" href="#toc-entry-4">Bug Tracker</a></h2>
|
|
473
485
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/l10n-italy/issues">GitHub Issues</a>.
|
|
474
486
|
In case of trouble, please check there if your issue has already been reported.
|
|
475
487
|
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
|
@@ -477,9 +489,9 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
477
489
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
|
478
490
|
</div>
|
|
479
491
|
<div class="section" id="credits">
|
|
480
|
-
<
|
|
492
|
+
<h2><a class="toc-backref" href="#toc-entry-5">Credits</a></h2>
|
|
481
493
|
<div class="section" id="authors">
|
|
482
|
-
<
|
|
494
|
+
<h3><a class="toc-backref" href="#toc-entry-6">Authors</a></h3>
|
|
483
495
|
<ul class="simple">
|
|
484
496
|
<li>Ermanno Gnan</li>
|
|
485
497
|
<li>Sergio Corato</li>
|
|
@@ -487,7 +499,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
487
499
|
</ul>
|
|
488
500
|
</div>
|
|
489
501
|
<div class="section" id="contributors">
|
|
490
|
-
<
|
|
502
|
+
<h3><a class="toc-backref" href="#toc-entry-7">Contributors</a></h3>
|
|
491
503
|
<ul class="simple">
|
|
492
504
|
<li>Lorenzo Battistini <<a class="reference external" href="https://github.com/eLBati">https://github.com/eLBati</a>></li>
|
|
493
505
|
<li>Sergio Corato</li>
|
|
@@ -501,10 +513,11 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
|
|
501
513
|
<li>Simone Rubino <<a class="reference external" href="mailto:simone.rubino@aion-tech.it">simone.rubino@aion-tech.it</a>></li>
|
|
502
514
|
</ul>
|
|
503
515
|
</li>
|
|
516
|
+
<li><a class="reference external" href="https://www.nextev.it">Nextev Srl</a></li>
|
|
504
517
|
</ul>
|
|
505
518
|
</div>
|
|
506
519
|
<div class="section" id="maintainers">
|
|
507
|
-
<
|
|
520
|
+
<h3><a class="toc-backref" href="#toc-entry-8">Maintainers</a></h3>
|
|
508
521
|
<p>This module is maintained by the OCA.</p>
|
|
509
522
|
<a class="reference external image-reference" href="https://odoo-community.org">
|
|
510
523
|
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
|
|
@@ -517,5 +530,6 @@ promote its widespread use.</p>
|
|
|
517
530
|
</div>
|
|
518
531
|
</div>
|
|
519
532
|
</div>
|
|
533
|
+
</div>
|
|
520
534
|
</body>
|
|
521
535
|
</html>
|
|
@@ -130,3 +130,87 @@ class InvoicingTest(TestAccountInvoiceReport):
|
|
|
130
130
|
self.assertEqual(
|
|
131
131
|
len(invoice.line_ids.filtered(lambda line: line.is_stamp_line)), 0
|
|
132
132
|
)
|
|
133
|
+
|
|
134
|
+
def test_compute_l10n_it_stamp_duty(self):
|
|
135
|
+
"""Test that l10n_it_stamp_duty is correctly computed based on stamp
|
|
136
|
+
application and product price."""
|
|
137
|
+
stamp_product = self.env.company.l10n_it_account_stamp_stamp_duty_product_id
|
|
138
|
+
stamp_price = stamp_product.list_price
|
|
139
|
+
|
|
140
|
+
# Test 1: Invoice in draft with stamp duty applied
|
|
141
|
+
invoice = first(
|
|
142
|
+
self.invoices.filtered(lambda inv: inv.move_type == "out_invoice")
|
|
143
|
+
)
|
|
144
|
+
invoice.invoice_line_ids[0].write({"tax_ids": [(6, 0, [self.tax_id.id])]})
|
|
145
|
+
self.assertTrue(invoice.l10n_it_account_stamp_is_stamp_duty_applied)
|
|
146
|
+
self.assertEqual(invoice.state, "draft")
|
|
147
|
+
self.assertEqual(
|
|
148
|
+
invoice.l10n_it_stamp_duty,
|
|
149
|
+
stamp_price,
|
|
150
|
+
"Stamp duty should equal product price when applied in draft",
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
# Test 2: Invoice in draft without stamp duty applied
|
|
154
|
+
invoice2 = self.env["account.move"].create(
|
|
155
|
+
{
|
|
156
|
+
"move_type": "out_invoice",
|
|
157
|
+
"partner_id": self.partner_a.id,
|
|
158
|
+
"invoice_date": "2024-01-01",
|
|
159
|
+
"invoice_line_ids": [
|
|
160
|
+
(
|
|
161
|
+
0,
|
|
162
|
+
0,
|
|
163
|
+
{
|
|
164
|
+
"name": "Test Product Without Stamp",
|
|
165
|
+
"price_unit": 100.0,
|
|
166
|
+
"quantity": 1,
|
|
167
|
+
},
|
|
168
|
+
)
|
|
169
|
+
],
|
|
170
|
+
}
|
|
171
|
+
)
|
|
172
|
+
self.assertFalse(invoice2.l10n_it_account_stamp_is_stamp_duty_applied)
|
|
173
|
+
self.assertEqual(invoice2.state, "draft")
|
|
174
|
+
self.assertEqual(
|
|
175
|
+
invoice2.l10n_it_stamp_duty,
|
|
176
|
+
0,
|
|
177
|
+
"Stamp duty should be 0 when not applied",
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
# Test 3: Posted invoice should keep value from draft
|
|
181
|
+
invoice.action_post()
|
|
182
|
+
self.assertEqual(invoice.state, "posted")
|
|
183
|
+
self.assertEqual(
|
|
184
|
+
invoice.l10n_it_stamp_duty,
|
|
185
|
+
stamp_price,
|
|
186
|
+
"Stamp duty should be preserved after posting",
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
# Test 4: Change stamp product price and verify recomputation
|
|
190
|
+
new_price = 5.0
|
|
191
|
+
stamp_product.list_price = new_price
|
|
192
|
+
invoice3 = self.env["account.move"].create(
|
|
193
|
+
{
|
|
194
|
+
"move_type": "out_invoice",
|
|
195
|
+
"partner_id": self.partner_a.id,
|
|
196
|
+
"invoice_date": "2024-01-01",
|
|
197
|
+
"invoice_line_ids": [
|
|
198
|
+
(
|
|
199
|
+
0,
|
|
200
|
+
0,
|
|
201
|
+
{
|
|
202
|
+
"name": "Test Product",
|
|
203
|
+
"price_unit": 100.0,
|
|
204
|
+
"quantity": 1,
|
|
205
|
+
"tax_ids": [(6, 0, [self.tax_id.id])],
|
|
206
|
+
},
|
|
207
|
+
)
|
|
208
|
+
],
|
|
209
|
+
}
|
|
210
|
+
)
|
|
211
|
+
self.assertTrue(invoice3.l10n_it_account_stamp_is_stamp_duty_applied)
|
|
212
|
+
self.assertEqual(
|
|
213
|
+
invoice3.l10n_it_stamp_duty,
|
|
214
|
+
new_price,
|
|
215
|
+
"Stamp duty should reflect updated product price",
|
|
216
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-l10n_it_account_stamp
|
|
3
|
-
Version: 18.0.1.
|
|
3
|
+
Version: 18.0.1.2.0.2
|
|
4
4
|
Requires-Python: >=3.10
|
|
5
5
|
Requires-Dist: odoo==18.0.*
|
|
6
6
|
Summary: Gestione automatica dell'imposta di bollo
|
|
@@ -12,6 +12,11 @@ Classifier: Programming Language :: Python
|
|
|
12
12
|
Classifier: Framework :: Odoo
|
|
13
13
|
Classifier: Framework :: Odoo :: 18.0
|
|
14
14
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
15
|
+
Description-Content-Type: text/x-rst
|
|
16
|
+
|
|
17
|
+
.. image:: https://odoo-community.org/readme-banner-image
|
|
18
|
+
:target: https://odoo-community.org/get-involved?utm_source=readme
|
|
19
|
+
:alt: Odoo Community Association
|
|
15
20
|
|
|
16
21
|
======================
|
|
17
22
|
ITA - Imposta di bollo
|
|
@@ -22,13 +27,13 @@ ITA - Imposta di bollo
|
|
|
22
27
|
!! This file is generated by oca-gen-addon-readme !!
|
|
23
28
|
!! changes will be overwritten. !!
|
|
24
29
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
25
|
-
!! source digest: sha256:
|
|
30
|
+
!! source digest: sha256:d29741720c8c8b6a1ad2db28a9979cf34a4cf2868852f58103fe19eaf7c4bd74
|
|
26
31
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
27
32
|
|
|
28
33
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
29
34
|
:target: https://odoo-community.org/page/development-status
|
|
30
35
|
:alt: Beta
|
|
31
|
-
.. |badge2| image:: https://img.shields.io/badge/
|
|
36
|
+
.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png
|
|
32
37
|
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
|
|
33
38
|
:alt: License: LGPL-3
|
|
34
39
|
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github
|
|
@@ -45,12 +50,19 @@ ITA - Imposta di bollo
|
|
|
45
50
|
|
|
46
51
|
**Italiano**
|
|
47
52
|
|
|
48
|
-
Questo modulo
|
|
49
|
-
fatture e nelle ricevute
|
|
53
|
+
Questo modulo permette di calcolare automaticamente ed addebitare al
|
|
54
|
+
cliente l'imposta di bollo italiana nelle fatture e nelle ricevute
|
|
55
|
+
mantenendo la sincronizzazione con il campo "Dati Bollo"
|
|
56
|
+
(``l10n_it_stamp_duty``) di ``l10n_it_edi``. In questo modo l'elemento
|
|
57
|
+
XML ``<DatiBollo>`` verrà valorizzato correttamente.
|
|
50
58
|
|
|
51
59
|
**English**
|
|
52
60
|
|
|
53
|
-
This module
|
|
61
|
+
This module allows to automatically compute and charge the Italian stamp
|
|
62
|
+
duty to customers in invoices and receipts while maintaining
|
|
63
|
+
synchronization with the "Stamp Duty Data" field
|
|
64
|
+
(``l10n_it_stamp_duty``) of ``l10n_it_edi``. In this way XML tag
|
|
65
|
+
``<DatiBollo>`` will be correctly set.
|
|
54
66
|
|
|
55
67
|
**Table of contents**
|
|
56
68
|
|
|
@@ -184,6 +196,8 @@ Contributors
|
|
|
184
196
|
|
|
185
197
|
- Simone Rubino <simone.rubino@aion-tech.it>
|
|
186
198
|
|
|
199
|
+
- `Nextev Srl <https://www.nextev.it>`__
|
|
200
|
+
|
|
187
201
|
Maintainers
|
|
188
202
|
-----------
|
|
189
203
|
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
odoo/addons/l10n_it_account_stamp/README.rst,sha256=
|
|
1
|
+
odoo/addons/l10n_it_account_stamp/README.rst,sha256=Dy-H75LlBVFTPCRKvJT2B2ptg3y39eZJRNKD7lBD3Cs,6760
|
|
2
2
|
odoo/addons/l10n_it_account_stamp/__init__.py,sha256=I-UsDedt5Yu5h6YsECfkEkBOa9D7HC0Fh_CU937Zu38,87
|
|
3
|
-
odoo/addons/l10n_it_account_stamp/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/l10n_it_account_stamp/__manifest__.py,sha256=woSqyr20jG4Mpj6loQmwP5oLE6a_tvbgNRSej-vhOfY,1059
|
|
4
4
|
odoo/addons/l10n_it_account_stamp/data/data.xml,sha256=MhvW0YkctLZiKGBbu_5jqNkRhDlXNG_hXrak9RQHuUo,1094
|
|
5
|
-
odoo/addons/l10n_it_account_stamp/i18n/it.po,sha256=
|
|
6
|
-
odoo/addons/l10n_it_account_stamp/i18n/l10n_it_account_stamp.pot,sha256=
|
|
5
|
+
odoo/addons/l10n_it_account_stamp/i18n/it.po,sha256=gRyDrhXCi49zfzJOT0UevP6DffH_meuhMBVQuoeTU3A,10952
|
|
6
|
+
odoo/addons/l10n_it_account_stamp/i18n/l10n_it_account_stamp.pot,sha256=xTfqIhx4QGqoVyc68jQkFqzGX65YTSUze9ROOTh_e7c,8628
|
|
7
7
|
odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/noupdate_changes.xml,sha256=OpJK3JV1HX1N2FyR2i6hu3hhCRYGJaCrYGQ6TZmWf8E,421
|
|
8
|
-
odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/post-migration.py,sha256=
|
|
9
|
-
odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/pre-migration.py,sha256=
|
|
8
|
+
odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/post-migration.py,sha256=BsU-jlcb6lOMCd7WmLf2rhs4Vszvv7o5erHcvDSfCAY,433
|
|
9
|
+
odoo/addons/l10n_it_account_stamp/migrations/18.0.1.0.0/pre-migration.py,sha256=vW7ZEsx0R7omyDgqFr_Wnuc7MuaqKNq9g0sUOsvKWDQ,2287
|
|
10
10
|
odoo/addons/l10n_it_account_stamp/migrations/18.0.1.1.0/post-migration.py,sha256=FYFeo6p50V83n9IX543pRFbBMt8yvI7S4a1rZbyUzAA,425
|
|
11
11
|
odoo/addons/l10n_it_account_stamp/models/__init__.py,sha256=VsCLpIwj3dfslYgxeQVnrRaP8UYXOcLxzerxw9b9sFM,137
|
|
12
|
-
odoo/addons/l10n_it_account_stamp/models/account_move.py,sha256
|
|
12
|
+
odoo/addons/l10n_it_account_stamp/models/account_move.py,sha256=9Evbr1licfjzcbzAwcMbPV1NWjnaejbeYdbqgP-6NVQ,9421
|
|
13
13
|
odoo/addons/l10n_it_account_stamp/models/company.py,sha256=I5MlCiNrEyRpwWX2WE6Ic6DOUCcQSPlFtUIRioZhgRc,742
|
|
14
14
|
odoo/addons/l10n_it_account_stamp/models/product.py,sha256=HAI9kpd4cZ_HoN1h0HLny4-CrDnJhr1-_yFT7ucrjVw,1339
|
|
15
15
|
odoo/addons/l10n_it_account_stamp/readme/CONFIGURE.md,sha256=RmmbbhkW6tQMDqd4ivSzFmwtdr3Btz3lmvMvR__wIXI,1905
|
|
16
|
-
odoo/addons/l10n_it_account_stamp/readme/CONTRIBUTORS.md,sha256=
|
|
17
|
-
odoo/addons/l10n_it_account_stamp/readme/DESCRIPTION.md,sha256=
|
|
16
|
+
odoo/addons/l10n_it_account_stamp/readme/CONTRIBUTORS.md,sha256=ILYy_CY7q6ew2p9YaHOl1E6yX-axzIk9yoAROYcRJ7s,432
|
|
17
|
+
odoo/addons/l10n_it_account_stamp/readme/DESCRIPTION.md,sha256=FDqWrmnvQtAUHyc9URoDZZIeHiIl49Q-v2AIqkEmji8,620
|
|
18
18
|
odoo/addons/l10n_it_account_stamp/readme/ROADMAP.md,sha256=Vxt80XPvr1M0GN7RYs7FK7_bJq7-4h1xT7rpTRYOx0U,239
|
|
19
19
|
odoo/addons/l10n_it_account_stamp/readme/USAGE.md,sha256=hwH13xYIEimvkJEjcOzTsj-mQDbvRGMouwuTNJA5c1g,532
|
|
20
20
|
odoo/addons/l10n_it_account_stamp/static/description/icon.png,sha256=usHO6eloiDtrFBKGx4Bz_wpruwZYZYq6EcMdePNf3k0,13940
|
|
21
|
-
odoo/addons/l10n_it_account_stamp/static/description/index.html,sha256=
|
|
21
|
+
odoo/addons/l10n_it_account_stamp/static/description/index.html,sha256=QXl-lDlQvK-R0LgGogsPVvq8dK_NAmc-cVxd_kBp610,18062
|
|
22
22
|
odoo/addons/l10n_it_account_stamp/tests/__init__.py,sha256=WJD_Fmau2vDl9KNayDUsi2kw1PiU9D3OvonXLmiw3_4,43
|
|
23
|
-
odoo/addons/l10n_it_account_stamp/tests/test_account_stamp_invoicing.py,sha256=
|
|
23
|
+
odoo/addons/l10n_it_account_stamp/tests/test_account_stamp_invoicing.py,sha256=zL9l7Ox6d6ADkDwfjRQhvIo5hVvzx_e4TafYZfHwbAQ,7884
|
|
24
24
|
odoo/addons/l10n_it_account_stamp/views/account_move_report.xml,sha256=Yfi10juZ7F7EAovQEdemkKybIq5kJUsBCQ-CUHbVyKU,619
|
|
25
25
|
odoo/addons/l10n_it_account_stamp/views/account_move_view.xml,sha256=7veIlyguQdO7NOsi3xy9rjfAulRCF-pHBXAStBU7WwY,3475
|
|
26
26
|
odoo/addons/l10n_it_account_stamp/views/company_view.xml,sha256=pn0LTKJgmuC0K809N9hczp9nAafy5EU7hlsbQ9zzexI,812
|
|
27
27
|
odoo/addons/l10n_it_account_stamp/views/product_view.xml,sha256=dufET6GNsx25w-HIM9N6b18YC-72exQIngwHef66GUs,2335
|
|
28
|
-
odoo_addon_l10n_it_account_stamp-18.0.1.
|
|
29
|
-
odoo_addon_l10n_it_account_stamp-18.0.1.
|
|
30
|
-
odoo_addon_l10n_it_account_stamp-18.0.1.
|
|
31
|
-
odoo_addon_l10n_it_account_stamp-18.0.1.
|
|
28
|
+
odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info/METADATA,sha256=tsfSl6Ce71zvoeNIv2_kGIse_lSU_Y0fFuV_AC7TUSg,7370
|
|
29
|
+
odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info/WHEEL,sha256=ZhOvUsYhy81Dx67gN3TV0RchQWBIIzutDZaJODDg2Vo,81
|
|
30
|
+
odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
|
31
|
+
odoo_addon_l10n_it_account_stamp-18.0.1.2.0.2.dist-info/RECORD,,
|