From 1206a6ef10a3fd9022fb7610d14b36ed2c256e1f Mon Sep 17 00:00:00 2001 From: Renato Lima Date: Tue, 10 Dec 2024 12:31:02 -0300 Subject: [PATCH 1/2] l10n_br_fiscal: Added import tax fields in document amounts --- l10n_br_fiscal/views/document_view.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/l10n_br_fiscal/views/document_view.xml b/l10n_br_fiscal/views/document_view.xml index e6a3ffc91937..95d26e41ead9 100644 --- a/l10n_br_fiscal/views/document_view.xml +++ b/l10n_br_fiscal/views/document_view.xml @@ -431,6 +431,11 @@ + + + + + From 17af33ff1575913a9749168bd3340f9f8de0bdd4 Mon Sep 17 00:00:00 2001 From: Renato Lima Date: Fri, 23 Jul 2021 18:14:48 -0300 Subject: [PATCH 2/2] [ADD] custom NFE DI class --- l10n_br_nfe/README.rst | 66 +++++++++++------------ l10n_br_nfe/__manifest__.py | 1 + l10n_br_nfe/models/__init__.py | 1 + l10n_br_nfe/models/nfe_di.py | 59 ++++++++++++++++++++ l10n_br_nfe/static/description/index.html | 10 ++-- l10n_br_nfe/views/nfe_di_view.xml | 66 +++++++++++++++++++++++ 6 files changed, 165 insertions(+), 38 deletions(-) create mode 100644 l10n_br_nfe/models/nfe_di.py create mode 100644 l10n_br_nfe/views/nfe_di_view.xml diff --git a/l10n_br_nfe/README.rst b/l10n_br_nfe/README.rst index a90527ceab3f..93c864c89000 100644 --- a/l10n_br_nfe/README.rst +++ b/l10n_br_nfe/README.rst @@ -32,30 +32,30 @@ Este módulo permite a emissão de NF-e. Mais especificamente ele: -- mapea os campos de NF-e do módulo ``l10n_br_nfe_spec`` com os campos - Odoo em especial os campos dos módulos ``l10n_br_base`` e - ``l10n_br_fiscal`` -- usa a logica do módulo ``spec_driven_model`` para realizar esse - mapeamento de forma dinâmica, em especial ele usa o sistema de - modelos com várias camadas, ou ``StackedModel``, com os modelos - ``l10n_br_fiscal.document``, ``l10n_br_fiscal.document.line`` e - ``l10n_br_fiscal.document.related`` que tem varios niveis - hierarquicos de elementos XML que estão sendo denormalizados dentro - desses modelos Odoo  -- permite a exportação e importação de XML de NF-e -- tem wizards para implementar a comunicação SOAP de NF-e com a SEFAZ - (Autorização, Cancelamento, Inutilização...) -- implementa a autorização, inutilização e contingência de documentos - NFC-e +- mapea os campos de NF-e do módulo ``l10n_br_nfe_spec`` com os campos + Odoo em especial os campos dos módulos ``l10n_br_base`` e + ``l10n_br_fiscal`` +- usa a logica do módulo ``spec_driven_model`` para realizar esse + mapeamento de forma dinâmica, em especial ele usa o sistema de modelos + com várias camadas, ou ``StackedModel``, com os modelos + ``l10n_br_fiscal.document``, ``l10n_br_fiscal.document.line`` e + ``l10n_br_fiscal.document.related`` que tem varios niveis hierarquicos + de elementos XML que estão sendo denormalizados dentro desses modelos + Odoo  +- permite a exportação e importação de XML de NF-e +- tem wizards para implementar a comunicação SOAP de NF-e com a SEFAZ + (Autorização, Cancelamento, Inutilização...) +- implementa a autorização, inutilização e contingência de documentos + NFC-e Módulos relacionados: -- este módulo não depende do módulo ``account`` do Odoo. A integração - com o financeiro do módulo ``account`` é realizada no módulo - ``l10n_br_account_nfe`` (tags dup e pag em especial) -- existe também o módulo ``l10n_br_delivery_nfe`` que faz a integração - do módulo ``l10n_br_nfe`` com o módulo ``delivery`` do Odoo (tags de - transportadora e de frete em especial) +- este módulo não depende do módulo ``account`` do Odoo. A integração + com o financeiro do módulo ``account`` é realizada no módulo + ``l10n_br_account_nfe`` (tags dup e pag em especial) +- existe também o módulo ``l10n_br_delivery_nfe`` que faz a integração + do módulo ``l10n_br_nfe`` com o módulo ``delivery`` do Odoo (tags de + transportadora e de frete em especial) **Table of contents** @@ -104,25 +104,25 @@ Authors Contributors ------------ -- `AKRETION `__: +- `AKRETION `__: - - Raphaël Valyi - - Renato Lima + - Raphaël Valyi + - Renato Lima -- `KMEE `__: +- `KMEE `__: - - Gabriel Cardoso de Faria - - Luis Felipe Mileo - - Renan Hiroki Bastos - - Felipe Zago Rodrigues + - Gabriel Cardoso de Faria + - Luis Felipe Mileo + - Renan Hiroki Bastos + - Felipe Zago Rodrigues -- `ESCODOO `__: +- `ESCODOO `__: - - Marcel Savegnago + - Marcel Savegnago -- `ENGENERE `__: +- `ENGENERE `__: - - Antônio S. Pereira Neto + - Antônio S. Pereira Neto Maintainers ----------- diff --git a/l10n_br_nfe/__manifest__.py b/l10n_br_nfe/__manifest__.py index 1c0d5da8b8c2..fa0a25efa5d7 100644 --- a/l10n_br_nfe/__manifest__.py +++ b/l10n_br_nfe/__manifest__.py @@ -28,6 +28,7 @@ # Views "views/res_company_view.xml", "views/nfe_document_view.xml", + "views/nfe_di_view.xml", "views/res_config_settings_view.xml", "views/mde/mde_views.xml", "views/dfe/dfe_views.xml", diff --git a/l10n_br_nfe/models/__init__.py b/l10n_br_nfe/models/__init__.py index e8a09f1a5adc..700c5f5cd36a 100644 --- a/l10n_br_nfe/models/__init__.py +++ b/l10n_br_nfe/models/__init__.py @@ -15,6 +15,7 @@ from . import document from . import document_line from . import document_supplement +from . import nfe_di from . import res_city from . import res_config_settings from . import cfop diff --git a/l10n_br_nfe/models/nfe_di.py b/l10n_br_nfe/models/nfe_di.py new file mode 100644 index 000000000000..3e6499bf1c22 --- /dev/null +++ b/l10n_br_nfe/models/nfe_di.py @@ -0,0 +1,59 @@ +# Copyright 2021 Akretion (Renato Lima ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + +TPVIATRANSP_DI = [ + ("1", "1 - Maritima"), + ("2", "2 - Fluvial"), + ("3", "3 - Lacustre"), + ("4", "4 - Aerea"), + ("5", "5 - Postal"), + ("6", "6 - Ferroviaria"), + ("7", "7 - Rodoviaria"), + ("8", "8 - Conduto/Rede Transmissão"), + ("9", "9 - Meios Próprios"), + ("10", "10 - Entrada/Saída Ficta"), + ("11", "11 - Courier"), + ("12", "12 - Em mãos"), + ("13", "13 - Por reboque"), +] + +TPINTERMEDIO_DI = [ + ("1", "1 - Por conta própria"), + ("2", "2 - Por conta e ordem"), + ("3", "3 - Encomenda"), +] + + +class NFeDI(models.AbstractModel): + _inherit = "nfe.40.di" + + state_clearance_id = fields.Many2one( + comodel_name="res.country.state", + string="State Clearance", + ) + + nfe40_UFDesemb = fields.Char( + related="state_clearance_id.code", + ) + + nfe40_tpViaTransp = fields.Selection( + selection=TPVIATRANSP_DI, + ) + + nfe40_tpIntermedio = fields.Selection( + selection=TPINTERMEDIO_DI, + ) + + partner_acquirer_id = fields.Many2one( + comodel_name="res.partner", string="Partner Acquirer" + ) + + nfe40_CNPJ = fields.Char( + related="partner_acquirer_id.nfe40_CNPJ", + ) + + nfe40_UFTerceiro = fields.Char( + related="partner_acquirer_id.state_id.code", + ) diff --git a/l10n_br_nfe/static/description/index.html b/l10n_br_nfe/static/description/index.html index b4f21ddeab3a..71260652a00b 100644 --- a/l10n_br_nfe/static/description/index.html +++ b/l10n_br_nfe/static/description/index.html @@ -377,12 +377,12 @@

NF-e

Odoo em especial os campos dos módulos l10n_br_base e l10n_br_fiscal
  • usa a logica do módulo spec_driven_model para realizar esse -mapeamento de forma dinâmica, em especial ele usa o sistema de -modelos com várias camadas, ou StackedModel, com os modelos +mapeamento de forma dinâmica, em especial ele usa o sistema de modelos +com várias camadas, ou StackedModel, com os modelos l10n_br_fiscal.document, l10n_br_fiscal.document.line e -l10n_br_fiscal.document.related que tem varios niveis -hierarquicos de elementos XML que estão sendo denormalizados dentro -desses modelos Odoo
  • +l10n_br_fiscal.document.related que tem varios niveis hierarquicos +de elementos XML que estão sendo denormalizados dentro desses modelos +Odoo
  • permite a exportação e importação de XML de NF-e
  • tem wizards para implementar a comunicação SOAP de NF-e com a SEFAZ (Autorização, Cancelamento, Inutilização…)
  • diff --git a/l10n_br_nfe/views/nfe_di_view.xml b/l10n_br_nfe/views/nfe_di_view.xml new file mode 100644 index 000000000000..db77e0fb51b1 --- /dev/null +++ b/l10n_br_nfe/views/nfe_di_view.xml @@ -0,0 +1,66 @@ + + + + + nfe.40.di.tree + nfe.40.di + + + + + + + + + + + + + + + + nfe.40.di.form + nfe.40.di + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +