odoo-addon-l10n-it-vat-registries 16.0.1.4.0.2__py3-none-any.whl → 18.0.1.0.0.6__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.
Files changed (96) hide show
  1. odoo/addons/l10n_it_vat_registries/README.rst +13 -6
  2. odoo/addons/l10n_it_vat_registries/__manifest__.py +2 -2
  3. odoo/addons/l10n_it_vat_registries/i18n/am.po +0 -55
  4. odoo/addons/l10n_it_vat_registries/i18n/ar.po +0 -55
  5. odoo/addons/l10n_it_vat_registries/i18n/bg.po +0 -55
  6. odoo/addons/l10n_it_vat_registries/i18n/bs.po +2 -57
  7. odoo/addons/l10n_it_vat_registries/i18n/ca.po +0 -55
  8. odoo/addons/l10n_it_vat_registries/i18n/ca_ES.po +0 -55
  9. odoo/addons/l10n_it_vat_registries/i18n/cs.po +0 -55
  10. odoo/addons/l10n_it_vat_registries/i18n/da.po +0 -55
  11. odoo/addons/l10n_it_vat_registries/i18n/de.po +2 -57
  12. odoo/addons/l10n_it_vat_registries/i18n/el_GR.po +0 -55
  13. odoo/addons/l10n_it_vat_registries/i18n/en_AU.po +0 -55
  14. odoo/addons/l10n_it_vat_registries/i18n/en_GB.po +0 -55
  15. odoo/addons/l10n_it_vat_registries/i18n/es.po +0 -55
  16. odoo/addons/l10n_it_vat_registries/i18n/es_AR.po +0 -55
  17. odoo/addons/l10n_it_vat_registries/i18n/es_CL.po +0 -55
  18. odoo/addons/l10n_it_vat_registries/i18n/es_CO.po +0 -55
  19. odoo/addons/l10n_it_vat_registries/i18n/es_CR.po +0 -55
  20. odoo/addons/l10n_it_vat_registries/i18n/es_DO.po +0 -55
  21. odoo/addons/l10n_it_vat_registries/i18n/es_EC.po +0 -55
  22. odoo/addons/l10n_it_vat_registries/i18n/es_ES.po +0 -55
  23. odoo/addons/l10n_it_vat_registries/i18n/es_MX.po +0 -55
  24. odoo/addons/l10n_it_vat_registries/i18n/es_PE.po +0 -55
  25. odoo/addons/l10n_it_vat_registries/i18n/es_PY.po +0 -55
  26. odoo/addons/l10n_it_vat_registries/i18n/es_VE.po +0 -55
  27. odoo/addons/l10n_it_vat_registries/i18n/et.po +0 -55
  28. odoo/addons/l10n_it_vat_registries/i18n/eu.po +0 -55
  29. odoo/addons/l10n_it_vat_registries/i18n/fa.po +0 -55
  30. odoo/addons/l10n_it_vat_registries/i18n/fi.po +0 -55
  31. odoo/addons/l10n_it_vat_registries/i18n/fr.po +0 -55
  32. odoo/addons/l10n_it_vat_registries/i18n/fr_CA.po +0 -55
  33. odoo/addons/l10n_it_vat_registries/i18n/fr_CH.po +0 -55
  34. odoo/addons/l10n_it_vat_registries/i18n/fr_FR.po +0 -55
  35. odoo/addons/l10n_it_vat_registries/i18n/gl.po +0 -55
  36. odoo/addons/l10n_it_vat_registries/i18n/gl_ES.po +0 -55
  37. odoo/addons/l10n_it_vat_registries/i18n/he.po +0 -55
  38. odoo/addons/l10n_it_vat_registries/i18n/hi.po +0 -55
  39. odoo/addons/l10n_it_vat_registries/i18n/hr.po +2 -57
  40. odoo/addons/l10n_it_vat_registries/i18n/hr_HR.po +2 -57
  41. odoo/addons/l10n_it_vat_registries/i18n/hu.po +0 -55
  42. odoo/addons/l10n_it_vat_registries/i18n/id.po +0 -55
  43. odoo/addons/l10n_it_vat_registries/i18n/it.po +46 -137
  44. odoo/addons/l10n_it_vat_registries/i18n/ja.po +0 -55
  45. odoo/addons/l10n_it_vat_registries/i18n/ko.po +0 -55
  46. odoo/addons/l10n_it_vat_registries/i18n/l10n_it_vat_registries.pot +31 -62
  47. odoo/addons/l10n_it_vat_registries/i18n/lo.po +0 -55
  48. odoo/addons/l10n_it_vat_registries/i18n/lt.po +2 -57
  49. odoo/addons/l10n_it_vat_registries/i18n/lt_LT.po +2 -57
  50. odoo/addons/l10n_it_vat_registries/i18n/lv.po +0 -55
  51. odoo/addons/l10n_it_vat_registries/i18n/mk.po +0 -55
  52. odoo/addons/l10n_it_vat_registries/i18n/mn.po +0 -55
  53. odoo/addons/l10n_it_vat_registries/i18n/nb.po +0 -55
  54. odoo/addons/l10n_it_vat_registries/i18n/nb_NO.po +0 -55
  55. odoo/addons/l10n_it_vat_registries/i18n/nl.po +0 -55
  56. odoo/addons/l10n_it_vat_registries/i18n/nl_BE.po +0 -55
  57. odoo/addons/l10n_it_vat_registries/i18n/pl.po +3 -58
  58. odoo/addons/l10n_it_vat_registries/i18n/pt.po +0 -55
  59. odoo/addons/l10n_it_vat_registries/i18n/pt_BR.po +0 -55
  60. odoo/addons/l10n_it_vat_registries/i18n/pt_PT.po +0 -55
  61. odoo/addons/l10n_it_vat_registries/i18n/ro.po +0 -55
  62. odoo/addons/l10n_it_vat_registries/i18n/ru.po +3 -58
  63. odoo/addons/l10n_it_vat_registries/i18n/sk.po +0 -55
  64. odoo/addons/l10n_it_vat_registries/i18n/sl.po +4 -57
  65. odoo/addons/l10n_it_vat_registries/i18n/sr.po +2 -57
  66. odoo/addons/l10n_it_vat_registries/i18n/sr@latin.po +2 -57
  67. odoo/addons/l10n_it_vat_registries/i18n/sv.po +0 -55
  68. odoo/addons/l10n_it_vat_registries/i18n/th.po +0 -55
  69. odoo/addons/l10n_it_vat_registries/i18n/tr.po +0 -55
  70. odoo/addons/l10n_it_vat_registries/i18n/uk.po +2 -57
  71. odoo/addons/l10n_it_vat_registries/i18n/vi.po +0 -55
  72. odoo/addons/l10n_it_vat_registries/i18n/vi_VN.po +0 -55
  73. odoo/addons/l10n_it_vat_registries/i18n/zh_CN.po +0 -55
  74. odoo/addons/l10n_it_vat_registries/i18n/zh_TW.po +0 -55
  75. odoo/addons/l10n_it_vat_registries/models/account_journal.py +5 -0
  76. odoo/addons/l10n_it_vat_registries/models/account_tax_registry.py +6 -0
  77. odoo/addons/l10n_it_vat_registries/models/vat_registry.py +19 -0
  78. odoo/addons/l10n_it_vat_registries/readme/CONFIGURE.md +6 -0
  79. odoo/addons/l10n_it_vat_registries/readme/CREDITS.md +1 -0
  80. odoo/addons/l10n_it_vat_registries/report/report_registro_iva.xml +278 -212
  81. odoo/addons/l10n_it_vat_registries/report/reports.xml +0 -14
  82. odoo/addons/l10n_it_vat_registries/security/vat_registry_security.xml +0 -2
  83. odoo/addons/l10n_it_vat_registries/static/description/index.html +9 -4
  84. odoo/addons/l10n_it_vat_registries/tests/test_registry.py +20 -46
  85. odoo/addons/l10n_it_vat_registries/views/account_journal_view.xml +1 -2
  86. odoo/addons/l10n_it_vat_registries/views/account_tax_registry_view.xml +15 -5
  87. odoo/addons/l10n_it_vat_registries/views/account_view.xml +0 -2
  88. odoo/addons/l10n_it_vat_registries/wizard/__init__.py +0 -1
  89. odoo/addons/l10n_it_vat_registries/wizard/print_registro_iva.py +63 -30
  90. odoo/addons/l10n_it_vat_registries/wizard/print_registro_iva.xml +28 -17
  91. {odoo_addon_l10n_it_vat_registries-16.0.1.4.0.2.dist-info → odoo_addon_l10n_it_vat_registries-18.0.1.0.0.6.dist-info}/METADATA +19 -13
  92. odoo_addon_l10n_it_vat_registries-18.0.1.0.0.6.dist-info/RECORD +103 -0
  93. odoo/addons/l10n_it_vat_registries/wizard/report_registro_iva_xlsx.py +0 -161
  94. odoo_addon_l10n_it_vat_registries-16.0.1.4.0.2.dist-info/RECORD +0 -104
  95. {odoo_addon_l10n_it_vat_registries-16.0.1.4.0.2.dist-info → odoo_addon_l10n_it_vat_registries-18.0.1.0.0.6.dist-info}/WHEEL +0 -0
  96. {odoo_addon_l10n_it_vat_registries-16.0.1.4.0.2.dist-info → odoo_addon_l10n_it_vat_registries-18.0.1.0.0.6.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
2
  <odoo noupdate="1">
3
-
4
3
  <record id="action_report_registro_iva" model="ir.actions.report">
5
4
  <field name="name">Invoices VAT Registry</field>
6
5
  <field name="model">account.move</field>
@@ -12,17 +11,4 @@
12
11
  ref="l10n_it_account.l10n_it_account_a4_landscape"
13
12
  />
14
13
  </record>
15
-
16
- <record id="action_report_registro_iva_xlsx" model="ir.actions.report">
17
- <field name="name">Invoices VAT Registry XLSX</field>
18
- <field name="model">account.move</field>
19
- <field name="report_type">xlsx</field>
20
- <field
21
- name="report_name"
22
- >l10n_it_vat_registries.report_registro_iva_xlsx</field>
23
- <field
24
- name="report_file"
25
- >l10n_it_vat_registries.report_registro_iva_xlsx</field>
26
- </record>
27
-
28
14
  </odoo>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8" ?>
2
2
  <odoo noupdate="1">
3
-
4
3
  <record id="tax_registry_comp_rule" model="ir.rule">
5
4
  <field name="name">tax_registry multi-company</field>
6
5
  <field name="model_id" ref="model_account_tax_registry" />
@@ -9,5 +8,4 @@
9
8
  name="domain_force"
10
9
  >['|',('company_id','=',False),('company_id','in',company_ids)]</field>
11
10
  </record>
12
-
13
11
  </odoo>
@@ -367,9 +367,9 @@ ul.auto-toc {
367
367
  !! This file is generated by oca-gen-addon-readme !!
368
368
  !! changes will be overwritten. !!
369
369
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
370
- !! source digest: sha256:d0ea45cf9b52cfe3008aa85d0253415706583df2e25119c599113f829169ee7b
370
+ !! source digest: sha256:d7dfc4dbdd66950f08f75a81de4358d7372782e9ce8acef57533c072167b5a3d
371
371
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
372
- <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-italy/tree/16.0/l10n_it_vat_registries"><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-16-0/l10n-italy-16-0-l10n_it_vat_registries"><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&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
372
+ <p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-italy/tree/18.0/l10n_it_vat_registries"><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_vat_registries"><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&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
373
373
  <p>Law: Decreto del Presidente della Repubblica del 26 ottobre 1972 n. 633
374
374
  <a class="reference external" href="https://goo.gl/31yTVj">https://goo.gl/31yTVj</a></p>
375
375
  <p><strong>Table of contents</strong></p>
@@ -410,6 +410,8 @@ possibile configurare i registri IVA, ad esempio ‘vendite’, ‘acquisti’ o
410
410
  ‘corrispettivi’. Per associare un registro contabile a un registro IVA,
411
411
  aprire il registro tramite Contabilità -&gt; Configurazione -&gt; Contabilità
412
412
  -&gt; Registri e impostare il campo “Registro IVA”.</p>
413
+ <p>Per le operazioni in inversione contabile è importante impostare
414
+ “Includere registrazioni inversione contabile” nel registro IVA vendite.</p>
413
415
  <p>Se non ci sono movimenti contabili da stampare, la stampa viene generata
414
416
  con totale zero.</p>
415
417
  <p><strong>English</strong></p>
@@ -431,6 +433,8 @@ registries you can configure VAT registries, like ‘Sales’, ‘Purchases’
431
433
  or ‘corrispettivi’. In order to link a journal to a VAT registry, open
432
434
  journal by Accounting -&gt; Configuration -&gt; Accounting -&gt; Journals and set
433
435
  the ‘VAT registry’ field.</p>
436
+ <p>For reverse charge operations it is important to set “Include reverse
437
+ charge moves” in sales VAT registry</p>
434
438
  <p>If there are no account moves to be printed, the report is printed with
435
439
  total equal to zero.</p>
436
440
  </div>
@@ -456,7 +460,7 @@ you can directly journals and layout in the fields below.</p>
456
460
  <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/l10n-italy/issues">GitHub Issues</a>.
457
461
  In case of trouble, please check there if your issue has already been reported.
458
462
  If you spotted it first, help us to smash it by providing a detailed and welcomed
459
- <a class="reference external" href="https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_vat_registries%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
463
+ <a class="reference external" href="https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_vat_registries%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
460
464
  <p>Do not contact contributors directly about support or help with technical issues.</p>
461
465
  </div>
462
466
  <div class="section" id="credits">
@@ -482,6 +486,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
482
486
  <p>The development of this module has been financially supported by:</p>
483
487
  <ul class="simple">
484
488
  <li>Odoo Italia Network</li>
489
+ <li>APS Odoo Italia</li>
485
490
  </ul>
486
491
  </div>
487
492
  <div class="section" id="maintainers">
@@ -493,7 +498,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
493
498
  <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
494
499
  mission is to support the collaborative development of Odoo features and
495
500
  promote its widespread use.</p>
496
- <p>This module is part of the <a class="reference external" href="https://github.com/OCA/l10n-italy/tree/16.0/l10n_it_vat_registries">OCA/l10n-italy</a> project on GitHub.</p>
501
+ <p>This module is part of the <a class="reference external" href="https://github.com/OCA/l10n-italy/tree/18.0/l10n_it_vat_registries">OCA/l10n-italy</a> project on GitHub.</p>
497
502
  <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
498
503
  </div>
499
504
  </div>
@@ -1,42 +1,35 @@
1
1
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
2
2
 
3
- import io
4
- from zipfile import ZipFile
5
-
6
3
  from odoo import fields
7
4
  from odoo.tests.common import TransactionCase
8
5
 
9
6
 
10
7
  class TestRegistry(TransactionCase):
11
- @classmethod
12
- def setUpClass(cls):
13
- super().setUpClass()
14
-
15
- cls.test_date = fields.Date.today()
16
- cls.journal = cls.env["account.journal"].search(
8
+ def test_invoice_and_report(self):
9
+ test_date = fields.Date.today()
10
+ self.journal = self.env["account.journal"].search(
17
11
  [("type", "=", "sale")], limit=1
18
12
  )
19
- cls.ova = cls.env["account.account"].search(
13
+ self.ova = self.env["account.account"].search(
20
14
  [("account_type", "=", "asset_current")],
21
15
  limit=1,
22
16
  )
23
- cls.tax = cls.env["account.tax"].create(
17
+ tax = self.env["account.tax"].create(
24
18
  {
25
19
  "name": "Tax 10.0",
26
20
  "amount": 10.0,
27
21
  "amount_type": "fixed",
28
22
  }
29
23
  )
30
- cls.tax_registry = cls.env["account.tax.registry"].create(
24
+ tax_registry = self.env["account.tax.registry"].create(
31
25
  {
32
26
  "name": "Sales",
33
27
  "layout_type": "customer",
34
- "journal_ids": [(6, 0, [cls.journal.id])],
28
+ "journal_ids": [(6, 0, [self.journal.id])],
35
29
  }
36
30
  )
37
-
38
- cls.invoice_line_account = (
39
- cls.env["account.account"]
31
+ invoice_line_account = (
32
+ self.env["account.account"]
40
33
  .search(
41
34
  [("account_type", "=", "expense")],
42
35
  limit=1,
@@ -44,36 +37,35 @@ class TestRegistry(TransactionCase):
44
37
  .id
45
38
  )
46
39
 
47
- cls.invoice = cls.env["account.move"].create(
40
+ invoice = self.env["account.move"].create(
48
41
  {
49
- "partner_id": cls.env.ref("base.res_partner_2").id,
50
- "invoice_date": cls.test_date,
42
+ "partner_id": self.env.ref("base.res_partner_2").id,
43
+ "invoice_date": test_date,
51
44
  "move_type": "out_invoice",
52
- "journal_id": cls.journal.id,
45
+ "journal_id": self.journal.id,
53
46
  "invoice_line_ids": [
54
47
  (
55
48
  0,
56
49
  None,
57
50
  {
58
- "product_id": cls.env.ref("product.product_product_4").id,
51
+ "product_id": self.env.ref("product.product_product_4").id,
59
52
  "quantity": 1.0,
60
53
  "price_unit": 100.0,
61
54
  "name": "product that cost 100",
62
- "account_id": cls.invoice_line_account,
63
- "tax_ids": [(6, 0, [cls.tax.id])],
55
+ "account_id": invoice_line_account,
56
+ "tax_ids": [(6, 0, [tax.id])],
64
57
  },
65
58
  )
66
59
  ],
67
60
  }
68
61
  )
69
- cls.invoice.action_post()
62
+ invoice.action_post()
70
63
 
71
- def test_invoice_and_report(self):
72
64
  wizard = self.env["wizard.registro.iva"].create(
73
65
  {
74
- "from_date": self.test_date,
75
- "to_date": self.test_date,
76
- "tax_registry_id": self.tax_registry.id,
66
+ "from_date": test_date,
67
+ "to_date": test_date,
68
+ "tax_registry_id": tax_registry.id,
77
69
  "layout_type": "supplier",
78
70
  "fiscal_page_base": 0,
79
71
  }
@@ -92,24 +84,6 @@ class TestRegistry(TransactionCase):
92
84
 
93
85
  self.assertTrue(b"Tax 10.0" in html[0])
94
86
 
95
- # XLSX
96
- res = wizard.print_registro_xlsx()
97
-
98
- report_name = "l10n_it_vat_registries.report_registro_iva_xlsx"
99
- domain = [
100
- ("report_type", "=", "xlsx"),
101
- ("report_name", "=", report_name),
102
- ]
103
- report = self.env["ir.actions.report"].search(domain)
104
- data = res["context"]["report_action"]["data"]
105
- xlsx, _type = report._render_xlsx(report_name, data["ids"], data)
106
-
107
- # basic reading of a file
108
- # we don't want to depend on other non-standard libraries such as openpyxl
109
- f = io.BytesIO(xlsx)
110
- with ZipFile(f, "r").open("xl/sharedStrings.xml", "r") as wf:
111
- self.assertTrue(self.invoice.partner_id.name.encode("utf8") in wf.read())
112
-
113
87
  def test_no_report_from_invoice(self):
114
88
  """Check that the report is not available from invoice context menu."""
115
89
  report_id = self.ref("l10n_it_vat_registries.action_report_registro_iva")
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8" ?>
2
2
  <odoo>
3
-
4
3
  <record id="view_account_journal_form" model="ir.ui.view">
5
4
  <field name="name">account.journal.form</field>
6
5
  <field name="model">account.journal</field>
@@ -8,8 +7,8 @@
8
7
  <field name="arch" type="xml">
9
8
  <field name="type" position="after">
10
9
  <field name="tax_registry_id" />
10
+ <field name="rc_tax_registry_id" invisible="type != 'purchase'" />
11
11
  </field>
12
12
  </field>
13
13
  </record>
14
-
15
14
  </odoo>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8" ?>
2
2
  <odoo>
3
-
4
3
  <record id="view_account_tax_registry_form" model="ir.ui.view">
5
4
  <field name="name">account.tax.registry.form</field>
6
5
  <field name="model">account.tax.registry</field>
@@ -14,6 +13,17 @@
14
13
  </group>
15
14
  <separator string="Journals" />
16
15
  <field name="journal_ids" />
16
+ <separator string="RC Journals" />
17
+ <group>
18
+ <field name="include_rc_moves" />
19
+ </group>
20
+ <group>
21
+ <field
22
+ name="rc_journal_ids"
23
+ invisible="not include_rc_moves"
24
+ widget="many2many_tags"
25
+ />
26
+ </group>
17
27
  </form>
18
28
  </field>
19
29
  </record>
@@ -21,11 +31,12 @@
21
31
  <record id="action_account_tax_registry_form" model="ir.actions.act_window">
22
32
  <field name="name">VAT registries</field>
23
33
  <field name="res_model">account.tax.registry</field>
24
- <field name="view_mode">tree,form</field>
34
+ <field name="view_mode">list,form</field>
25
35
  <field name="help" type="html">
26
- <p class="oe_view_nocontent_create">
36
+ <p class="oe_view_nocontent_create">
27
37
  Click to add a VAT registry.
28
- </p><p>
38
+ </p>
39
+ <p>
29
40
  A VAT registry is used to group several journals in one registry.
30
41
  </p>
31
42
  </field>
@@ -35,5 +46,4 @@
35
46
  id="menu_action_account_tax_registry_form"
36
47
  parent="account.account_account_menu"
37
48
  />
38
-
39
49
  </odoo>
@@ -1,6 +1,5 @@
1
1
  <?xml version="1.0" ?>
2
2
  <odoo>
3
-
4
3
  <record id="view_tax_code_form" model="ir.ui.view">
5
4
  <field name="name">account.tax.code.form</field>
6
5
  <field name="model">account.tax</field>
@@ -11,5 +10,4 @@
11
10
  </field>
12
11
  </field>
13
12
  </record>
14
-
15
13
  </odoo>
@@ -1,4 +1,3 @@
1
1
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
2
2
 
3
- from . import report_registro_iva_xlsx
4
3
  from . import print_registro_iva
@@ -33,12 +33,23 @@ class WizardRegistroIva(models.TransientModel):
33
33
  )
34
34
  journal_ids = fields.Many2many(
35
35
  "account.journal",
36
- "registro_iva_journals_rel",
36
+ "wizard_vat_registries_journals_rel",
37
+ "wizard_id",
37
38
  "journal_id",
38
- "registro_id",
39
39
  string="Journals",
40
40
  help="Select journals you want retrieve documents from",
41
41
  )
42
+ include_rc_moves = fields.Boolean(
43
+ string="Include reverse charge moves",
44
+ )
45
+ rc_journal_ids = fields.Many2many(
46
+ "account.journal",
47
+ "wizard_vat_registries_rc_journals_rel",
48
+ "wizard_id",
49
+ "journal_id",
50
+ string="Reverse charge journals",
51
+ help="Select journals you want retrieve reverse charge documents from",
52
+ )
42
53
  message = fields.Char(size=64, readonly=True)
43
54
  only_totals = fields.Boolean(string="Prints only totals")
44
55
  fiscal_page_base = fields.Integer("Last printed page", required=True)
@@ -52,6 +63,8 @@ class WizardRegistroIva(models.TransientModel):
52
63
  self.layout_type = self.tax_registry_id.layout_type
53
64
  self.entry_order = self.tax_registry_id.entry_order
54
65
  self.show_full_contact_addess = self.tax_registry_id.show_full_contact_addess
66
+ self.include_rc_moves = self.tax_registry_id.include_rc_moves
67
+ self.rc_journal_ids = self.tax_registry_id.rc_journal_ids
55
68
 
56
69
  @api.onchange("date_range_id")
57
70
  def on_change_date_range_id(self):
@@ -72,6 +85,15 @@ class WizardRegistroIva(models.TransientModel):
72
85
  ("state", "=", "posted"),
73
86
  ]
74
87
 
88
+ def _include_rc_journals(self):
89
+ if (
90
+ self.include_rc_moves
91
+ and self.rc_journal_ids
92
+ and self.layout_type == "customer"
93
+ ):
94
+ return True
95
+ return False
96
+
75
97
  def _get_move_ids(self, wizard):
76
98
  MAPPING = {
77
99
  "journal_date_name": "journal_id, date, name",
@@ -82,24 +104,49 @@ class WizardRegistroIva(models.TransientModel):
82
104
  self._get_move_ids_domain(),
83
105
  order=order,
84
106
  )
107
+ if wizard._include_rc_journals():
108
+ LAMBDA_MAPPING = {
109
+ "journal_date_name": lambda m: (m.journal_id, m.date, m.name),
110
+ "date_name": lambda m: (m.date, m.name),
111
+ }
112
+ order = LAMBDA_MAPPING[wizard.entry_order]
113
+ rc_moves = (
114
+ self.env["account.move"]
115
+ .search(
116
+ [
117
+ ("date", ">=", wizard.from_date),
118
+ ("date", "<=", wizard.to_date),
119
+ ("journal_id", "in", [j.id for j in wizard.rc_journal_ids]),
120
+ ("state", "=", "posted"),
121
+ ]
122
+ )
123
+ .filtered(lambda m: m.l10n_it_edi_is_self_invoice)
124
+ )
125
+ moves |= rc_moves
126
+ moves = moves.sorted(order)
85
127
  return moves.ids
86
128
 
87
- def _get_datas_form(self):
129
+ def print_registro(self):
88
130
  self.ensure_one()
89
- if not self.journal_ids:
131
+ wizard = self
132
+ if not wizard.journal_ids:
90
133
  raise UserError(
91
134
  _(
92
135
  "No journals found in the current selection.\n"
93
136
  "Please load them before to retry!"
94
137
  )
95
138
  )
139
+ move_ids = self._get_move_ids(wizard)
140
+
96
141
  datas_form = {}
97
- datas_form["from_date"] = self.from_date
98
- datas_form["to_date"] = self.to_date
99
- datas_form["journal_ids"] = [j.id for j in self.journal_ids]
100
- datas_form["fiscal_page_base"] = self.fiscal_page_base
101
- datas_form["registry_type"] = self.layout_type
102
- datas_form["year_footer"] = self.year_footer
142
+ datas_form["from_date"] = wizard.from_date
143
+ datas_form["to_date"] = wizard.to_date
144
+ datas_form["journal_ids"] = [j.id for j in wizard.journal_ids]
145
+ if wizard._include_rc_journals():
146
+ datas_form["rc_journal_ids"] = [j.id for j in wizard.rc_journal_ids]
147
+ datas_form["fiscal_page_base"] = wizard.fiscal_page_base
148
+ datas_form["registry_type"] = wizard.layout_type
149
+ datas_form["year_footer"] = wizard.year_footer
103
150
 
104
151
  lang_code = self.env.company.partner_id.lang
105
152
  lang = self.env["res.lang"]
@@ -107,28 +154,14 @@ class WizardRegistroIva(models.TransientModel):
107
154
  date_format = lang_id.date_format
108
155
  datas_form["date_format"] = date_format
109
156
 
110
- if self.tax_registry_id:
111
- datas_form["tax_registry_name"] = self.tax_registry_id.name
157
+ if wizard.tax_registry_id:
158
+ datas_form["tax_registry_name"] = wizard.tax_registry_id.name
112
159
  else:
113
160
  datas_form["tax_registry_name"] = ""
114
- datas_form["only_totals"] = self.only_totals
115
- datas_form["entry_order"] = self.entry_order
116
- datas_form["show_full_contact_addess"] = self.show_full_contact_addess
117
- return datas_form
118
-
119
- def print_registro(self):
120
- move_ids = self._get_move_ids(self)
121
- datas_form = self._get_datas_form()
122
-
161
+ datas_form["only_totals"] = wizard.only_totals
162
+ datas_form["entry_order"] = wizard.entry_order
163
+ datas_form["show_full_contact_addess"] = wizard.show_full_contact_addess
164
+ # report_name = 'l10n_it_vat_registries.report_registro_iva'
123
165
  report_name = "l10n_it_vat_registries.action_report_registro_iva"
124
166
  datas = {"ids": move_ids, "model": "account.move", "form": datas_form}
125
167
  return self.env.ref(report_name).report_action(self, data=datas)
126
-
127
- def print_registro_xlsx(self):
128
- move_ids = self._get_move_ids(self)
129
- datas_form = self._get_datas_form()
130
-
131
- report_name = "l10n_it_vat_registries.action_report_registro_iva_xlsx"
132
- datas = {"ids": move_ids, "model": "account.move", "form": datas_form}
133
- moves = self.env["account.move"].browse(move_ids)
134
- return self.env.ref(report_name).report_action(moves, data=datas)
@@ -32,28 +32,39 @@
32
32
  height="250"
33
33
  domain="[('type', 'in', ('sale','purchase'))]"
34
34
  />
35
- <group string="Layout">
36
- <field name="layout_type" />
37
- <field name="show_full_contact_addess" />
38
- <field name="only_totals" />
39
- <field name="fiscal_page_base" />
35
+ <group string="Layout" colspan="2">
36
+ <group colspan="2">
37
+ <field name="layout_type" />
38
+ </group>
39
+ <group>
40
+ <field
41
+ name="include_rc_moves"
42
+ invisible="layout_type != 'customer'"
43
+ />
44
+ </group>
45
+ <group>
46
+ <field
47
+ name="rc_journal_ids"
48
+ domain="[('type', '=', 'purchase')]"
49
+ invisible="not include_rc_moves or layout_type != 'customer'"
50
+ widget="many2many_tags"
51
+ />
52
+ </group>
53
+ <group colspan="2">
54
+ <field name="show_full_contact_addess" />
55
+ <field name="only_totals" />
56
+ <field name="fiscal_page_base" />
57
+ </group>
40
58
  </group>
41
59
  <field name="message" nolabel="1" colspan="2" />
42
60
  </group>
43
61
  <footer>
44
62
  <button
45
- string="Print"
46
- name="print_registro"
47
- type="object"
48
- class="oe_highlight"
49
- />
50
- or
51
- <button
52
- string="Print XLSX"
53
- name="print_registro_xlsx"
54
- type="object"
55
- class="oe_highlight"
56
- />
63
+ string="Print"
64
+ name="print_registro"
65
+ type="object"
66
+ class="oe_highlight"
67
+ />
57
68
  or
58
69
  <button string="Cancel" class="oe_link" special="cancel" />
59
70
  </footer>
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-l10n_it_vat_registries
3
- Version: 16.0.1.4.0.2
3
+ Version: 18.0.1.0.0.6
4
4
  Requires-Python: >=3.10
5
- Requires-Dist: odoo-addon-account_tax_balance>=16.0dev,<16.1dev
6
- Requires-Dist: odoo-addon-date_range>=16.0dev,<16.1dev
7
- Requires-Dist: odoo-addon-l10n_it_account>=16.0dev,<16.1dev
8
- Requires-Dist: odoo-addon-report_xlsx_helper>=16.0dev,<16.1dev
9
- Requires-Dist: odoo>=16.0a,<16.1dev
5
+ Requires-Dist: odoo-addon-account_tax_balance==18.0.*
6
+ Requires-Dist: odoo-addon-date_range==18.0.*
7
+ Requires-Dist: odoo-addon-l10n_it_account==18.0.*
8
+ Requires-Dist: odoo==18.0.*
10
9
  Summary: ITA - Registri IVA
11
10
  Home-page: https://github.com/OCA/l10n-italy
12
11
  License: AGPL-3
@@ -14,7 +13,7 @@ Author: Agile Business Group, Odoo Community Association (OCA), LinkIt Srl
14
13
  Author-email: support@odoo-community.org
15
14
  Classifier: Programming Language :: Python
16
15
  Classifier: Framework :: Odoo
17
- Classifier: Framework :: Odoo :: 16.0
16
+ Classifier: Framework :: Odoo :: 18.0
18
17
  Classifier: License :: OSI Approved :: GNU Affero General Public License v3
19
18
  Classifier: Development Status :: 5 - Production/Stable
20
19
 
@@ -27,7 +26,7 @@ ITA - Registri IVA
27
26
  !! This file is generated by oca-gen-addon-readme !!
28
27
  !! changes will be overwritten. !!
29
28
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
30
- !! source digest: sha256:d0ea45cf9b52cfe3008aa85d0253415706583df2e25119c599113f829169ee7b
29
+ !! source digest: sha256:d7dfc4dbdd66950f08f75a81de4358d7372782e9ce8acef57533c072167b5a3d
31
30
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
32
31
 
33
32
  .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
@@ -37,13 +36,13 @@ ITA - Registri IVA
37
36
  :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
38
37
  :alt: License: AGPL-3
39
38
  .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--italy-lightgray.png?logo=github
40
- :target: https://github.com/OCA/l10n-italy/tree/16.0/l10n_it_vat_registries
39
+ :target: https://github.com/OCA/l10n-italy/tree/18.0/l10n_it_vat_registries
41
40
  :alt: OCA/l10n-italy
42
41
  .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
43
- :target: https://translation.odoo-community.org/projects/l10n-italy-16-0/l10n-italy-16-0-l10n_it_vat_registries
42
+ :target: https://translation.odoo-community.org/projects/l10n-italy-18-0/l10n-italy-18-0-l10n_it_vat_registries
44
43
  :alt: Translate me on Weblate
45
44
  .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
46
- :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=16.0
45
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-italy&target_branch=18.0
47
46
  :alt: Try me on Runboat
48
47
 
49
48
  |badge1| |badge2| |badge3| |badge4| |badge5|
@@ -83,6 +82,9 @@ possibile configurare i registri IVA, ad esempio 'vendite', 'acquisti' o
83
82
  aprire il registro tramite Contabilità -> Configurazione -> Contabilità
84
83
  -> Registri e impostare il campo "Registro IVA".
85
84
 
85
+ Per le operazioni in inversione contabile è importante impostare
86
+ "Includere registrazioni inversione contabile" nel registro IVA vendite.
87
+
86
88
  Se non ci sono movimenti contabili da stampare, la stampa viene generata
87
89
  con totale zero.
88
90
 
@@ -108,6 +110,9 @@ or 'corrispettivi'. In order to link a journal to a VAT registry, open
108
110
  journal by Accounting -> Configuration -> Accounting -> Journals and set
109
111
  the 'VAT registry' field.
110
112
 
113
+ For reverse charge operations it is important to set "Include reverse
114
+ charge moves" in sales VAT registry
115
+
111
116
  If there are no account moves to be printed, the report is printed with
112
117
  total equal to zero.
113
118
 
@@ -140,7 +145,7 @@ Bug Tracker
140
145
  Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-italy/issues>`_.
141
146
  In case of trouble, please check there if your issue has already been reported.
142
147
  If you spotted it first, help us to smash it by providing a detailed and welcomed
143
- `feedback <https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_vat_registries%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
148
+ `feedback <https://github.com/OCA/l10n-italy/issues/new?body=module:%20l10n_it_vat_registries%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
144
149
 
145
150
  Do not contact contributors directly about support or help with technical issues.
146
151
 
@@ -167,6 +172,7 @@ Other credits
167
172
  The development of this module has been financially supported by:
168
173
 
169
174
  - Odoo Italia Network
175
+ - APS Odoo Italia
170
176
 
171
177
  Maintainers
172
178
  -----------
@@ -181,6 +187,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
181
187
  mission is to support the collaborative development of Odoo features and
182
188
  promote its widespread use.
183
189
 
184
- This module is part of the `OCA/l10n-italy <https://github.com/OCA/l10n-italy/tree/16.0/l10n_it_vat_registries>`_ project on GitHub.
190
+ This module is part of the `OCA/l10n-italy <https://github.com/OCA/l10n-italy/tree/18.0/l10n_it_vat_registries>`_ project on GitHub.
185
191
 
186
192
  You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.