Skip to content

Commit

Permalink
Merge PR #3594 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by rvalyi
  • Loading branch information
OCA-git-bot committed Jan 24, 2025
2 parents 753b5c2 + 3a26f3b commit b260d20
Show file tree
Hide file tree
Showing 5 changed files with 132 additions and 162 deletions.
207 changes: 103 additions & 104 deletions l10n_br_account_payment_order/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,30 +31,31 @@ Brazilian Payment Order
O módulo implementa a parte comum da infra-estrutura necessária para o
uso do CNAB implementando:

- **Códigos CNAB** - códigos de Instrução, Retorno, Carteira e Desconto.
- **Códigos CNAB** - códigos de Instrução, Retorno, Carteira e
Desconto.

- **Configuração CNAB** - onde serão salvas as informações específicas
de cada caso como Convênio, Código do Beneficiário, Modalidade,
Percentual de Multa, códigos de Instrução do Movimento de Liquidação
de Alteração de Vencimento e etc.
- **Configuração CNAB** - onde serão salvas as informações específicas
de cada caso como Convênio, Código do Beneficiário, Modalidade,
Percentual de Multa, códigos de Instrução do Movimento de Liquidação
de Alteração de Vencimento e etc.

- **Modo de Pagamento** - localiza o módulo
`account_payment_mode <https://github.com/OCA/bank-payment/tree/16.0/account_payment_mode>`__
para associar o **Diário Contábil** referente a **Conta Bancária** do
CNAB e informar a **Configuração do CNAB** que será usada, assim ao
informar o Modo de Pagamento em um Pedido de Venda, Compras ou
Faturamento o programa identifica como sendo um caso CNAB.
- **Modo de Pagamento** - localiza o módulo
`account_payment_mode <https://github.com/OCA/bank-payment/tree/16.0/account_payment_mode>`__
para associar o **Diário Contábil** referente a **Conta Bancária** do
CNAB e informar a **Configuração do CNAB** que será usada, assim ao
informar o Modo de Pagamento em um Pedido de Venda, Compras ou
Faturamento o programa identifica como sendo um caso CNAB.

- **Ordem de Pagamento** - localiza o módulo
`account_payment_order <https://github.com/OCA/bank-payment/tree/16.0/account_payment_order>`__
que usa a **Ordem de Pagamento**, débito ou crédito, para registrar as
**Instruções de Movimento** e onde será criado o **Arquivo CNAB
Remessa**.
- **Ordem de Pagamento** - localiza o módulo
`account_payment_order <https://github.com/OCA/bank-payment/tree/16.0/account_payment_order>`__
que usa a **Ordem de Pagamento**, débito ou crédito, para registrar
as **Instruções de Movimento** e onde será criado o **Arquivo CNAB
Remessa**.

- **Registro do LOG de Eventos** - ao importar um arquivo de retorno
CNAB.
- **Registro do LOG de Eventos** - ao importar um arquivo de retorno
CNAB.

- **Grupos e Permissões de acesso** - CNAB Usuário e Gerente.
- **Grupos e Permissões de acesso** - CNAB Usuário e Gerente.

A implementação foi pensada para permitir que seja possível usar
diferentes Bibliotecas para **Gerar os Boletos, Arquivo CNAB de Remessa
Expand Down Expand Up @@ -86,10 +87,10 @@ Installation

Este módulo depende do:

- l10n_br_base
- account_payment_order
- account_due_list
- account_cancel
- l10n_br_base
- account_payment_order
- account_due_list
- account_cancel

Configuration
=============
Expand Down Expand Up @@ -201,154 +202,152 @@ a ser utilizada.
Known issues / Roadmap
======================

- Verificar a questão do campos **many2many** que não estão sendo
registrados pelo **track_visibility** e se será incluída a dependência
do módulo
`mail_improved_tracking_value <https://github.com/OCA/social/tree/16.0/mail_improved_tracking_value>`__.
- Processo de Alteração de Carteira, falta informações sobre o processo.
- Mapear e incluir os Códigos dos Bancos CNAB 240/400, aqui devido a
quantidade de possibilidades se trata de um "roadmap" constante onde
contamos com PRs de outros contribuidores que irão implementar um caso
que ainda não esteja cadastrado, apesar do código permitir que o
cadastro seja feito na tela nesses casos.
- Processo de "Antecipação do Título junto ao Banco" ou "Venda do Título
junto a Factoring" ver as alterações feitas na v14 em diante
https://www.odoo.com/pt_BR/forum/ajuda-1/v14-change-in-payment-behavior-how-do-the-suspense-and-outstanding-payment-accounts-change-the-journal-entries-posted-177592.
- CNAB de Pagamento, verificar a integração com o PR
https://github.com/OCA/l10n-brazil/pull/972 e a possibilidade de
múltiplos **Modos de Pagamento** na mesma **Ordem de Pagamento**
https://github.com/odoo-brazil/l10n-brazil/pull/112
- Verificar a possibilidade na v16 em diante de remoção do
**ondele='restrict'** no campo "move_line_id" e o campo "related"
"ml_maturity_date" do **account.payment.line** no módulo dependente
https://github.com/OCA/bank-payment/blob/16.0/account_payment_order/models/account_payment_line.py#L39
para permitir o processo de **Cancelamento de uma Fatura** quando
existe uma **Ordem de Pagamento** já Confirmada/Gerada/Enviada
(detalhes
l10n_br_account_payment_order/models/account_payment_line.py#L130)
- Funcionalidade de **Agrupar Por/Group By** não funciona em campos do
tipo **Many2Many**, aparentemente isso foi resolvido na v15(verificar
na migração), isso é usado nos objetos referentes aos Códigos CNAB de
Instrução e Retorno.
- Confirmar se existem Bancos que usam os mesmos conjuntos de Códigos
CNAB de Instrução e Retorno para caso não existir remover o
**many2many** do Banco e deixar apenas o **many2one**.
- Verificar a possibilidade de usar o objeto **account.payment** no caso
CNAB e o módulo
https://github.com/OCA/bank-payment/tree/16.0/account_payment_order_return
para tratar o **LOG de Retorno do CNAB, RFC**
https://github.com/OCA/l10n-brazil/issues/2272.
- Verificar a questão do campos **many2many** que não estão sendo
registrados pelo **track_visibility** e se será incluída a
dependência do módulo
`mail_improved_tracking_value <https://github.com/OCA/social/tree/16.0/mail_improved_tracking_value>`__.
- Processo de Alteração de Carteira, falta informações sobre o
processo.
- Mapear e incluir os Códigos dos Bancos CNAB 240/400, aqui devido a
quantidade de possibilidades se trata de um "roadmap" constante onde
contamos com PRs de outros contribuidores que irão implementar um
caso que ainda não esteja cadastrado, apesar do código permitir que o
cadastro seja feito na tela nesses casos.
- Processo de "Antecipação do Título junto ao Banco" ou "Venda do
Título junto a Factoring" ver as alterações feitas na v14 em diante
https://www.odoo.com/pt_BR/forum/ajuda-1/v14-change-in-payment-behavior-how-do-the-suspense-and-outstanding-payment-accounts-change-the-journal-entries-posted-177592.
- CNAB de Pagamento, verificar a integração com o PR
https://github.com/OCA/l10n-brazil/pull/972 e a possibilidade de
múltiplos **Modos de Pagamento** na mesma **Ordem de Pagamento**
https://github.com/odoo-brazil/l10n-brazil/pull/112
- Verificar a possibilidade na v16 em diante de remoção do
**ondele='restrict'** no campo "move_line_id" e o campo "related"
"ml_maturity_date" do **account.payment.line** no módulo dependente
https://github.com/OCA/bank-payment/blob/16.0/account_payment_order/models/account_payment_line.py#L39
para permitir o processo de **Cancelamento de uma Fatura** quando
existe uma **Ordem de Pagamento** já Confirmada/Gerada/Enviada
(detalhes
l10n_br_account_payment_order/models/account_payment_line.py#L130)
- Confirmar se existem Bancos que usam os mesmos conjuntos de Códigos
CNAB de Instrução e Retorno para caso não existir remover o
**many2many** do Banco e deixar apenas o **many2one**.
- Verificar a possibilidade de usar o objeto **account.payment** no
caso CNAB e o módulo
https://github.com/OCA/bank-payment/tree/16.0/account_payment_order_return
para tratar o **LOG de Retorno do CNAB, RFC**
https://github.com/OCA/l10n-brazil/issues/2272.

Changelog
=========

16.0.5.0.0 (2024-12-16)
-----------------------

- [REM] "Foward Port" Removendo Campos, Visões e Objetos obsoletos.
- [REM] "Foward Port" Removendo Campos, Visões e Objetos obsoletos.

16.0.4.0.0 (2024-12-16)
-----------------------

- [IMP] "Foward Port" Possibilidade de informar Códigos de Desconto além
do 0 e 1.
- [IMP] "Foward Port" Possibilidade de informar Códigos de Desconto
além do 0 e 1.

16.0.3.0.0 (2024-12-16)
-----------------------

- [REF] "Foward-Port" Separando as Configurações do CNAB do Modo de
Pagamento.
- [REF] "Foward-Port" Separando as Configurações do CNAB do Modo de
Pagamento.

16.0.2.0.0 (2024-12-04)
-----------------------

- [REF] "Foward-Port" Unindo os Códigos CNAB em um mesmo objeto.
- [REF] "Foward-Port" Unindo os Códigos CNAB em um mesmo objeto.

16.0.1.0.0 (2024-09-10)
-----------------------

- [MIG] Migração para a versão 16.0
- [MIG] Migração para a versão 16.0

15.0.1.0.0 (2024-07-25)
-----------------------

- [MIG] Migração para a versão 15.0
- [MIG] Migração para a versão 15.0

14.0.9.0.0 (2024-09-19)
-----------------------

- [REM] Removendo Campos, Visões e Objetos obsoletos.
- [REM] Removendo Campos, Visões e Objetos obsoletos.

14.0.8.0.0 (2024-09-18)
-----------------------

- [IMP] Possibilidade de informar Códigos de Desconto além do 0 e 1.
- [IMP] Possibilidade de informar Códigos de Desconto além do 0 e 1.

14.0.7.0.0 (2024-09-13)
-----------------------

- [REF] Separando as Configurações do CNAB do Modo de Pagamento.
- [REF] Separando as Configurações do CNAB do Modo de Pagamento.

14.0.6.0.0 (2024-09-10)
-----------------------

- [REF] Unindo os Códigos CNAB em um mesmo objeto.
- [REF] Unindo os Códigos CNAB em um mesmo objeto.

14.0.1.0.0 (2022-04-29)
-----------------------

- [MIG] Migração para a versão 14.0.
- [MIG] Migração para a versão 14.0.

13.0.1.0.0 (2022-01-28)
-----------------------

- [MIG] Migração para a versão 13.0.
- [MIG] Migração para a versão 13.0.

12.0.3.0.0 (2021-05-13)
-----------------------

- [MIG] Migração para a versão 12.0.
- Incluído a possibilidade de parametrizar o CNAB 240 e 400, devido a
falta de padrão cada Banco e CNAB podem ter e usar codigos diferentes.
- Incluído os metodos para fazer alterações em CNAB já enviados.
- Incluído dados de demo e testes.
- Separado o objeto que fazia o Retorno do arquivo e registrava as
informações para ter um objeto especifico que registra o Log e assim
os modulos que implementam a biblioteca escolhida podem ter um
metodo/objeto especifico para essa função.
- [MIG] Migração para a versão 12.0.
- Incluído a possibilidade de parametrizar o CNAB 240 e 400, devido a
falta de padrão cada Banco e CNAB podem ter e usar codigos
diferentes.
- Incluído os metodos para fazer alterações em CNAB já enviados.
- Incluído dados de demo e testes.
- Separado o objeto que fazia o Retorno do arquivo e registrava as
informações para ter um objeto especifico que registra o Log e assim
os modulos que implementam a biblioteca escolhida podem ter um
metodo/objeto especifico para essa função.

12.0.1.0.0 (2019-06-06)
-----------------------

- [MIG] Inicio da Migração para a versão 12.0.
- [MIG] Inicio da Migração para a versão 12.0.

10.0.2.0.0 (2018-05-17)
-----------------------

- [REF] Modulo unido com o l10n_br_account_payment_mode e renomeado para
l10n_br_account_payment_order.
- [REF] Modulo unido com o l10n_br_account_payment_mode e renomeado
para l10n_br_account_payment_order.

10.0.1.0.0 (2018-08-29)
-----------------------

- [MIG] Migração para a versão 10.
- [MIG] Migração para a versão 10.

8.0.1.0.1 (2017-07-14)
----------------------

- [NEW] Refatoração e melhorias para suportar a geração de boletos
através do br-cobranca (ruby)
- [NEW] Refatoração e melhorias para suportar a geração de boletos
através do br-cobranca (ruby)

8.0.1.0.0 (2017-07-14)
----------------------

- [NEW] Melhorias para suportar a geração de pagamento da folha de
pagamento;
- [NEW] Melhorias para suportar a geração de pagamento da folha de
pagamento;

8.0.0.0.0 (2016-01-18)
----------------------

- [NEW] Primeira versão
- [NEW] Primeira versão

Bug Tracker
===========
Expand All @@ -372,31 +371,31 @@ Authors
Contributors
------------

- `KMEE <https://www.kmee.com.br>`__:
- `KMEE <https://www.kmee.com.br>`__:

- Luis Felipe Mileo <[email protected]>
- Fernando Marcato
- Hendrix Costa <[email protected]>
- Luis Felipe Mileo <[email protected]>
- Fernando Marcato
- Hendrix Costa <[email protected]>

- `Akretion <https://www.akretion.com/pt-BR>`__:
- `Akretion <https://www.akretion.com/pt-BR>`__:

- Magno Costa <[email protected]>
- Magno Costa <[email protected]>

- `Engenere <https://engenere.one>`__:
- `Engenere <https://engenere.one>`__:

- Antônio S. Pereira Neto <[email protected]>
- Antônio S. Pereira Neto <[email protected]>

- `Escodoo <https://www.escodoo.com.br>`__:
- `Escodoo <https://www.escodoo.com.br>`__:

- Marcel Savegnago <[email protected]>
- Marcel Savegnago <[email protected]>

Other credits
-------------

The development of this module has been financially supported by:

- KMEE INFORMATICA LTDA - `www.kmee.com.br <http://www.kmee.com.br>`__
- AKRETION LTDA - `www.akretion.com <http://www.akretion.com>`__
- KMEE INFORMATICA LTDA - `www.kmee.com.br <http://www.kmee.com.br>`__
- AKRETION LTDA - `www.akretion.com <http://www.akretion.com>`__

Maintainers
-----------
Expand Down
30 changes: 4 additions & 26 deletions l10n_br_account_payment_order/models/l10n_br_cnab_code.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,40 +70,18 @@ class L10nBrCNABCode(models.Model):

comment = fields.Text()

# TODO: Forma encontrada para pode fazer o Group By, na v15
# parece já ser possivel usar campos many2many.
# Também deve ser considerado em apagar o campo many2many e deixar
# TODO: Deve ser considerado em apagar o campo many2many e deixar
# apenas o many2one já que, por enquanto, não há bancos diferentes
# usando o mesmo conjunto de codigos apenas diferentes cnab( 240/400
# são iguais no caso Unicred )
bank_id = fields.Many2one(
comodel_name="res.bank", compute="_compute_bank_id", store=True
) # it is possible to search only among stored fields

payment_method_id = fields.Many2one(
comodel_name="account.payment.method",
compute="_compute_payment_method_id",
store=True,
) # it is possible to search only among stored fields
# bank_id = fields.Many2one(comodel_name="res.bank")

def name_get(self):
result = []
for record in self:
result.append((record.id, f"{record.code} - {record.name}"))
return result

@api.depends("bank_ids")
def _compute_bank_id(self):
for record in self:
record.bank_id = record.bank_ids and record.bank_ids[0] or False

@api.depends("payment_method_ids")
def _compute_payment_method_id(self):
for record in self:
record.payment_method_id = (
record.payment_method_ids and record.payment_method_ids[0] or False
)

@api.constrains("code")
def check_code(self):
for record in self:
Expand All @@ -128,8 +106,8 @@ def check_code(self):
"and CNAB %(type_code)s type.",
code=record.code,
name=code_name_exist,
bank=code_already_exist.bank_id.name,
type_code=code_already_exist.payment_method_id.code,
bank=code_already_exist.bank_ids.mapped("name"),
type_code=code_already_exist.payment_method_ids.mapped("code"),
)
)

Expand Down
1 change: 0 additions & 1 deletion l10n_br_account_payment_order/readme/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,5 @@
- Processo de "Antecipação do Título junto ao Banco" ou "Venda do Título junto a Factoring" ver as alterações feitas na v14 em diante <https://www.odoo.com/pt_BR/forum/ajuda-1/v14-change-in-payment-behavior-how-do-the-suspense-and-outstanding-payment-accounts-change-the-journal-entries-posted-177592>.
- CNAB de Pagamento, verificar a integração com o PR <https://github.com/OCA/l10n-brazil/pull/972> e a possibilidade de múltiplos **Modos de Pagamento** na mesma **Ordem de Pagamento** <https://github.com/odoo-brazil/l10n-brazil/pull/112>
- Verificar a possibilidade na v16 em diante de remoção do **ondele='restrict'** no campo "move_line_id" e o campo "related" "ml_maturity_date" do **account.payment.line** no módulo dependente <https://github.com/OCA/bank-payment/blob/16.0/account_payment_order/models/account_payment_line.py#L39> para permitir o processo de **Cancelamento de uma Fatura** quando existe uma **Ordem de Pagamento** já Confirmada/Gerada/Enviada (detalhes l10n_br_account_payment_order/models/account_payment_line.py#L130)
- Funcionalidade de **Agrupar Por/Group By** não funciona em campos do tipo **Many2Many**, aparentemente isso foi resolvido na v15(verificar na migração), isso é usado nos objetos referentes aos Códigos CNAB de Instrução e Retorno.
- Confirmar se existem Bancos que usam os mesmos conjuntos de Códigos CNAB de Instrução e Retorno para caso não existir remover o **many2many** do Banco e deixar apenas o **many2one**.
- Verificar a possibilidade de usar o objeto **account.payment** no caso CNAB e o módulo <https://github.com/OCA/bank-payment/tree/16.0/account_payment_order_return> para tratar o **LOG de Retorno do CNAB, RFC** <https://github.com/OCA/l10n-brazil/issues/2272>.
Loading

0 comments on commit b260d20

Please sign in to comment.