odoo-addon-l10n-it-riba-oca 18.0.1.0.0.8__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 (61) hide show
  1. odoo/addons/l10n_it_riba_oca/README.rst +175 -0
  2. odoo/addons/l10n_it_riba_oca/__init__.py +9 -0
  3. odoo/addons/l10n_it_riba_oca/__manifest__.py +59 -0
  4. odoo/addons/l10n_it_riba_oca/data/riba_sequence.xml +14 -0
  5. odoo/addons/l10n_it_riba_oca/demo/riba_demo.xml +39 -0
  6. odoo/addons/l10n_it_riba_oca/hooks.py +17 -0
  7. odoo/addons/l10n_it_riba_oca/i18n/it.po +1686 -0
  8. odoo/addons/l10n_it_riba_oca/i18n/l10n_it_riba.pot +1573 -0
  9. odoo/addons/l10n_it_riba_oca/i18n/l10n_it_riba_oca.pot +1554 -0
  10. odoo/addons/l10n_it_riba_oca/migrations/18.0.1.0.0/pre-migrate.py +16 -0
  11. odoo/addons/l10n_it_riba_oca/models/__init__.py +14 -0
  12. odoo/addons/l10n_it_riba_oca/models/account.py +563 -0
  13. odoo/addons/l10n_it_riba_oca/models/account_config.py +35 -0
  14. odoo/addons/l10n_it_riba_oca/models/ir_ui_menu.py +27 -0
  15. odoo/addons/l10n_it_riba_oca/models/partner.py +35 -0
  16. odoo/addons/l10n_it_riba_oca/models/riba.py +560 -0
  17. odoo/addons/l10n_it_riba_oca/models/riba_config.py +120 -0
  18. odoo/addons/l10n_it_riba_oca/readme/CONFIGURE.md +33 -0
  19. odoo/addons/l10n_it_riba_oca/readme/CONTRIBUTORS.md +17 -0
  20. odoo/addons/l10n_it_riba_oca/readme/DESCRIPTION.md +3 -0
  21. odoo/addons/l10n_it_riba_oca/readme/USAGE.md +35 -0
  22. odoo/addons/l10n_it_riba_oca/report/__init__.py +4 -0
  23. odoo/addons/l10n_it_riba_oca/report/report.xml +16 -0
  24. odoo/addons/l10n_it_riba_oca/report/slip_qweb.py +18 -0
  25. odoo/addons/l10n_it_riba_oca/security/ir.model.access.csv +23 -0
  26. odoo/addons/l10n_it_riba_oca/security/riba_security.xml +34 -0
  27. odoo/addons/l10n_it_riba_oca/static/description/icon.png +0 -0
  28. odoo/addons/l10n_it_riba_oca/static/description/index.html +512 -0
  29. odoo/addons/l10n_it_riba_oca/tests/__init__.py +10 -0
  30. odoo/addons/l10n_it_riba_oca/tests/riba_common.py +339 -0
  31. odoo/addons/l10n_it_riba_oca/tests/test_account_move.py +54 -0
  32. odoo/addons/l10n_it_riba_oca/tests/test_menu.py +51 -0
  33. odoo/addons/l10n_it_riba_oca/tests/test_riba.py +905 -0
  34. odoo/addons/l10n_it_riba_oca/views/account_config_view.xml +46 -0
  35. odoo/addons/l10n_it_riba_oca/views/account_view.xml +205 -0
  36. odoo/addons/l10n_it_riba_oca/views/configuration_view.xml +94 -0
  37. odoo/addons/l10n_it_riba_oca/views/partner_view.xml +29 -0
  38. odoo/addons/l10n_it_riba_oca/views/riba_detail_view.xml +97 -0
  39. odoo/addons/l10n_it_riba_oca/views/riba_view.xml +296 -0
  40. odoo/addons/l10n_it_riba_oca/views/slip_report.xml +149 -0
  41. odoo/addons/l10n_it_riba_oca/views/wizard_credit.xml +46 -0
  42. odoo/addons/l10n_it_riba_oca/views/wizard_due_date_settlement.xml +37 -0
  43. odoo/addons/l10n_it_riba_oca/views/wizard_past_due.xml +67 -0
  44. odoo/addons/l10n_it_riba_oca/views/wizard_presentation.xml +48 -0
  45. odoo/addons/l10n_it_riba_oca/views/wizard_riba_file_export.xml +33 -0
  46. odoo/addons/l10n_it_riba_oca/views/wizard_riba_issue.xml +46 -0
  47. odoo/addons/l10n_it_riba_oca/views/wizard_riba_payment_date.xml +45 -0
  48. odoo/addons/l10n_it_riba_oca/wizard/__init__.py +16 -0
  49. odoo/addons/l10n_it_riba_oca/wizard/wizard_credit.py +280 -0
  50. odoo/addons/l10n_it_riba_oca/wizard/wizard_due_date_settlement.py +24 -0
  51. odoo/addons/l10n_it_riba_oca/wizard/wizard_past_due.py +319 -0
  52. odoo/addons/l10n_it_riba_oca/wizard/wizard_presentation_riba.py +47 -0
  53. odoo/addons/l10n_it_riba_oca/wizard/wizard_riba_file_export.py +429 -0
  54. odoo/addons/l10n_it_riba_oca/wizard/wizard_riba_issue.py +143 -0
  55. odoo/addons/l10n_it_riba_oca/wizard/wizard_riba_multiple_payment.py +107 -0
  56. odoo/addons/l10n_it_riba_oca/wizard/wizard_riba_multiple_payment_views.xml +46 -0
  57. odoo/addons/l10n_it_riba_oca/wizard/wizard_riba_payment_date.py +31 -0
  58. odoo_addon_l10n_it_riba_oca-18.0.1.0.0.8.dist-info/METADATA +197 -0
  59. odoo_addon_l10n_it_riba_oca-18.0.1.0.0.8.dist-info/RECORD +61 -0
  60. odoo_addon_l10n_it_riba_oca-18.0.1.0.0.8.dist-info/WHEEL +5 -0
  61. odoo_addon_l10n_it_riba_oca-18.0.1.0.0.8.dist-info/top_level.txt +1 -0
@@ -0,0 +1,46 @@
1
+ <?xml version="1.0" ?>
2
+ <!--
3
+ ~ Copyright 2023 Simone Rubino - Aion Tech
4
+ ~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
5
+ -->
6
+ <odoo>
7
+ <record id="view_account_config_settings_riba" model="ir.ui.view">
8
+ <field name="name">view_account_config_settings_riba</field>
9
+ <field name="model">res.config.settings</field>
10
+ <field name="inherit_id" ref="account.res_config_settings_view_form" />
11
+ <field name="arch" type="xml">
12
+ <app name="account" position="inside">
13
+ <div
14
+ class="col-12 col-lg-6 o_setting_box"
15
+ id="default_taxes"
16
+ title="RiBa Configuration"
17
+ >
18
+ <div class="o_setting_left_pane" />
19
+ <div class="o_setting_right_pane">
20
+ <span class="o_form_label">RiBa Collection Fees</span>
21
+ <span
22
+ class="fa fa-lg fa-building-o"
23
+ title="Product used as Service for RiBa Collection Fees"
24
+ aria-label="Product used as Service for RiBa Collection Fees"
25
+ groups="base.group_multi_company"
26
+ role="img"
27
+ />
28
+ <div class="text-muted">
29
+ Product used as Service for RiBa Collection Fees
30
+ </div>
31
+ <div class="content-group">
32
+ <div class="row mt16">
33
+ <label
34
+ string="Product"
35
+ for="due_cost_service_id"
36
+ class="col-lg-3 o_light_label"
37
+ />
38
+ <field name="due_cost_service_id" />
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ </app>
44
+ </field>
45
+ </record>
46
+ </odoo>
@@ -0,0 +1,205 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!--
3
+ ~ Copyright 2023 Simone Rubino - Aion Tech
4
+ ~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
5
+ -->
6
+ <odoo>
7
+ <!-- ====================================================== -->
8
+ <!-- EXTRA FIELDS -->
9
+ <!-- ====================================================== -->
10
+ <record id="view_riba_add_text_field" model="ir.ui.view">
11
+ <field name="name">account.riba.add.text.field</field>
12
+ <field name="model">account.payment.term</field>
13
+ <field name="inherit_id" ref="account.view_payment_term_form" />
14
+ <field name="arch" type="xml">
15
+ <xpath expr="//group" position="inside">
16
+ <div colspan="2">
17
+ <label for="riba" />
18
+ <field name="riba" />
19
+ <group invisible="not riba">
20
+ <field name="riba_payment_cost" />
21
+ </group>
22
+ </div>
23
+ </xpath>
24
+ </field>
25
+ </record>
26
+ <record id="view_res_bank_add_text_field" model="ir.ui.view">
27
+ <field name="name">res.bank.add.text.field</field>
28
+ <field name="model">res.bank</field>
29
+ <field name="inherit_id" ref="base.view_res_bank_form" />
30
+ <field name="arch" type="xml">
31
+ <field name="bic" position="after">
32
+ <field name="banca_estera" />
33
+ </field>
34
+ </field>
35
+ </record>
36
+ <record id="view_partner_bank_sia_form" model="ir.ui.view">
37
+ <field name="name">res.partner.bank.form.sia.inherit</field>
38
+ <field name="model">res.partner.bank</field>
39
+ <field name="inherit_id" ref="base.view_partner_bank_form" />
40
+ <field name="arch" type="xml">
41
+ <field name="acc_number" position="after">
42
+ <field name="codice_sia" />
43
+ </field>
44
+ </field>
45
+ </record>
46
+
47
+ <!-- RiBa To Issue - List View -->
48
+
49
+ <record model="ir.ui.view" id="view_riba_to_issue_tree">
50
+ <field name="name">RiBa Issue</field>
51
+ <field name="model">account.move.line</field>
52
+ <field name="arch" type="xml">
53
+ <list create="false">
54
+ <field name="partner_id" readonly="1" />
55
+ <field name="move_id" readonly="1" />
56
+ <field name="iban" readonly="1" />
57
+ <!-- TODO: field name="partner_ref" readonly="1"/>
58
+ <field name="invoice_date" readonly="1"/>
59
+ <field name="stored_invoice_id" readonly="1"/>
60
+ <field name="invoice_origin" readonly="1"/>
61
+ <field name="invoice_payment_term_id" readonly="1"/>-->
62
+ <field name="account_id" readonly="1" />
63
+ <field name="debit" readonly="1" sum="Debit Total" />
64
+ <field name="amount_residual" readonly="1" sum="Total Amount" />
65
+ <field name="date_maturity" />
66
+ <field name="riba" />
67
+ <field name="slip_line_ids" invisible="1" />
68
+ <field name="reconciled" invisible="1" />
69
+ <field name="past_due_invoice_ids" />
70
+ </list>
71
+ </field>
72
+ </record>
73
+
74
+ <!-- RiBa To Issue - Filter -->
75
+
76
+ <record id="riba_filter" model="ir.ui.view">
77
+ <field name="name">RiBa filter</field>
78
+ <field name="model">account.move.line</field>
79
+ <field name="inherit_id" ref="account_due_list.view_payments_filter" />
80
+ <field name="arch" type="xml">
81
+ <xpath expr="//search" position="inside">
82
+ <separator />
83
+ <filter
84
+ name="da_emettere"
85
+ string="RiBa To Issue"
86
+ domain="[('slip_line_ids', '=', False)]"
87
+ />
88
+ <filter
89
+ name="emesse"
90
+ string="Issued RiBas"
91
+ domain="[('slip_line_ids', '!=', False)]"
92
+ />
93
+ <separator />
94
+ <filter
95
+ name="reconciled"
96
+ string="Reconciled"
97
+ domain="[('reconciled', '!=', False)]"
98
+ />
99
+ <filter
100
+ name="to_reconcile"
101
+ string="To Reconcile"
102
+ domain="[('reconciled', '=', False)]"
103
+ />
104
+ <separator />
105
+ <filter
106
+ name="past_due"
107
+ string="Past Due"
108
+ domain="[('past_due_invoice_ids', '!=', False)]"
109
+ />
110
+ </xpath>
111
+ </field>
112
+ </record>
113
+
114
+ <!-- RiBa To Issue - Action -->
115
+
116
+ <record model="ir.actions.act_window" id="action_riba_to_issue">
117
+ <field name="name">RiBa Issue</field>
118
+ <field name="res_model">account.move.line</field>
119
+ <field name="view_mode">list,form</field>
120
+ <field name="view_id" ref="view_riba_to_issue_tree" />
121
+ <field name="search_view_id" ref="riba_filter" />
122
+ <field name="domain">
123
+ ['&amp;', ('parent_state', '=', 'posted'), '&amp;',('riba','=','True'),
124
+ '|',('past_due_invoice_ids','!=',False),('account_id.account_type','=','asset_receivable')]</field>
125
+ <field
126
+ name="context"
127
+ >{'search_default_da_emettere':1, 'search_default_to_reconcile':1}</field>
128
+ </record>
129
+
130
+ <menuitem
131
+ name="Issue"
132
+ parent="menu_riba"
133
+ id="menu_riba_to_issue"
134
+ action="action_riba_to_issue"
135
+ />
136
+
137
+ <!-- Invoice -->
138
+
139
+ <record id="invoice_form" model="ir.ui.view">
140
+ <field name="name">account.move.form</field>
141
+ <field name="model">account.move</field>
142
+ <field name="inherit_id" ref="account.view_move_form" />
143
+ <field name="arch" type="xml">
144
+ <xpath expr="//field[@name='invoice_payment_term_id']" position="after">
145
+ <field
146
+ name="riba_partner_bank_id"
147
+ invisible="not is_riba_payment or move_type != 'out_invoice'"
148
+ required="is_riba_payment and move_type == 'out_invoice'"
149
+ readonly="state != 'draft'"
150
+ domain="[('partner_id','=', commercial_partner_id)]"
151
+ />
152
+ <field
153
+ name="riba_supplier_company_bank_id"
154
+ invisible="not is_riba_payment or move_type != 'in_invoice'"
155
+ readonly="state != 'posted'"
156
+ />
157
+ </xpath>
158
+ </field>
159
+ </record>
160
+
161
+ <record id="invoice_tree" model="ir.ui.view">
162
+ <field name="name">account.move.tree</field>
163
+ <field name="model">account.move</field>
164
+ <field name="inherit_id" ref="account.view_invoice_tree" />
165
+ <field name="arch" type="xml">
166
+ <field name="move_type" position="after">
167
+ <field name="open_amount" widget="monetary" />
168
+ </field>
169
+ </field>
170
+ </record>
171
+
172
+ <record id="action_invoice_tree1" model="ir.actions.act_window">
173
+ <field name="name">Past Due Invoices</field>
174
+ <field name="res_model">account.move</field>
175
+ <field name="view_mode">list,form,graph</field>
176
+ <field eval="False" name="view_id" />
177
+ <field
178
+ name="domain"
179
+ >[('move_type','=','out_invoice'), ('past_due_move_line_ids', '!=', False)]</field>
180
+ <field
181
+ name="context"
182
+ >{'default_type':'out_invoice', 'move_type':'out_invoice', 'journal_type':
183
+ 'sale', 'search_default_past_due': True}</field>
184
+ <field name="search_view_id" ref="account.view_account_invoice_filter" />
185
+ </record>
186
+
187
+ <record id="action_invoice_tree1_view1" model="ir.actions.act_window.view">
188
+ <field eval="1" name="sequence" />
189
+ <field name="view_mode">list</field>
190
+ <field name="act_window_id" ref="action_invoice_tree1" />
191
+ </record>
192
+
193
+ <record id="action_invoice_tree1_view2" model="ir.actions.act_window.view">
194
+ <field eval="2" name="sequence" />
195
+ <field name="view_mode">form</field>
196
+ <field name="view_id" ref="account.view_move_form" />
197
+ <field name="act_window_id" ref="action_invoice_tree1" />
198
+ </record>
199
+ <menuitem
200
+ name="Past Due Invoices"
201
+ parent="menu_riba"
202
+ id="menu_invoices"
203
+ action="action_invoice_tree1"
204
+ />
205
+ </odoo>
@@ -0,0 +1,94 @@
1
+ <?xml version="1.0" ?>
2
+ <!--
3
+ ~ Copyright 2023 Simone Rubino - Aion Tech
4
+ ~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
5
+ -->
6
+ <odoo>
7
+ <!-- ====================================================== -->
8
+ <!-- CONFIGURAZIONE RIBA FORM -->
9
+ <!-- ====================================================== -->
10
+ <record model="ir.ui.view" id="view_riba_configuration_form">
11
+ <field name="name">riba.configuration.form</field>
12
+ <field name="model">riba.configuration</field>
13
+ <field name="arch" type="xml">
14
+ <form string="RiBa - Configuration">
15
+ <group>
16
+ <field name="name" />
17
+ <field name="type" />
18
+ <field
19
+ name="bank_id"
20
+ domain="[('partner_id.ref_company_ids', 'in', allowed_company_ids)]"
21
+ />
22
+ <field
23
+ name="company_id"
24
+ widget="selection"
25
+ groups="base.group_multi_company"
26
+ readonly="1"
27
+ />
28
+ <field
29
+ name="company_id"
30
+ groups="!base.group_multi_company"
31
+ invisible="True"
32
+ />
33
+ </group>
34
+
35
+ <group string="Acceptance">
36
+ <field name="acceptance_journal_id" />
37
+ <field name="acceptance_account_id" />
38
+ </group>
39
+
40
+ <group string="Credit" invisible="type != 'sbf'">
41
+ <field name="credit_journal_id" />
42
+ <field name="credit_account_id" />
43
+ <field name="bank_account_id" />
44
+ <field name="bank_expense_account_id" />
45
+ </group>
46
+
47
+ <group string="Past Due">
48
+ <field name="past_due_journal_id" />
49
+ <field name="past_due_fee_amount" />
50
+ <field name="overdue_credit_account_id" />
51
+ <field name="protest_charge_account_id" />
52
+ </group>
53
+
54
+ <group string="Settlement">
55
+ <field name="past_due_journal_id" />
56
+ <field name="settlement_journal_id" />
57
+ </group>
58
+ </form>
59
+ </field>
60
+ </record>
61
+
62
+ <!-- ====================================================== -->
63
+ <!-- CONFIGURAZIONE RIBA TREE -->
64
+ <!-- ====================================================== -->
65
+ <record model="ir.ui.view" id="view_riba_configuration_tree">
66
+ <field name="name">riba.configuration.tree</field>
67
+ <field name="model">riba.configuration</field>
68
+ <field name="arch" type="xml">
69
+ <list>
70
+ <field name="name" />
71
+ <field name="company_id" groups="base.group_multi_company" />
72
+ </list>
73
+ </field>
74
+ </record>
75
+
76
+ <!-- ====================================================== -->
77
+ <!-- CONFIGURAZIONE RIBA ACTION -->
78
+ <!-- ====================================================== -->
79
+ <record id="action_riba_configuration" model="ir.actions.act_window">
80
+ <field name="name">RiBa - Configuration</field>
81
+ <field name="res_model">riba.configuration</field>
82
+ <field name="view_mode">list,form</field>
83
+ </record>
84
+
85
+ <!-- ====================================================== -->
86
+ <!-- CONFIGURAZIONE RIBA MENU -->
87
+ <!-- ====================================================== -->
88
+ <menuitem
89
+ action="action_riba_configuration"
90
+ id="menu_riba_configuration"
91
+ name="RiBa Configuration"
92
+ parent="account.root_payment_menu"
93
+ />
94
+ </odoo>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" ?>
2
+ <!--
3
+ ~ Copyright 2023 Simone Rubino - Aion Tech
4
+ ~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
5
+ -->
6
+ <odoo>
7
+ <!--========================================================-->
8
+ <!-- RES.PARTNER - FORM -->
9
+ <!--========================================================-->
10
+ <record id="view_partner_form_riba" model="ir.ui.view">
11
+ <field name="name">res.parner.form.riba</field>
12
+ <field name="model">res.partner</field>
13
+ <field name="inherit_id" ref="account.view_partner_property_form" />
14
+ <field name="arch" type="xml">
15
+ <group name="accounting_entries" position="after">
16
+ <group string="RiBa" name="riba">
17
+ <field name="group_riba" />
18
+ </group>
19
+ </group>
20
+ <field name="property_supplier_payment_term_id" position="after">
21
+ <field
22
+ name="property_riba_supplier_company_bank_id"
23
+ string="Company Bank Account"
24
+ invisible="not is_supplier_payment_riba"
25
+ />
26
+ </field>
27
+ </field>
28
+ </record>
29
+ </odoo>
@@ -0,0 +1,97 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!--
3
+ ~ Copyright 2023 Simone Rubino - Aion Tech
4
+ ~ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
5
+ -->
6
+ <odoo>
7
+ <record id="view_detail_riba_filter" model="ir.ui.view">
8
+ <field name="name">riba.slip.line.filter</field>
9
+ <field name="model">riba.slip.line</field>
10
+ <field name="arch" type="xml">
11
+ <search string="RiBa Slips">
12
+ <filter
13
+ name="draft"
14
+ string="Draft"
15
+ help="Draft"
16
+ domain="[('state','=','draft')]"
17
+ />
18
+ <filter
19
+ name="confirmed"
20
+ string="Confirmed"
21
+ help="Accepted"
22
+ domain="[('state','=','accepted')]"
23
+ />
24
+ <filter
25
+ name="paid"
26
+ string="Paid"
27
+ help="Paid"
28
+ domain="[('state','=','paid')]"
29
+ />
30
+ <filter
31
+ name="credited"
32
+ string="Credited"
33
+ help="Credited"
34
+ domain="[('state','=','credited')]"
35
+ />
36
+ <filter
37
+ name="past_due"
38
+ string="Past Due"
39
+ help="Past Due"
40
+ domain="[('state','=','past_due')]"
41
+ />
42
+ <separator orientation="vertical" />
43
+ <field name="partner_id" />
44
+ <field name="due_date" />
45
+ <field name="config_id" />
46
+ <filter
47
+ name="due_date"
48
+ string="Due Date"
49
+ domain="[]"
50
+ context="{'group_by': 'due_date'}"
51
+ />
52
+ </search>
53
+ </field>
54
+ </record>
55
+
56
+ <record model="ir.ui.view" id="view_detail_riba_tree">
57
+ <field name="name">riba.slip.line.tree</field>
58
+ <field name="model">riba.slip.line</field>
59
+ <field name="arch" type="xml">
60
+ <list create="false">
61
+ <field name="config_id" />
62
+ <field name="sequence" />
63
+ <field name="invoice_number" />
64
+ <field name="invoice_date" />
65
+ <field name="cig" />
66
+ <field name="cup" />
67
+ <field name="partner_id" />
68
+ <field name="iban" />
69
+ <field name="amount" sum="Amount" />
70
+ <field name="due_date" />
71
+ <field name="state" />
72
+ <button
73
+ name="%(riba_past_due_action)d"
74
+ type='action'
75
+ invisible="type == 'incasso' or state != 'credited'"
76
+ string="Mark as Past Due"
77
+ icon="fa-exclamation-triangle"
78
+ />
79
+ </list>
80
+ </field>
81
+ </record>
82
+
83
+ <record id="detail_riba_action" model="ir.actions.act_window">
84
+ <field name="name">RiBa Slip Detail</field>
85
+ <field name="type">ir.actions.act_window</field>
86
+ <field name="res_model">riba.slip.line</field>
87
+ <field name="view_mode">list</field>
88
+ <field name="search_view_id" ref="view_detail_riba_filter" />
89
+ </record>
90
+
91
+ <menuitem
92
+ name="Slips Detail"
93
+ parent="menu_riba"
94
+ id="menu_riba_detail"
95
+ action="detail_riba_action"
96
+ />
97
+ </odoo>