odoo-addon-l10n-br-fiscal-edi 15.0.1.0.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.
Files changed (42) hide show
  1. odoo/addons/l10n_br_fiscal_edi/README.rst +124 -0
  2. odoo/addons/l10n_br_fiscal_edi/__init__.py +2 -0
  3. odoo/addons/l10n_br_fiscal_edi/__manifest__.py +41 -0
  4. odoo/addons/l10n_br_fiscal_edi/i18n/l10n_br_fiscal_edi.pot +896 -0
  5. odoo/addons/l10n_br_fiscal_edi/models/__init__.py +4 -0
  6. odoo/addons/l10n_br_fiscal_edi/models/document.py +294 -0
  7. odoo/addons/l10n_br_fiscal_edi/models/document_event.py +392 -0
  8. odoo/addons/l10n_br_fiscal_edi/models/document_workflow.py +387 -0
  9. odoo/addons/l10n_br_fiscal_edi/models/invalidate_number.py +53 -0
  10. odoo/addons/l10n_br_fiscal_edi/readme/CONTRIBUTORS.md +5 -0
  11. odoo/addons/l10n_br_fiscal_edi/readme/DESCRIPTION.md +6 -0
  12. odoo/addons/l10n_br_fiscal_edi/readme/ROADMAP.md +6 -0
  13. odoo/addons/l10n_br_fiscal_edi/readme/USAGE.md +7 -0
  14. odoo/addons/l10n_br_fiscal_edi/security/ir.model.access.csv +7 -0
  15. odoo/addons/l10n_br_fiscal_edi/static/description/icon.png +0 -0
  16. odoo/addons/l10n_br_fiscal_edi/static/description/index.html +460 -0
  17. odoo/addons/l10n_br_fiscal_edi/tests/__init__.py +1 -0
  18. odoo/addons/l10n_br_fiscal_edi/tests/test_fiscal_document_generic.py +1191 -0
  19. odoo/addons/l10n_br_fiscal_edi/tests/test_tax_benefit.py +74 -0
  20. odoo/addons/l10n_br_fiscal_edi/tests/test_workflow.py +118 -0
  21. odoo/addons/l10n_br_fiscal_edi/views/document_event_report.xml +15 -0
  22. odoo/addons/l10n_br_fiscal_edi/views/document_event_template.xml +114 -0
  23. odoo/addons/l10n_br_fiscal_edi/views/document_event_view.xml +68 -0
  24. odoo/addons/l10n_br_fiscal_edi/views/document_view.xml +77 -0
  25. odoo/addons/l10n_br_fiscal_edi/views/invalidate_number_view.xml +19 -0
  26. odoo/addons/l10n_br_fiscal_edi/views/l10n_br_fiscal_action.xml +38 -0
  27. odoo/addons/l10n_br_fiscal_edi/views/l10n_br_fiscal_menu.xml +23 -0
  28. odoo/addons/l10n_br_fiscal_edi/wizards/__init__.py +7 -0
  29. odoo/addons/l10n_br_fiscal_edi/wizards/base_wizard_mixin.py +13 -0
  30. odoo/addons/l10n_br_fiscal_edi/wizards/document_cancel_wizard.py +20 -0
  31. odoo/addons/l10n_br_fiscal_edi/wizards/document_cancel_wizard.xml +30 -0
  32. odoo/addons/l10n_br_fiscal_edi/wizards/document_correction_wizard.py +17 -0
  33. odoo/addons/l10n_br_fiscal_edi/wizards/document_correction_wizard.xml +30 -0
  34. odoo/addons/l10n_br_fiscal_edi/wizards/document_import_wizard_mixin.py +132 -0
  35. odoo/addons/l10n_br_fiscal_edi/wizards/document_import_wizard_mixin.xml +44 -0
  36. odoo/addons/l10n_br_fiscal_edi/wizards/document_status_wizard.xml +58 -0
  37. odoo/addons/l10n_br_fiscal_edi/wizards/invalidate_number_wizard.py +33 -0
  38. odoo/addons/l10n_br_fiscal_edi/wizards/invalidate_number_wizard.xml +30 -0
  39. odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/METADATA +141 -0
  40. odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/RECORD +42 -0
  41. odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/WHEEL +5 -0
  42. odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!-- Copyright 2019 KMEE
3
+ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
+ <odoo>
5
+
6
+ <record id="document_correction_wizard_form" model="ir.ui.view">
7
+ <field name="name">l10n_br_fiscal.document.correction.wizard.form</field>
8
+ <field name="model">l10n_br_fiscal.document.correction.wizard</field>
9
+ <field name="arch" type="xml">
10
+ <form string="Carta de Correção">
11
+ <group>
12
+ <field name="justification" />
13
+ </group>
14
+ <footer>
15
+ <button name="doit" string="OK" class="btn-primary" type="object" />
16
+ <button string="Cancel" class="btn-default" special="cancel" />
17
+ </footer>
18
+ </form>
19
+ </field>
20
+ </record>
21
+
22
+ <record id="document_correction_wizard_action" model="ir.actions.act_window">
23
+ <field name="name">Carta de Correção</field>
24
+ <field name="res_model">l10n_br_fiscal.document.correction.wizard</field>
25
+ <field name="view_mode">form</field>
26
+ <field name="context">{}</field>
27
+ <field name="target">new</field>
28
+ </record>
29
+
30
+ </odoo>
@@ -0,0 +1,132 @@
1
+ # Copyright (C) 2023 Felipe Zago Rodrigues - Kmee
2
+ # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
3
+
4
+ import base64
5
+ import logging
6
+
7
+ from odoo import _, api, fields, models
8
+ from odoo.exceptions import UserError
9
+
10
+ from odoo.addons.l10n_br_fiscal.constants.fiscal import FISCAL_IN_OUT_ALL
11
+
12
+ _logger = logging.getLogger(__name__)
13
+
14
+ try:
15
+ from xsdata.formats.dataclass.parsers import XmlParser
16
+ except ImportError:
17
+ _logger.error(_("xsdata Python lib not installed!"))
18
+
19
+
20
+ class DocumentImportWizardMixin(models.TransientModel):
21
+ _name = "l10n_br_fiscal.document.import.wizard.mixin"
22
+ _description = "Wizard Import Document Mixin"
23
+ _inherit = "l10n_br_fiscal.base.wizard.mixin"
24
+
25
+ company_id = fields.Many2one(
26
+ comodel_name="res.company",
27
+ string="Company",
28
+ default=lambda self: self.env.company.id,
29
+ )
30
+
31
+ file = fields.Binary(string="File to Import")
32
+
33
+ fiscal_operation_id = fields.Many2one(
34
+ comodel_name="l10n_br_fiscal.operation",
35
+ string="Fiscal Operation",
36
+ domain="[('fiscal_operation_type', '=', fiscal_operation_type)]",
37
+ )
38
+
39
+ document_type = fields.Char()
40
+
41
+ fiscal_operation_type = fields.Selection(selection=FISCAL_IN_OUT_ALL)
42
+
43
+ def _import_edoc(self):
44
+ self._find_existing_document()
45
+ if not self.document_id:
46
+ binding, self.document_id = self._create_edoc_from_file()
47
+ else:
48
+ binding = self._parse_file()
49
+ return binding, self.document_id
50
+
51
+ def action_import_and_open_document(self):
52
+ self._import_edoc()
53
+ return self.action_open_document()
54
+
55
+ def _create_edoc_from_file(self):
56
+ pass # meant to be overriden
57
+
58
+ @api.onchange("file")
59
+ def _onchange_file(self):
60
+ if self.file:
61
+ self._fill_wizard_from_binding()
62
+
63
+ def _fill_wizard_from_binding(self):
64
+ pass # meant to be overriden
65
+
66
+ def action_open_document(self):
67
+ return {
68
+ "name": _("Document Imported"),
69
+ "type": "ir.actions.act_window",
70
+ "target": "current",
71
+ "views": [[False, "form"]],
72
+ "res_id": self.document_id.id,
73
+ "res_model": "l10n_br_fiscal.document",
74
+ }
75
+
76
+ def _document_key_from_binding(self, binding):
77
+ pass # meant to be overriden
78
+
79
+ def _find_existing_document(self):
80
+ document_key = self._document_key_from_binding(self._parse_file())
81
+ self.document_id = self.env["l10n_br_fiscal.document"].search(
82
+ [("document_key", "=", document_key.chave)],
83
+ limit=1,
84
+ )
85
+
86
+ def _find_document_type(self, code):
87
+ return self.env["l10n_br_fiscal.document.type"].search(
88
+ [("code", "=", code)],
89
+ limit=1,
90
+ )
91
+
92
+ def _find_fiscal_operation(self, cfop, nat_op, fiscal_operation_type):
93
+ """try to find a matching fiscal operation via an operation line"""
94
+ operation_lines = self.env["l10n_br_fiscal.operation.line"].search(
95
+ [
96
+ ("state", "=", "approved"),
97
+ ("fiscal_type", "=", fiscal_operation_type),
98
+ ("cfop_external_id", "=", cfop),
99
+ ],
100
+ )
101
+ for line in operation_lines:
102
+ if line.fiscal_operation_id.name == nat_op:
103
+ return line.fiscal_operation_id
104
+ if operation_lines:
105
+ return operation_lines[0].fiscal_operation_id
106
+
107
+ def _parse_file(self):
108
+ return self._parse_file_data(self.file)
109
+
110
+ @api.model
111
+ def _parse_file_data(self, file_data):
112
+ try:
113
+ binding = XmlParser().from_bytes(base64.b64decode(file_data))
114
+ except Exception as e:
115
+ raise UserError(_("Invalid file!")) from e
116
+ return binding
117
+
118
+ @api.model
119
+ def _detect_binding(self, binding):
120
+ """
121
+ A pluggable method were each specialized fiscal document
122
+ importation wizard can register itself and return a tuple
123
+ with (the_fiscal_document_type_code, the_name_of_the_importation_wizard)
124
+ """
125
+ raise UserError(
126
+ _("Importation not implemented for %s!")
127
+ % (
128
+ type(
129
+ binding,
130
+ )
131
+ )
132
+ )
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!-- Copyright 2023 KMEE
3
+ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
+ <odoo>
5
+
6
+ <record id="l10n_br_fiscal_document_import_wizard_mixin_form" model="ir.ui.view">
7
+ <field name="name">l10n_br_fiscal.document.import.wizard.mixin.form</field>
8
+ <field name="model">l10n_br_fiscal.document.import.wizard.mixin</field>
9
+ <field name="arch" type="xml">
10
+ <form string="Import Document">
11
+ <group>
12
+ <field name="file" required="1" />
13
+ </group>
14
+ <separator
15
+ string="Preview Data"
16
+ attrs="{'invisible': [('file', '=', False)]}"
17
+ />
18
+ <group id="document_info" attrs="{'invisible': [('file', '=', False)]}">
19
+ <group>
20
+ <field name="fiscal_operation_id" required="1" />
21
+ <field name="fiscal_operation_type" invisible="1" />
22
+ <field name="document_key" readonly="1" />
23
+ <field name="document_number" readonly="1" />
24
+ <field name="document_serie" readonly="1" />
25
+ </group>
26
+
27
+ <group>
28
+ <field name="partner_id" readonly="1" />
29
+ </group>
30
+ </group>
31
+ <footer>
32
+ <button
33
+ name="action_import_and_open_document"
34
+ string="Import Fiscal Document"
35
+ class="btn-primary"
36
+ type="object"
37
+ />
38
+ <button string="Cancel" class="btn-default" special="cancel" />
39
+ </footer>
40
+ </form>
41
+ </field>
42
+ </record>
43
+
44
+ </odoo>
@@ -0,0 +1,58 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!-- Copyright 2020 KMEE
3
+ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
+ <odoo>
5
+
6
+ <record model="ir.ui.view" id="wizard_document_status_form">
7
+ <field
8
+ name="name"
9
+ >wizard.l10n_br_fiscal.base.wizard.mixin (in l10n_br_fiscal)</field>
10
+ <field name="model">l10n_br_fiscal.document.status.wizard</field>
11
+ <field name="arch" type="xml">
12
+ <form string="Document Status">
13
+ <field invisible="1" name="state" />
14
+ <group name="document_info">
15
+ <group name="document_info_right">
16
+ <field name="partner_id" readonly="1" />
17
+ <field name="document_id" readonly="1" />
18
+ </group>
19
+ <group name="document_info_left">
20
+ <field name="document_type" invisible="1" />
21
+ <field name="document_type_id" readonly="1" />
22
+ <field name="document_serie" readonly="1" />
23
+ <field name="document_number" readonly="1" />
24
+ <field
25
+ name="rps_number"
26
+ attrs="{'invisible': [('document_type', '!=', 'SE')]}"
27
+ readonly="1"
28
+ />
29
+ </group>
30
+ </group>
31
+ <group name="document_key_group">
32
+ <field name="document_key" readonly="1" />
33
+ </group>
34
+ <group states="done" name="document_status">
35
+ <field name="document_status" />
36
+ </group>
37
+ <footer>
38
+ <button
39
+ name="doit"
40
+ string="Get Status"
41
+ class="btn-primary"
42
+ type="object"
43
+ />
44
+ <button string="Close" class="btn-default" special="cancel" />
45
+ </footer>
46
+ </form>
47
+ </field>
48
+ </record>
49
+
50
+ <record model="ir.actions.act_window" id="wizard_document_status_act_multi">
51
+ <field name="name">Document Status</field>
52
+ <field name="res_model">l10n_br_fiscal.document.status.wizard</field>
53
+ <field name="view_mode">form</field>
54
+ <field name="binding_model_id" ref="model_l10n_br_fiscal_document" />
55
+ <field name="target">new</field>
56
+ </record>
57
+
58
+ </odoo>
@@ -0,0 +1,33 @@
1
+ # Copyright 2019 KMEE
2
+ # Copyright (C) 2020 Renato Lima - Akretion <renato.lima@akretion.com.br>
3
+ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
4
+
5
+ from odoo import models
6
+
7
+
8
+ class InvalidateNumberWizard(models.TransientModel):
9
+ _name = "l10n_br_fiscal.invalidate.number.wizard"
10
+ _description = "Invalidate Number Wizard"
11
+ _inherit = "l10n_br_fiscal.base.wizard.mixin"
12
+
13
+ def do_invalidate(self):
14
+ invalidate = self.env["l10n_br_fiscal.invalidate.number"].create(
15
+ {
16
+ "company_id": self.document_id.company_id.id,
17
+ "document_type_id": self.document_id.document_type_id.id,
18
+ "document_serie_id": self.document_id.document_serie_id.id,
19
+ "number_start": self.document_id.document_number,
20
+ "number_end": self.document_id.document_number,
21
+ "justification": self.justification,
22
+ }
23
+ )
24
+ invalidate._invalidate(self.document_id)
25
+ if hasattr(self.document_id, "cancel_move_ids"):
26
+ # cancel moves if l10n_br_account is installed
27
+ # (thus l10n_br_account doesn't need to depend on l10n_br_fiscal_edi)
28
+ self.document_id.cancel_move_ids()
29
+
30
+ def doit(self):
31
+ for wizard in self:
32
+ wizard.do_invalidate()
33
+ self._close()
@@ -0,0 +1,30 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!-- Copyright 2019 KMEE
3
+ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
4
+ <odoo>
5
+
6
+ <record id="invalidate_number_wizard" model="ir.ui.view">
7
+ <field name="name">l10n_br_fiscal.invalidate.number.wizard</field>
8
+ <field name="model">l10n_br_fiscal.invalidate.number.wizard</field>
9
+ <field name="arch" type="xml">
10
+ <form string="Inutilização de documento fiscal">
11
+ <group>
12
+ <field name="justification" />
13
+ </group>
14
+ <footer>
15
+ <button name="doit" string="OK" class="btn-primary" type="object" />
16
+ <button string="Cancel" class="btn-default" special="cancel" />
17
+ </footer>
18
+ </form>
19
+ </field>
20
+ </record>
21
+
22
+ <record id="invalidate_number_wizard_action" model="ir.actions.act_window">
23
+ <field name="name">Inutilização de documento fiscal</field>
24
+ <field name="res_model">l10n_br_fiscal.invalidate.number.wizard</field>
25
+ <field name="view_mode">form</field>
26
+ <field name="context">{}</field>
27
+ <field name="target">new</field>
28
+ </record>
29
+
30
+ </odoo>
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.1
2
+ Name: odoo-addon-l10n_br_fiscal_edi
3
+ Version: 15.0.1.0.0.2
4
+ Requires-Python: >=3.8
5
+ Requires-Dist: odoo-addon-l10n_br_fiscal>=15.0dev,<15.1dev
6
+ Requires-Dist: odoo>=15.0a,<15.1dev
7
+ Summary: Common EDI fiscal features
8
+ Home-page: https://github.com/OCA/l10n-brazil
9
+ License: AGPL-3
10
+ Author: Akretion, KMEE, Odoo Community Association (OCA)
11
+ Author-email: support@odoo-community.org
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Framework :: Odoo
14
+ Classifier: Framework :: Odoo :: 15.0
15
+ Classifier: License :: OSI Approved :: GNU Affero General Public License v3
16
+ Classifier: Development Status :: 4 - Beta
17
+
18
+ ==========================
19
+ Common EDI fiscal features
20
+ ==========================
21
+
22
+ ..
23
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
24
+ !! This file is generated by oca-gen-addon-readme !!
25
+ !! changes will be overwritten. !!
26
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
+ !! source digest: sha256:2aef138ea880eef26ea27fdbf1da1ce3e5bb9992bebe8a52c807e00d0303406f
28
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
29
+
30
+ .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
31
+ :target: https://odoo-community.org/page/development-status
32
+ :alt: Beta
33
+ .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
34
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
35
+ :alt: License: AGPL-3
36
+ .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--brazil-lightgray.png?logo=github
37
+ :target: https://github.com/OCA/l10n-brazil/tree/15.0/l10n_br_fiscal_edi
38
+ :alt: OCA/l10n-brazil
39
+ .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
40
+ :target: https://translation.odoo-community.org/projects/l10n-brazil-15-0/l10n-brazil-15-0-l10n_br_fiscal_edi
41
+ :alt: Translate me on Weblate
42
+ .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
43
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-brazil&target_branch=15.0
44
+ :alt: Try me on Runboat
45
+
46
+ |badge1| |badge2| |badge3| |badge4| |badge5|
47
+
48
+ Este módulo estende o módulo ``l10n_br_fiscal`` e cuida da parte de EDI
49
+ (Electronic Data Interchange) que é comum entre os vários documentos
50
+ fiscais no Brasil. Ele introduz os modelos de eventos de transmissão, de
51
+ correções... Alem disso ele cuida das possíveis transições de estado do
52
+ documento fiscal em função dos retornos dos webservices (campo
53
+ ``state_edoc``).
54
+
55
+ **Table of contents**
56
+
57
+ .. contents::
58
+ :local:
59
+
60
+ Usage
61
+ =====
62
+
63
+ Use os botões na barra de header do documento fiscal para alterar o
64
+ estado do documento fiscal, para abrir os wizards e para interagir com a
65
+ fazenda... Quando o módulo ``l10n_br_account`` ou alguns módulos de
66
+ documentos fiscais específicos como ``l10n_br_nfe`` ou ``l10n_br_nfse``
67
+ são instalados, alguns métodos de transição de estado do módulo
68
+ ``l10n_br_fiscal_edi`` são chamados automaticamente, por exemplo ao
69
+ confirmar ou cancelar uma nota.
70
+
71
+ Known issues / Roadmap
72
+ ======================
73
+
74
+ O código deste módulo foi feito antes dos repos ``OCA/edi`` e
75
+ ``OCA/edi-framework``. O código do ``document_workflow.py`` por exemplo
76
+ foi uma espécie de tradução em código do "workflow de state machine" que
77
+ tinha sido customizado para a NFe na versão 8.0 mas que teve que ser
78
+ re-escrito quando o engine de workflow foi removido na versão 10.0.
79
+ Nisso o código deste módulo tem bastante possibilidades de melhorias...
80
+
81
+ Bug Tracker
82
+ ===========
83
+
84
+ Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-brazil/issues>`_.
85
+ In case of trouble, please check there if your issue has already been reported.
86
+ If you spotted it first, help us to smash it by providing a detailed and welcomed
87
+ `feedback <https://github.com/OCA/l10n-brazil/issues/new?body=module:%20l10n_br_fiscal_edi%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
88
+
89
+ Do not contact contributors directly about support or help with technical issues.
90
+
91
+ Credits
92
+ =======
93
+
94
+ Authors
95
+ -------
96
+
97
+ * Akretion
98
+ * KMEE
99
+
100
+ Contributors
101
+ ------------
102
+
103
+ - `Akretion <https://www.akretion.com/pt-BR>`__:
104
+
105
+ - Renato Lima <renato.lima@akretion.com.br>
106
+ - Raphaël Valyi <raphael.valyi@akretion.com.br>
107
+
108
+ - `KMEE <https://www.kmee.com.br>`__:
109
+
110
+ - Luis Felipe Mileo <mileo@kmee.com.br>
111
+
112
+ Maintainers
113
+ -----------
114
+
115
+ This module is maintained by the OCA.
116
+
117
+ .. image:: https://odoo-community.org/logo.png
118
+ :alt: Odoo Community Association
119
+ :target: https://odoo-community.org
120
+
121
+ OCA, or the Odoo Community Association, is a nonprofit organization whose
122
+ mission is to support the collaborative development of Odoo features and
123
+ promote its widespread use.
124
+
125
+ .. |maintainer-renatonlima| image:: https://github.com/renatonlima.png?size=40px
126
+ :target: https://github.com/renatonlima
127
+ :alt: renatonlima
128
+ .. |maintainer-rvalyi| image:: https://github.com/rvalyi.png?size=40px
129
+ :target: https://github.com/rvalyi
130
+ :alt: rvalyi
131
+ .. |maintainer-mileo| image:: https://github.com/mileo.png?size=40px
132
+ :target: https://github.com/mileo
133
+ :alt: mileo
134
+
135
+ Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
136
+
137
+ |maintainer-renatonlima| |maintainer-rvalyi| |maintainer-mileo|
138
+
139
+ This module is part of the `OCA/l10n-brazil <https://github.com/OCA/l10n-brazil/tree/15.0/l10n_br_fiscal_edi>`_ project on GitHub.
140
+
141
+ You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
@@ -0,0 +1,42 @@
1
+ odoo/addons/l10n_br_fiscal_edi/README.rst,sha256=Xi8m2VtgypwhFk8iBkkSvlu0jqjdP9mAtjmvtOFwWV8,4852
2
+ odoo/addons/l10n_br_fiscal_edi/__init__.py,sha256=0XNpxETgFdVxFDEw03O8oL3NtTSk3we-HEZW2sPKzIU,43
3
+ odoo/addons/l10n_br_fiscal_edi/__manifest__.py,sha256=uSCy8MF9vspT8zzNAhsTuG7B_fSccJU1CfBtwJQwD2s,1332
4
+ odoo/addons/l10n_br_fiscal_edi/i18n/l10n_br_fiscal_edi.pot,sha256=Q_dhnRojfE80SpqnQ8nNWmi46mw7ERoqV9Y3pYBAWwc,37905
5
+ odoo/addons/l10n_br_fiscal_edi/models/__init__.py,sha256=Zz-kP7XRE72a4jf5pfkNr_MHaaHJx9V5WEdQZGuncGg,116
6
+ odoo/addons/l10n_br_fiscal_edi/models/document.py,sha256=ThbbVY2F2XXRnnJs7ZAChSt0ehEKZAAgGks9ETmDeFU,8975
7
+ odoo/addons/l10n_br_fiscal_edi/models/document_event.py,sha256=R5iMjlHJVx44Gqcf3y9Zrp--5Z2I3zxpjzmVOW2BR5A,11361
8
+ odoo/addons/l10n_br_fiscal_edi/models/document_workflow.py,sha256=3mCc3Er_NtSfzpRKjniEEyUGcoc912I54P3RpPx4QT0,14583
9
+ odoo/addons/l10n_br_fiscal_edi/models/invalidate_number.py,sha256=Nh1xrgSc120lKfj03bFxldqIv2GofifLCMNcynHf724,1540
10
+ odoo/addons/l10n_br_fiscal_edi/readme/CONTRIBUTORS.md,sha256=m5_7QJFuw9MsgV-sdQMPVWDBXQvaqnl8TbyBvdBnwIM,232
11
+ odoo/addons/l10n_br_fiscal_edi/readme/DESCRIPTION.md,sha256=TWp8jJZ2mwnBXHhdYI9A5HD_pF12eOJRO4_SPNmBVuA,374
12
+ odoo/addons/l10n_br_fiscal_edi/readme/ROADMAP.md,sha256=m63hi9coIwXI0oDmvu6XmdEoSv4t3fOJDAIK8WbXAi8,421
13
+ odoo/addons/l10n_br_fiscal_edi/readme/USAGE.md,sha256=2UZfDrf29LJ8y6c17XzwNOvi5JEpcfxNi_pKjpKbJPg,447
14
+ odoo/addons/l10n_br_fiscal_edi/security/ir.model.access.csv,sha256=y56uRGO-2bz45keACWY32ZcCop6KsZk_9om8jj5jk-4,1030
15
+ odoo/addons/l10n_br_fiscal_edi/static/description/icon.png,sha256=6xBPJauaFOF0KDHfHgQopSc28kKvxMaeoQFQWZtfZDo,9455
16
+ odoo/addons/l10n_br_fiscal_edi/static/description/index.html,sha256=YfHrmnoTS1Or31N7_ezWIzE9L4iccUJLkgW7YFCHK9Y,15176
17
+ odoo/addons/l10n_br_fiscal_edi/tests/__init__.py,sha256=4Q04RgcX7CPzogoxW39Muu0BAMmpfaRZKp67SpjYOBU,28
18
+ odoo/addons/l10n_br_fiscal_edi/tests/test_fiscal_document_generic.py,sha256=7TCfWXhjOcJlKu_ZJWpn81NVJa9bHUZOsgn6WPC3QEA,44083
19
+ odoo/addons/l10n_br_fiscal_edi/tests/test_tax_benefit.py,sha256=UVUZVAv5JeJmZ_htq3cieyGuEZNn6-Satfpwhjs-OJI,2772
20
+ odoo/addons/l10n_br_fiscal_edi/tests/test_workflow.py,sha256=x9R7em-prpncCphy4xsBafOzsRniZpKqnI0i1ZRD6gU,4476
21
+ odoo/addons/l10n_br_fiscal_edi/views/document_event_report.xml,sha256=64D6JlIIO7AvhFFsXpn75WTEjm_RgFUAnMB8jIej6GE,735
22
+ odoo/addons/l10n_br_fiscal_edi/views/document_event_template.xml,sha256=jDFhkpGnb2uJrTme2-c58FA1cC2GGG9VR5vH5nMUxxE,4055
23
+ odoo/addons/l10n_br_fiscal_edi/views/document_event_view.xml,sha256=qIgWNvmidGjGZvrNTtOxZzYkvNHI0PbFQqdREFvjDeU,2712
24
+ odoo/addons/l10n_br_fiscal_edi/views/document_view.xml,sha256=yyFnj3NHd_dTlqj3A_ZHOWX_RjcKlYDqp9-j5PLeBHc,3479
25
+ odoo/addons/l10n_br_fiscal_edi/views/invalidate_number_view.xml,sha256=jJBxSieDjjGT1n4MGBA8T4V8AuD6Cg0OUFtzo7Pp79I,619
26
+ odoo/addons/l10n_br_fiscal_edi/views/l10n_br_fiscal_action.xml,sha256=7iRk6WUE0KLfl3QQw5yry8zHcpkdt1yUSyCLdOTZHEc,1405
27
+ odoo/addons/l10n_br_fiscal_edi/views/l10n_br_fiscal_menu.xml,sha256=WE2rCoiTXbwcTc3QLX7YZN96ZxzAyJllVoZn6HZ2X-w,567
28
+ odoo/addons/l10n_br_fiscal_edi/wizards/__init__.py,sha256=gLEnCWcPzAJSpG6fxyXFpiv1WGh_bGxDZULRWj6Zw34,258
29
+ odoo/addons/l10n_br_fiscal_edi/wizards/base_wizard_mixin.py,sha256=05dVbE45HxuODOnF31hvX6CKYsa1yEo0-B_fvwH0TT8,385
30
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_cancel_wizard.py,sha256=A0A6lgGTpEsi4l-Yj2kVLReH0yprU38dCiKnZhgvMog,621
31
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_cancel_wizard.xml,sha256=VFmCwJxW6zlwzRK6WGztT-5at60E_DBfRe0YYvny7d4,1206
32
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_correction_wizard.py,sha256=pVrt5lHJcZmKzXLVFHJ3tdFkHmxFD0ejW3-3HedVacY,588
33
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_correction_wizard.xml,sha256=QyhtIS4oAXumjoHGDPXIsOnEH7r3IMZ1p_FJEtHmdE8,1205
34
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_import_wizard_mixin.py,sha256=99yffOvBK73m3MfvE3eLd5nk_X-eMn7Ng3LkO3NMDWo,4201
35
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_import_wizard_mixin.xml,sha256=h19vP1YvC4hLPvCvA6E1goqre0AAGy0CF4a2R6B78Y4,1833
36
+ odoo/addons/l10n_br_fiscal_edi/wizards/document_status_wizard.xml,sha256=S9hSkgbBKCt78bTe3sRupfnIcmZZ8KWhaZ9q_PKYvgc,2483
37
+ odoo/addons/l10n_br_fiscal_edi/wizards/invalidate_number_wizard.py,sha256=o9eXRV-iWUsgsozBzM193C4J_8aurGl1aIICdYthpXA,1328
38
+ odoo/addons/l10n_br_fiscal_edi/wizards/invalidate_number_wizard.xml,sha256=H0JzzzbJmWziLZjZ8acQsqJcgsaYD3M6I3OydoNFuUc,1215
39
+ odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/METADATA,sha256=04qs52lLziU6saPhxSJhPRC1JIDA2bdwPlCRYUQrIZE,5477
40
+ odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/WHEEL,sha256=8Rd4enx1PCuyDWP4SABqO5Fv8rpaknqp3VzjoFFLa6c,83
41
+ odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
42
+ odoo_addon_l10n_br_fiscal_edi-15.0.1.0.0.2.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: Whool 1.0.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+