odoo-addon-l10n-br-fiscal 16.0.19.4.0__py3-none-any.whl → 17.0.4.0.0.1__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.
- odoo/addons/l10n_br_fiscal/README.rst +10 -10
- odoo/addons/l10n_br_fiscal/__init__.py +2 -3
- odoo/addons/l10n_br_fiscal/__manifest__.py +3 -7
- odoo/addons/l10n_br_fiscal/constants/fiscal.py +0 -66
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.cest.csv +983 -1043
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.cst.csv +0 -58
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.tax.csv +0 -31
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.tax.group.csv +0 -3
- odoo/addons/l10n_br_fiscal/data/product_data.xml +2 -2
- odoo/addons/l10n_br_fiscal/demo/fiscal_document_demo.xml +88 -0
- odoo/addons/l10n_br_fiscal/i18n/l10n_br_fiscal.pot +28 -1031
- odoo/addons/l10n_br_fiscal/i18n/pt_BR.po +1078 -1197
- odoo/addons/l10n_br_fiscal/models/__init__.py +2 -2
- odoo/addons/l10n_br_fiscal/models/comment.py +20 -18
- odoo/addons/l10n_br_fiscal/models/data_abstract.py +11 -12
- odoo/addons/l10n_br_fiscal/models/document.py +4 -30
- odoo/addons/l10n_br_fiscal/models/document_line.py +3 -16
- odoo/addons/l10n_br_fiscal/models/document_line_mixin.py +27 -1048
- odoo/addons/l10n_br_fiscal/models/document_line_mixin_methods.py +883 -0
- odoo/addons/l10n_br_fiscal/models/document_mixin.py +3 -241
- odoo/addons/l10n_br_fiscal/models/document_mixin_methods.py +239 -0
- odoo/addons/l10n_br_fiscal/models/document_serie.py +5 -3
- odoo/addons/l10n_br_fiscal/models/invalidate_number.py +0 -6
- odoo/addons/l10n_br_fiscal/models/operation.py +0 -11
- odoo/addons/l10n_br_fiscal/models/operation_dashboard.py +2 -3
- odoo/addons/l10n_br_fiscal/models/operation_line.py +0 -28
- odoo/addons/l10n_br_fiscal/models/partner_profile.py +0 -6
- odoo/addons/l10n_br_fiscal/models/product_template.py +0 -4
- odoo/addons/l10n_br_fiscal/models/res_company.py +0 -18
- odoo/addons/l10n_br_fiscal/models/res_partner.py +0 -17
- odoo/addons/l10n_br_fiscal/models/simplified_tax_range.py +0 -8
- odoo/addons/l10n_br_fiscal/models/tax_definition.py +2 -35
- odoo/addons/l10n_br_fiscal/security/ir.model.access.csv +0 -6
- odoo/addons/l10n_br_fiscal/static/description/index.html +8 -8
- odoo/addons/l10n_br_fiscal/tests/__init__.py +0 -1
- odoo/addons/l10n_br_fiscal/tests/test_cnae.py +2 -3
- odoo/addons/l10n_br_fiscal/tests/test_document_edition.py +10 -37
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_generic.py +28 -4
- odoo/addons/l10n_br_fiscal/tests/test_fiscal_document_nfse.py +4 -0
- odoo/addons/l10n_br_fiscal/tests/test_service_type.py +2 -3
- odoo/addons/l10n_br_fiscal/tests/test_tax_benefit.py +4 -2
- odoo/addons/l10n_br_fiscal/views/cest_view.xml +2 -2
- odoo/addons/l10n_br_fiscal/views/cnae_view.xml +0 -1
- odoo/addons/l10n_br_fiscal/views/document_line_mixin_view.xml +170 -243
- odoo/addons/l10n_br_fiscal/views/document_line_view.xml +7 -11
- odoo/addons/l10n_br_fiscal/views/document_related_view.xml +15 -11
- odoo/addons/l10n_br_fiscal/views/document_serie_view.xml +1 -1
- odoo/addons/l10n_br_fiscal/views/document_view.xml +32 -44
- odoo/addons/l10n_br_fiscal/views/invalidate_number_view.xml +12 -12
- odoo/addons/l10n_br_fiscal/views/l10n_br_fiscal_action.xml +0 -31
- odoo/addons/l10n_br_fiscal/views/l10n_br_fiscal_menu.xml +2 -18
- odoo/addons/l10n_br_fiscal/views/nbm_view.xml +2 -2
- odoo/addons/l10n_br_fiscal/views/nbs_view.xml +1 -1
- odoo/addons/l10n_br_fiscal/views/ncm_view.xml +3 -3
- odoo/addons/l10n_br_fiscal/views/operation_dashboard_view.xml +27 -18
- odoo/addons/l10n_br_fiscal/views/operation_line_view.xml +2 -5
- odoo/addons/l10n_br_fiscal/views/operation_view.xml +39 -16
- odoo/addons/l10n_br_fiscal/views/partner_profile_view.xml +3 -6
- odoo/addons/l10n_br_fiscal/views/product_genre_view.xml +2 -2
- odoo/addons/l10n_br_fiscal/views/product_product_view.xml +17 -45
- odoo/addons/l10n_br_fiscal/views/product_template_view.xml +16 -35
- odoo/addons/l10n_br_fiscal/views/res_company_view.xml +17 -18
- odoo/addons/l10n_br_fiscal/views/res_config_settings_view.xml +37 -98
- odoo/addons/l10n_br_fiscal/views/res_partner_view.xml +3 -13
- odoo/addons/l10n_br_fiscal/views/service_type_view.xml +2 -3
- odoo/addons/l10n_br_fiscal/views/tax_definition_view.xml +60 -29
- odoo/addons/l10n_br_fiscal/views/tax_estimate_view.xml +2 -2
- odoo/addons/l10n_br_fiscal/views/tax_group_view.xml +4 -4
- odoo/addons/l10n_br_fiscal/views/tax_view.xml +14 -16
- odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.py +1 -1
- odoo/addons/l10n_br_fiscal/wizards/document_import_wizard_mixin.xml +2 -5
- {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/METADATA +16 -16
- {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/RECORD +77 -88
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.operation.indicator.csv +0 -27
- odoo/addons/l10n_br_fiscal/data/l10n_br_fiscal.tax.classification.csv +0 -163
- odoo/addons/l10n_br_fiscal/migrations/16.0.14.0.5/pre-migration.py +0 -15
- odoo/addons/l10n_br_fiscal/migrations/16.0.2.0.0/pre-migration.py +0 -25
- odoo/addons/l10n_br_fiscal/migrations/16.0.2.15.0/pre-migration.py +0 -19
- odoo/addons/l10n_br_fiscal/migrations/16.0.4.0.0/pre-migration.py +0 -220
- odoo/addons/l10n_br_fiscal/migrations/16.0.5.0.0/pre-migration.py +0 -33
- odoo/addons/l10n_br_fiscal/migrations/16.0.5.2.0/pre-migration.py +0 -21
- odoo/addons/l10n_br_fiscal/models/operation_indicator.py +0 -58
- odoo/addons/l10n_br_fiscal/models/tax_classification.py +0 -81
- odoo/addons/l10n_br_fiscal/tests/test_tax_classification.py +0 -110
- odoo/addons/l10n_br_fiscal/views/operation_indicator_view.xml +0 -75
- odoo/addons/l10n_br_fiscal/views/tax_classification.xml +0 -110
- /odoo/addons/l10n_br_fiscal/migrations/{16.0.13.0.0 → 17.0.2.0.0}/pre-migration.py +0 -0
- /odoo/addons/l10n_br_fiscal/migrations/{16.0.14.0.0 → 17.0.3.0.0}/pre-migration.py +0 -0
- {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/WHEEL +0 -0
- {odoo_addon_l10n_br_fiscal-16.0.19.4.0.dist-info → odoo_addon_l10n_br_fiscal-17.0.4.0.0.1.dist-info}/top_level.txt +0 -0
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Copyright 2025 Marcel Savegnago <https://escodoo.com.br>
|
|
2
|
-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
3
|
-
|
|
4
|
-
from odoo import api, fields, models
|
|
5
|
-
|
|
6
|
-
from ..constants.fiscal import (
|
|
7
|
-
TAX_DOMAIN_CBS,
|
|
8
|
-
TAX_DOMAIN_IBS,
|
|
9
|
-
TAX_RATE_TYPE,
|
|
10
|
-
TAX_RATE_TYPE_DEFAULT,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class TaxClassification(models.Model):
|
|
15
|
-
_name = "l10n_br_fiscal.tax.classification"
|
|
16
|
-
_inherit = "l10n_br_fiscal.data.abstract"
|
|
17
|
-
_order = "code"
|
|
18
|
-
_description = "Tax Classification"
|
|
19
|
-
|
|
20
|
-
code = fields.Char(size=8)
|
|
21
|
-
|
|
22
|
-
description = fields.Text()
|
|
23
|
-
|
|
24
|
-
cst_code_prefix_like = fields.Char(
|
|
25
|
-
compute="_compute_cst_code_prefix_like",
|
|
26
|
-
help="Helper field to filter taxes by CST code prefix (3 chars) using LIKE.",
|
|
27
|
-
)
|
|
28
|
-
|
|
29
|
-
@api.depends("code")
|
|
30
|
-
def _compute_cst_code_prefix_like(self):
|
|
31
|
-
for rec in self:
|
|
32
|
-
prefix = (rec.code or "")[:3]
|
|
33
|
-
# Avoid matching all records when the prefix is not available yet.
|
|
34
|
-
rec.cst_code_prefix_like = (
|
|
35
|
-
f"{prefix}%" if len(prefix) == 3 else "__no_match__%"
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
tax_ibs_id = fields.Many2one(
|
|
39
|
-
comodel_name="l10n_br_fiscal.tax",
|
|
40
|
-
string="Tax IBS",
|
|
41
|
-
domain=(
|
|
42
|
-
f"[('tax_domain', '=', '{TAX_DOMAIN_IBS}'), '|', "
|
|
43
|
-
"('cst_in_id.code', 'like', cst_code_prefix_like), "
|
|
44
|
-
"('cst_out_id.code', 'like', cst_code_prefix_like)]"
|
|
45
|
-
),
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
tax_cbs_id = fields.Many2one(
|
|
49
|
-
comodel_name="l10n_br_fiscal.tax",
|
|
50
|
-
string="Tax CBS",
|
|
51
|
-
domain=(
|
|
52
|
-
f"[('tax_domain', '=', '{TAX_DOMAIN_CBS}'), '|', "
|
|
53
|
-
"('cst_in_id.code', 'like', cst_code_prefix_like), "
|
|
54
|
-
"('cst_out_id.code', 'like', cst_code_prefix_like)]"
|
|
55
|
-
),
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
regular_taxation = fields.Boolean(
|
|
59
|
-
default=False,
|
|
60
|
-
)
|
|
61
|
-
|
|
62
|
-
presumed_credit = fields.Boolean(
|
|
63
|
-
default=False,
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
credit_reversal = fields.Boolean(
|
|
67
|
-
default=False,
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
rate_type = fields.Selection(
|
|
71
|
-
selection=TAX_RATE_TYPE,
|
|
72
|
-
default=TAX_RATE_TYPE_DEFAULT,
|
|
73
|
-
required=True,
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
document_type_ids = fields.Many2many(
|
|
77
|
-
comodel_name="l10n_br_fiscal.document.type",
|
|
78
|
-
relation="tax_classification_document_type_rel",
|
|
79
|
-
string="Related DFes",
|
|
80
|
-
help="Related Digital Fiscal Documents",
|
|
81
|
-
)
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
from odoo.tests import TransactionCase
|
|
2
|
-
from odoo.tests.common import Form, tagged
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
@tagged("post_install", "-at_install")
|
|
6
|
-
class TestTaxClassification(TransactionCase):
|
|
7
|
-
@classmethod
|
|
8
|
-
def setUpClass(cls):
|
|
9
|
-
super().setUpClass()
|
|
10
|
-
cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
|
|
11
|
-
|
|
12
|
-
cls.company = cls.env.ref("l10n_br_base.empresa_lucro_presumido")
|
|
13
|
-
cls.partner = cls.env.ref("l10n_br_base.res_partner_cliente1_sp")
|
|
14
|
-
cls.product = cls.env.ref("product.product_product_6")
|
|
15
|
-
|
|
16
|
-
# Use a stable operation line already referenced in existing test suites.
|
|
17
|
-
cls.operation_line = cls.env.ref("l10n_br_fiscal.fo_venda_venda")
|
|
18
|
-
|
|
19
|
-
# Pick classifications with CBS/IBS taxes set in the provided CSV.
|
|
20
|
-
cls.classification_company = cls.env.ref(
|
|
21
|
-
"l10n_br_fiscal.tax_classification_000001"
|
|
22
|
-
)
|
|
23
|
-
cls.classification_line = cls.env.ref(
|
|
24
|
-
"l10n_br_fiscal.tax_classification_200001"
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
def _map_kwargs(self):
|
|
28
|
-
return {
|
|
29
|
-
"company": self.company,
|
|
30
|
-
"partner": self.partner,
|
|
31
|
-
"product": self.product,
|
|
32
|
-
"ncm": self.product.ncm_id,
|
|
33
|
-
"nbm": self.env["l10n_br_fiscal.nbm"],
|
|
34
|
-
"nbs": self.env["l10n_br_fiscal.nbs"],
|
|
35
|
-
"cest": self.env["l10n_br_fiscal.cest"],
|
|
36
|
-
"city_taxation_code": self.env["l10n_br_fiscal.city.taxation.code"],
|
|
37
|
-
"service_type": self.env["l10n_br_fiscal.service.type"],
|
|
38
|
-
"ind_final": "1",
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
def test_map_fiscal_taxes_tax_classification_from_company(self):
|
|
42
|
-
"""Operation line must fallback to company tax classification when empty."""
|
|
43
|
-
self.company.tax_classification_id = self.classification_company
|
|
44
|
-
self.operation_line.tax_classification_id = False
|
|
45
|
-
|
|
46
|
-
result = self.operation_line.map_fiscal_taxes(**self._map_kwargs())
|
|
47
|
-
|
|
48
|
-
self.assertEqual(result["tax_classification"], self.classification_company)
|
|
49
|
-
self.assertEqual(
|
|
50
|
-
result["taxes"][self.classification_company.tax_cbs_id.tax_domain],
|
|
51
|
-
self.classification_company.tax_cbs_id,
|
|
52
|
-
)
|
|
53
|
-
self.assertEqual(
|
|
54
|
-
result["taxes"][self.classification_company.tax_ibs_id.tax_domain],
|
|
55
|
-
self.classification_company.tax_ibs_id,
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
def test_map_fiscal_taxes_tax_classification_from_operation_line(self):
|
|
59
|
-
"""Operation line tax classification must override company default."""
|
|
60
|
-
self.company.tax_classification_id = self.classification_company
|
|
61
|
-
self.operation_line.tax_classification_id = self.classification_line
|
|
62
|
-
|
|
63
|
-
result = self.operation_line.map_fiscal_taxes(**self._map_kwargs())
|
|
64
|
-
|
|
65
|
-
self.assertEqual(result["tax_classification"], self.classification_line)
|
|
66
|
-
self.assertEqual(
|
|
67
|
-
result["taxes"][self.classification_line.tax_cbs_id.tax_domain],
|
|
68
|
-
self.classification_line.tax_cbs_id,
|
|
69
|
-
)
|
|
70
|
-
self.assertEqual(
|
|
71
|
-
result["taxes"][self.classification_line.tax_ibs_id.tax_domain],
|
|
72
|
-
self.classification_line.tax_ibs_id,
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
def test_document_line_receives_cbs_ibs_from_tax_classification(self):
|
|
76
|
-
"""Fiscal document line must receive tax classification and CBS/IBS taxes."""
|
|
77
|
-
self.company.tax_classification_id = self.classification_company
|
|
78
|
-
self.operation_line.tax_classification_id = False
|
|
79
|
-
|
|
80
|
-
doc_form = Form(
|
|
81
|
-
self.env["l10n_br_fiscal.document"].with_context(
|
|
82
|
-
default_fiscal_operation_type="out",
|
|
83
|
-
)
|
|
84
|
-
)
|
|
85
|
-
doc_form.company_id = self.company
|
|
86
|
-
doc_form.partner_id = self.partner
|
|
87
|
-
doc_form.fiscal_operation_id = self.env.ref("l10n_br_fiscal.fo_venda")
|
|
88
|
-
doc_form.ind_final = "1"
|
|
89
|
-
|
|
90
|
-
with doc_form.fiscal_line_ids.new() as line_form:
|
|
91
|
-
line_form.product_id = self.product
|
|
92
|
-
# Ensure we map on a predictable operation line for this assertion.
|
|
93
|
-
line_form.fiscal_operation_line_id = self.operation_line
|
|
94
|
-
|
|
95
|
-
self.assertEqual(
|
|
96
|
-
line_form.tax_classification_id, self.classification_company
|
|
97
|
-
)
|
|
98
|
-
self.assertEqual(
|
|
99
|
-
line_form.cbs_tax_id, self.classification_company.tax_cbs_id
|
|
100
|
-
)
|
|
101
|
-
self.assertEqual(
|
|
102
|
-
line_form.ibs_tax_id, self.classification_company.tax_ibs_id
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
self.assertIn(
|
|
106
|
-
self.classification_company.tax_cbs_id, line_form.fiscal_tax_ids
|
|
107
|
-
)
|
|
108
|
-
self.assertIn(
|
|
109
|
-
self.classification_company.tax_ibs_id, line_form.fiscal_tax_ids
|
|
110
|
-
)
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
-
<odoo>
|
|
3
|
-
<record id="operation_indicator_tree" model="ir.ui.view">
|
|
4
|
-
<field name="name">l10n_br_fiscal.operation.indicator.tree</field>
|
|
5
|
-
<field name="model">l10n_br_fiscal.operation.indicator</field>
|
|
6
|
-
<field name="arch" type="xml">
|
|
7
|
-
<tree>
|
|
8
|
-
<field name="code" />
|
|
9
|
-
<field name="name" />
|
|
10
|
-
<field name="supply_location" />
|
|
11
|
-
<field name="active" invisible="1" />
|
|
12
|
-
</tree>
|
|
13
|
-
</field>
|
|
14
|
-
</record>
|
|
15
|
-
|
|
16
|
-
<record id="operation_indicator_form" model="ir.ui.view">
|
|
17
|
-
<field name="name">l10n_br_fiscal.operation.indicator.form</field>
|
|
18
|
-
<field name="model">l10n_br_fiscal.operation.indicator</field>
|
|
19
|
-
<field name="arch" type="xml">
|
|
20
|
-
<form string="Operation Indicator">
|
|
21
|
-
<sheet>
|
|
22
|
-
<group>
|
|
23
|
-
<group>
|
|
24
|
-
<field name="code" />
|
|
25
|
-
<field name="name" />
|
|
26
|
-
</group>
|
|
27
|
-
</group>
|
|
28
|
-
<notebook>
|
|
29
|
-
<page string="Operation Details">
|
|
30
|
-
<group>
|
|
31
|
-
<field
|
|
32
|
-
name="operation_type"
|
|
33
|
-
placeholder="Type of operation"
|
|
34
|
-
/>
|
|
35
|
-
<field
|
|
36
|
-
name="operation_location"
|
|
37
|
-
placeholder="Where the operation is considered"
|
|
38
|
-
/>
|
|
39
|
-
</group>
|
|
40
|
-
</page>
|
|
41
|
-
<page string="Supply Information">
|
|
42
|
-
<group>
|
|
43
|
-
<field
|
|
44
|
-
name="supply_characteristic"
|
|
45
|
-
placeholder="Supply characteristic"
|
|
46
|
-
/>
|
|
47
|
-
<field
|
|
48
|
-
name="supply_location"
|
|
49
|
-
placeholder="Place of supply"
|
|
50
|
-
/>
|
|
51
|
-
</group>
|
|
52
|
-
</page>
|
|
53
|
-
</notebook>
|
|
54
|
-
</sheet>
|
|
55
|
-
</form>
|
|
56
|
-
</field>
|
|
57
|
-
</record>
|
|
58
|
-
|
|
59
|
-
<record id="operation_indicator_search" model="ir.ui.view">
|
|
60
|
-
<field name="name">l10n_br_fiscal.operation.indicator.search</field>
|
|
61
|
-
<field name="model">l10n_br_fiscal.operation.indicator</field>
|
|
62
|
-
<field name="arch" type="xml">
|
|
63
|
-
<search string="Operation Indicator">
|
|
64
|
-
<field name="code" />
|
|
65
|
-
<field name="name" />
|
|
66
|
-
<field name="supply_location" />
|
|
67
|
-
<filter
|
|
68
|
-
string="Archived"
|
|
69
|
-
name="inactive"
|
|
70
|
-
domain="[('active', '=', False)]"
|
|
71
|
-
/>
|
|
72
|
-
</search>
|
|
73
|
-
</field>
|
|
74
|
-
</record>
|
|
75
|
-
</odoo>
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8" ?>
|
|
2
|
-
<!-- Copyright 2025 Marcel Savegnago <https://escodoo.com.br>
|
|
3
|
-
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
|
4
|
-
<odoo>
|
|
5
|
-
|
|
6
|
-
<record id="tax_classification_search" model="ir.ui.view">
|
|
7
|
-
<field name="model">l10n_br_fiscal.tax.classification</field>
|
|
8
|
-
<field name="arch" type="xml">
|
|
9
|
-
<search string="Tax Classification">
|
|
10
|
-
<field name="code" />
|
|
11
|
-
<field name="name" />
|
|
12
|
-
<group expand="0" string="Group By...">
|
|
13
|
-
<filter
|
|
14
|
-
string="Rate Type"
|
|
15
|
-
name="rate_type"
|
|
16
|
-
domain="[]"
|
|
17
|
-
context="{'group_by': 'rate_type'}"
|
|
18
|
-
/>
|
|
19
|
-
<filter
|
|
20
|
-
string="Regular Taxation"
|
|
21
|
-
name="regular_taxation"
|
|
22
|
-
domain="[('regular_taxation', '=', True)]"
|
|
23
|
-
/>
|
|
24
|
-
<filter
|
|
25
|
-
string="Presumed Credit"
|
|
26
|
-
name="presumed_credit"
|
|
27
|
-
domain="[('presumed_credit', '=', True)]"
|
|
28
|
-
/>
|
|
29
|
-
</group>
|
|
30
|
-
</search>
|
|
31
|
-
</field>
|
|
32
|
-
</record>
|
|
33
|
-
|
|
34
|
-
<record id="tax_classification_tree" model="ir.ui.view">
|
|
35
|
-
<field name="model">l10n_br_fiscal.tax.classification</field>
|
|
36
|
-
<field name="arch" type="xml">
|
|
37
|
-
<tree>
|
|
38
|
-
<field name="code" />
|
|
39
|
-
<field name="name" />
|
|
40
|
-
<field name="cst_code_prefix_like" invisible="1" />
|
|
41
|
-
<field name="tax_ibs_id" />
|
|
42
|
-
<field name="tax_cbs_id" />
|
|
43
|
-
<field name="regular_taxation" string="Regular Taxation" />
|
|
44
|
-
<field name="presumed_credit" string="Presumed Credit" />
|
|
45
|
-
<field name="credit_reversal" string="Credit Reversal" />
|
|
46
|
-
<field name="rate_type" string="Rate Type" />
|
|
47
|
-
<field
|
|
48
|
-
name="document_type_ids"
|
|
49
|
-
widget="many2many_tags"
|
|
50
|
-
string="Related DFes"
|
|
51
|
-
/>
|
|
52
|
-
</tree>
|
|
53
|
-
</field>
|
|
54
|
-
</record>
|
|
55
|
-
|
|
56
|
-
<record id="tax_classification_form" model="ir.ui.view">
|
|
57
|
-
<field name="model">l10n_br_fiscal.tax.classification</field>
|
|
58
|
-
<field name="arch" type="xml">
|
|
59
|
-
<form string="Tax Classification">
|
|
60
|
-
<field name="id" invisible="1" />
|
|
61
|
-
<sheet>
|
|
62
|
-
<group>
|
|
63
|
-
<group>
|
|
64
|
-
<field name="code" />
|
|
65
|
-
<field name="name" />
|
|
66
|
-
<field name="cst_code_prefix_like" invisible="1" />
|
|
67
|
-
<field name="description" />
|
|
68
|
-
<field name="rate_type" />
|
|
69
|
-
</group>
|
|
70
|
-
</group>
|
|
71
|
-
<group string="Taxes">
|
|
72
|
-
<group>
|
|
73
|
-
<field name="tax_ibs_id" />
|
|
74
|
-
</group>
|
|
75
|
-
<group>
|
|
76
|
-
<field name="tax_cbs_id" />
|
|
77
|
-
</group>
|
|
78
|
-
</group>
|
|
79
|
-
<group string="Tax Indicators">
|
|
80
|
-
<group>
|
|
81
|
-
<field name="regular_taxation" />
|
|
82
|
-
</group>
|
|
83
|
-
<group>
|
|
84
|
-
<field name="presumed_credit" />
|
|
85
|
-
</group>
|
|
86
|
-
<group>
|
|
87
|
-
<field name="credit_reversal" />
|
|
88
|
-
</group>
|
|
89
|
-
</group>
|
|
90
|
-
<group string="Related Digital Fiscal Documents">
|
|
91
|
-
<field
|
|
92
|
-
name="document_type_ids"
|
|
93
|
-
widget="many2many_tags"
|
|
94
|
-
options="{'no_create': True, 'no_create_edit': True}"
|
|
95
|
-
/>
|
|
96
|
-
</group>
|
|
97
|
-
</sheet>
|
|
98
|
-
</form>
|
|
99
|
-
</field>
|
|
100
|
-
</record>
|
|
101
|
-
|
|
102
|
-
<record id="tax_classification_act_window" model="ir.actions.act_window">
|
|
103
|
-
<field name="name">Tax Classification</field>
|
|
104
|
-
<field name="res_model">l10n_br_fiscal.tax.classification</field>
|
|
105
|
-
<field name="view_mode">tree,form</field>
|
|
106
|
-
<field name="domain">[]</field>
|
|
107
|
-
<field name="context">{}</field>
|
|
108
|
-
</record>
|
|
109
|
-
|
|
110
|
-
</odoo>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|